SDU计算机组成原理笔记

本文最后更新于:2022年7月7日 上午

简答题整理

第一章 概述

冯诺依曼计算机的特点

① 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成

② 指令和数据以同等地位存于存储器内,并可按地址寻访

③ 指令和数据均用二进制代码表示

④ 指令由操作码和地址码组成,操作码表示操作的性质,地址码表示操作数在存储器中的位置

⑤ 指令在存储器内按顺序存放

⑥ 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成

现代计算机的组成

主机(主存储器 CPU(ALU CU))

I/O设备

第四章 存储器

存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?

体现在主存-缓存层次和主存-辅存层次

主存-缓存层次主要解决CPU和主存速度不匹配的问题,该层次的速度接近于缓存,而容量和单位成本接近于主存,解决了存储器的高速度和低成本之间的矛盾;主存-辅存层次主要解决存储系统的容量问题,该层次的速度接近于主存,而容量和单位成本接近于辅存,解决了存储器的大容量和低成本之间的矛盾

主存-缓存之间的数据调度由硬件完成,对程序员透明;主存-辅存之间的数据调度由硬件和操作系统共同完成

什么叫刷新?说明刷新有几种方法?

为防止信息丢失,将DRAM的原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程叫做刷新

集中刷新:在规定的刷新周期内,对全部存储单元集中一段时间逐行刷新,该段时间内必须停止读写操作

分散刷新:对每行存储单元的刷新分散到每个存储周期内完成

异步刷新:结合集中刷新和分散刷新。存取周期不变,行间刷新时间间隔为刷新周期/行数

简要说明提高访存速度可采取的措施

使用高速器件

采用主存-缓存层次结构

调整主存结构,使用单体多字系统或多体并行系统

第五章 输入输出系统

I/O设备有哪些编址方式,各有何特点?

统一编址:在主存地址空间划出I/O地址,通过访存指令即可实现对I/O设备的访问

独立编址:I/O地址和主存地址分开,通过I/O指令实现对I/O设备的访问

I/O设备与主机交换信息时,共有哪几种控制方式?简述它们的特点

程序查询方式:主机与I/O设备串行工作。CPU启动I/O设备后,时刻查询I/O设备状态,若准备就绪则执行I/O指令,若未准备好就踏步等待直到准备就绪。

程序中断方式:主机与I/O设备并行工作。CPU启动I/O设备后,继续执行现行程序,当I/O设备准备就绪后向CPU发送中断请求信号,CPU响应中断请求后执行I/O指令。

DMA方式:主机与I/O设备并行工作,主存与I/O设备之间有一条直接的数据通路。CPU启动I/O设备后,继续执行现行程序,当I/O设备准备就绪后发出DMA请求,CPU把外部总线的使用权暂时交给DMA,不必中断现行程序,只需暂停一个存取周期的访存。

什么是I/O接口,它与端口有何区别?

I/O接口指主机和I/O设备间设置的硬件电路和相应的软件控制

I/O端口是指接口电路中存放数据信息、控制信息和状态信息的寄存器。

简述I/O接口的功能和基本组成

功能:选址、传送数据、传送命令、反映设备状态

基本组成:设备选择电路、数据缓冲寄存器、命令寄存器和命令译码器、设备状态标记、控制逻辑电路

结合程序查询方式的接口电路,说明其工作过程

①当CPU通过I/O指令启动I/O设备后,指令的设备码字段通过地址线进入设备选择电路

②若设备码与地址线上的代码吻合,则输出SEL为1

③I/O指令的启动命令通过与SEL与非运算,将D置0,B置1

④B触发器启动设备工作

⑤输入设备将数据送入数据缓冲寄存器

⑥设备工作结束后,将D置1,B置0

⑦D触发器发出准备就绪信号

⑧CPU将数据缓冲寄存器中的数据读出

在什么条件和什么时间,CPU可以响应I/O的中断请求

条件:允许中断触发器EINT=1,有中断请求INTR=1,未被屏蔽MASK=0

时间:一条指令执行结束时刻

结合中断接口电路,说明其工作过程

①由CPU发出启动I/O设备指令,将D置0,B置1

②B触发器启动设备工作

③输入设备将数据送入数据缓冲寄存器

④设备工作结束后,将D置1,B置0

⑤D发出设备准备就绪信号,且本设备未被屏蔽时发出中断查询信号

⑥设备向CPU发出中断请求,并送入排队其进行中断判优

⑦若CPU允许中断且设备被排队选中,则进入中断响应阶段,将排队器输出送至设备编码器形成向量地址

⑧向量地址送至PC,作为下一条指令的地址

