计算机组成与体系结构

  • 计算机组成与体系结构
  • 数据传输控制方式 ★
  • 程序控制(查询)方式
  • 程序中断方式
  • DMA 方式
  • 总线 ★★
  • CISC 与 RISC ★★
  • RISC 和 CISC 的比较
  • 流水线 ★★
  • 校验码 ★



大家好呀!我是小笙,本章我主要分享系统架构设计师 - 计算机组成与体系结构(2)知识,希望内容对你有所帮助!!

计算机组成与体系结构

数据传输控制方式 ★

程序控制(查询)方式

分为无条件传送(一直查询并等待反馈)和程序查询方式两种

优缺点:软件实现简单,但 I/O 能力不强,导致 CPU 利用率不高

程序中断方式


系统架构裸机架构应用架构有什么区别_系统架构裸机架构应用架构有什么区别

中断方式无需 CPU 等待而提高了利用率 如:鼠标

DMA 方式

DMA方式是为了在主存与处设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效
(DMAC 向总线裁决逻辑提出总线请求;CPU执行完当前总线周期即可释放总线控制权。此时DMA响应,通过 DMAC 通知 I/O 接口开始 DMA 传输)

还有通道方式、I/O 处理机等方式

例题

嵌入式系统中采用中断方式实现输入输出的主要原因是 能对突发事件做出快速响应。在中断时,CPU断点信息一般保存到


总线 ★★

一组能为多个部件分时共享的公共信息传输线路(分时:同一时间仅允许一个部件向总线发送信息,但允许多个部件同事从总线读取数据)

系统总线

  • 数据总线 DB:传输存储数据
  • 地址总线 AB:传输存储数据地址
  • 控制总线 CB:将微处理器控制单元传送到周边设备

并行与串行

  • 串行总线:适合长距离(传输波特率是可以在传输过程改变的;按位传输需要依赖于校验码纠正)
  • 并行总线:近距离传输

数据传输模式

  • 单工:单向传输
  • 双工:双向同时传输
  • 半双工:需要切换传输方向的转换

扩展(了解)

  • 总线宽度:总线的线数
  • 总线带宽:总线宽度 * 总线频率

例题

1、挂接在总线上的多个部件,只能分时向总线发送数据,但可同时从总线接收数据

  1. 只能分时向总线发送数据,并只能分时从总线接收数据
  2. 只能分时向总线发送数据,但可同时从总线接收数据
  3. 可同时向总线发送数据,并同时从总线接收数据
  4. 可同时向总线发送数据,但只能分时从总线接收数据

2、下列说法中正确的是 半双工总线可在两个方向上轮流传输信息,全双工总线可在两个方向上同时传输信息

  1. 半双工总线只在一个方向上传输信息,全双工总线可在两个方向上轮流传输信息
  2. 半双工总线只在一个方向上传输信息,全双工总线可在两个方向上同时传输信息
  3. 半双工总线可在两个方向上轮流传输信息,全双工总线可在两个方向上同时传输信息
  4. 半双工总线可在两个方向上同时传输信息,全双工总线可在两个方向上轮流传输信息

3、以下关于串行总线的说法中,正确的是 串行总线是按位(bt)传输数据的,其数据的正确性依赖于校验码纠正

  1. 串行总线一般都是全双工总线,适宜于长距离传输数据(非全双工)
  2. 串行总线传输的波特率是总线初始化时预先定义好的,使用中不可改变(可以更改)
  3. 串行总线是按位(bit)传输数据的,其数据的正确性依赖于校验码纠正
  4. 串行总线的数据发送和接收是以软件查询方式工作(还可以以中断查询方式工作)

CISC 与 RISC ★★

RISC 和 CISC 的比较

CISC(X86)

RISC(ARM)

指令系统

复杂,庞大

简单,精简

指令数目

大于200条

小于100条

指令字长

不固定

定长

可访存指令

不加限制

只有Load/Store指令

控制方式

绝大多数为微程序

增加了通用寄存器;硬布线逻辑控制为主

通用寄存器数量

较少


例题

1、RISC(精简指令系统计算机)的特点不包括:寻址方式尽量丰富,指令功能尽可能强

  1. 指令长度固定,指令种类尽量少
  2. 寻址方式尽量丰富,指令功能尽可能强
  3. 增加寄存器数目,以减少访存次数
  4. 用硬布线电路实现指令解码,以尽快完成指令译码

流水线 ★★

概述:指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术

系统架构裸机架构应用架构有什么区别_系统架构_02

系统架构裸机架构应用架构有什么区别_系统架构裸机架构应用架构有什么区别_03

  • 流水线周期:执行时间最长的一段(短板效应)
  • 流水线时长计算公式 : 第一条指令的执行时间 + (指令条数 - 1)* 流水线周期
  • 流水线的吞吐率:Tp = 指令条数 / 流水线执行时间 (单位时间内流水线所完成的任务数量)
  • 流水线加速度比:S = 不使用流水线执行时间 / 使用流水线执行时间 > 1

例题

1、某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2△t)、分析指令(1△t)广、取操作数(3△t)、运算(1△t)和写回结果(2△t)组成,并分别用5个子部件完成,该流水线的最大吞吐率为 1/3△t ;若连续向流水线输入10条指令,则该流水线的加速比为 5:2


校验码 ★

检验码种类


系统架构裸机架构应用架构有什么区别_系统架构裸机架构应用架构有什么区别_04

  • 奇偶校验码:整个校验码(有效信息位 + 校验位) 中 “1” 的个数为 奇数/偶数(注意:只给检查一位错,不可纠错)
  • **CRC(循环冗余校验)**是一种错误检测码,常用于数据传输和存储中,以检测数据是否在传输过程中发生了错误或损坏
    循环冗余校验码编码规律如下
  1. 把待编码的N位有效信息表示为多项式M(X)
  2. 把M(X)左移K位,得到M(X) × X^k,这样空出了K位,以便拼装K位余数(即校验位)
  3. 选取一个K+1位的产生多项式G(X),对M(X) × XK做模2除
  4. 把左移K位以后的有效信息与余数R(X)做模2加减,拼接为CRC码,此时的CRC码共有N+K位

例:原始报文为“10111”,其生成多项式为:“G(X)=x4+x+1”。对其进行CRC编码后的结果为 1100

系统架构裸机架构应用架构有什么区别_执行时间_05

系统架构裸机架构应用架构有什么区别_执行时间_06

  • 海明校验
    码距:又叫海明距离,是在信息编码中,两个编码之间对应位上编码不同的位数。例如编码100110和010101,第1、2、5、6位都不相同,所以这两个编码的码距就是4,并且可以通过异或的方式求出(异或后计算零的个数)
    两个合法编码(码字)
    工作流程
  1. 确定校验码位数 r
  • 数据/信息位数为 m
  • 校验码位数为 r
  • 2 ^ r >= m + r + 1 (已知 m + r 的和,可以通过整个公式分别求出 m、r)
  1. 确定校验码和数据的位置
    假设需要校验数据为 1100,意味着 m = 4,可以通过公式求得,r 的最小值为 3
  2. 求出校验码的值
    根据偶校验可以得出如下(分三组,分别是:xx1、x1x、1xx)

7

6

5

4

3

2

1

1

1

0

x4

0

x2

x1

0

0

1

海明码就是 1100001

  1. 检错并纠错
    假设最后传入的参数为 1100000
    计算该海明码的三组校验是否正确
    x1 0 0 0 1
    x2 0 0 1 1 => 可知 x1 校验错误 0 0 1 说明最小位出错了,但是恰好是校验码出错,可以不用纠错
    x4 0 0 1 1