计组常见问题总结
第一章 计算机系统概论
Q 计算机系统由哪两部分组成?计算机系统性能取决于什么?
1)计算机系统由硬件和软件两部分组成,它们在逻辑上是等效的(例如,对于乘法运算,可以设计一个专门的硬件电路来实现,也可以通过执行多次加法运算来实现)
2) 计算机系统性能由硬件和软件共同决定
Q 冯诺依曼机器的主要特点?
- 1)计算机由运算器、存储器、控制器、输入设备和输出设备五大部分组成
- 2)指令和数据存储在存储器中,并可以按地址访问
- 3)指令和数据均以二进制表示:运算规则简单、两种稳态的物理器件容易制造、便于用逻辑门实现算术运算
- 4)指令由操作码和地址码构成,操作码指明操作的性质,地址码表示操作数在存储器中的位置
- 5)首次提出存储程序:指令在存储器内按顺序存放,根据首地址执行第一条指令,之后按照该程序的规定顺序执行其他指令(按地址访问并顺序执行指令)
- 6)以运算器为中心,I/O设备与存储器交换数据也要通过运算器,CPU利用率极低,因此,现代计算器以存储器为中心
Q 主存储器由什么组成,各部分有什么作用?
- 1)存储体:存放二进制信息
- 2)地址寄存器(MAR):存放访存地址
- 3)数据寄存器(MDR):暂存要从存储器中读或写的信息
- 4)时序控制逻辑:用于产生存储器操作所需的各种时序信号
Q 什么是存储体、存储单元、存储字、存储字长和机器字长?
- 存储体:由多个存储单元构成的存储器件
- 存储单元:包含若干存储单元并具有特定的存储地址的存储单位
- 存储字:存储单元存储的一串二进制代码
- 存储字长:存储字中二进制代码的位数
- 机器字长:CPU一次能处理的二进制数据的位数
Q 计算机系统五层层次结构从下到上由哪五层组成?他们之间有哪些区别和联系?
- 1)微程序机器、传统机器、操作系统机器、汇编语言机器、高级语言机器
- 2)微程序机器和传统机器是物理机器,属于硬件;操作系统机器、汇编语言机器和高级语言机器是虚拟机器,属于软件。各层次间,下层是上层的基础,上层是下层的扩展
Q 什么是翻译?什么是解释?
- 1)翻译:将一种语言编写的程序全部翻译成另一种语言,然后再执行,只需翻译一次,通常会生成可执行文件
- 2)解释:将源程序的一条语句翻译成另一种语言的对应语句,并立即执行,紧接着再翻译下一句,每次执行都要翻译
Q 什么是计算机体系结构?什么是计算机组成原理?以乘法指令为例说明二者区别。
- 1)计算机体系结构是指程序员所见到的计算机的属性,概念性的结构与功能特性。如指令系统、数据类型等
- 2)计算机组成原理是指如何实现计算机体系结构所体现出来的属性,对程序员透明
- 3)以乘法指令为例,计算机是否有乘法指令,属于体系结构的问题;乘法指令是采用专用的乘法器,还是使用加法器和移位器构成,属于计算机组成原理的问题
Q 系统整体的性能指标有哪些?
- 1)数据通路带宽:数据总线一次所能并行传送信息的位数
- 2)吞吐量:系统在单位时间内处理请求的数量
- 3)响应时间:用户向计算机发送一个请求,到系统对该请求作出响应并获取它所需要的结果的等待时间,包括CPU时间与等待时间
第二章 数据的表示与运算
Q 计算机在字长足够的情况下能够精确地表示每个数吗?若不能,请举例说明。
- 计算机采用二进制来表示数据,在字长足够时,可以表示任何一个整数。而二进制表示小数时只能够用1(2)的和的任意组合表示,即使字长很长,也不可能精确表示出所有小数,只能无限逼近。例如0.1就无法用二进制精确地表示。
Q 字长相同的情况下,浮点数和定点数的表示范围与精度有什么区别?
- 字长相同时,浮点数取字长的一部分作为阶码,所以表示范围比定点数要大,而取一部分作为阶码也就代表着尾数部位的有效位数减少,而定点数字长的全部位都用来表示数值本身,精度要比同字长的浮点数更大。
Q 浮点数如何进行舍入?
舍入方法选择的原则是:①尽量使误差范围对称,使得平均误差为0,即有舍有入,以防误差积累。②方法要简单,以加快速度。
IEEE754有4种舍入方式:
- ①就近舍入:舍入为最近可表示的数,若结果值正好落在两个可表示数的中间,则一般选择舍入结果为偶数。
- ②正向舍入:朝+∞方向舍入,即取右边的那个数。
- ③负向舍入:朝-∞方向舍入,即取左边的那个数。
- ④截去:朝0方向舍入,即取绝对值较小的那个数
第三章 存储系统
Q 存储器按存取方式,可以分成哪四类?哪些采用随机访问,哪些采用串行访问?
- 1)可以分为随机存储器(RAM)、只读存储器(ROM)、顺序存取存储器和直接存取存储器
- 2)随机存储器和只读存储器采用随机访问,即存取时间与物理地址无关;顺序存储器(如磁带)和直接存储器(如磁盘)采用串行访问,即存取时间与物理地址有关
Q 存储器的性能指标有哪些?
- 1)存储容量 = 存储字数 × 字长
- 2)单位成本:每位价格 = 总成本 / 总容量
- 3)存储速度:数据传输率 = 数据的宽度 / 存储周期
Q 简述多级存储系统!
- 1)由下至上分别为外存、辅存、内存、高速缓冲存储器(Cache)和寄存器。价位越来越高,速度越来越快,容量越来越小,CPU访问频率越来越高
- 2)存储系统层次结构主要体现在“Cache - 主存”层次和“主存 - 辅存”层次。前者主要解决CPU和主存速度不匹配的问题,由硬件自动完成,对所有程序员完全透明;后者主要解决存储系统的容量问题,由操作系统和硬件共同完成,对应用程序员透明,对系统程序员不透明
Q 存取时间、存取周期和主存带宽
- 1)存取时间:启动一次存储器操作到完成本次操作所经历的时间
- 2)存取周期:进行一次完整的读写操作所需的全部时间,即连续两次独立访问存储器操作之间所需的最小时间间隔,包含存取时间和恢复时间
- 3)主存带宽:又称数据传输率,表示每秒从主存进出信息的最大数量
Q 随机存储器包含哪两大类?它们之间有什么区别?
- 1)静态随机存储器(SRAM)和动态随机存储器(DRAM),都属于易失性存储器
- 2)SRAM:非破坏性读出,不需要刷新。存取速度快,但集成度低,功耗大,常用于Cache
- 3)DRAM:破坏性读出,需要刷新。集成度高、价位低、容量大、功耗低,但是速度比SRAM慢,常用于主存
Q DRAM的刷新方式有哪些?
- 1)集中刷新:在一个刷新周期内,利用一段固定的时间对所有行进行再生,在此期间停止读写操作,称为“死时间”
- 2)分散刷新:把对每行的刷新分散到各个工作周期,没有死区,但加长了系统的存取周期,降低了整机的速度
- 3)异步刷新:将刷新周期除以行数,得到两次刷新操作之间的时间间隔,避免CPU连续等待,而且减少了刷新次数
Q 只读存储器有哪几种?
- 1)掩模式只读存储器(MROM):出厂后内容不能被更改
- 2)一次可编程只读存储器(PROM):可以进行一次性编程
- 3)可擦除可编程只读存储器(EPROM):可以用紫外线或电擦除,对内容进行多次更改
- 4)闪存(FLash Memory):断电后也能保存信息,可进行多次的快速擦除重写,需先擦除再写入,如U盘、SD卡
- 5)固态硬盘(SSD)
Q 怎样提高CPU访问存储器的速度?
- 1)采用高速元器件
- 2)采用“Cache - 主存”存储结构:①避免CPU空等I/O访存;②缓解CPU和主存速度不匹配的问题
- 3)调整主存结构,采用双端口存储器、多模块存储器,例如单体多字存储器和多体并行存储器
Q 什么是双端口RAM?
- 1)双端口RAM是指同一个存储器有左、右两个独立的端口,分别具有两组互相独立的地址线、数据线和读写控制线。允许两个独立的控制器同时异步地访问存储单元
- 2)当两个端口的地址不同时,在两个端口上进行读写操作一定不会发生冲突
- 3)两个端口同时存取存储器的同一地址单元时,可能会发生冲突,例如同时写入数据,或者一个写入另一个读出。此时可以通过置“忙”信号来暂时关闭一个端口,让两个端口异步的访问存储器
Q 什么是单体多字存储系统?有什么优点?
- 1)存储器中只有一个存储体,在一个存取周期内,从同一地址取出多个CPU字,然后将指令逐条送至CPU执行
- 2)增大了存储器的带宽,提高了工作速度,但指令和数据必须连续存放
Q 多提并行系统有哪两种编织方式?各有什么优点?
1)高位交叉编址方式:高位地址表示体号,地位地址为体内地址,为顺序存储
不能提高单次访存速度,但能使多个应用并行访存,提高系统的并发性
2)低位交叉编址方式:低位地址为体号,高位地址为体内地址,程序连续存放在相邻体中,为交叉存储
可以采用流水线的方式并行存取,提高存储器的带宽
Q 在m位低位交叉编址中,假设存取周期为T,总线传输周期为r,为了实现流水线方式存储,应满足什么条件?如果连续读取m个字,所需要的时间是多少?
- 1)T= mr
- 2)连续读取m个字,所需要的时间为T + (m - 1)r
- 3)如果采用高位交叉编址,连续读取m个字所需要的时间仍然为mT
Q 什么是Cache?
- 1)空间局部性原理:在最近的未来要用到的信息与现在正在使用的信息,在存储空间上是相邻的
- 2)时间局部性原理:在最近的未来要用到的信息,很有可能是现在正在使用的信息
- 3)Cache是介于CPU和主存之间的高速小容量存储器,利用程序的局部性原理,将主存的存储空间分块,把某些主存块复制到Cache中,缓解CPU与主存之间的速度矛盾
- 4)Cache与主存之间以“块”为单位进行数据交换,每次被访问的主存块一定会被立即调入Cache
Q Cache和主存的映射方式
- 1)全相联映射:主存块可以放到Cache的任意位置。Cache的存储空间利用充分、命中率高,但查找标记最慢
- 2)直接映射:主存块只能放到特定的某个Cache行(行号=主存块号%总行数)。只需对比一个标记,速度最快,但Cache存储空间利用不充分,命中率低
- 3)组相连映射:主存块可以放到特定分组的任意位置。是另外两种方式的折中,综合效果好
Q Cache替换算法
- 随机算法、先进先出算法(FIFO)、最近最少使用(LRU)、最不常用(LFU)
Q Cache写策略
写命中时,
- 1)写回法:只修改Cache,而不立即写回主存,只有当此块被换出时才写回主存,因此需要增加一位脏位表示是否被修改过
- 2)全写法:必须把数据同时写入Cache和主存,访存次数增加,速度慢,但更能保证数据一致性,一般采用写缓冲
写不命中时,
- 3)写分配法:把主存中的块调入Cache,在Cache中修改。通常搭配写回法
- 4)非写分配发:只写入主存,不调入Cache。搭配全写法
现代计算机通常采用多级Cache结构,各级Cache间采用“全写法+非写分配法”,Cache和主存之间采用“写回法+写分配法”。
Q 什么是页式存储系统?
- 1)一个程序(进程)在逻辑上被分为若干大小相等的“页面”
- 2)页面大小与快的大小相同
- 3)每个页面可以离散的放入不同的主存块中
- 4)用页表来记录逻辑地址和物理地址的对应关系
Q 虚拟存储器
- 1)页式虚拟存储器
- 2)段式虚拟存储器
- 3)段页式虚拟存储器
第四章 指令系统
Q 什么是指令?有哪些分类?
指令又称机器指令,是指示计算机执行某操作的命令,是计算机运行的最小功能单位。一条指令通常由操作码和地址码两部分组成
- 1)按地址码数分类:①零地址指令;②一地址指令;③二地址指令;④三地址指令;⑤四地址指令
- 2)按指令长度分类:定长指令字结构和变长指令字结构
- 3)按操作码长度分类:定长操作码和可变长操作码
- 4)按操作类型分类:数据传送类、运算类、程序控制类和输入输出类
Q 数据寻址方式有哪些?
- 1)隐含寻址:有效地址由程序制指定,寻址期间访存0次
- 2)立即寻址:形式地址A即是操作数,访存0次
- 3)直接寻址:形式地址A就是有效地址EA,即EA=A,访存1次
- 4)一次间接寻址:形式地址A中的内容是有效地址EA,即EA=(A),访存2次
- 5)寄存器寻址:EA=R,访存0次
- 6)寄存器间接一次寻址:EA=(R),访存1次
- 7)基址寻址:将CPU中基址寄存器(BR)中的内容,加上指令格式中的形式地址A,形成操作数的有效地址,即EA=(BR)+A。便于程序浮动,方便实现多道程序并发运行,访存1次
- 8)变址寻址:有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容之和,即EA=(IX)+A,其中IX可为变址寄存器,也可用通用寄存器作为变址寄存器。变址寄存器是面向用户的,适合编织循环程序,访存1次
- 9)相对寻址:EA=(PC)+A,多用于转移指令,访存1次
- 10)复合寻址
- 11)堆栈寻址
Q 什么是RISC和CISC?
RISC:精简指令集,CISC:复杂指令集。
Q 一个操作数在内存可能占多个单元,怎样在指令中给出操作数的地址?
现代计算机都采用字节编址方式,即一个内存单元只能存放一字节的信息。一个操作数(如char、int、foat、 double)可能是8位、16位、32位或64位等,因此可能占用1个、2个、4个或8个内存单元。也就是说,一个操作数可能有多个内存地址对应。
有两种不同的地址指定方式:大端方式和小端方式。
- 大端方式:指令中给出的地址是操作数最高有效字节(MSB)所在的地址
- 小端方式:指令中给出的地址是操作数最低有效字节(LSB)所在的地址。
第五章 中央处理器
Q CPU的功能
- 1)指令控制:完成取指令、分析指令和执行指令的操作
- 2)操作控制:一条指令的功能往往是由若干操作信号的组合实现的
- 3)时间控制:对各个操作加以时间上的控制
- 4)数据加工:对数据进行算数和逻辑运算
- 5)中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理
Q CPU有哪些基本结构?
CPU由运算器和控制器组成:
运算器的基本结构有,
- 1)算术逻辑单元ALU
- 2)暂存寄存器
- 3)通用寄存器组
- 4)累加寄存器ACC
- 5)程序状态字寄存器PSW
- 6)移位器、计数器
控制器的基本结构有,
- 1)程序计数器PC
- 2)指令寄存器IR
- 3)指令译码器、时序系统、微操作信号发生器
- 4)地址寄存器MAR
- 5)数据寄存器MDR
用户可见的寄存器:通用寄存器组、程序状态字寄存器PSW、程序计数器PC。
用户不可见的寄存器:MAR、MDR、IR、暂存器。
Q 指令周期分为哪些?数据流向如何?
1)取指周期
- (PC)→MAR
- M(MAR)→MDR
- (MAR)→IR
- (PC)+1→PC
2)间址周期
- Ad(IR)→MAR
- M(MAR)→MDR
- (MDR)→Ad(IR)
3)执行周期
4)中断周期
- (SP)-1→SP
- (SP)→MAR
- (PC)→MDR
- (MDR)→M(AMR)
- 向量地址→PC
5)指令周期有单指令周期和多指令周期,指令间串行
Q 微程序中易混淆的概念
1)程序:由指令序列组成
微程序:由微指令序列组成,每一种微指令对应一个微程序
2)指令:对程序执行步骤的描述
微指令:对指令执行步骤的描述
3)微命令与微操作一一对应
4)微指令中可能包含多个微命令
Q 什么是指令流水线有哪些性能指标?
- 1)指令执行过程划分为不同阶段,占用不同的资源,使多条指令同时执行。性能指标有,吞吐率,加速比,效率
- 2)吞吐率:指单位时间内流水线所完成的任务数量
- 3)加速比:完成同一批任务,不使用流水线所用的时间和与使用流水线所用的时间之比
- 4)效率:流水线的设备利用率。在时空图上,流水线的效率定义为完成n个任务占用的时空区有效面积与n个任务所用的时间与k个流水线段所围成的时空区总面积之比
Q 影响流水线的因素有哪些?
- 1)结构相关(资源冲突):由于多条指令在同一时刻争用同一资源而形成的冲突
- 2)数据相关(数据冲突):后一条指令必须等前一条指令执行完才能执行
- 3)控制相关(控制冲突):当流水线遇到转移指令和其他改变PC值的指令而造成断流
Q 流水线的多发技术有哪些?
- 1)超标量技术:每个时钟周期内可以并发多条独立指令,需要配置多个功能部件,不能调整指令的执行顺序
- 2)超流水线技术:在一个时钟周期内再分段,一个功能部件使用多次,不能调整指令的执行顺序。
- 3)超长指令字:由编译程序挖掘出指令间的并行性,将多条能并行操作的指令组合成一条,具有多个操作码字段。
第六章 总线
Q 什么是总线?有哪些特性?
- 1)早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备,为更好地解决I/O设备和主机之间连接的灵活性,发展为了总线连接
- 2)总线是一组能为多个部件分时共享的公共信息传送线路
- 3)总线具有机械特性(尺寸,管脚数等)、电气特性(有效电平)、功能特性(地址、数据、控制)和时间特性(信号的时序关系)
Q 总线结构哪有些?各有什么优缺点?
- 1)单总线:只有系统总线,结构简单、成本低、易扩充,但带宽低、负载重且不支持并发传送操作
- 2)双总线:有主存总线和I/O总线,支持突发传送、将低速的I/O设备从单总线分离出来,但需要增加通道等硬件设备
- 3)三总线:分别为主存总线、I/O总线和DMA总线,提高了I/O设备性能,使其更快地响应命令,提高了系统吞吐量,但系统工作效率低
Q 什么是总线定时(总线通信控制),有哪几种?
总线定时是指总线在双方交换数据的过程中需要时间上的配合关系的控制,实质是一种协议或规则。
- 1)同步定时方式:由统一时钟控制数据传输。优点是传输速度快,总线控制逻辑简单;缺点是不能及时进行数据通信的有效性检验,可靠性较差
- 2)异步定时方式:采用应答方式,没有公共时钟标准,分为不互锁方式、半互锁方式和全互锁方式。优点是总线周期长度可变,能够保证两个工作速度相差较大的部件或设备之间可靠地进行信息交换;缺点是速度稍慢
- 3)半同步通信:同步与异步的结合,在统一时钟的基础上,增加一个“等待”响应信号
- 4)分离式通信:各模块均有权申请占用总线,采用同步方式通信,各模块准备数据时不占用总线,总线利用率高
第七章 输入/输出系统
Q I/O控制方式分为哪几种?
- 1)程序查询方式:CPU“忙等”慢速设备完成工作,二者串行工作
- 2)程序中断方式:设备准备数据时,CPU继续工作。设备准备好之后向CPU发出中断请求,CPU在指令周期的末位,即当前指令执行完毕后,检查中断并做出中断响应
- 3)DMA控制方式:主存与高速I/O设备之间有一条直接数据通路(DMA总线),DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写,才向CPU发出一次中断请求
- 4)通道方式:CPU执行I/O指令对通道发出命令,由通道执行一系列通道指令,代替CPU对I/O设备进行管理,通道程序提前编制好放在主存中
Q I/O设备编织有哪两种方式?
- 1)统一编址方式:和存储器统一编址,I/O地址作为存储器地址的一部分,占用存储器空间
- 2)独立编制方式:和存储器分开编址,需要专门的I/O指令
Q 什么是中断?
计算机在执行程序过程中,出现异常情况或特殊请求时,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,处理完毕后CPU又自动返回到现行程序的间断处,继续执行原程序。
Q 简述中断处理过程!!
中断隐指令的任务
- 1)关中断:为了保护中断现场期间不被新的中断打断
- 2)保存断点:将原来程序的断点,即程序计数器PC的内容保存起来
- 3)引出中断服务程序:通常使用硬件向量法,由硬件产生向量地址,再由向量地址找到中断服务程序入口地址
中断服务程序的任务
- 4)保护现场:保存通用寄存器和状态寄存器的内容,以便返回原程序后可以恢复CPU环境
- 5)中断服务
- 6)恢复现场
- 7)开中断,中断返回
Q 什么是多重中断?
- 单重中断:执行中断服务程序时不响应新的中断请求
- 多重中断:又称中断嵌套,执行中断服务程序时可以响应新的中断请求
Q DMA的传送方式有哪几种?
- 1)停止CPU访问:控制简单,CPU处于不工作状态或保持状态,为充分发挥CPU对主存的利用率。
- 2)DMA与CPU交替访存:一个CPU周期分为两部分,分别供DMA和CPU访存。不需要总线使用权的申请、建立和归还,硬件逻辑较为复杂。
- 3)周期挪用:CPU不访存时,不冲突;CPU正在访存时,存取周期结束让出总线;CPU与DMA同时请求访存时,I/O访存优先。