⑨进入中断服务,CPU读出数据缓冲寄存器中的数据

⑩中断返回至源程序断点处

试比较单重中断和多重中断服务程序的处理流程,说明它们不同的原因

单重中断 多重中断
取指令 取指令
执行指令 执行指令
中断否? 中断否?
中断响应 中断响应
程序断点进栈 程序断点进栈
关中断 关中断
向量地址->PC 向量地址->PC
保护现场 保护现场
开中断
设备服务 设备服务
恢复现场 恢复现场
开中断
中断返回 中断返回

区别:开中断指令安排的位置不同。

单重中断:开中断指令设置在最后中断返回之前,意味在整个中断服务程序中CPU不再响应其他中断源的请求

多重中断:开中断指令设置在保护现场之后,意味在保护现场后CPU可以再次响应级别更高的中断源请求

解释周期挪用,分析周期挪用可能会出现的几种情况

每当I/O设备发出DMA请求时,I/O设备挪用总线使用权一个或几个主存周期

情况1:CPU此时不需要访存,I/O设备与CPU不发生冲突

情况2:CPU此时正在访存,等待存取周期结束后CPU才将总线使用权让出

情况3:CPU同时提出访存请求,发生冲突,DMA请求优先,挪用总线使用权

DMA接口的功能和组成

功能:

向CPU申请DMA传送;

在CPU允许DMA工作时,处理总线控制权的转交;

在DMA期间管理系统总线,控制数据传送;

确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和数据长度;

数据块传送结束时,给出DMA操作完成的信号

组成:

主存地址寄存器AR:用于存放主存中需要交换数据的地址

字计数器WC:用于记录传送数据的总字数

数据缓冲寄存器BR:用于暂存每次传送的数据

DMA控制逻辑:负责管理DMA的传送过程

中断机构:向CPU提出中断请求,请求CPU做DMA的后处理

设备地址寄存器DAR:存放I/O设备的设备码或表示设备信息存储区的寻址信息

结合DMA接口电路说明其工作过程

(1) 预处理

指明数据传送方向

设备地址送入DMA接口中的DAR,并启动设备

主存起始地址送入DMA接口中的AR

传送数据个数送入DMA接口中的WC

(2) 数据传送

①设备准备好一个字后发出通选信号,将该字读到BR中/将BR中的输出数据送至设备中后发出通选信号

②与此同时向DMA接口发送请求DREQ

③DMA接口向总线申请使用权HRQ

④CPU发回HLDA信号,表示允许将总线控制权移交给DMA

⑤将DMA的AR中地址送地址总线命令存储器写/读

⑥通知设备已被授予一个DMA周期,为读下一个字做准备

⑦将DMA数据缓冲寄存器的内容送数据总线/主存将相应地址单元数据通过数据总线送入DMA的BR

⑧主存将数据总线上的信息写至地址总线指定的存储单元中/将DMA的数据缓冲寄存器的内容送到输出设备

⑨修改主存地址和字计数值

⑩判断数据块是否传送结束,若未结束则继续传送;若已结束则向CPU申请程序中断

(3) 后处理

执行中断服务程序

做DMA结束处理

第七章 指令系统

试比较基址寻址和变址寻址

两种寻址方式都可以扩大寻址范围

基址寻址的有效地址等于形式地址加上基址寄存器的内容;变址寻址的有效地址的等于形式地址加上变址寄存器的内容

基址寄存器的内容由操作系统给定,且在程序的执行过程中不可变;变址寄存器的内容由用户给定,且在程序的执行过程中可变

基址寻址用于为程序或数据分配存储空间;变址寻址用于处理数组程序

第八章 CPU结构和功能

CPU的功能和结构

功能:指令控制、操作控制、时间控制、数据加工、处理中断

结构:寄存器(程序计数、存放指令地址、存放指令、存放操作数等)

​ CU(产生各种微操作命令序列)

​ ALU(算术和逻辑运算)

​ 中断系统(处理异常情况和特殊请求)

指令周期的流程,分别说明每个子周期的作用

取指周期:取指令

间址周期:取有效地址

执行周期:完成执行指令的操作

中断周期:保存程序断点

什么是中断隐指令,有哪些功能?

中断隐指令是指令系统中没有的指令,它由CPU在中断响应周期自动完成

功能:保护程序断点、寻找服务程序入口地址(硬件向量法和软件查询法)、硬件关中断

第九、十章 控制单元

什么是指令周期、机器周期和时钟周期?三者有何关系

指令周期:取出并执行一条指令需要的全部时间

机器周期:所有指令执行过程中的基准时间

时钟周期:控制计算机操作的最小时间单位,其频率即为CPU主频

