基于Linux进程管理的详细剖析

您所在的位置:网站首页 linux进程管理实验总结 基于Linux进程管理的详细剖析

基于Linux进程管理的详细剖析

2022-03-27 09:45| 来源: 网络整理| 查看: 265

上一篇嵌入式未来一段时间还是Linux天下,一位嵌入式er初探Linux kernel经验,我们讲到了Linux内核开发和应用程序开发,今天我们来讲讲Linux重点部分Linux的进程管理。

OS是干啥的?处理提供对硬件层的抽象以外,还担负着很多的硬件管理功能,而这些功能,用一句话来说,就是来处理各个部件的时空复用问题(时间和空间的重用问题,如cpu是分时重用的(当然还有多核cpu的特例,而内存是即分时又分空的……)。

往古至今,大牛们对OS的定义不下其数,而本人认为最有说服力的OS的定义就是:“所有软件(特指应用程序)的交集”,料想计算机诞生初期都是专用机,在一款机器上只能跑订制的专用程序,而这个程序要自己做好所有硬件的协调且还要完成他应有的本分工作,慢慢的计算机向通用型发展,为了提高系统利用率和避免盲目且重复的底层实现,OS随着需求一步步形成且不断完善……

不知你发现没有,好多东西都是在历史舞台上重复出现的,仿佛对应着“20年后又是一条好汉”这句话,看现在的google的Chrome OS,其实最初的原型说白了就是把chrome浏览器必要的底层重新从OS中剥离,使其具有独立运行的能力,这不是有点最早的专用机的味道,计算机这东西很是神奇,一个好的点子就可能改变整个市场,甚至一个世纪……

扯远了,重新回来,回到复用性说起吧,因为cpu要跑的程序很多,但是cup个数有限,这就牵扯到cpu的重用,也就是被多个进程重用(进程与程序的区别就不多说了,自己熟悉OS知识去吧,简单的提一下程序运行的本质就是从内核申请个进程,再把程序包中的代码拷贝到对应进程的代码域并设置好相关变量数据令进程跑起来,所以程序只是静态的代码,而进程是一个不断从程序加载代码的执行过程),这是由于进程间要复用cpu,所以就要求有人来负责他们有组织有纪律的复用,并协调进程间的轻重缓急、切换规则、切换后的一些处理……

另外还有怎样生产进程、怎样切换、怎样销毁……这些由谁完成?当然是OS,对于linux,当然是kernel了。毕竟OS就是用来跑程序的,而进程就是程序的灵魂,可见进程管理的重要性,咱就从进程说起先。

虽然吧,进程是处于执行期的程序,但是要明白,进程并不仅仅局限于一段可执行的代码,你想,要想跑进程,你得知道是谁的进程,要区别于其他进程;还要保证当前进程不能随意访问其他进程的地址空间,要是连这都不限制,那写个黑客程序多随意啊;还牵扯到多线程问题;另外,由于进程间是复用cpu的,就是一会儿这个执行,一会儿换另一个,那你还要保证它可以接着上次的执行啊,要不不就乱了套了……如此说来,进程需要的东西大概有:

打开的文件

挂起的信号 (linux一个事件的处发是基于信号机制的,就像windows的事件机制)

内核内部数据 (这就是传说中恢复现场用的,要还原到进程切换前的状态需要保存现场)

处理器状态 (没理解错的话,这也是现场保持的一部分,因为有些程序的执行是)

地址空间

一个或多个执行线程(Linux下的线程实现非常有趣,也非常简单,本质上也就是几个共享进程,没有设置专门的线程数据结构)

以上是Linux下进程的主要组成部分,当然了,进程管理么,有了进程还要有管理,管理相关着进程的策略和生命周期等一些东西,我们会慢慢讲来。

话说很久很久以前,进程自创建时刻起就开始存活了,活在Linux世界的进程爹fork()系统调用一下,就会生个小进程,比和女儿国的水来的还快。进程这东西没耳朵没眼睛的,他爹咋知道啥时候生好了。既然fork()是生婆,那这是生婆最懂了。fork()系统调用会返回两次:一次回到父进程,一次回到子进程。

新的进程是为了立即执行新的不同的程序,而接着调用exec*()这族函数就可以创建新的地址空间,并把新的程序载入。(fork()实际上是由clone()系统调用实现的。)

最终,程序会通过exit()系统调用退出执行。这个函数会终结进程并将其占用的资源释放。父进程会通过wait4()系统调用来查询子进程是否终结,这就使得进程拥有了等待特定进程执行的能力。进程退出后被设置为僵死状态,直到父进程调用wait()或waitpid()为止。

知道了进程不仅仅是由一段执行代码组成的,咱们就说说linux下的进程的大概过程。其实一个进程就相当于一个软件的动态执行(严格的说是某个软件子系统的动态执行,当然我们可以把该子系统想象成一个子软件,这样会便于理解)。Linux中创建一个进程要用到fork()系统调用,一个子进程的生成是通过拷贝父进程来实现的。fork以后,会返回两次:一次回到父进程,一次回到子进程。为何要返回两次,两次又是如何区别的呢??刚开始我也在像这个问题,因为子进程拷贝了父进程的代码,返回时处于fork()返回点的上下文是一样的,但是返回的值不一样,借此来区分是父进程还是子进程……

这不,新的子进程创建好了,然后干什么?肯定是做不是当前进程的工作,要不创建他干什么?所以,这时候就接着调用exec*()这一族函数,该族函数可以创建新的地址空间,并加载到当前进程执行。

最后,程序通过exit() syscall(系统调用,以后都用这个代指了) 退出执行。这个函数会终结进程并将其占用的资源释放掉。父进程通过wait4() syscall来查询子进程是否终结,这使得进程拥有了等待特定进程执行完的能力(这不就是传说中的同步么?有木有?有木有?哈哈)。进程退出后被设置为僵死状态,知道父进程调用wait()或waitpid()为止(其实他们貌似都是基于wait4()实现的)。

上面就是进程创建到回收的简单过程。子进程由父进程创建,父进程回收,有点恢复现场的感觉,不过在比较安全的系统里面,哪里都可以看的“恢复现场”等类似概念的身影,就像借钱一样,“好借好还再借不难”,做程序也是这个道理,哈哈,慢慢体会,编程里面蕴含很多的哲学道理的。

1、进程描述符及任务结构

在软件设计中,第一就是抽象名词,一切名词都会在计算机中找到它的数据抽象,就是伟大的数据结构童鞋。他可能被抽象成一个变量,一个数组,一个struct,一个对象……可能是任何一种类型,只要满足你的需求,他就是最perfect的抽象。

进程在kernel中是被放在任务队列(task list)中的,task list 是个双向循环链表。链表中的每一项都是task_struct类型,即进程描述符。定义在中,包含着一个具体进程的所有信息。

1.1 分配进程描述符

进程有的表达了,但是不能胡乱表达啊,就像追女朋友一样,不能见人就表白,那不成耍流氓了,名额有限,见好就收啊。OS能多道并跑的进程也就那几个,若肆意创建进程,不跑瘫了机子,那就变成病毒程序了,狂吃cpu。Linux使用slab分配器分配task_struct 结构。由slab动态生成task_struct,只需在栈底创建一个新的thread_info ,再用这个结构的数据可以容易的计算出偏移量。

其中包含了task_struct 的指针和进程的相关信息。

1.2 进程描述符的存放

Kernel通过PID唯一标识一个进程,PID是pid_t类型,其实也是int型的,pid最大值是32768 (short int 的Max 值)。可以改其值,在/proc/sys/kernel/pid_max 中,因为大公司的web服务器集群工作时32768个进程多开貌似不够啊。

内核在处理进程时一般是直接通过task_struct进程的,都是通过current宏直接找到或计算当前task_struct的。有的平台寄存器丰富,不用专门计算其值,一直把当前运行进程的值保存在专用的寄存器中就OK。如powerPC用r2寄存器,而x86寄存器少要专门计算。

1.3 进程状态

进程一直处于下面五种状态之一:

TASK_RUNNING//运行状态

TASK_INTERRUPTIBLE//可中断状态

TASK_UNINTRRUPTIBLE//不可中断状态

TASK_ZOMBIE//僵死

TASK_STOPPED//停止

下图是大概的转换过程。不很详细,大家可以search一下……

原文标题:揭开OS的面纱,一位嵌入式er 初探Linux kernel之重点Linux的进程管理

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

扫一扫,分享给好友

复制链接分享 评论

发布评论请先 登录

相关推荐

AMD EPYC(霄龙)处理器能推动数据中心技术发展 随着全球都在寻求加速研究、缩短发现有价值信息的时间,超级计算用户们的需求也随之成倍增长。AMD通过不.... 的头像 AMD中国 发表于 03-26 10:09 • 230次 阅读 华为邓泰出席华第三届中国计算机教育大会 在第三届中国计算机教育大会上,教育部-华为“智能基座”联合工作组副组长、华为副总裁、计算产品线总裁邓.... 的头像 华为计算 发表于 03-26 08:51 • 237次 阅读 基于RK3588平台的高性能XR解决方案 近日,瑞芯微电子股份有限公司(“瑞芯微” Rockchip)与诠视科技(Xvisio Technol.... 的头像 科技见闻网 发表于 03-25 16:26 • 262次 阅读 使用hb set对源码进行设置版本时出错该如何解决 使用hb set对源码进行选定版本,选定为ipcamera_hispark_taurus_linux,出现[OHOS ERROR] invalid path的错 使用的源码... 发表于 03-25 10:52 • 253次 阅读 为什么FPGA成为数据中心尖端技术 我们知道,FPGA的频率一般只有几百MHz,而CPU的频率却高达数GHz。那么,有不少网友心中就有一.... 的头像 FPGA设计论坛 发表于 03-25 09:45 • 124次 阅读 CXL和OMI:竞争还是互补? 虽然这两个新协议在概念上有一些高级的相似之处,但它们并不相同。但是,对于它们是否真的相互竞争,似乎存.... 的头像 芯片半导体 发表于 03-25 09:29 • 101次 阅读 GTC2022大会亮点:Grace超级芯片将是最强大CPU GTC2022大会亮点:Grace超级芯片将是最强大CPU,将在AI、数据分析、科学计算和超大规模计.... 的头像 lhl545545 发表于 03-24 16:36 • 289次 阅读 GTC2022大会亮点:Grace超级芯片将是最强大CPU CA51F2系列MCU中文用户手册   CA51F2系列芯片是基于1T8051内核的8位Flash微控制器,通常情况下,运行速度比传统的.... 发表于 03-24 15:23 • 15次 阅读 Linux开源社区宣布未来会把内核C语言版本升级到C11   还在使用89年版C语言的Linux内核,现在终于要做出改变了。 的头像 Linux爱好者 发表于 03-24 14:59 • 535次 阅读 CPU的工作原理及内部结构 晶体管是调节计算机、手机和所有其他现代电子电路运行的基本构件,是CPU的基本单元。晶体管可以独立封装.... 的头像 IC先生网 发表于 03-24 14:51 • 252次 阅读 卸载DevEco Device Tool的方法 需要安装脚本即,无论是Windows Linux平台,开发者在执行安装时,都会先行进行卸载操作,开发者单独执行卸载操作。 对于有特殊... 发表于 03-24 10:06 • 297次 阅读 ARM-Linux应用开发和单片机开发的不同 针对ARM-Linux程序的开发,主要分为三类:应用程序开发、驱动程序开发、系统内核开发。针对不同种.... 的头像 嵌入式ARM 发表于 03-23 16:01 • 335次 阅读 为什么PCIe Gen3/Gen4不使用CXL Compute Express Link 是一种缓存一致性互联,旨在帮助系统(尤其是具有加速器的系统.... 的头像 Linux阅码场 发表于 03-23 15:26 • 318次 阅读 龙芯中科推出智慧农牧业一体化解决方案 近日,龙芯中科携手万物科联共同推出了智慧农牧业一体化解决方案,以更好地服务农牧业智能产品的开发者与养.... 的头像 互联网科技 发表于 03-23 15:02 • 210次 阅读 RT-Thread能否终止正执行的命令?是怎么操作的? 我一直有个问题,像这种一直运行任务,没有什么命令可以终止任务 我看RT-Thread, msh其本是操作很多命令基本与Linux的shell... 发表于 03-23 14:17 • 378次 阅读 鸿蒙内核实现用户态快速互斥锁Futex设计资料合集 Futex(Fast userspace mutex,用户态快速互斥锁),系列篇简称 快锁 ,是一个在 Linux 上实现锁定和构建高级抽象锁如信号量和... 发表于 03-23 14:12 • 144次 阅读 NVIDIA 推出 Grace CPU 超级芯片 NVIDIA Grace™ CPU 超级芯片由两个 CPU 芯片组成,它们之间通过NVLink®-C.... 发表于 03-23 11:25 • 1169次 阅读 NVIDIA 推出 Grace CPU 超级芯片 GE Digital宣布升级iFIX® HMI/SCADA Imagination推CPU产品系列 Imagination Technologies宣布推出 C1atpult 系列 RISC-V 中央.... 的头像 lhl545545 发表于 03-23 11:16 • 152次 阅读 如何对ARM架构下的非对齐访问编译进行测试 关于 ARM 架构下的非对齐访问编译选项说明 -munaligned-access -mno-unaligned-access Enables (or disables) reading ... 发表于 03-23 10:37 • 314次 阅读 TRINAMIC微型三相电机驱动器IC的详细介绍 TRINAMIC运动控制有限公司宣布推出最新的电池驱动解决方案电机驱动器IC。带有集成功率MOSFE.... 发表于 03-23 10:24 • 402次 阅读 TRINAMIC微型三相电机驱动器IC的详细介绍 基于 RK3588 debian 搭建 RK3588 Kernel 编译环境 一、本地编译环境1、安装编译 kernel 的工具apt install git gcc make flex bison libssl-dev lz4apt install python pip2、scp ... 发表于 03-22 16:28 • 1908次 阅读 怎样在Ubuntu系统上下载和安装一些软件呢 Select lightdm 在这个逐步的教程中学习如何在 Ubuntu 上安装 Budgie 桌面。在所有各种 Ubuntu 版本中,Ubuntu Budgie... 发表于 03-22 11:42 • 548次 阅读 酷芯微电子推出两款AR93系列IPC方案 在智能视觉时代,视频画质对于AI分析的准确度至关重要,因此ISP技术是高清IPC最为关键的核心技术。.... 发表于 03-22 10:37 • 12次 阅读 标准系统的几种进程拉起方式介绍 标准系统启动到进入用户态拉起init进程后,由init进程拉起一组系统服务进程,再由这组系统服务进程拉起与之相关联的子进程,或者... 发表于 03-22 10:05 • 56次 阅读 全球两大主流的处理器架构X86和ARM均在俄罗斯被禁用 电子发烧友网报道(文/吴子鹏)日本软银集团旗下的Arm公司确认将停止俄罗斯业务,正式加入了制裁俄罗斯.... 的头像 电子发烧友网 发表于 03-22 09:45 • 232次 阅读 手工制作了一款32位CPU 整体来看,「菠萝一号」是由8块正方形打印电路板垂直堆叠组成,每块边侧高度约为10厘米,外加一个VGA.... 的头像 STM32嵌入式开发 发表于 03-22 09:06 • 556次 阅读 晶体管如何表示0和1 我们都知道,人类进行运算的本质是查表,并且我们存储的表是有限的。那么,计算机是怎样进行四则运算的呢?.... 的头像 凡亿PCB 发表于 03-22 08:43 • 164次 阅读 只剩RISC-V一条路!Arm加入制裁俄罗斯,主流CPU架构均被禁 电子发烧友网报道(文/吴子鹏)3月19日,日本软银集团旗下的Arm公司确认将停止俄罗斯业务,正式加入.... 的头像 Felix分析 发表于 03-22 04:58 • 897次 阅读 只剩RISC-V一条路!Arm加入制裁俄罗斯,主流CPU架构均被禁 君正X2000/X1600处理器的主要特点及应用场景 在芯片供应链紧张和客户订单急速增加的情况下,许多原本单价几块钱的芯片,价格普遍上涨了10倍、20倍甚.... 的头像 北京君正 发表于 03-21 18:28 • 422次 阅读 CPU(中央处理器)的组成部分及工作原理 CPU(中央处理器),也被称为微处理器,是计算机的心脏和/或大脑。本文让我们一起深入了解计算机的核心.... 的头像 Imagination Tech 发表于 03-21 17:54 • 642次 阅读 昉星光开发板介绍 昉·星光基于RISC-V架构,搭载JH7100视觉处理芯片,使开源达到更高的水平,开发者从而得到更大的自由及更强的能力去创新和... 发表于 03-21 17:46 • 1761次 阅读 昉惊鸿7100芯片 datasheet 发表于 03-21 17:43 • 1759次 阅读 CPU中央处理器与GPU图形处理器的区别 同构计算是使用相同类型指令集和体系架构的计算单元组成系统的计算方式。 的头像 电子工程技术 发表于 03-20 16:20 • 683次 阅读 SONiC正在成为云架构中领先的开放网络操作系统 SONIC是一个基于 Linux 的开源网络操作系统,能够在多个厂商的交换机和专用集成电路(ASIC.... 的头像 是德科技KEYSIGHT 发表于 03-20 13:16 • 325次 阅读 曙光携手产业伙伴构建数据中心内部节能循环 一石激起千层浪。2022年2月,国家发改委、中央网信办、工业和信息化部、国家能源局联合印发通知,同意.... 的头像 中科曙光 发表于 03-18 16:38 • 497次 阅读 ADI为Linux发行版扩充器件驱动 Ti Group选择是德科技5G测试平台 Keysight Technologies, Inc.(纽约证券交易所代码:KEYS)是一家领先的技.... 发表于 03-18 14:51 • 1287次 阅读 基于FET3568-C核心板的智能网关设计 近年来,“工业互联网”在国家层面被反复提及,已连续5年写入政府工作报告。随着人工智能、5G、大数据和.... 发表于 03-18 14:32 • 16次 阅读 基于FET3568-C核心板的智能网关设计 微操作μ-op与宏操作macro-op 英特尔逐渐改进微指令,后来加入微指令缓存即uOP cache,也有的地方叫L0级缓存,表面看来,uO.... 的头像 佐思汽车研究 发表于 03-18 11:23 • 267次 阅读 关于Linux命令行烧写固件 说明:如果已经安装旧版本的烧写工具,请先点击“驱动卸载”按钮下载驱动,然后再点击 “驱动安装”按钮安.... 的头像 HarmonyOS官方合作社区 发表于 03-18 10:57 • 188次 阅读 富士通以混合IT构建数字化转型基石 随着数字技术的快速发展,社会正在发生怎样的变化?据预测,到2030年,CPU的计算能力和网络速度将比.... 的头像 富士通中国 发表于 03-18 09:27 • 244次 阅读 i.MX6ULL驱动开发3—GPIO寄存器配置原理 介绍了字符设备驱动的两种新旧开发方式,并使用一个虚拟的字符驱动来学习字符设备的开发的流程。 的头像 码农爱学习 发表于 03-18 08:17 • 252次 阅读 i.MX6ULL驱动开发3—GPIO寄存器配置原理 保障两会工作用机,飞腾同方展现中国科技力量 飞腾腾锐 D2000 是飞腾新一代高效能 8 核桌面处理器芯片,自推出以来获得了市场的高度认可,实现.... 发表于 03-17 16:19 • 515次 阅读 保障两会工作用机,飞腾同方展现中国科技力量 高速存储技术的进化:DDR和LDPPR 手机、电脑等电子设备与我们的生活密不可分,它们的使用频率高,更换周期快。消费者在购买产品时,除了考虑.... 的头像 三星半导体和显示官方 发表于 03-17 11:17 • 768次 阅读 一款搭载骁龙4100可穿戴设备平台的智能手表 随着大家越来越重视身体健康,定期运动健身已经成为了很多人的日常生活方式。佩戴便捷、性能出众的智能手表.... 的头像 Qualcomm中国 发表于 03-17 10:14 • 808次 阅读 国内外独立服务器的区别是什么 服务器是建立网站的最基础的必不可少的东西,也是根本呢所在,所以挑选何种类型的独立服务器成为了建站者的.... 发表于 03-17 10:02 • 10次 阅读 i.MX6ULL嵌入式Linux开发6-系统烧写到eMMC 本篇主要介绍了Linux移植的系统打包烧录的EMMC的方法,使用MfgTool工具,将**uboot.... 的头像 码农爱学习 发表于 03-17 09:17 • 1813次 阅读 i.MX6ULL嵌入式Linux开发6-系统烧写到eMMC MediaTek天玑9000支持移动端游戏超分技术 PC 游戏飞速演进,硬件线程调度器(Thread Director)、深度学习超级采样(DLSS)等.... 的头像 联发科技 发表于 03-17 09:17 • 364次 阅读 在CPU上如何同时尝试 getrandom Jason Donenfeld 是 WireGuard 的主要开发者,同时他也是 Linux 内核随.... 的头像 Linux爱好者 发表于 03-16 17:19 • 649次 阅读 ALIENWARE系列笔记本为玩家带来全新游戏体验 游戏笔记本的极致应该是什么样子?很多人应该都会首先想到ALIENWARE,而用性能挑战边界,自由穿梭.... 的头像 焦点讯 发表于 03-16 11:18 • 288次 阅读 一文深入理解操作系统的进程调度 想深入理解操作系统的进程调度,需要先获得一些准备知识,这样后面就不懵圈啦: 的头像 Linux爱好者 发表于 03-16 10:58 • 214次 阅读 CPU负荷重服务器数据延迟高怎么办 满载的应该是大脑而非机器。“东数西算”工程背景下,各应用场景对数据处理能力的考量和需求日新月异。这带.... 发表于 03-16 10:19 • 18次 阅读 如何鉴别Linux服务器是否被入侵 随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至.... 的头像 马哥Linux运维 发表于 03-16 10:08 • 270次 阅读 Linux namespace和cgroups简介 先放结论,namespace 是用来做资源隔离, cgroup 是用来做资源限制。 的头像 马哥Linux运维 发表于 03-16 09:03 • 262次 阅读 基础的Linux操作命令 IC设计是在linux环境下,很多操作需要在Terminal中进行,因此想要学习IC设计,就必须先需.... 的头像 FPGA之家 发表于 03-15 13:42 • 190次 阅读 日常服务器的维护是怎样的 数据库经过长期的运行,需要调整数据库性能,使之进入最优化状态。数据库中的数据是最重要的,这些数据如果.... 发表于 03-15 11:10 • 10次 阅读 怎么构建CPU这个非0即1的开关世界 除了加法,我们也可以根据需要将不同的算数运算设计出来,负责计算的电路有一个统称,这就是所谓的算术逻辑.... 的头像 STM32嵌入式开发 发表于 03-15 09:49 • 219次 阅读 如何通过FB126对PROFINET IO系统进行判断 对于一些CPU,比如S7-300 CPU315-2DP (6ES7 315-2AG10-0AB0) .... 的头像 机器人及PLC自动化应用 发表于 03-15 09:24 • 240次 阅读 S7-200智能设备组态的运行模式分析 1、新建空白项目,打开系统块,选择CPU ST40,CPU的固件选择V2.5,设置选择CPU启动后的.... 的头像 机器人及PLC自动化应用 发表于 03-15 09:18 • 206次 阅读 GetError与GetErrorID指令的区别与应用场景分析 在 STEP7 11 中,可以通过GetError (获取本地错误信息)或者GetErrorID (.... 的头像 机器人及PLC自动化应用 发表于 03-14 17:55 • 769次 阅读 BPF系统调用与Tracing类型的BPF程序 既然是提供向内核注入代码的技术,那么安全问题肯定是重中之重。平时防范他人通过漏洞向内核中注入代码,这.... 的头像 Linux阅码场 发表于 03-14 16:42 • 397次 阅读 TMS320VC5501 定点数字信号处理器 TMS320VC5501(5501)定点数字信号处理器(DSP)基于TMS320C55x™DSP生成CPU处理器内核。 C55x™DSP架构通过增加并行性和全面关注降低功耗来实现高性能和低功耗。 CPU支持内部总线结构,该结构由一个程序总线,三个数据读总线,两个数据写总线以及专用于外设和DMA活动的附加总线组成。这些总线能够在一个周期内执行最多三次数据读取和两次数据写入。并行,DMA控制器可以独立于CPU活动执行数据传输。 C55x™CPU提供两个乘法累加(MAC)单元,每个单元能够进行17位×17位乘法运算。单循环。额外的16位ALU支持中央40位算术/逻辑单元(ALU)。 ALU的使用受指令集控制,提供优化并行活动和功耗的能力。这些资源在C55x CPU的地址单元(AU)和数据单元(DU)中进行管理。 C55x DSP代支持可变字节宽度指令集,以提高代码密度。指令单元(IU)从内部或外部存储器执行32位程序提取,并为程序单元(PU)排队指令。程序单元解码指令,将任务指向AU和DU资源,并管理完全受保护的管道。预测分支功能可避免执行条件指令时的管道刷新。 5501外设... 发表于 10-09 14:55 • 467次 阅读 TMS320VC5501 定点数字信号处理器 AM4379 AM437x ARM Cortex-A9 微处理器 (MPU) TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等... 发表于 09-25 11:51 • 536次 阅读 AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3