Windows程序员需要掌握的计算机硬件知识——总线结构

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下计算机中的总线结构问题。

本文的知识主要有常用总线的分类、总线相关定义与计算、内部总线、外部总线、系统总线的定义等。

总线(Bus):计算机各种功能部件之间传送信息的公共通信干线。
  

1.总线分类
依据计算机所传输信息的种类,总线可以分为数据总线(Data Bus,DB)、地址总线(Address Bus,AB)和控制总线(Control Bus,CB)。

数据总线

双向传输数据。DB宽度决定每次CPU和计算机其他设备的交换位数

地址总线

只单向传送CPU发出的地址信息,指明与CPU交换信息的内存单元。AB宽度决定CPU地址总线最大寻址能力。例如,若计算机中地址总线的宽度为24位,则最多允许直接访问主存储器2的24次方的物理空间

控制总线

传送控制信号、时序信号和状态信息等。每一根线功能确定,传输信息方向固定,所以CB每一根线单向传输信息,整体是双向传递信息

2.总线相关定义与计算
总线的常用单位如下:
(1)总线频率:总线实际工作频率,也就是一秒钟传输数据的次数;是总线工作速度的一个重要参数,工作频率越高,速度越快。
(2)总线周期:指CPU从存储器或I/O端口存取一字节所需的时间。
(3)总线带宽:总线数据传输的速度。
(4)总线宽度:总线一次传输的二进制位的位数。

然后你要记住两个重要的计算公式:

总线带宽=总线宽度*总线频率

举例,总线宽度为32位,时钟频率为200MHz,若总线上每5个时钟周期传送一个32位的字,则该总线的带宽应该为多少Mb/s?

总线频率=时钟频率/5=200MHz/5=40MBz;

总线带宽=总线宽度*总线频率=32bit*40MHz/8bit=160MB/s。

总线带宽=时钟频率*每个总线周期传送的字节数/每个总线包含的时钟周期数

举例,某系统总线的一个总线周期可以传送32位数据,一个总线周期包含6个时钟周期。若总线的时钟频率为66MHz, 则总线的带宽(即传输速度) 应该是多少Mb/s?

总线带宽=66MHz*(32bit/8bit)/6=44MB/s

3.内部总线

内部总线是在CPU内部, 寄存器之间和算术逻辑部件(ALU) 与控制部件之间传输数据所用
的总线。又称为片内总线(芯片内部的总线)。常见的内部总线有I2C、SPI、SCI总线。

4.  系统总线

系统总线连接计算机各功能部件而构成一个完整的计算机系统,又叫板级总线。系统总线是计算机各插件板与系统板之间的总线,用于插件板一级的互联。常见的系统总线见下表

Windows程序员需要掌握的计算机硬件知识——总线结构_第1张图片

 
5.外部总线

外部总线是计算机和外部设备之间的总线。常见的外部总线见下表

Windows程序员需要掌握的计算机硬件知识——总线结构_第2张图片

作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。

你可能感兴趣的:(Windows程序员生存技能,windows,microsoft,学习方法,软件工程)