通信人家园
标题:
计算机中央处理器CPU与内存芯片之间的二进制数字信号通信
[查看完整版帖子]
[打印本页]
时间:
2021-10-22 16:44
作者:
施重庆
标题:
计算机中央处理器CPU与内存芯片之间的二进制数字信号通信
引言:
我们知道,计算机是一个二进制的世界,相应的硬件电路,我们称为数字电路,与之对应的是模拟电路;相应的可执行的指令,我们称为二进制指令。从计算机的角度来看,只需要关注0和1,不需要关注数字信号的特征(幅度、极性等),也不需要关注如何通过数字信号表示0或1。
然而从通信的角度来看,数字信号的特征量就是研究的重点,即如何通过控制数字电信号的特征量,实现在两个芯片节点之间传递0和1的信息。
理解如何利用数字的电信号来传递0和1的信息,非常有助于理解,如何通过模拟信号传递0和1,也非常有助于理解数字调制解调的底层原理。
本文将从通信的视角,从通信原理的角度,来解构一下计算机的中央处理器与外围内存芯片之间的二进制数字通信。
目录:
1. 什么是二进制数字通信
2. CPU与内存芯片之间二进制数字信号通信的模型
3. 信源对信息的发送过程
4. 信道对信息的传输过程
5. 信宿对信息的接收过程
1. 什么是二进制数字通信
(1)什么是狭义的现代通信
广义的通信定义:是信源与信宿指之间通过某种媒介进行信息传递与交流的过程。
狭义的通信定义:是信源与信宿指之间通过电信号进行信息传递与交流的过程。
由此有必要先了解一下什么是电信号?电信号的特征?分类?
(2)什么是电信号
电信号是指随着时间而变化的电压或电流信号。
由于非电的物理量可以通过各种传感器较容易地转换成电信号,而电信号又容易传送和控制,所以使其成为现代通信中应用最广的信号。
电流:
导体中的自由电荷(电子)在电场力(电压)的作用下做有规则的定向运动就形成了电流。科学上把单位时间里通过导体任一横截面的电量(电子的数量)叫做电流强度,简称电流,电流符号为I,单位是安培(A)。
电压:
也称作电动势或电位差,电压是指电路中两点A.B之间的电位差(简称电压), 正是因为电压的存在,才驱动电子的运动,形成电流。电压的国际单位制为伏特(简称伏),用V表示。
这个概念与水位高低所造成的“水压”相似。
电阻:
电阻是描述导体导电性能的物理量,或者说用来描述导体阻碍电子流动的物理量。当导体两端的电压一定时,电阻愈大,通过的电流就愈小; 反之,电阻愈小,通过的电流就愈大。因此,电阻的大小可以用来衡量导体对电流阻碍作用的强弱,即导电性能的好。用R表示。
电流、电阻、电压三者的关系:
电阻=电压%电流,表示为R=U/I
(3)电信号的测量、数学表示与可视化
可以通过电压表测量线路两端的电压,用电流表测量线路的电流。用示波器可视化其随时间变化的图形:
电信号在数学描述上可将它表示为时间的函数y=f(t),可视化其其波形如下:
(4)电信号的分类
电信号的形式是多种多样的,可以从不同的角度进行分类。
根据信号的随机性可以分为确定信号和随机信号;
根据信号的周期性可分为周期信号和非周期信号;
根据信号的连续性可以分为连续时间信号和离散信号;在电子线路中,又称为分为模拟信号和数字信号。
模拟信号(电压或电流)
模拟信号是指电信号的参数在给定时间范围内表现为连续的信号。 或在一段连续的时间间隔内,代表信号的特征量,可以在任意瞬间呈现为任意数值的信号。如广播的声音信号,或图像信号等。
模拟信号的特征量有:电压或电流信号的幅度、频率、相位。
数字信号(电压或电流)
数字信号指幅度的取值是离散的,幅值表示被限制在有限个数值之内。
数字信号的特征量有:电压或电流信号的幅度大小、正负的极性、变化的周期(或频率)、占空比(高电平与低电平在时间上的比值)、信号的上升沿、信号的下降沿。
二进制信号就是一种只有2个离散数值的数字信号。
二进制信号受噪声的影响小,易于有数字电路进行处理,所以在计算机中得到了广泛的应用。可以这样说,计算机就是一个二进制的世界。
备注:
从计算机的角度来看,只需要关注0和1,不需要关注数字信号的特征(幅度、极性等),不需要关注如何通过数字信号表示0或1。
然而从通信的角度来看,数字信号的特征量就是研究的重点,即如何通过控制数字电信号的特征量,实现在两个芯片节点之间传递0和1的信息。
理解如何利用数字的电信号来传递0和1的信息,非常有助于理解,如何通过模拟信号传递0和1,也非常有助于理解数字调制解调的底层原理。
2. CPU与内存芯片之间二进制数字信号通信的模型
(1)计算机的系统逻辑组成
计算机组成指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。
主要分为三大部分组成:CPU,存储器,输入输出设备(外设)。
中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
存储器:存储程序和数据等信息,并在CPU需要时提供这些信息。
外设:输入设备与输出设备合称为外部设备,简称外设。
输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。
输出设备的作用是把计算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。
(2)CPU的内部组成
CPU内部由运算单元、存储单元和控制单元组成。
运算单元:负责进行二进制指令的执行、二进制数据的运算等操作。
控制单元:负责通过地址总线、数据总线、控制总线,从外部的内存和外设中读取二进制指令,从外部的内存中存和取二进制数据。
存储单元:又称为寄存器单元,用于暂时存放CPU运算单元所需要的数据。
CPU的世界是二进制的世界,所有的信息将转化0和1的二进制串:
计算机中,由CPU执行的目标代码是二进制格式的,我们称为“指令”。
计算机中,由指令处理的对象是二进制的,我们称之为“数据”。
计算机中,指令对数据的最底层的运算是二进制的,我们“与、或、非”。
(3)CPU能够执行的运算
计算机各种纷繁复杂的数学运算、逻辑运算等,都源于“与、或、非”三种基本的二进制运算。
(4)CPU与内存和外设的通信模型
以CPU向内存中传送(写)数据为例
信源:CPU
信宿:内存和外设
传输信道:PCB板的并行铜导线,所谓并行,是指一次性可以传输多个bit,如32bits数据,就会有32根PCB走线。每根PCB走线上一次传输一个bit。32根PCB走线,一次就可以传输32bit。
当然,在实际系统中,为了节省PCB总线的数量,通常采用分时复用的方式共用一组总线,称为AD总线,即地址数据总线。
在这里,为了描述方便,把地址和数据总线分开。
紧接着的问题是:CPU与外部的内存和外设通过什么样的“电信号”传递二进制数据0和1?
3. 信源对信息的发送过程
以CPU向内存中存放数据为例
(1)信源:CPU
(2)信息:对数据的解释是是人来完成的,CPU自身是无法感知二进制的含义的,因此,在CPU中,信息就是二进制数据。
(3)二进制数据:无论是指令,还是数据,都是以二进制0、1的形式存在的,并存放CPU内部的寄存器中。比如需要向内存中存放的32bits的数据:0101 0101 0101 0101 0101 0101 0101 0101 (0x5555 5555)
(4)电气信号(即符号Symbol)编码:
这里就涉及一个电通信中很根本性的问题,即用什么样的电信号表示0或1?
如下是数字电信号的示意图:
电通信的过程,就是传送电信号的过程,利用电信号的特征来标识0和1。
前面提到,数字信号的特征量有:电压或电流信号的幅度大小、正负的极性、变化的周期(或频率)、占空比(高电平与低电平在时间上的比值)、信号的上升沿、信号的下降沿。
常见的表示0和1的方法有:
幅度编码法:电信号的低电平表示0,电信号的高电平表示1,
极性编码法:电信号的正+电平表示0,电信号的负-电平表示1.
边沿编码法:电信号的上升沿表示0,电信号的下降沿表示1,这种方法,在一个总线周期中,传输0和1.
在这里,采用最直观、最常用的编码方式:电信号的低电平表示0,电信号的高电平表示1。
其他的编码方式,在后续再继续讨论。
(5)信号的发送
无论是低电平,还是高电平,都是持续一段时间的,从什么时候开始表示0或1呢?
这里涉及到一个话题,就是总线的时序(时域)。
所谓时序:
从发送方角度来看,就是生成满足一定时间顺序的地址总线、数据总线、控制总线电信号,代表需要传输的0或1信息。
从接收方角度来看,就是按照一定的时间顺序,获取地址总线、数据总线和控制总线电信号,并获取线路上传输的0或1信息。
如下就是读写数据时,各个信号之间的时序示意图,通过如下的时序图,完成了信号的发送。
从上图看可以看出,一次传送N个bits的并行数据,也并非简单的事情 ,需要有相应的硬件控制电路支撑。
信号的传送速率:
时钟CLK的频率 * 数据线的宽度,比如时钟66M时钟,数据宽度是32bit
那么信号传送速率 = 66M * 32bit = 2.178G bits
这就是并行传输带来的好处。
4. 信道对信息的传输过程
(1)PCB板
PCB(printed circuit board)即印制线路板,简称印制板。
印制线路板由绝缘底板、连接导线(铜)和装配焊接电子元件的导电焊盘(铜)组成,具有导电线路和绝缘底板的双重作用。
因此,计算机中央处理器CPU与内存芯片之间的二进制数字信号通信,属于有线通信。传输的信号是数字信号。
(2)传输的电信号的电平标准
TTL(单极性电平)与低电压TTL电平LVTTL
TTL集成电路的全名是晶体管-晶体管逻辑集成电路(Transistor-Transistor Logic)
传统的TTL电平信号规定,+5V等价于逻辑“1”,0V等价于逻辑“0”(采用二进制来表示数据时)。
这样的数据通信及电平规定方式,被称做TTL信号系统。
这是计算机处理器与内存和输入输出控制器之间通信的标准技术。
除了传统的5V电压的TTL电平,还有低电压的标准LVTTL,如3.3V和2.5V和1.8V
TTL电平是绝对值,是相对于GND地信号的电压差。
TTL电路的速度快,传输延迟时间短(5-10ns),但是功耗大。
CMOS电平(单极性电平)与低电压CMOS电平LVCMOS
CMOS是Complementary Metal Oxide Semiconductor(互补金属氧化物半导体)的缩写, 它是指制造大规模集成电路芯片用的另一种技术。
其电压标准有5V,3.3V和2.5V和1.8V.
CMOS电平也是绝对值,是相对于GND信号的电压差。
COMS电路的速度慢,传输延迟时间长(25-50ns),但功耗低。
各种电平标准电压的区别:
5. 信宿对信息的接收过程
以CPU向内存中存放数据为例
(1)信宿:内存或外设
(2)信号接收:信宿通过接收到的信号的时序,把代表数据或信息的电信号缓存到锁存器中。
(3)信号解码:通过解码,把电信号转化成表示0和1的内部电信,存放在内部的寄存器中。
(4)数字数据:存放在内部寄存器中的内部电信号就是用0和1表示的数字数据。
(5)信息:由于计算机硬件,没有意识,因此信息就是二进制数据本身。
7.结束语
现代通信是指基于“电信号”的通信。
计算机中央处理器CPU与内存芯片之间的二进制数字信号通信是所有数字通信的基础。
深刻的理解逻辑的0和1,与CPU总线的物理的电信号的电平之间的关系,对于理解数据通信起着至关重要的作用。
后续将进一步讨论,计算机中,通过其他电平承载0和1的通信方式和更加复杂的数字物理层、数字电路信号层的编码方式。比如串口通信、I2C总线通信、以及以太网通信。
————————————————
版权声明:本文为CSDN博主「文火冰糖的硅基工坊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/HiWangWenBing/article/details/108054252
通信人家园 (https://www.txrjy.com/)
Powered by C114