本节内容:连接CPU和计算机各个硬件插槽接口的总线。
■地址总线:地址总线用于传输地址,并决定CPU的寻址范围。8086计算机有20根地址总线,32位计算机有32根地址线,64位计算机有64根地址线。
■数据总线:数据总线用于传输数据,8086计算机有16根数据线,一次可以传输16位数据。32位计算机有32根数据线,64位计算机有64根数据线。
■控制总线:控制总线用于传输控制指令,8086计算机有16根控制线。32位计算机有32根控制线,64位计算机有64根控制线。
经过前面的学习,我们现在已经知道,CPU是通过总线与主板插槽接口上的外部设备连接。总线又分为地址总线、数据总线和控制总线,分别加载地址、数据和指令。这一节我们将详细讲述这三类总线。首先我们来看地址总线。
1.5.1 地址总线
CPU是通过地址总线来指定存储单元的,每个存储单元为一个字节。地址总线决定了计算机的寻址范围。地址总线上可以传递多少个不同的地址编码信息,CPU就可以对多少个存储单元进行寻址。
电子计算机中,一根导线可以传递的稳定状态只有2种,高电平表示1,低电平表示0。10根导线一次可以传递10位二进制数据。
假设有10根地址总线,那么可以查找的门牌号为210=1024,地址范围是0~1023
N根地址总线,表示地址总线宽度为N,最多查找2N个内存单元,地址编号为0~2N-1。
思考
具有8根地址线的CPU向内存发出地址信息11(0BH)时传送的二进制数为0000 1011B。
思考:如果传送的是12,13,14,地址总线传送的内容分别是?
答案:0CH 0000 1100B,0DH 0000 1101B,0EH 0000 1110B。
注:符号H表示16进制数,符号B表示二进制数,符号D表示十进制数。默认缺省表示十进制数。
■内存地址空间
假如CPU的地址总线宽度为10,可以编写210个地址编号,即可以寻到1024个字节的内存单元称为该CPU的内存地址空间。如图1-19所示:
图1-19 10根地址总线内存地址空间
1.5.2 数据总线
CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。8根数据总线一次可以传递8位二进制数数据,即1个字节。16根数据总线可以一次传递两个字节。N根数据总线,一次可以传递N/8个字节。
8088 CPU的数据总线宽度为8,8086 CPU的数据总线宽度为16。
举例
将数据89D8H写入内存:
分别使用8根数据总线和16根数据总线将89D8H写入内存。如图1-20和图1-21所示:
图1-20 8根数据总线
图1-21 16根数据总线
1.5.3控制总线
CPU对外部器件的控制是通过控制总线进行的。有多少根控制总线就意味CPU提供了对外部器件的多少种控制。所以控制总线的宽度决定了CPU对外部器件的控制能力。
■读命令:由一根“读信号输出”控制线负责CPU向外传送读信号,CPU向该控制线输出低电平(0)表示将要读取数据;
■写命令:由一根称为“写信号输出”的控制线负责传送写信号。
总结
1.CPU离不开内存,内存将存储数据提供给CPU使用。
2.在存储器中的数据和指令没有任何区别,都是二进制信息。
3.内存是存储单元从0开始编号的线性地址空间。
4.一个存储单元可以存放8个bit,即8位二进制数,为一个字节。
5.1byte=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB。
6.CPU和总线连接,CPU引出的3种总线的宽度,标志CPU不同方面的性能:
①地址总线的宽度决定CPU的寻址能力。
②数据总线的宽度决定CPU与其他器件进行数据传送时的一次传送量。
③控制总线的宽度决定CPU对系统其他器件的控制能力。
练习
1、CPU的寻址范围是256KB,那么它的地址总线宽度是多少?
2、1KB的存储器有_____个存储单元,存储单元的编号从____到______。
3、1KB的存储器可以存储_____bit,________byte。
4、1GB、1MB、1KB分别是__________________byte。
5. 8080、8088、8086、80286、80386的数据线宽度分别是8根,8根,16根,16根,32根,则它们一次可以传送的数据为:___(B)、___(B)、___(B)、___(B)、___(B)。
6、8080、8088、80286、80386的地址总线宽度分别为16根,20根,24根,32根,则它们的寻址范围分别为____(KB)、____(MB)、_____(MB)、_____(GB)。
7、假设从内存中读取512个字节数据,8086至少需要读____次,80386至少读___次。
8、在存储器中,数据和程序以_____形式存放。
9、计算机是如何驱动CPU进行工作的呢?
10、请查阅相关机器码资料。
本文摘自编程达人系列教材《X86汇编语言基础教程》。