您的位置:首页 > 其它

处理器相关的概念

2017-04-24 19:46 113 查看

1 处理器:微控制器 VS 微处理器

微控制器:CPU + 片内内存 + 片内外设

微处理器:CPU

注意:

微控制器具有成本低、功耗低等有点,常用于嵌入式系统设计。

对于软件工程师而言,微控制器和微处理器没有任何区别。

2 SoC和CPU的区别

2.1 SoC和CPU

  SoC = System on Chip。

  芯片的发展方向:从CPU到SoC。

  现在已经没有纯粹的CPU了,都是SoC。

  ARM出卖的内核其实就是CPU(当然还需要总线),各种外设是半导体厂商自己添加的。



2.2 外设(Peripheral)

  外设就是外部设备。

  SoC中外设大部分都跑进去了,网卡、音频编解码等个别还经常在外面。

  芯片设计的趋势是更大集成度,近年甚至将音视频编解码、DDR都集成进SoC内做成所谓单芯片解决方案,如海思Hi3518E。

  裸机学习其实就是学习SoC的内核(CPU,表现为汇编指令集)和各种外设(如串口)。

3 地址总线和数据总线

3.1 CPU和总线示意图



3.2 地址总线和数据总线

  CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息。

  地址总线的位数决定CPU寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量;

  总线的速度决定CPU和外设互换信息的速度。

  注意

    CPU的地址总线位数和数据总线可以不同(典型代表就是51单片机),但是一般都相同。

    CPU的位数指的是数据总线的位数。

    32位CPU寻址的范围是4G,所以最多支持4G内存;

    数据总线是32位的,所以内存是32位的好,所以编程最好用int···

4 CISC和RISC的区别

4.1 CISC

  complex instruction set computer复杂指令集CPU。

  CISC体系的设计理念是用最少的指令来完成任务(譬如计算乘法只需要一条MUL指令即可),因此CISC的CPU本身设计复杂、工艺复杂,但好处是编译器好设计。CISC出现较早,至今Intel还一直采用CISC设计。

4.2 RISC

  Reduced Instruction-Set Computer精简指令集CPU。

  RISC的设计理念是让软件来完成具体的任务,CPU本身仅提供基本功能指令集。因此RISC CPU的指令集中只有很少的指令,这种设计相对于CISC,CPU的设计和工艺简单了,但是编译器的设计变难了。

4.3 CPU设计方式发展

  早期简单CPU,指令和功能都很有限。

  CISC年代 —— CPU功能扩展依赖于指令集的扩展,实质是CPU内部组合逻辑电路的扩展。

  RISC年代 —— CPU仅提供基础功能指令(譬如内存与寄存器通信指令,基本运算与判断指令等),功能扩展由使用CPU的人利用基础架构来灵活实现。

4.4 CISC和RISC指令数对比

  一般典型CISC CPU指令在300条左右。

  ARM CPU常用指令30条左右。

4.5 发展趋势

  没有纯粹的RISC或CISC,发展方向是RISC与CISC结合,形成一种介于2者之间的CPU类型。

5 冯诺依曼结构和哈佛结构

5.1 程序和数据

  程序运行时两大核心元素:程序 + 数据。

  程序是我们写好的源代码经过编译、汇编之后得到的机器码,这些机器码可以拿给CPU去解码执行,CPU不会也不应该去修改程序,所以程序是只读的。

  数据是程序运行过程中定义和产生的变量的值,是可以读写的,程序运行实际就是为了改变数据的值。

5.2 冯诺依曼结构和哈佛结构

  程序和数据都放在内存中,且不彼此分离的结构称为冯诺依曼结构。譬如Intel的CPU均采用冯诺依曼结构。

  程序和数据分开独立放在不同的内存块中,彼此完全分离的结构称为哈佛结构。譬如大部分的单片机(MCS51、ARM9等)均采用哈佛结构。

优劣对比

  冯诺依曼结构中程序和数据不区分的放在一起,因此安全和稳定性是个问题,好处是处理起来简单。

  哈佛结构中程序(一般放在ROM、flash中)和数据(一般放在RAM中)独立分开存放,因此好处是安全和稳定性高,缺点是软件处理复杂一些(需要统一规划链接地址等)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: