计算机组成原理网课笔记(3总线)

3.1总线的基本概念

3.1.1为什么要用总线

CPU,I/O等设备可能有几百个,只有将不见链接才能组成完整的计算机,进行工作。
如果采用分散连接,将需要通讯的部件两两连接,将线如果布置在印刷电路板,成本将会很高,设备连接接口也会占用空间;系统也很难扩展,若要新增一个IO模块,就要增加n条线。
然而用总线(bus)就可以解决,
3.1.2总线

总线是各个部件共享的传输介质
在任何一个时刻,只能由一对设备使用总线。
优点:简单、扩展性好

3.1.3总线信息传输的形式

并行传输会互相干扰,如果传输距离长会导致变形,串行可长距离。
并行一次传输n维信号。

总线结构举例

总线会成为系统的瓶颈,例如有输入会让CPU停止;时间延迟较长。

为CPU和主存专门连接M总线,CPU和主存的信息交换很频繁。然而采用这种构架,由于I/O和主存不存在直接连接,I/O和主存交流时,CPU任务仍然会被打断。

将外部设备和CPU挂接在系统总线,CPU再连接专用存储主线。
不过目前主存不能同时向存储总线和系统总线。

总线分类
  1. 片内总线: 芯片内部的总线

  2. 系统总线: 计算机各部件之间的信息传输介质

    1. 数据总线: 双向 字节宽度一般小于机器字长、存储字长

    2. 地址总线: 单向 于存储地址、I/O地址有关。与MAR宽度相同

    3. 控制总线: 有出有入

      出:读数据、总线使用权许可、中断确认

      入:中断请求(IO输入给CPU)

  3. 通信总线: 计算器系统之间传输

总线特性、性能指标

3.3.1总线物理实现

3.3.2总线特性:

  1. 机械特性 尺寸、形状、管脚数及排列
  2. 电气特性 传输方向 和有效的 电平范围
  3. 功能特性 每根传输线的功能
    1. 地址信号
    2. 数据
    3. 控制
  4. 时间特性 信号的时序关系
总线的性能指标

  1. 总线宽度: 同时可以传输的数据位数/数据线的根数
  2. 标准传输率: 每秒传输的最大字节数(MBps)
  3. 时钟同步/异步: 同步、不同步
  4. 总线复用: 地址线与数据线 是否共用(8086)
  5. 信号线数: 地址线、数据线、控制线的总和
  6. 总线的控制方式: 突发、自动、仲裁、逻辑、计数
  7. 其他指标: 负载能力等。
总线标准

ISA、EISA等等

ISA:16b=2字节,2*8Mhz=16MBps

PCI(外设部件互联接口)

多总线结构

3.4.1

双总线结构:

存储总线和IO线分离,两者通过通道连接。

image-20210403190316909

三总线结构:

1)

image-20210403190448229

2)

四总线结构:

高速设备和低速设备进行分离

image-20210403190825125

PCI:

image-20210403193537380

多层PCI:

image-20210403193830389

总线控制

3.5.1总线判优控制:

基本概念:

主设备 对总线有控制权,占用了总线后可以控制与另外一台设备的通信。

从设备 :只能被动接受主设备发来的总线命令。

总线判优控制:

image-20210403195835123

总线控制部分集中在一起的就是集中式。

链式查询方式

image-20210403195911721

BG线:一个一个向下查询
如果挂接在I/O接口有请求要求会BR请求。但由于不知道是哪个设备提出的需要通过BG线逐个查询,直到遇到第一个提出占用请求的IO接口。
如是接口1请求,它会通过BS输出BS总线忙信号。

image-20210403200701550

优先级是由连接方式确定的,距离控制部件近越近越高。
缺点:对电路故障特别敏感;速度较慢
优点:结构简单。
用于微型计算机、简单单片机中。

计时器定时查询

image-20210403202931247

若一个主设备要占用设备或者从设备要传输数据,从BR传输请求信号。

在能够响应、主线能够被使用条件下会启动计数器;

计数器的值是通过设备地址的值进行输出,如0时找接口0,若没有则自动加一
如果接口1请求了,接口1就响应BS,接口1被选中。

少了一条BG,多了几条设备地址线,n个设备需要log2(n)+1+2个。

优点:优先级确定灵活
从IO接口0出发,也可以不从0开始。如从上次停止计数开始,变成循环优先级。也可以通过软件设定初值K。

缺点:速度慢

独立请求

所有先都增加了BR、BG线,BR请求,BG应答。
优先级的排队是在控制部件完成的。

image-20210403203407323

总线的通信控制:

1)目的: 解决通信双方协调配合的问题

2)总线传输周期:

  1. 申请分配阶段: 判优过程
  2. 寻址阶段: 主模块给从模块给出地址和命令
  3. 传数阶段: 主从 交换数据
  4. 结束阶段:主模块撤销相关命令

3)总线通信的四种方式:

  1. 同步通信 :由同一师表控制数据传送
  2. 异步通信:采用应答方式,没有公共时钟标准
  3. 半同步通信:同步、异步结合
  4. 分离式通信:充分挖掘系统每一个瞬间的潜力
同步数据输入

需要定宽定距的时钟信号
固定的时间给出固定的操作:

如T1上升沿必须给出地址信号,T2上升沿给出读命令,第三个命令信号必须给出数据信息,在第四个上升沿数据信号和读信号可以撤销,第4个周期内撤回地址

image-20210403205426092

同步数据输出

image-20210403205645313

第一个时钟上升沿给出地址信号,第一个时钟下降沿给出数据,第二个时钟上升沿给出写命令以此类推。

同步应用于总线较短,且各个模块传输数据时间差不多情况。

异步通信

半互锁:可能导致请求信号一直高电平
全互锁:

image-20210403210135492

全互锁:

主设备发出请求信号,从设备接收到后发出应答信号,主设备接收到应答信号才会撤销请求信号。只有主设备停止请求信号才会让应答信号停止。

半同步通信:

image-20210403210439971

image-20210403211431579

以上三种方法的特点:

主模块发地址、命令 占用总线

从模块准备数据 不占用 总线空闲

从模块向主模块发送数据 占用

分离式通信:

利用空闲的时间,充分挖机潜力

image-20210403214955808

特点:

  1. 各个模块都有权申请占用总线;
  2. 采用同步方式通信,不等对方回答
  3. 各个模块准备数据不占用总线
  4. 总线被占用,无空闲。

IzHR3-1626495637293)]

以上三种方法的特点:

主模块发地址、命令 占用总线

从模块准备数据 不占用 总线空闲

从模块向主模块发送数据 占用

分离式通信:

利用空闲的时间,充分挖机潜力
在这里插入图片描述

特点:

  1. 各个模块都有权申请占用总线;
  2. 采用同步方式通信,不等对方回答
  3. 各个模块准备数据不占用总线
  4. 总线被占用,无空闲。
