处理器相关的概念
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中)独立分开存放,因此好处是安全和稳定性高,缺点是软件处理复杂一些(需要统一规划链接地址等)。
相关文章推荐
- WebService学习总结(二)——WebService相关概念介绍
- 性能测试和LoadRunner相关概念
- 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念
- Hadoop相关概念整理
- C#多线程学习之(一)多线程的相关概念分析
- Java EE 相关基本概念
- linux下与中断相关的概念
- Apriori算法详解之【一、相关概念和核心步骤】
- php中时间戳等相关小概念笔记
- EJB3.0 EntityManager及相关概念
- J2SE多线程 part1 多线程的相关概念
- 时序收敛相关知识和概念
- 操作系统---相关概念
- TestNG 并发运行相关的核心概念
- xen的一些相关基本概念
- oracle 数据库 实例 及相关概念
- 深度学习 - 相关名词概念
- 文本分类入门(七)相关概念总结
- 决策树与随机森林相关概念及其Python实现
- 对Oracle的一致和不一致备份相关概念的理解