大灰狼笔记一-CPU结构

来源:互联网 发布:神仙道百炼成仙数据 编辑:程序博客网 时间:2024/04/28 06:20
大灰狼之一——CPU结构
       技术女神说这本书好,所以我去借了来。《orange's:一个操作系统的实现》。寒假时默默读默默实现。最开始还可以略过不懂得代码找找实现后的成就感,到了第三章发现略不过去了,或者说,略过去了就相当于没读。不得已,谁让我基础差又笨又傻又二呢,只能再补补汇编知识。看了大灰狼老师的零基础汇编。讲的很清楚,有些细节有点不懂的,慢慢琢磨一下,也能大致了解。
       女神还说了,程序员就应该写日志,于是就有了这篇日志。


       第一节学习方法略过。基本汇编是从CPU的结构开始讲起的。
       首先,在程序运行时,CPU需要找到程序在内存中的位置,这个位置,是通过地址总线找到的。然后,通过数据总线将程序的数据传回CPU,于是程序就在CPU中运行了起来。而周围的各种设备,CPU是通过控制总线进行控制的,也就是,决定如何处理数据,是读还是写。

       整个结构如下图:

       rrrrr

       而CPU地址总线的宽度也就是CPU的最大内存使用量,也就是CPU的寻址范围。如32位CPU,就是2的32次方,也就是4GB的寻址范围,也就是说,在32位的CPU下,只能装4G的内存。
       而内存是在CPU外部的,在内存中的数据传入CPU中时,CPU先将其存入内部的寄存器中以便使用。寄存器的大小均为16位,也就是4个16进制数。
       CPU中除了寄存器还有运算器,控制器和内部总线。
       在8086CPU中,有20根地址总线,但是CPU一次只能传16位,因为寄存器大小为16位,因此用基地址:偏移地址的方式表达完整的物理地址。其关系为:段地址*16+偏移地址=实际物理内存地址。