计算机组成原理之组成篇

2020-11-04  本文已影响0人  六寸光阴丶

一 、章节导学

1. 冯诺依曼机

2. 计算机硬件

3. 主要内容

二、 计算机的总线

1. 总线的概述

1.1 总线的概述(是什么、什么用)
image.png image.png

解决不同设备之间的通信问题

image.png
1.2 总线的分类
片内总线:高集成度芯片内部的信息传输线
片内总线
系统总线
image.png

2. 总线的仲裁

2.1 为什么需要总线的仲裁

解决不同设备使用总线优先顺序的一个设备

image.png
2.2 总线仲裁的方法(为了解决总线使用权的冲突问题)
链式查询
链式查询
计时器定时查询
image.png
独立请求
image.png

三、计算机的输入输出设备

1. 常见的输入输出设备

1.1 字符输入设备

键盘:薄膜键盘,机械键盘,电容键盘

1.2 图像输入设备

鼠标
数位板
扫描仪

1.3 图像输出设备

显示器
打印机
投影仪

2. 输入输出接口的通用设计

2.1 要考虑的内容
2.2 设计
数据线
状态线
命令线
设备选择线

3. CPU与IO设备的通信(CPU速度与IO设备速度不一致)

3.1 程序中断
程序中断
3.2 DMA(直接存储器访问)
DMA
应用

四、计算机存储器的概览

1. 存储器的分类

1.1 按存储介质分类
半导体存储器
磁存储器
1.2 按存取方式分类
随机存储器(RAM)
串行存储器
只读存储器(ROM)

2. 存取器器的层次结构

2.1 需要考虑的因素
2.2 希望的结果

容量+价格 => 位价:每比特价格

2.3 层次结构
存储器的层次结构 存储器的层次结构
原理:局部性原理

局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。

局部性原理

五、计算机的主存储器与辅助存储器

1. 主存储器——内存

image.png image.png image.png

2. 辅助存储器——磁盘

2.1 磁盘
image.png image.png
2.2 磁盘调度算法
image.png
先来先服务算法

1=>4=>2=>3=>1=>5

最短寻道时间优先

4=>5=>3=>2=>1=>1

扫描算法(电梯算法)
循环扫描算法

六、计算机的高速缓存

CPU与主存的速度不匹配

缓存-主存层次

1. 高速缓存的工作原理

1.1 字与字块

: 是指存放在一个存储单元中的二进制代码组合
字块:存储在连续的存储单元中而被看作是一个单元的一组字

image.png image.png image.png

例子:假设主存用户空间容量为4G,字块大小为4M,字长为32位,则对于字地址中的块地址m和块内地址b的位数,至少应该是多少?

4G=4096M
字块数:4096 ÷ 4 = 1024
字块地址m:\log_21024 = 10
块内字数: 4M \div 32bit = 1048576
块内地址b: log_21048576 = 20
𝑚 ≥ 10,b ≥ 20

1.2 缓存
高速缓存 高速缓存
1.3 缓存的使用
1.4 命中率

访问主存次数:N_m
访问Cache次数:N_c
h=\frac{N_c}{N_c+N_m}

1.5 访问效率

访问效率: e
访问主存时间:t_m 访问缓存时间:t_c
访问Cache-主存系统平均时间:t_a=ht_c+(1-h)t_m
e=\frac{t_c}{t_a}=\frac{t_c}{ht_c+(1-h)t_m}

例子:假设CPU在执行某段程序时,共访问了Cache命中2000次,访问主存50次,已知Cache的存取时间为50ns,主存的存取时间为200ns,求Cache-主存系统的命中率、访问效率和平均访问时间。

命中率:h=\frac{N_c}{N_c+N_m}=\frac{2000}{2000+50}=0.97
访问效率:e=\frac{t_c}{t_a}=\frac{t_c}{ht_c+(1-h)h_m}=\frac{50}{0.97*50+(1-0.97)*200}=0.917=91.7\%
平均访问时间:0.97*50+(1-0.97)*200=54.5ns

2. 高速缓存的替换策略

2.1 高速缓存替换的时机
image.png
2.2 随机算法
2.3 先进先出算法(FIFO)
FIFO
2.4 最不经常使用算法(LFU)
image.png image.png
2.5 最近最少使用算法(LRU)
LRU

七、计算机的指令系统

1. 机器指令的形式

1.1 机器指令
机器指令 三地址指令 二地址指令 一地址指令
1.2 零地址指令

2. 机器指令的操作类型

2.1 数据传输
2.2 算术逻辑操作
2.3 机器指令的操作类型
2.4 控制指令

3. 机器指令的寻址方式

3.1 指令寻址
跳跃寻址
3.2 数据寻址
立即寻址
立即寻址
直接寻址
直接寻址
间接寻址
间接寻址
寻址方式 优点 缺点
立即寻址 速度快 地址码位数限制操作数寻址范围
直接寻址 寻找操作数简单 地址码位数限制操作数寻址范围
间接寻址 操作数寻址范围大 速度较慢

八、计算机的控制器

控制器是协调和控制计算机运行的

控制器

1. 程序计数器

2. 时序发生器

3. 指令译码器

4. 指令寄存器

5. 主存地址寄存器

6. 主存数据寄存器

7. 通用寄存器

八、计算机的运算器

