8086微机原理的小总结
2016-03-11 12:53
357 查看
写在前面
一直以来都知道自己学习的一个毛病,喜欢转牛角尖、求甚解。例如在学微机原理的时候就很想知道CPU内部到底是什么结构,怎么实现那么复杂的功能;在自学JAVA的时候会想知道API实现的过程。最近才想明白:这是一个信息爆炸的时代,一个人不可能也没必要了解所有的细节,就像CPU构造的问题可以追溯到集成电路、再到沙子怎么变成芯片、再到沙子怎么来的……到最后其实已经远远脱离了开始的出发点。所以人应该学会不求甚解,站在一定的高度、层次去学习,这样才是最有效率的。这次重新复习8086结构也是一样,我的出发点是今后做嵌入式开发,所以只需要在逻辑上理解CPU的构造即可。模型计算机
站在一个非CPU设计人员的角度,依据8086CPU的工作原理可以抽象成如下的模型结构:8086CPU分为两级流水线工作,图中右边部分为总线接口部件(BIU)负责和CPU外面的设备打交道,例如:从内存总读写数据、指令;接受外部总线来的数据等。左边部分则为执行部件(EU),负责将BIU取来的数据、指令加工处理。该部件又分为算数逻辑单元和指令译码单元,前者负责加减乘除、与或非之类的运算,后者负责将指令译码选择相应电路模块完成相应功能,所以可以知道CPU针对不同的指令在其中内置了不同的电路模块。两个部件的工作是并行的,两者工作联系情况视指令队列缓冲器情况而定。例如刚开机时指令队列为空,EU等待BIU提取指令;指令队列满时BIU停止工作等待EU执行指令。由此可以总结CPU永远在做取指令和执行指令两件事情。
CPU按程序和数据是否存在一起可以分为哈佛结构和冯诺依曼结构,至于两者具体区别可以看哈佛与冯诺依曼结构详细区别,而8086是一种典型的冯诺依曼结构的处理器。
相关文章推荐
- 一篇文看懂Hadoop:风雨十年,未来何去何从
- 表设计与SQL优化
- day02
- /dev/mtd和/dev/mtdblock的区别
- 树状数组模板
- 线程,进程
- Android 实现卫星菜单(精简版)
- day01
- Android自定RadioGroup实现点击切换效果
- ACM_模板_树状数组
- HTML5开发移动web应用—JQuery Mobile(2)-列表
- doT.js——前端javascript模板引擎问题备忘录
- 【Android】20.2 视频播放
- opencv中mat,cvmat,Iplimage构造体定义以及格式互相转换
- 调试代码
- 10g TNS 13541 监听错误 tnsping可以但是conn system/manager@mult1.net 报错
- android TIF启动流程
- 解决zabbix 报警邮件以附件形式发送
- C 三角函数
- 双绞线的种类与选择: