首页 > 其他分享 >计组笔记第六章——总线

计组笔记第六章——总线

时间:2024-07-26 11:19:29浏览次数:18  
标签:周期 总线 计组 信号 第六章 设备 CPU 时钟

6.1.1 总线概述

  • 总线简图:
    总线简图
  • 总线的物理实现:
    “一根”;数据总线可能包含多跟信号线,所有硬件部件都可以通过这跟总线传递数据。
    同一时刻只能有一个部件发送数据,但可以有多个部件接受数据。

基本概念

  • 总线的定义:总线是一组能为多个部件分时共享的公共信息传送线路。
  • 为什么要用总线?
    早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。
    为了更好的解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接
  • 总线的定义中,分时和共享的含义:
    分时:指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息。
    共享:指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。
  • 总线的特性:
    • 机械特性:尺寸、形状、管脚数、排列顺序
    • 电气特性:传输方向和有效电平范围
    • 功能特性:每根传输线和功能(地址、数据、控制)
    • 时间特性:信号的时序关系

总线的分类及经典结构

按照数据传输格式分类

  • 串行总线
    发送方数据只能逐bit发送,接收方数据也只能逐bit接收。
    例如USB
    优点:只需要一条传输线,成本低,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。
    缺点:在数据发送和接收的时候,要进行拆卸和装配,要考虑并行转换问题。

  • 并行总线
    总线可以同时传多位数据。
    优点:总线的逻辑时序比较简单,电路实现起来比较容易。
    缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。所以并行总线不一定比串行总线更快。

按总线功能(连接的部件)分类

  • 片内总线:
    片内总线是芯片内部的总线。
    它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。
  • 系统总线:
    系统总线是计算机系统内个功能部件(CPU、主存、I/O接口)之间相互连接的总线。
    按系统总线传输信息内容的不同,又可分为3类:数据总线(DB)、地址总线(AB)和控制总线(CB)。
    • 数据总线:传输各功能部件之间的数据信息,包括指令和操作数;位数(根数)与机器字长、存储字长有关;双向。
    • 地址总线:传输地址信息,包括主存单元或I/O端口的地址;位数与主存地址空间大小及设备数量有关,单向。
    • 控制总线:一根控制线传输一个信号;有出(CPU送出的控制命令)有入(主存(或外设)返回CPU的反馈信号)
  • 通信总线:
    通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。
  • 系统总线的结构:
    • 单总线结构:
      CPU、主存、I/O设备都连接在一组总线上,允许I/O设备之间、I/O设备和CPU之间或I/O设备与主存之间直接交换信息。
      优点:结构简单、成本低、易于接入新的设备。
      缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发(并行)传送操作。
    • 双总线结构:
      结构:双总线结构有两条总线,一条是 主存总线,用于CPU、主存和通道(管理I/O设备的小CPU)之间进行数据传送;另一条是I/O总线,用于多个外部设备与通道之间进行数据传送。
      通道是具有特殊功能的处理器,能对I/O设备进行统一管理。通道程序放在主存中。
      优点:
      主存总线支持突发(猝发)传送:送出一个地址,收到多个地址连续的数据。
      优点:将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离。
      缺点:需要增加通道等硬件设备。
    • 三总线结构:
      结构:三总线结构是在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这3条总线分别为主存总线、I/O总线和直接内存访问DMA总线。
      DMA:Direct Memory Access, 直接内存访问。
      优点:提高了I/O设备的性能,使其更快地响应命令,提高系统吞吐量。
      缺点:系统工作效率较低。

按时序控制方式分类

  • 同步总线
  • 异步总线

6.1.2 总线的性能指标

  1. 总线的传输周期(总线周期):
    一次总线操作所需时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常由若干个总线时钟周期构成。
  2. 总线时钟周期:
    即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。
    大多数情况下,一个总线周期包含多个总线时钟周期;但有的时候,一个总线周期就是一个总线时钟周期;有时候,一个总线时钟周期可包含多个总线周期。
    现在的计算机中,总线时钟周期也有可能由桥接器提供。
  3. 总线的工作频率:
    总线上各种操作的频率,为总线周期的倒数。
    若总线周期 = N个时钟周期,则总线的工作频率 = 时钟频率 / N。
    实际上指一秒内传输几次数据。
  4. 总线的时钟频率:
    即机器的时钟频率,为时钟周期的倒数。
    若时钟周期为T,则时钟频率为1/T。
    实际上指一秒内有多少个时钟周期。
  5. 总线宽度:
    又称总线位宽,它是总线上同时能够传输的数据位数,通常指数据总线的根数,如32根称为32位总线。
  6. 总线带宽:
    可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。
    总线带宽 = 总线工作频率 * 总线宽度 = 总线宽度 / 总线周期
    注:总线带宽是指总线本身能达到的最高传输速率。
    在计算实际的有效传输率时,要用实际传送的数据量除以耗时。
  7. 总线复用:
    总线复用是指一种信号在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。
  8. 信号线数:
    地址总线、数据总线和控制总线3种总线数的总和称为信号线数。

6.2 总线操作和定时

  • 总线周期的四个阶段:
    • 申请分配阶段:
      由需要使用总线的主模块(或主设备)提出和申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。
    • 寻址阶段:
      获得使用权的主模块通过总线发出本次要访问的从模考的地址及有关命令,启动参与本次传输的从模块。
    • 传输阶段:
      主模块和从模块进行数据交换,可单向或双向进行数据传送。
    • 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
  • 总线定时:指总线在双方交换数据的过程中需要时间上配合关系和控制,这种控制称为总线定时,它的实质是一种协议或规则。
    • 同步通信(同步定时方式):由统一时钟控制数据传送
    • 异步通信(异步定时方式):采用应答方式,没用功能时钟标准
    • 半同步通信:同步、异步结合
    • 分离式通信:充分挖掘系统总线每瞬间的潜力

同步定时方式

假设:CPU为主设备,某个输入设备为从设备。CPU要从这个从设备读取数据,进行读操作。

  1. CPU在T1时刻的上升沿给出地址信息
  2. 在T2的上升沿给出读命令(低电平有效),与地址信息相符合的输入设备按命令进行一系列的内部操作,且必须在T3的上升沿来之前将CPU所需的数据送到数据总线上。
  3. CPU在T3时钟周期内,将数据线上的信息传送到其内部寄存器中。
  4. CPU在T4的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。
  • 总结:同步定时方式由若干个时钟周期产生相等的时间间隔,每个间隔构成一个总线周期。
    在一个总线周期中,发送方和接收方可进行一次数据传送。
    因为采用统一的时钟,每个部件或设备发送或接受信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线的传送周期开始。
  • 优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。
  • 缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。
  • 同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。

异步定时方式

  • 在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
    主设备提出交换信息和“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。
  • 根据“请求”和“回答”信号的撤销是否互锁,分为一下3种类型。
    • 不互锁方式:主设备发出“请求”信号后,不必等到接到从设备“回答”信号,而是经过一段时间后,便撤销“请求”信号。
      而从设备在接到“请求”信号后,发出“回答”信号,并经过一段时间,自动撤销“回答”信号。
      双方不存在互锁关系。
      速度最快,可靠性最差。
    • 半互锁方式:主设备发出请求信号后,必须等接到从设备的回答信号后,才能撤销请求信号,有互锁关系。
      而从设备接到请求信号后,发出回答信号,但不必等待获知主设备的请求信号撤销,而是隔一段时间后自动撤销回答信号,不存在互锁关系。
    • 全互锁方式:主设备发出请求信号后,必须等从设备回答后才能撤销请求信号。
      从设备发出回答信号,必须获知主设备请求信号已经撤销后,再撤销其回答信号。双方存在互锁关系。
      最可靠,速度最慢
  • 优点:总线周期长度可变,能保证两速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
  • 缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。

半同步通信

  • 半同步通信图像如下:
    半同步通信
  • 半同步通信:统一时钟的基础上,增加一个“等待”响应信号\(\overline {WAIT}\)

分离式通信

  • 上述三种通信方式的共同点:
    一个总线传输周期(以输入数据为例)
    • 主模块发地址、命令(使用总线)
    • 从设备准备数据(不使用总线,总线空闲)
    • 从模块向主模块发数据(使用总线)
  • 分离式通信的思想是合理利用从设备准备数据时的总线空闲。
    分离式通信的一个总线传输周期:
    • 子周期1:主模块申请占用总线,使用完后放弃总线的使用权
    • 子周期2:从模块申请占用总线,将各种信息送至总线上。
  • 特点:
    • 各设备均有权申请总线
    • 采用同步方式通信,不等对方回答
    • 各模块准备数据时,不占用总线
    • 总线利用率提高

