预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

CPU对存储器的读写 2.1CPU和存储器简介 CPU是计算机的核心部件,它控制整个计算机的运行并进行运算。要使一个CPU进行工作,就必须对其输入指令和数据。指令和数据在存储器中存放,也就是我们平时说的内存。在一台PC机中,存储器的作用仅次于CPU。离开了存储器,性能再好的CPU也无法进行工作。犹如再聪明的大脑,失去了记忆也无法进行思考。磁盘的作用不同与存储器,磁盘上的程序和数据如果不读到存储器中,就无法被CPU使用。要灵活的利用汇编语言编程,我们首先要了解CPU是如何向存储器中读取信息,以及向存储器中写入信息的。 2.2指令和数据 信息包括指令和数据。在内存中,指令和数据没什么区别,都是二进制代码。 CPU在工作的时候,把有的二进制代码当做指令执行,把有的二进制代码当做数据处理。 2.3存储单元 存储器被划分为若干个存储单元,每个存储单元从0开始编号。例如一个存储器有128个存储单元,编号从0~127,如图1.21所示。这些编号可以看做是存储单元在存储器中的地址。就像一条街,每个房子都有门牌号。 在微型机中,一个存储单元的存储容量为1Byte(字节),即8位二进制。对于拥有128个存储单元的存储器,它的容量为128字节。大容量存储器还可以使用以下单位来计量容量(B表示Byte):1KB=1024B1MB=1024KB1GB=1024MB 012…………125126127 图1.21存储单元在内存中的编号 2.4CPU对存储器的读写 数据以二进制的形式存放在存储器的内存单元中,如图1.22所示。如果CPU要想读取3号内存单元中的数据3A,想一下CPU和内存之间会有哪些沟通呢? 1BFEB83A89D8572E…… 3 内存读写命令 3A CPU 0地址线0 11 22 3数据线3 44 55 6控制线6 77 图1.22内存 CPU从内存中读取数据,首先要指定存储单元的地址。也就是先要确定它要读取哪一个存储单元中的数据。就像在一条街上找人,要先确定他住在哪个房子里。另外,CPU读写数据时还要指明,它对内存进行哪种操作,是从内存中读出数据呢,还是向里面写入数据。 可见,CPU要想对内存进行读写数据,必须和外部器件(芯片)进行以下3方面的信息交互: 存储单元的地址(地址信息); 读或写命令等的控制(控制信息); 读取或写入的内容(数据信息)。 那么CPU是怎么将地址、数据、控制信息传送到内存的呢?——通过导线。 在计算机中,有专门连接CPU和其他芯片的导线,我们称为总线。总线就是一根根导线的集合。总线从功能上又分为地址总线、数据总线和控制总线。 上图1.22中CPU读取3号内存单元数据3A的过程如下: CPU通过地址总线将地址信息3发出; CPU通过控制总线发出内存读命令,并告知内存将要从中读取数据; 3号内存单元中的数据3A通过数据总线传送入CPU。 写操作与读操作相似,如向3号内存单元中写入数据88,过程如下: CPU通过地址总线将地址信息3发出; CPU通过控制总线发出内存写命令,并告知内存将要向里面写入数据; CPU通过数据总线将数据88送入3号内存单元中。 百姓网推广员月赚2000不是问题 CPU 地 址 总 线 1 内存101000000数据总线地址总线 图1.23地址总线上发出的地址信息 想一下在访问地址为12、13、14等内存单元时,地址总线上传送的内容? 2.5地址总线 CPU是通过地址总线来传送内存单元的地址的。如果一个CPU有N根地址总线,我们就说这个CPU的地址总线宽度为N。每一根地址总线可以传送一位二进制数据,那么N根地址总线可以表示多少个不同的数据呢?2的N次方个,它们是0~2N-1。也就是说地址总线上可以传送的地址可以是0~2N-1中的任意一个,不在这个范围内的地址是无法在地址总线上传送的。所以说地址总线的宽度也代表了CPU的寻址能力。上图1.23展示了一个具有10根地址总线的CPU在传送数据11时地址总线上传送的二进制信息。 2.6数据总线 CPU通过数据总线和外部器件之间进行数据传送。数据总线的宽度决定了CPU和外部器件之间的数据传送速度。8根数据总线一次可以传送8位二进制信息(即一字节),十六根数据总线一次可以传送2个字节。8088CPU的数据总线宽度为8,8086CPU的数据总线宽度为16,我们来分别看一下它们向内存写入89D8时,是如何通过数据总线来传送数据的。下图1.24展示了8088CPU通过数据总线传送89D8时的情况,图1.25展示了8086CPU通过数据总线传送89D8的情况。 CPU地址总线 内存 数 据 总 线 1000001101000111第二次,89都一次,D8控制总线 图1.248088CPU传