运算器是用来进行数据运算加工的

运算器

1. 数据缓冲器

2. ALU

ALU

3. 状态字寄存器

4. 通用寄存器

十、计算机指令执行的过程

1. 指令执行过程

指令执行过程 指令执行过程 指令执行过程

2. CPU的流水线设计

2.1 指令执行过程的问题
image.png
2.2 CPU的流水线设计
流水线设计 流水线设计

串行执行m条指令: T_1=3t \times m
流水线执行m条指令: T_2=t \times (m+2)
H=\frac{T_2}{T_1}=\frac{t \times (m+2)}{3t \times m} = \frac{1}{3} + \frac{1}{3m}

十一、习题

1.计算机的总线就像是计算机的“高速公路”,你是否可以说出总线主要的功能和分类?

总线可以分为:片内总线、系统总线,其中系统总线可以分为数据总线、地址总线、控制总线。

2.什么是总线标准,为什么需要总线标准,现在有哪些常见的总线标准?

总线标准是系统与各模块、模块与模块之间的一个互连的标准界面。总线标准有利于各模块高效使用总线。USB、PCIe等。

3.常说的“IO设备”,“I”、“O”分别是什么的缩写?

Input、Output,输入设备、输出设备。

4.常见的输入设备可以分为什么种类?

字符输入设备(键盘等)、图像输入设备(鼠标、数位板、扫描仪)。

5.常见的输出设备可以分为什么种类?

主要是图像输出设备(显示器),但在计算机远未普及的时候,显示器属于字符输出设备。

6.日常常见的计算机外设(显示器、键盘、鼠标、打印机),分别属于什么设备?

显示器、打印机属于输出设备,键盘、鼠标属于输入设备。

7.输入输出接口一般需要完成什么工作,可以把接口的线路分为什么线路?

数据线、状态线、命令线、地址线。

8.DMA的全称是什么?

DMA:Direct Memory Access,直接内存存取。

9.程序中断和DMA相比,有什么优劣?

程序中断和DMA都是计算机IO和低速设备的交互方式,程序中断方式实现简单,DMA方式效率更高。

10.你是否可以清晰的表述计算机存储器的层次结构?存储器的层次结构是为了解决什么问题的?

存储器的层次结构可以简单划分为:缓存-主存-辅存三个层次,缓存-主存主要是为了解决主存速度不够的问题;主存-辅存主要是为了解决主存容量不足的问题。

11.么是局部性原理,局部性原理对计算机存储系统的设计产生了什么影响?

局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。

12.计算机存储系统的每一个层次分别有什么特点?

缓存:速度快、位价高;主存:速度适中、位价适中;辅存:速度慢、位价低。

13.计算机的辅助存储器一般是指计算机硬盘,你了解计算机磁盘的物理结构吗?

14.磁盘的调度算法有哪些?分别有什么特点?

先来先服务算法、最短寻道时间优先算法、扫描算法、循环扫描算法。

15.计算机的主存一般是指计算机内存,内存有什么特点?

主存容量比缓存大、比辅存小,访问速度比缓存慢,比辅存快,主存需要持续通电使用,停电时主存数据将会丢失。

16.请解释概念:主存、辅存、Cache、RAM、ROM?

主存:主存储器,即常说的计算机内存条,辅存:辅助存储器,即常说的磁盘、U盘、光盘、磁带等,Cache:高速缓存,即常说的L1、L2、L3缓存,CPU寄存器等,RAM:随机存取存储器(英语:Random Access Memory,缩写:RAM),ROM:只读存储器(Read Only Memory,缩写:ROM)。

17.什么是字?什么是字块?

字是指存放在一个存储单元中的二进制代码组合;字块是指存储在连续的存储单元中而被看作是一个单元的一组字。

18.计算机的高速缓存一般是指Cache,Cache一般位于计算机的什么硬件设备上?

在CPU上。

19.一般使用什么指标去评估主存-高速缓存的性能?

命中率。

20.命中率是怎么定义的?

访问主存次数:N_m
访问Cache次数:N_c
h=\frac{N_c}{N_c+N_m}

21.访问效率是怎么定义的?
访问效率: e
访问主存时间:t_m 访问缓存时间:t_c
访问Cache-主存系统平均时间:t_a=ht_c+(1-h)t_m
e=\frac{t_c}{t_a}=\frac{t_c}{ht_c+(1-h)t_m}

22.假设CPU执行某段程序共计访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少?

平均访问时间:(480030+150200)/5000=34.8ns,命中率:4800/5000100%=96%,访问效率e:30/34.8100%=86.2%,性能提升:(150-34.8)/150*100%=76.8%。

23.请描述LFU、LRU、FIFO缓存置换算法的过程。

24.计算机的指令一般由操作码和地址码组成,那么计算机指令可以分类为几种类型?

移位操作指令、数据传输指令、控制指令、算术逻辑操作指令。

25.对计算机指令数据的寻址有哪几种方式?

立即寻址、直接寻址、间接寻址。

26.计算机的运算器主要由什么组成?控制器呢?

控制器主要由:程序计数器、时序发生器、指令译码器、寄存器、总线组成。运算器主要由:数据缓冲器、ALU、寄存器、状态字寄存器、总线组成。

27.请简述计算机指令的执行过程。

上一篇下一篇

猜你喜欢

热点阅读