<think>嗯,用户想寻找考研408四门专业的学习路线。首先,我需要明确408包括哪些科目。记得是数据结构、计算机组成原理、操作系统和计算机络这四门。接下来,用户可能希望了解每门的学习顺序、推荐教材、资源以及复习策略。 用户提到的引用中有几个相关的信息。比如引用[3]提到学习要有一定的先后顺序,理论和编程结合,推荐和书籍。这可能意味着需要为每门推荐合适的学习资源。另外,引用[4]提到有人开源了408的复习资料,可能可以推荐用户参考那个项目。 接下来,我需要考虑学习顺序。通常建议先学数据结构,因为它是基础,然后计算机组成原理,再操作系统,最后计算机络。因为组成原理和操作系统有部分内容相关联,比如内存管理。但用户可能需要一个合理的时间安排,比如分阶段学习,每个阶段集中攻克一门,同时复习之前的内容。 然后,每门的具体学习路线。比如数据结构要掌握算法和代码实现,可能需要结合刷题。计算机组成原理比较难,需要理解硬件层面的知识,推荐教材的话,唐朔飞的书和袁春风的可能不错。操作系统的话,重点在进程管理和内存管理,推荐汤小丹的书和哈工大的。计算机络需要理解协议和分层结构,谢希仁的教材和湖科大的可能合适。 还要考虑时间安排,比如分三轮复习:基础、强化、冲刺。基础阶段每门花1-2个月,配合教材和。强化阶段做真题和笔记整理,冲刺阶段模拟考试和查漏补缺。用户可能还需要知道如何平衡四门的学习,避免偏科。 另外,用户提到的引用中有推荐B站、MOOC等平台资源,所以需要列出每门对应的链接。同时,引用[4]中的开源项目可以作为补充资料,比如代码和思维导图。 可能还需要提醒用户注意实践,比如数据结构的代码实现,操作系统的实验等。同时,真题的重要性,多做历年考题,分析高频考点。 最后,生成相关问题时要围绕用户可能进一步询问的方向,比如如何高效做笔记、时间管理、推荐的刷题站等。确保问题能够帮助用户深入解决复习中可能遇到的困难。</think>### 考研408四门专业学习路线(分阶段详解) #### 一、科目特点及学习顺序建议 1. **数据结构(基础核心)** - 特点:理论+代码实践结合,算法思想需通过代码实现加深理解 - 推荐教材:严蔚敏《数据结构(C语言版)》+ 配套习题 - 资源:[青岛大学王卓数据结构](https://www.bilibili.com/video/BV1nJ411V7bd)(代码演示详细) 2. **计算机组成原理(难度最高)** - 特点:硬件与软件结合,需建立整机概念 - 推荐教材:唐朔飞《计算机组成原理》+ 袁春风MOOC - 关联学习:建议学完C语言指针后再深入总线、存储器章节[^3] 3. **操作系统(承上启下)** - 特点:理论与实际系统设计结合,重点在进程/内存/文件系统 - 推荐教材:汤小丹《计算机操作系统》+ 哈工大李治军程 4. **计算机络(记忆量大)** - 特点:分层协议体系,需建立络传输整体视角 - 推荐教材:谢希仁《计算机络》+ 湖科大教书匠视频 **推荐学习顺序**:数据结构 → 组成原理 → 操作系统 → 络(组成原理与操作系统可交叉学习) #### 二、分阶段学习规划(总周期建议6-8个月) ```mermaid gantt title 408复习时间轴 section 基础阶段 数据结构 :a1, 2024-03-01, 45d 组成原理 :a2, after a1 , 50d 操作系统 :a3, after a2 , 40d 络 :a4, after a3 , 30d section 强化阶段 真题专项突破 :2024-08-01, 60d section 冲刺阶段 模拟考试 :2024-10-01, 30d ``` #### 三、关键学习工具推荐 1. **开源项目辅助** - [CS-Notes/408](https://github.com/CyC2018/CS-Notes)(含思维导图与真题解析)[^4] - [王道论坛思维导图](https://github.com/stellarkey/912_project)(适合快速回顾) 2. **刷题平台** - 牛客408真题专项 - LeetCode数据结构专项(重点链表/树/排序算法) 3. **实验辅助工具** - 数据结构:VisuAlgo可视化算法平台 - 操作系统:Bochs虚拟机实验环境 #### 四、高频考点应对策略 1. **数据结构** - 必刷:树的应用(哈夫曼编码)、图算法(Dijkstra)、排序对比 - 代码模板:建议手写快排/堆排/二叉树遍历代码(每日一练) 2. **组成原理** - 重点突破:浮点数运算、Cache映射、指令流水线冲突 - 记忆技巧:用「数据流动」视角理解总线传输过程 3. **操作系统** - 核心公式:银行家算法、页面置换算法、磁盘调度计算 - 真题规律:进程同步问题每年必考(建议整理PV操作题型库) 4. **络** - 协议记忆:TCP三次握手/拥塞控制、IP分片计算、路由算法 - 工具推荐:Wireshark抓包分析实战(理解协议字段) #### 五、阶段检测方法 1. **基础阶段检测** - 完成王道单科书后习题(错误率需<30%) - 建立各科错题本(标注知识点关联章节) 2. **强化阶段检测** - 近10年真题模考(分数稳定在110+) - 自主绘制知识体系脑图(检测逻辑完整性)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值