深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
3.总线的特性
(1)物理特性:
指总线的物理连接方式,包括总线的根数,总线的插头、插座的形状,引脚线的排列方式等。
(2)功能特性:
描述总线中每一根线的功能》例如,地址总线用来给存储器、IO 口编号,以便 CPU 按地址对其进行读写;数据总线是 CPU 和存储器、外设之间传送指令和数据的通道,其宽度反映了 CPU 一次处理和传送的二进制位数;
(3)电气特性 :
定义每一根线上信号的传递方向及有效电平范围。其中,送入 CPU 的信号称为输入信号(IN),从 CPU 发出的信号称为输出信号OUT)。
(4)时间特性:
定义了每根线在什么时间有效。规定了总线上各信号有效的时序关系 CPU才能正确无误的使用。
主板中的总线是用光刻机刻上去的:
从物理角度上讲,总线就是一组导线。一般在计算机主板上是一组印刷线路。在这组导线上设置了一些插槽,用于插入 CPU、内存条、I/O 卡等插件板,这些插件板通过插槽接入总线,如图所示。
(1)总线宽度是一次总线操作中,最多可传递的数据位数。
(2)总线周期是一次总线操作所需要的最小间隔时间。总线周期与总线的时钟频率成反比,即T=1/f。
(3)总线宽度是单位时间内通过总线的数据位数,总线的数据传输率,单位为MB/s。
(4) 标准传输率即在总线上每秒能传输的最大字节量,用 MB/s 表示。例如,总线工作频率为33MHz,总线宽度为 32 位,则它最大的传输率为 132 MB/s。
(5) 总线复用。通常地址总线与数据总线在物理上是分开的两种总线,地址总线传输地址码,数据总线传输数据信息。为了提高总线的利用率,可优化设计,让地址总线和数据总线共用一组物理线路,这称为总线的多路复用。
除了上述主要性能指标外,还有其他指标。例如,负载能力问题,由于不同的电路对总线的负载是不同的,即使同一电路板在不同的工作频率下,总线的负载也是不同的,因此,总线负载能力的指标不是太严格,通常用可连接扩充电路板数来反映总线的负载能力
例题、假定一台计算机采用 3 通道存储器总线,配套的内存条型号为 DDR3-1333,即内存条所接插的存储器总线的工作频率为1333 MHz,总线宽度为 64 位,则存储器总线的总带宽大约是()。
A.10.66GB/s B.32 GB/s C.64 GB/s D.96 GB/s
根据题意,可以使用以下公式计算存储器总线的总带宽: 总带宽 = 存储器总线频率 × 存储器总线位宽 × 存储器通道数 ÷ 8 将题目中的数值代入计算,得到: 总带宽 = 1333 MHz × 64位 × 3通道 ÷ 8 = 32 GB/s 因此,答案为 32 GB/s。
4、总线的特点:
串行总线和并行总线
5、系统总线:
(1)、单总线结构:
单总线结构将 CPU、主存及 I/O 设备(通过 I/O接口)都挂在一组总线上,支持I/O设备与主存、I/O 设备之间直接交换信息。
**其结构简单,便于扩充,但因各部件共享一组总线,极易造成计算机系统的瓶颈现象。**当I/O 设备量很大时,总线发出的控制信号从一端逐个传送到第n个设备,它的传播延迟也会造成计算机系统工作效率的严重下降。
为解决总线瓶颈问题,可采取增加总线宽度和提高传输速率等方法。
(2)、双线结构:
单总线结构的**缺陷****是系统效率和连接到总线上的各设备的利用率不高。**这是因为单总线不允许多于两台的设备在同一时刻交换信息。为了克服这一缺陷,可将 I/O 总线与主存总线分开,形成了双总线结构。
这种总线结构有两条总线,一条是主存总线,用于 CPU、主存和通道之间进行数据传送,另一条是I/O 总线用于多个外围设备与通道之间进行数据传送,如图所示。
(3)三总线结构:
三总线结构是在计算机系统各部件之间采用 3 条各自独立的总线来构成信息通路,这条总线分别是主存总线、I/O总线和直接主存存取(Direct Memory Access,DMA)总线。
主存总线用于 CPU 和主存之间传送地址、数据和控制信息。I/O 总线用于 CPU 和各类外围设备之间通信。DMA 总线用于主存和高速外围设备之间直接传送数据。
6、总线的内部结构
1.早期总线:
早期总线的内部结构如图所示。
它实际上是处理器芯片引脚的延伸,是处理器与I/O设备适配器的通道。这种简单的总线一般由50~100条线组成,这些线按其功能可分为地址线、数据线和控制线3类。
早期总线的缺点是CPU是总线上的唯一主控者,总线信号是CPU引脚信号的延伸,故总线结构与CPU紧密相关,通用性较差。
2.当代总线
当代总线内部结构如图所示。
在当代总线结构中,CPU和它私有的Cache一起作为一个模块与总线相连。系统中允许有多个这样的处理器模块。而总线控制器完成几个总线请求者之间的协调与仲裁。
- 数据传送总线:由地址线、数据线和控制线组成。
- 仲裁总线:包括总线请求线和总线授权线。
- 中断和同步总线:用于处理带优先级的中断操作,包括中断请求线和中断认可线。
- 公用线:包括时钟信号线、电源线、地线、系统复位线,以及加电或断电的时序信号线等。
7、总线结构实例
大多数计算机采用了分层次的多总线结构。
在这种结构中,速度相近的设备模块使用同一类总线,速度差异较大的设备模块使用不同速度的总线。Pentium计算机主板的总线结构如图所示。是一个三层次的多总线结构,即包括CPU总线、PCI总线和ISA总线。
- CPU总线:****是计算机系统中最快的总线。这条总线主要由CPU使用,用来与高速缓存、主存和北桥之间传送信息。CPU总线是一个64位数据线和32位地址线的同步总线,时钟频率为66 MHz,100 MHz,133 MHz等。CPU是这条总线的主控者,但必要时可放弃总线控制权。
- **PCI总线:**用于连接高速的I/O设备模块,如显卡、网卡、硬盘控制器等。PCI总线通过北桥与CPU总线连接,通过南桥与ISA总线相接。PCI总线是一个同步总线,32位(或64位)数据/地址线是同一组线,分时复用。
- **ISA总线:****用于连接低速的I/O设备模块。**主板上一般留有3~4个ISA总线扩充槽,以便使用各种16位/8位适配器卡。
8、小结:
二、总线接口
1、总线性能指标:
总线带宽指总线的最大数据传输率,即总线在进行数据传输时,单位时间内最多可传输的数据位数,通常用Mb/s (Mbps)或MB/s(MBps)表示。
总线的数据传输率可表示为:数据传输率=总线宽度数据传输次数/秒,数据传输次数/秒又称为工作频率。注意,总线带宽的工作频率不考虑总线仲裁、地址传送等非数据传输操作的时间,而总线数据传输率的工作频率考虑总线所有操作的时间。
对于同步总线,总线带宽 B=wXf/m,其中,w 为总线宽度,f为总线时钟频率,m为一次数据传输所需的时钟周期数,f/m 表示总线的工作频率。
2、总线性能指标小结:
3、信息传递方式
计算机系统中,传输信息采用串行传送、并行传送和分时传送3种方式。但是出于速度和效率上的考虑,系统总线上传送的信息必须采用并行传送方式。
(1).串行传送
当信息以串行方式传送时,只有一条传输线,且采用脉冲传送。在传送过程中,按顺序传送每一个二进制位脉冲信号,每次一位,通常以第一个脉冲信号表示数码的最低有效位,最后一个脉冲信号表示数码的最高有效位,如图所示。位时间是由同步脉冲来体现的。
假定串行数据是由位时间组成的,那么传送8个比特需要8个位时间。例如,如果接收设备在第二个位时间接收到一个脉冲,而其余的7个位时间没有收到脉冲,那么就可知所收到的二进制信息是00000010。在串行传送时,被传送的数据需要在发送部件进行并—串变换,这称为拆卸;而在接收部件又需要进行串—并变换,这称为装配。串行传送的主要优点****是只需要一条传输线,适用于长距离传输。
提示:串行传递时低位在前,高位在后
(2).并行传送
利用串行方式传送字符,假设数据传送速率是140个字符/秒,每一个字符格式规定包含10位(起始位、停止位、8个数据位),问传送的波特率(每秒钟传送的比特位数称为波特率)是多少?每位占用的时间是多少?
- 波特率为:10×140=1 400波特。
- 每个比特占用的时间Td是波特率的倒数:
- Td=1/1 400=0.714×10−3 s=0.714 ms。
并行传送二进制信息时,每个数据位都需要单独一条传输线。即信息有多少位组成,就需要有多少条传输线。如果要传送的数据由8位二进制位组成(一个字节),那么就需要使用8条线组成的扁平电缆,如图所示。每一条线代表了一位的二进制数。例如,最上面的线代表最高有效位,最下面的线代表最低有效位,故图中正在传送的二进制数是10101100。
并行传送一般采用电位传递。
(3).分时传送
采用总线复用方式,某个传输线上既传送地址信息,又传送数据信息。为此必须划分时间片,以便在不同的时间间隔中完成传送地址和传送数据的任务。
共享总线的部件分时使用总线。
4、总线接口的基本概念
连接到总线上的设备都需要有一个接口电路,而不能直接把它的内部线路连接到总线上。总线上有一套信号线的定义,又有一套通信规则(又称协议),连接到总线上的信号都要符合总线的这些要求,总线还是各部件之间的连接界面,由于各部件之间存在各种差异,所以需要总线接口来弥补这些差异。
接口即I/O设备适配器,具体指CPU和主存、外围设备之间通过总线进行连接的逻辑部件。接口在它连接的两个部件之间起着“转换器”的作用,以便实现彼此之间的信息传送。为了使所有的外围设备能够兼容,并能在一起正确地工作,CPU规定了不同的信息传送控制方法。一个标准接口可能连接一个设备,也可能连接多个设备。CPU、接口和外围设备之间的连接关系如图所示。
总线通常具有如下功能:
控制: 接口靠程序的指令信息来控制外围设备的动作,如启动、关闭设备等。
**缓冲:**接口在外围设备和计算机系统其他部件之间作为一个缓冲器,以补偿各种设备在速度上的差异。
**状态:**接口监视外围设备的工作状态并保存状态信息,包括数据“准备就绪”“忙”“错误”等,供CPU询问外围设备时分析之用。
**转换:**接口可以完成任何要求的数据转换,如并—串转换或串—并转换,因此数据能在外围设备和CPU之间正确地传送。
**整理:**接口可以完成一些特别的功能,如在需要时可以修改字计数器或当前主存地址寄存器。
**程序中断:**每当外围设备向CPU请求某种动作时,接口即发生一个中断请求信号到CPU。
一个适配器必有两个接口
一是和系统总线的接口,CPU和适配器的数据交换一定的是并行方式;
二是和外设的接口,适配器和外设的数据交换可能是并行方式,也可能是串行方式。
根据外围设备数据传送方式的不同,适配器可分为串行数据接口和并行数据接口两大类。
三、总线仲裁:
1、集中式仲裁
总线上连接着多个部件,什么时候由那个部件发送信息,需要由总线控制器统一管理。为了解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择其中一个主设备优先获得总线控制权。只有获得了总线控制权的设备,才能开始数据传送。总线仲裁方式按其仲裁控制机制的不同可分为集中式仲裁和分布式仲裁两种。
总线控制逻辑基本上集中于一个设备中(如CPU),将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决,称为****集中式仲裁。集中式仲裁是单总线、双总线和三总线结构计算机主要采用的方式,集中式仲裁的控制方式主要有链式查询方式、计数器定时查询方式和独立请求方式3种。
(1 )、链式查询方式:
链式查询方式的电路如图所示。在这种电路中,除一般数据总线D和地址总线A外,在控制总线中有三根线用于总线的控制,分别是总线忙(BS)线、总线请求(BR)线和总线同意(BG)线。
- **BS:**总线忙/闲状态线,当其有效时,表示总线正被某外设使用。
- **BR:**总线请求线,当其有效时,表示至少有一个外围设备要求使用总线。
- **BG:**总线同意,当其有效时,表示总线控制部件响应总线请求(BR)。
总线同意信号(BG)是串行地从一个I/O接口送到下一个I/O接口,如到达的接口无总线请求,则继续往下传;如到达的接口有总线请求,则不再往下传,这意味着该I/O接口获得了总线使用权。**BG信号就像一条链一样串联所有的设备接口,故这种总线控制方式称为链式查询方式。**在查询链中,离总线控制器最近的设备具有最高优先权;离总线控制器越远的设备,优先权越低。
链式查询方式的优缺点:
- 优点是只用很少几根线就能按一定的优先次序实现总线控制,并且这种链式结构很容易扩充设备。
- 缺点是对询问链的电路故障很敏感,如果第i个设备的接口中有关键的电路出现故障,那么,第i个设备以后的设备都不能进行工作。另外,查询链的优先级是固定的,如果优先级高的设备出现频繁的请求,优先级较低的设备就可能长期不能使用总线。
(2)计数器定时查询方式:
**工作原理是,总线上任一设备要求使用总线时,通过总线请求(BR)线发出总线请求信号,总线控制器接到请求信号后,在总线忙(BS)为复位的情况下,让计数器开始计数,计数值通过一组地址线发至各设备。**每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址一致时,该设备把总线忙(BS)置位,获得总线控制权。此时,中止计数器的计数及查询。
计数器定时查询方式的优缺点:
- 优点是由于查询可被程序控制,所以优先次序可以方便地改变。另外这种查询方式不会出现像链式查询那样当某个设备的接口中有关键的电路出现故障时,会影响其他设备使用总线。
- 缺点是要有一组设备地址线,从而增加了控制线的数量,而且控制也较为复杂。
3、独立请求方式:
这种总线控制方式中,每一个共享总线的设备均有一对总线请求(BR)和总线同意(BG)线。当设备要求使用总线时,便发出总线请求信号,总线控制部件中有一个排队电路,根据一定的优先次序决定首先响应哪个设备的请求,当请求的设备排上队,便收到总线同意(BG)信号,从而可以使用总线。
独立请求总线控制方式的优缺点:
- 优点是响应时间快,对优先次序的控制也相当地灵活,它可以预先固定优先次序,也可以通过程序来改变优先次序,并且在必要时屏蔽某些设备的请求。
- 缺点是控制线的数量多,例如,要控制n个设备,必须有n根总线请求线和n根总线同意线,相比之下,链式查询方式只需1根总线请求线和1根总线同意线。另外,独立请求方式的控制器也要复杂得多。
2、分布式仲裁
分布式控制不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。当某一个或多个功能块有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤销它的仲裁号。
最后,获胜者的仲裁号保留在仲裁总线上。
3、仲裁小结:
四、总线通信:
总线的一次信息传送过程,大致可分为如下几个阶段:请求总线,总线仲裁,寻址,信息传送,状态返回。
**请求总线:**由需要使用总线的主设备提出请求。
**总线仲裁:**总线仲裁机构决定将下一传输周期的总线使用授权于某一主设备。
寻址: 取得了使用权的主设备通过总线发出本次要访问的从设备的地址及有关命令,启动参与本次传输的从设备。
信息传送: 主设备和从设备进行数据交换,数据由源设备发出,经数据总线流入目的设备。
状态返回: 主设备的有关信息均从总线上撤除,让出总线使用权。
1、同步通信:
总线上的设备(或部件)通过总线进行信息传送时,用一个公共的时钟信号进行同步,这种方式称为同步通信。这个公共的时钟信号可以由总线控制部件发送到每一个设备(或部件),也可以每个设备(或部件)有自己的时钟发生器,但是都必须由CPU发出的时钟信号进行同步。由于采用统一的时钟,每个设备(或部件)发送信息或接收信息都在固定的总线传送周期中,一个总线传送周期结束,开始下一个总线传送周期。
**如上图表示某个输入设备向CPU传输数据的同步通信过程。**总线传输周期是连接在总线上的两个部件完成一次完整且可靠的信息传输时间,它包含4个时钟周期T1,T2,T3和T4。同步通信在系统总线设计时,对T1,T2,T3,T4都有明确且唯一的规定:T1主设备发地址;T2主设备发读命令;T3从设备提供数据;T4主设备撤销读命令,从设备撤销数据。
对于写命令,其传输周期为:T1主设备发地址;T1主设备提供数据;T2主设备发出写命令,从设备接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中;T4主设备撤销写命令和数据。写命令传输周期的时序如图所示。
同步通信的优缺点:
- 优点是具有较高的传输速率,数据传输速度快,总线控制逻辑也比较简单。同步通信适用于总线长度较短,各部件存取时间比较接近的情况。
- 缺点是控制线的数量多,例如,要控制n个设备,必须有n根总线请求线和n根总线同意线,相比之下,链式查询方式只需1根总线请求线和1根总线同意线。另外,独立请求方式的控制器也要复杂得多。
2、异步通信:
**利用数据发送设备和数据接收设备之间的相互“握手”信号来实现总线数据传送的方式称为异步通信。**在异步通信中,没有统一的时钟,也没有固定的时间问题,完全依靠传送双方相互制约的“握手”信号来实现定时控制,把交换信息的两个设备(或部件)分为主设备和从设备,主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。
异步通信的优缺点:
- 优点是总线周期长度可变,能保证两个工作速度相差很大的设备(或部件)之间可靠地进行信息交换,自动适应时间的配合。
- 缺点是比同步通信复杂,速度也较慢。
(1)不互锁方式。
主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号。而从设备在接到“请求”信号后,发出“回答”信号,并经过一段时间,自动撤销“回答”信号。双方不存在互锁关系,如图所示。
(2)半互锁方式。
主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系。而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔段时间后自动撤销“回答”信号,不存在互锁关系。半互锁方式如图所示。
(3)全互锁方式。
① 主设备发出“请求”信号,等待从设备的“应答”信号; ② 从设备接到“请求”信号后,发出“应答”信号——一次握手; ③ 主设备接到从设备的“应答”信号,就撤销其“请求”信号——二次握手; ④ 从设备在获知主设备已撤销“请求”信号后,随即撤销其应答信号——三次握手。 这样,经过三次握手在通信双方建立了完全的互锁关系,如图所示。
3、半同步通信:
4、分离式通信:
5、总线数据传送模式
当代的总线标准大都能支持以下4类模式的数据传送。
(1)读、写操作。
读操作是由从方到主方的数据传送;写操作是由主方到从方的数据传送**。**一般,主方先以一个总线周期发出命令和从方地址,经过一定的延时再开始数据传送总线周期。为了提高总线利用率,减少延时损失,主方完成寻址总线周期后可让出总线控制权,以使其他主方完成更紧迫的操作。然后再重新竞争总线,完成数据传送总线周期。
(2)块传送操作。
只需给出块的起始地址,然后对固定块长度的数据一个接一个地读出或写入。对于CPU(主方)、存储器(从方)而言的块传送,常称为猝发式传送,其块长一般固定为数据线宽度(存储器字长)的4倍。
(3)写后读、读后写操作。
只给出地址一次,或进行先写后读操作,或进行先读后写操作。前者用于校验目的,后者用于多道程序系统中对共享存储资源的保护。这两种操作和猝发式操作一样,主方掌管总线直到整个操作完成。
(4)广播、广集操作。
一般而言,数据传送只在一个主方和一个从方之间进行。但有的总线允许一个主方对多个从方进行写操作,这种操作称为广播。与广播相反的操作称为广集,它将选定的多个从方数据在总线上完成AND或OR操作,用以检测多个中断源。
五、总线标准
(一)ISA(Industry Standard Architecture)总线。
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
允许一个主方对多个从方进行写操作,这种操作称为广播。与广播相反的操作称为广集,它将选定的多个从方数据在总线上完成AND或OR操作,用以检测多个中断源。
五、总线标准
(一)ISA(Industry Standard Architecture)总线。
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
[外链图片转存中…(img-1pP1z5Bb-1715300684522)]
[外链图片转存中…(img-Br3IQDEZ-1715300684523)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新