标签:周期,总线,计组,信号,第六章,设备,CPU,时钟
From: https://www.cnblogs.com/jacaranda/p/18324936

相关文章

  • 计组笔记第五章——中央处理器
    5.1CPU的功能和基本结构CPU的功能指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。操作控制:一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行......
  • 学习STM32的SPI总线通信
    学习STM32的SPI总线通信需要了解SPI的基本原理和STM32的库函数使用方法。SPI(SerialPeripheralInterface)是一种全双工的同步串行通信总线,用于在微处理器或微控制器与外围设备之间传输数据。在STM32中,SPI总线通信需要使用SPI外设和相关的库函数。SPI外设包括多个SPI控制器,每个......
  • 模块2 面向对象编程初级 --- 第六章:创建对象
    第六章创建对象主要知识点:1、类的实例化2、构造方法3、对象的使用4、对象的清除学习目标:根据定义的类进行实例化,并且运用对象编写代码完成一定的功能。本章对类进行实例化,生成类的对象,利用对象开始软件的设计过程,掌握对象的使用方法。6.1创建对象概......
  • FreeRTOS操作系统(详细速通篇)——— 第六章
        本专栏将对FreeRTOS进行快速讲解,带你了解并使用FreeRTOS的各部分内容。适用于快速了解FreeRTOS并进行开发、突击面试、对新手小白非常友好。期待您的后续关注和订阅!目录系统中断管理1什么是中断?1.1中断定义1.2中断执行机制​2中断优先级如何分组 2.1优先级......
  • A2B汽车音频总线:Master板作为独立的DSP开发板做开发(四)ADAU1452的音量调节1
    作者的话OP的这套AD2428的原厂A2B开发系统参考设计,已经写了几十篇文章了,最近有兄弟问OP,Master板既然用的是ADAU的DSP,板子上有一颗ADAU1452和一颗ADAU1761,能不能把他单独当做一个DSP评估板来用?所谓一板两吃?甚至一板三吃?既能评估A2B系统,又可以当ADAU1452和ADAU1761的开发板......
  • ECU通讯:CAN总线仿真测试
    01.ECU在软件定义汽车的大背景下,几乎每一个汽车功能都需要依靠ECU(ElectronicControlUnit,电子控制单元)来实现:有些功能靠ECU独立实现,有些功能则需要多个ECU联合实现。总体来说,ECU绝大多数情况下都需要与其他ECU进行信息交互,比如充电功能就需要车载充电机OBC(On-BoardCharger)联合......
  • 计组笔记第三章——存储系统
    3.1存储系统的基本概念存储器的层次结构存储器的层次结构如下图:越靠近上层的速度越快、容量越小、价格越高。存储器有Cache-主存层和主存-辅存层。辅存中的数据要调入主存后才能被CPU访问。存储器和CPU之间的调用关系如图所示:添加Cache层是为了缓解CPU速度和主存读写速度......
  • 插片式远程 IO模块:Profinet总线耦合器博途配置
    XD9000是Profinet总线耦合器,单个耦合器最多可扩展32个I/O模块!它们可以将输入/输出信号传送到远离控制中心的设备。Profinet总线耦合器是一种常用的设备,帮助连接IO模块和总线。博途软件安装➢在西门子官网搜索博途软件下载安装,(博途软件安装包版本TotallyIntegratedAutomationPo......
  • EtherCAT总线耦合器:在Codesys里进行IO组态案例
    EtherCAT总线耦合器:在Codesys和Twincat软件里组态案例EtherCAT总线耦合器作为网络接口,连接主控制器(如PLC)和其他EtherCAT设备,实现实时、高效的数据交换。它能够支持工业自动化系统中的监控和控制功能,确保数据的准确性和实时性。一、在欧姆龙SysmacStudio软件中配置EtherCAT总线耦......
  • 计组笔记第二章——数据的表示和运算
    本章问题:数据如何在计算机中表示?运算器如何实现数据的算术、逻辑运算?2.1.1进位计数制十进制计数法古印度人发明阿拉伯数字。基于乘法思想。十进制表示方式:整数情况下:\[K_nK_{n-1}...K_2K_1K_0=K_n\times10^n+K_{n-1}\times10^{n-1}+...+K_2\times10^2......