- CPU,是计算机的核心部件,它控制整个计算机的运作并进行运算。
- 存储器,即内存,存放CPU需要的指令和数据。
- 寄存器,是CPU中可以储存数据的器件,一个CPU中有多个寄存器。
- 汇编语言由以下3类指令组成:
- 汇编指令:机器码的助记符,有对应的机器码。
- 伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
- 其他符号:如+、-、*、/ 等,由编译器识别,没有对应的机器码。
- 比特,bit,电子计算机的最小信息单位,也就是一个二进制位。
- 字节,Byte,8个bit组成一个字节。
- CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行以下3类信息的交互:
- 存储单元的地址(地址信息)。
- 器件的选择,读或写的命令(控制信息)。
- 读或写的数据(数据信息)。
- 总线,连接CPU和其他芯片的导线,用于传输电信号。从物理上讲,就是一根根导线的集合。
根据传输信息的不同,总线从逻辑上又分为3类:地址总线、控制总线和数据总线。 -
1.1~1.10 小结 (1)汇编指令是机器指令的助记符,同机器指令一一对应。 (2)每一种CPU都有自己的汇编指令集。 (3)CPU可以直接使用的信息在存储器中存放。 (4)在存储器中指令和数据没有任何区别,都是二进制信息。 (5)存储单元从零开始顺序编号。 (6)一个存储单元可以储存8个bit,即8位二进制数。 (7)1Byte=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB (8)每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出3种总线的宽度标志了这个CPU的不同方面的性能:
地址总线的宽度决定了CPU的寻址能力;
数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量;
控制总线的宽度决定了CPU对系统中其他器件的控制能力。 - 内存地址空间,举例来讲,一个CPU的地址总线宽度为10,那么可以寻址1024个内存单元,这1024个可寻到的内存单元就构成这个CPU的内存地址空间。
图1.7中的各类存储器,在物理上都是独立的器件,但是在以下两点上相同。
1. 都和CPU的总线相连。
2. CPU对它们进行读或写的时候都通过控制线发出内存读写命令。
这也就是说,CPU在操控它们的时候,把它们都当作内存来对待,把它们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是内存地址空间。
在汇编这门课中,我们所面对的是内存地址空间。
内存地址空间的大小受CPU地址总线宽度的限制。8086CPU的地址总线宽度为20,可以传送220个不同的地址信息(大小从0至220-1)。即可以定位220个内存单元,则8086PC的内存地址空间大小为1MB。同理,80386CPU的地址总线宽度为32,则内存地址空间最大为4GB。
我们在基于一个计算机硬件系统编程的时候,必须知道这个系统中的内存地址空间分配情况。因为当我们想在某类存储器中读写数据的时候,必须知道它的第一个单元的地址和最后一个单元的地址,才能保证读写操作是在预期的存储器中进行。
最终运行程序的是CPU,我们用汇编语言编程的时候,必须要从CPU的角度考虑问题。对CPU来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑存储器即是我们所说的内存地址空间。