在本节中,将 CPU 连接到计算机各种硬件插槽的接口的总线。
地址总线:地址总线用于传输地址,并确定CPU的寻址范围。 8086 计算机有 20 条地址总线,32 位计算机有 32 条地址线,64 位计算机有 64 条地址线。
数据总线:采用数据总线传输数据,8086电脑有16条数据线,一次可传输16位数据。 32 位计算机有 32 条数据线,64 位计算机有 64 条数据线。
控制总线:控制总线用于传输控制指令,8086计算机有16条控制线。 32 位计算机有 32 条控制线,64 位计算机有 64 条控制线。
经过前面的研究,我们现在知道CPU是通过总线连接到主板插槽接口上的外部设备的。 总线又分为地址总线、数据总线和控制总线,分别加载地址、数据和指令。 在本节中,我们将仔细研究这三种类型的公共汽车。 首先,让我们看一下地址总线。
CPU 使用地址总线来指定内存单元,每个内存单元是一个字节。 地址总线确定计算机的寻址范围。 CPU 可以寻址任意数量的内存单元,因为可以在地址总线上传递不同的地址编码信息。
在电子计算机中,只有两种类型的稳态可以通过单根导线传输,高电平表示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 表示十六进制数,符号 b 表示二进制数,符号 d 表示十进制数。 默认默认值为十进制数。
内存地址空间
如果CPU的地址总线宽度为10,则可以写210个地址号,即可以找到一个1024字节的存储单元,称为CPU的内存地址空间。 如图1-19所示,如下图1-19所示
图1-19 10根地址总线内存地址空间示意图
CPU 和内存或其他设备之间的数据传输通过数据总线进行。 数据总线的宽度决定了 CPU 和外界传输数据的速度。 8 条数据总线一次可以传递 8 位二进制数据,即 1 个字节。 16 条数据总线一次可以传递两个字节。 n 个数据总线,一次可以传递 n 个 8 个字节。
8088 CPU的数据总线宽度为8,8086 CPU的数据总线宽度为16。
例。 将数据 89d8h 写入内存:
89D8H 分别使用 8 条数据总线和 16 条数据总线写入存储器。 如图1-20和图1-21所示
图1-20 8条数据总线
图1-21 16条数据总线示意图
CPU对外部设备的控制是通过控制总线进行的。 控制总线的数量意味着 CPU 通过外部设备提供的控制数量。 因此,控制总线的宽度决定了 CPU 控制外部设备的能力。
读取命令:“读取输出”控制线负责CPU向外传输读取信号,CPU向控制线输出低电平(0)以指示将读取数据
写入命令:称为“写输出”的控制线负责传输写信号。
总结。 1 CPU 与内存密不可分,内存向 CPU 提供存储的数据。
2 内存中的数据和指令没有区别,它们都是二进制信息。
3 内存是一个线性地址空间,其中存储单元从 0 开始编号。
4 一个存储单元可以存储 8 位,即 8 位二进制数,即一个字节。
5.1byte=8bit 1kb=1024b 1mb=1024kb 1gb=1024mb。
6.CPU与总线连接,3条总线的宽度由CPU拉出,表示CPU不同方面的性能:
地址总线的宽度决定了 CPU 的可寻址性。
数据总线的宽度决定了当 CPU 传输到其他设备时一次传输的数据量。
控制总线的宽度决定了 CPU 控制系统其余部分的能力。
本文节选自编程大师系列教材《x86汇编语言基础教程》。