*本篇笔记来源于《汇编语言(第4版)》王爽
存储器与指令数据
指令和数据存放在存储器中,也就是内存中;
一串二进制信息,计算机可以把它看作数据,也可以把它看作指令 例如:
1000100111011000 -> 89D8H(数据)
-> MOV AX,BX (指令)
存储单元
存储器被划分成若干个存储单元,每个存储单元从0开始
计算机的最小信息单元是bit(比特),也就是一个二进制位
8个bit(比特)=1个byte(字节)
1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB
CPU对存储器的读写
在一台微机中,不只有存储器这一种器件。CPU在读写数据时还要指明,它要对哪一个器件进行操作,进行哪种操作,是从中读出数据还是向里面写入数据。
CPU要进行数据的读写必须和外部器件进行下面3类信息的交互:
- 存储单元的地址(地址信息)
- 器件的选择,读或写的命令(控制信息)
- 读或写的数据(数据信息)
CPU是如何把上面三种信息传到存储器芯片中的呢?传输的信息都是电信号,电信号用导线传输。在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。总线从物理上来讲,就是一根根导线的集合,根据传送信息的不同,分为:地址总线、控制总线和数据总线。
地址总线
CPU是通过地址总线来指定存储器单元的,地址总线上能传达多少个不同的信息,CPU就可以对多少个存储单元进行寻址
假设,一个CPU有10根地址总线,一根导线能表达的状态只有两种(高低电平也就是0或者1),10根导线就是10位二进制数据,10位二进制数可以表示2的10次方个数据,最小数为0,最大数为1023
根据上面的假设,我们可以得知:一个CPU有N根地址线,就可以说这个CPU的总线宽度为N,这样的CPU最多可以寻找2的N次方个内存单元
数据总线
CPU与内存或其他器件之间的数据传送是通过数据总线来进行的,数据总线的宽度决定了CPU和外界的数据传送速度。8根数据总线一次可传送一个8位二进制数据(即一个字节)。
8088CPU的数据总线宽度为8,8086CPU的数据总线宽度为16
控制总线
CPU对外部器件的控制是通过控制总线进行的。控制总线是个总称,控制总线是一些不同控制线的集合。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定了CPU对外部器件的控制能力。
内存读或写命令是由几根控制线综合发出的,其中有一根称为“读信号输出”的控制线负责由CPU向外传送读信号,CPU向该控制线上输出低电平表示将要读取数据;有一根称为“写信号输出”的控制线则表示负责传送写信号
- 地址总线的宽度决定了CPU的寻址能力
- 数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量
- 控制总线的宽度决定了CPU对系统中其他器件的控制能力