一个指令周期包含若干个机器周期,一个机器周期包含若干个时钟周期

指令微操作及节拍安排

取指周期

1
2
3
4
5
6
PC->MAR			现行指令地址->MAR
1->R 命令存储器读
M(MAR)->MDR 现行指令从存储器中读至MDR
MDR->IR 现行指令->IR
OP(IR)->CU 指令的操作码->CU译码
(PC)+1->PC 形成下一条指令的地址
1
2
3
T0	PC->MAR,1->R
T1 M(MAR)->MDR,(PC)+1->PC
T2 MDR->IR,OP(IR)->CU

间址周期

1
2
3
Ad(IR)->MAR		指令的地址码字段->MAR
1->R 命令存储器读
M(MAR)->MDR 有效地址从存储器中读至MDR
1
2
T0	Ad(IR)->MAR,1->R
T1 M(MAR)->MDR

执行周期

取数LDA X
1
2
3
4
Ad(IR)->MAR		指令的地址码字段->MAR
1->R 命令存储器读
M(MAR)->MDR 操作数从存储器中读至MDR
MDR->ACC 操作数->ACC
1
2
3
T0	Ad(IR)->MAR,1->R
T1 M(MAR)->MDR
T2 MDR->ACC
存数STA X
1
2
3
4
Ad(IR)->MAR		指令的地址码字段->MAR
1->W 命令存储器写
ACC->MDR 欲写入的数据->MDR
MDR->M(MAR) 数据写至存储器中
1
2
3
T0	Ad(IR)->MAR,1->W
T1 ACC->MDR
T2 MDR->M(MAR)
加法ADD X
1
2
3
4
Ad(IR)->MAR		指令的地址码字段->MAR
1->R 命令存储器读
M(MAR)->MDR 操作数从存储器读至MDR
(ACC)+(MDR)->ACC两数相加结果送ACC
1
2
3
T1	Ad(IR)->MAR,1->R
T2 M(MAR)->MDR
T3 (ACC)+(MDR)->ACC
无条件转移JMP X
1
Ad(IR)->PC		转移(目标)地址->PC

中断周期

1
2
3
4
5
6
0->MAR			特定地址0->MAR
1->W 命令存储器写
PC->MDR PC内容(程序断点)->MDR
MDR->M(MAR) 程序断点写入0地址单元中
向量地址->PC 向量地址形成部件的输出送至PC
0->EINT 关中断将允许中断触发器置零
1
2
3
T0	0->MAR,1->W
T1 PC->MDR
T2 MDR->M(MAR),向量地址->PC

微程序控制单元的设计思想

若干条微命令组成一条微指令,控制实现一步操作

若干条微指令组成一段微程序,解释一条机器指令

每条机器指令对应一段微程序,微程序存放于控制存储器中

微程序控制单元的组成

  • 控制存储器:用来存放全部微程序

  • CMAR控存地址寄存器:用来存放于欲读出的微指令地址

  • CMDR控存数据寄存器:用来存放从控存读出的微指令

  • 顺序逻辑:用来控制微指令序列

  • 微地址形成部件

  • 地址译码

微程序控制单元的工作原理

根据机器指令的操作码,从控制存储器中找到与之对应的微程序的入口地址,取出微指令,发出微操作命令,形成下一条微指令的地址,以此类推……执行机器指令,以达到运行程序的目的

微指令的操作控制有几种编码方式?各有何特点?哪一种控制速度最快?

直接编码:操作控制字段每一位代表一个微操作命令,执行速度最快

字段直接编码:将操作控制字段分为若干段,将一组互斥的微命令放在一个字段内,每段经译码后发出控制信号

字段间接编码:一个字段的某些微命令需由另一个字段中的某些微命令解释

混合编码:直接编码和字段编码混合使用

微指令的地址有几种形成方式?

①直接由微指令的下地址字段给出

②根据机器指令的操作码形成

③增量计数器

④分支转移

⑤通过测试网络形成

⑥由硬件直接产生微程序入口地址

31猜计算题

计算机性能有关计算 $f,MIPS,CPI,T_M=\sum^n_{i=1}f_it_i$

存储器与CPU连接 片选逻辑

Cache有关计算 命中率、主存系统效率

Cache与主存的映射

定点数加减法和溢出判断 浮点数加减

原码一位乘 补码一位乘

数据寻址 结合大端小端存储模式

指令格式设计 扩展编码技术

中断屏蔽字 CPU执行程序轨迹

指令微操作、微命令、控制信号、节拍分配


本文作者: 31
本文链接: http://uuunni.github.io/2022/07/07/ComputerOrganizationReview/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!