计算机组成常见问题

第1章:计算机系统概论

一、计算机系统由哪两部分组成?计算机系统性能取决于什么?程序员

计算机系统是由“硬件”和“软件”组成。衡量一台计算机性能的优劣是根据多项技术指标综合肯定的,既包括硬件的各类性能指标,又包括软件的各类功能。算法

1)计算机系统由硬件和软件两部分组成。
2)计算机系统性能由硬件和软件共同决定。编程

二、计算机系统5层层次结构从下到上由哪五层组成?哪些是物理机,哪些是虚拟机?
1)微程序机器、传统机器、操做系统机器、汇编语言机器、高级语言机器
2)微程序机器和传统机器是物理机,其余是虚拟机。数组

三、在计算机系统结构中,什么是翻译?什么是解释?
1)翻译:将一种语言编写的程序所有翻译成另外一种语言,而后再执行;
2)解释:将一种语言编写的程序的一条语句翻译成另外一种语言的一条或多条语句,而后执行,执行完这条语言后,再解释下一条。缓存

四、什么是计算机体系结构?什么是计算机组成?以乘法指令为例说明两者区别。
1)计算机体系结构是指那些可以被程序员看到的计算机的属性。如指令集、数据类型等;
2)计算机组成是指如何实现计算机体系结构所体现出来的属性;
3)以乘法指令为例,计算机是否有乘法指令,属于体系结构的问题。乘法指令是采用专用的乘法器,仍是使用加法器和移位器构成,属于计算机组成的问题。并发

计算机实现是计算机组成的物理实现,包括处理机,主存等部件的物理结构,器件的集成度及速度,模块、插件和底板的划分与链接,信号传输、点源冷却即整机装配技术等异步

五、冯诺依曼机器的主要特色?
1)计算机由运算器、存储器、控制器、输入设备和输出设备五大部分组成;
2)指令和数据存储在存储器中,并能够按地址访问;
3)指令和数据均以二进制表示;
4)指令由操做码和地址码构成,操做码指明操做的性质,地址码表示操做数在存储器中的位置;
5)指令在存储器内按顺序存放,一般按自动的顺序取出执行;
6)机器以运算器为中心,I/O设备与存储器交换数据也要经过运算器。(所以,后来有了以存储器为中心的计算机结构)性能

现代计算机运算器的发展主要是在提升CPU的速度,而存储器的发展主要是在扩大容量.如今CPU的处理速度已经远远超过内存的存取速度,相差大概四五个数量级.因此现代计算机的运行速度瓶颈主要是在存储器方面.由于这样的缘由因此才说现代计算机是以存储器为中心.编码

六、画出现代计算机的组成框图。操作系统

七、什么是存储单元、存储字、存储字长、存储体?
存储单元:存储一个存储字并具备特定存储地址的存储单位;
存储字:一个存储单元中存放的全部的二进制数据,按照某个地址访问某个存储单元获取的二进制数据。
存储字长:存储字中二进制数据的位数,即按照某个地址访问某个存储单元获取的二进制数据的位数;
存储体:由多个存储单元构成的存储器件。

八、主存储器中,什么是MAR,什么是MDR,存储器的最大容量由什么决定?
1)MAR:存储地址寄存器,保存须要访问的存储单元地址。反映存储单元的个数。
2)MDR:存储数据寄存器,缓存读出/写入存储单元的数据。反映存储字长。
3)存储器的最大容量由MAR寄存器的位数和MDR寄存器的位数决定。

九、什么是机器字长,什么是存储字长长?
机器字长:CPU一次可以处理的二进制数据的位数。
存储字长:按照某个地址访问某个存储单元获取的二进制数据的位数。

十、假设MAR寄存器的位数为16位,MDR寄存器的位数为16位,存储器的最大容量是多少?
1)MAR寄存器的位数为16位,能表示的地址个数为2的16次方,为64K;
2)MDR寄存器的位数为16位,说明存储字长为16位,也即2个字节;
3)存储器的最大容量为64K * 2B = 128K Byte

第三章 系统总线

一、为何要使用总线?
在冯诺依曼结构中,各个部件之间均有单独连线,不只线多,并且致使扩展I/O设备很不容易。即扩展一个I/O设备,须要链接不少线。
所以,引入了总线链接方式,将多个设备链接在同一组总线上,构成设备之间的公共传输通道。

二、总线的两大基本特征是什么?
1)共享:多个部件链接在同一组总线上,各个部件之间都经过该总线进行数据交换。
2)分时:同一时刻,总线上只能传输一个部件发送的信息;

三、系统总线按照传输信息的不一样,分红哪几类?是单向的,仍是双向的?
1)分红数据总线、地址总线以及控制总线。
2)数据总线:各个功能部件之间传送数据信息,双向传输;
3)地址总线:用来指明数据总线上,源数据或目的数据所在的主存单元的地址。单向:由CPU发出
4)控制总线:用来发送各类控制信号。对于控制总线中的单根线,是单向的,即只能由一个部件发向另外一个部件。而一组控制总线中,有输入也有输出,所以,控制总线也能够当作是双向的。

三、什么是总线宽度、总线带宽、总线复用、信号线数?
1)总线宽度:数据总线的根数,通常是8的倍数。是衡量计算机系统性能的重要指标;
2)总线带宽:即总线数据传输速率,总线上每秒可以传输的最大字节量。
3)总线复用:一条信号线上分时传送两种信号。例如数据总线和地址总线的分时复用;
4)信号线数:地址总线、数据总线和控制总线三种总线的线数之和。

四、假设总线的工做频率为33MHz,总线宽度为32位,则它最大的传输速率是多少?
33 * (32/8) = 132 MB/s

五、简要说明单总线结构的概念及缺点?(现代计算机为何要采用多总线结构?)
在单总线结构中,全部的部件(CPU、主存、I/O设备)都链接在一组总线上。
但全部的信息传送都要经过这组总线,同时只能有一个部件向总线上发送信息,致使总线成为系统的瓶颈。
所以,发展出来了多总线结构,其基本思想均是将速度相近的设备挂接在同一组总线上,总线之间经过总线控制器相连。
例如CPU和Cache之间、I/O设备之间等。

六、集中式总线判优控制有哪三种方式,哪一种方式的优先级不能改变?
1)链式查询、计数器定时查询、以及独立请求。
2)链式查询的优先级不能改变,离控制器最近的优先级最高。

七、简述链式查询、计数器定时查询以及独立请求三种方式的工做原理。
(略)

八、什么是总线周期,分为哪几个阶段?
1)总线周期:总线上两个部件完成一次完整且可靠的数据传输时间;
2)分为四个阶段:
申请分配阶段:申请总线
寻址阶段:发出地址及有关命令
传数阶段:进行数据交换
结束:从总线上撤除信号,让出总线

九、什么是总线通讯控制,总线通讯控制有哪几种?
1)总线通讯控制:解决通讯双方如何获知传输开始和传输结束,以及如何协调配合;
2)同步通讯、异步通讯、半同步通讯、分离式通讯

十、什么是同步通讯?其优势和缺点?
1)同步通讯:总线上各个部件由统一的时钟信号控制;在总线周期中,每一个时钟周期各个部件如何动做都有明确的规定。
2)优势:速度快,各个模块间配合简单
3)缺点:以总线上最慢的部件来设计公共时钟,影响总线效率。

十一、什么是异步通讯?异步通讯分为哪几种类型?
1)异步通讯:总线上各部件没有统一的时钟标准,采用应答式通讯;(主模块发出请求后,一直等到从模块反馈回来应答信号以后才开始通讯)
2)不互锁、半互锁、全互锁。(须要了解各类方式的含义)

十二、什么是波特率?什么是比特率?(须要掌握如何计算波特率、比特率)
波特率:单位时间内传送的二进制数据数据的位数,单位bps
比特率:单位时间内传送的有效的二进制位数。

1三、异步通讯时,常规须要设置的参数有哪些?
波特率、中止位(1/2/1.5)、校验位(奇校验、偶校验、无校验)

1四、简述半同步通讯的基本原理。
半同步通讯结合同步通讯和异步通讯。
同步通讯:采用统一的时钟,规定了在必定的时钟周期干什么事情;
异步通讯:若是从模块没有准备好,增长一个“等待响应”信号。

1五、简述分离式通讯的基本原理。
主模块发出地址和命令以后,放弃总线,在从模块准备数据期间,使得总线能够被其余设备所用。提升总线利用率。
可是,这种方式控制比较复杂。

1六、奇偶校验能够纠错吗?汉明码能够纠错码?
1)奇偶校验只能检错,不能纠错。
2)汉明码能够纠错。

第四章 存储器

一、存储器按存取方式,能够分红哪四类?哪些属于随机访问存储器,哪些属于串行访问存储器?
1)能够分为随机存储器、只读存储器、顺序存储器和直接存储器;
2)随机存储器和只读存储器属于随机存储器,即存取时间与物理地址无关;
3)顺序存储器(典型的如磁带)和直接存储器(典型的如磁盘)属于串行存储器,即存取时间与物理地址有关。

二、衡量存储器使用哪三个指标?寄存器、缓存、主存中,哪一个速度最快?哪一个最便宜?
1)速度、容量、位价格。
2)寄存器速度最快,主存最便宜。

三、常见的存储系统层次结构有哪两种?透明性如何?各自用来解决什么问题的?
1)缓存-主存层次:用来缓解CPU和主存速度不匹配的问题,由硬件来完成,对全部的程序员彻底透明。
2)主存-辅存层次:用来解决主存容量不够的问题,由操做系统和硬件共同完成,对应用程序设计者透明,对系统程序设计者不透明。

(如今通常存储器都即能按字访问,也能按照字节访问,所以,存储器编址时,每一个字节都有一个独立的地址。)
四、字在存储单元中有两种存储方式,大端方式和小端方式。各是什么含义?x86采用的是哪一种存储方式?
1)大端方式:字的低位存在内存的高地址中,而字的高位存在内存的低地址中;
2)小端方式:字的低位存在内存的低地址中,而字的高位存在内存的高地址中。
3)x86CPU采用的是小端方式。

五、主存的三个主要技术指标
存储容量、存取速度和存储带宽

六、什么是存取时间?什么是存取周期?哪一个大?
1)存取时间:启动一次存储器完成本次操做(读或写)所需的时间;
2)存取周期:连续两次启动存储器所须要的最小间隔时间;
3)存取周期包含存取时间;

七、什么是存储器带宽?(要了解如何计算存储器带宽)
单位时间内存储器存取的信息量;

八、半导体存储芯片译码驱动包含哪两种方式,请简要说明。
1)线选法:全部的地址芯片经过一个译码器译码,选择一个存储单元的各位,适合于存储容量不大的芯片;
2)重合法:将地址分为两组,每组经过一个译码器译码,选择行或列,行、列交叉处就是要访问的存储位。

九、随机存储器包含哪两大类?哪一个须要刷新?请从速度、容量、价格等方面进行简要比较。
1)静态RAM:采用锁存器原理实现;
2)动态RAM:采用电容原理实现,须要刷新。
3)相比于动态RAM,静态RAM的速度快、容量小、价格高,通常用于缓存,而动态RAM通常用于内存。

十、只读存储器有哪几种?
1)掩模ROM(MROM):出厂后内容不能被更改。
2)PROM:可编程只读存储器,能够进行一次性编程;
3)EPROM:可擦除只读ROM,用紫外线照射;
4)EEPROM:电可擦除只读ROM。
6)FLash Memory:采用EEPROM的非易失性存储器。

十一、单片存储器芯片的容量有限,很难知足实际须要,所以必须将若干存储芯片链接在一块儿才能组成足够容量的存储器。
存储器的扩展一般有位扩展和字扩展,什么是字扩展,什么是位扩展?请举例简要说明
1)位扩展:增长存储器的字长,例如两个1K * 4位的存储芯片构成1个1K*8位的存储器;
2)字扩展:增长存储器的字数,例如两个1K * 8位的存储芯片构成1个2K * 8位的存储器;
一般字扩展和位扩展两种方式混合使用。

十二、熟虑掌握存储器的扩展,包括地址空间分配、地址线的链接、数据线的链接、片选信号的产生及链接等;
参看P94页,例4.1

1三、假设欲检测的二进制代码为n位,为了使其具备1位的纠错能力,需添加K位检测位,组成n+k位的代码。问,应添加多少位检测位?
应添加的检测位位数:2的k次方大于等于n+k+1。
由于要使其有1位的检测能力,必须使用k位来讲明n+k位到底哪一位出现了错误,k位能表达的数量为2的k次方,而n+k位到底哪一位
出现了错误或者是所有正确,共有n+k+1种情况,所以,k的取值须要知足:2的k次方大于等于n+k+1

1四、对于汉明码,应熟练掌握汉明码的编码方式(按照配偶或配奇的原则),以及给出汉明码,获得要传送的原始信息(包括纠错过程)。

1五、提升访存速度的三种方式。
1)采用高速元器件;
2)采用存储层次结构:cache-主存结构;
3)调整主存结构:包括单体多字,多体并行两种方式。

1六、简述单体多字的存储系统的工做原理,及其优势。
1)单体多字存储系统一次访存取出多个CPU字,即存储字为CPU字的n倍(假设一次访存取出n个cpu字)。
2)优势是:显著提升了存储器带宽。

1七、多体并行系统有哪两种编址方式?请简要说明其编址方式及其优势。
1)高位交叉编址方式:存储体的编址方式为顺序存储,即一个存储体存满后,再存入下一个;存储单元地址的高位为存储体的编号。
高位交叉编址并不能提升单次访存速度,但能使多应用并行访存,提升系统的并发性

2)低位交叉编址方式:存储体的编址方式为交叉存储。即程序连续存放在相邻的存储体之中。存储单元地址的低位为存储体的编号。
低位交叉编址能显著提升单次访存速度。

1九、在四位低位交叉编址中,假设存取周期为T,总线传输周期为τ,为了实现流水线方式存储,应知足什么条件?若是连续读取四个字,所须要的时间是多少?
1)T= 4τ
2)连续读取四个字,所须要的时间为T + (4-1)τ
注意:假设不是低位交叉编址,而是高位交叉编址,连续读取四个字所须要的时间仍然为4T。

20、须要你们掌握多体并行存储器在高位交叉编址(顺序存储)和低位交叉编址(交叉存储)的状况下,存储器带宽的计算方式。

2一、在CPU和内存之间引入cache的缘由。
1)避免cpu空等I/O访存;
2)缓解CPU和主存速度不匹配的问题。

2二、什么是程序的局部性原理。
CPU从主存取指令或数据,在必定时间内,只是对主存局部地址区域访问。

2三、Cache命中率、平均访问时间以及访问效率的计算。

2四、Cache写操做有哪两种方式?
1)写直达法:写操做既写入Cache又写入主存;
2)写回法:只把数据写入Cache而不写入主存,当Cache中数据被替换出去以后才写入主存。

2五、将主存地址映射到Cache地址称为地址映射,常见的Cache映射方式有哪几种?
直接映射、全相联映射、组相联映射。

2六、直接映射的优缺点?
优势:地址变换速度快。缺点:cache利用率不高,块冲突率高;

2七、全相联映射的优缺点?
优势:cache利用率高,块冲突率低。缺点:地址变换复杂,须要较多的硬件。

2八、须要你们掌握各类映射方式之下,写出主存地址格式、cache地址格式,以及主存地址向cache地址的转换。

2九、Cache经常使用的替换算法有哪些?哪一个命中率最高?
1)先进先出、近期最少使用算法和随机替换算法;
2)命中率最高的是近期最少使用算法;

30、磁盘的三地址结构包括哪些?
柱面、磁头号和扇区号

第五章 输入输出系统

一、I/O系统的发展大体能够分为哪4个阶段?
1)早期(分散链接、串行工做、程序查询)
2)接口模块和DMA阶段(总线链接、并行工做、中断及DMA)
3)通道阶段(通道是具备特殊功能的处理器)
4)I/O处理机阶段
I/O系统的发展其实是逐步将CPU从繁重的I/O工做中解放出来的过程;

二、I/O设备编址有哪两种方式?各有什么优缺点?
1)统一编址方式:和存储器统一编址,I/O地址做为存储器地址的一部分;无须用专用的I/O指令,但占用存储器空间。
2)独立编址方式:和存储地址分开编址,需用专用的I/O指令。

三、I/O设备与主机的联络方式有哪几种?
I/O设备与主机间交互信息时必须了解彼此的状态。根据I/O设备工做速度的不一样,能够分为3类:
1)当即响应:无论其状态(认为其时刻准备好),适用于慢速设备。
2)应答信号:经过应答信号来进行交互;
3)同步时标:采用统一的时钟信号。

四、I/O总线包括哪四类?
数据线、设备选择线、状态线、命令线

五、I/O设备一般使用D触发器(完成触发器)和B触发器(工做触发器)来标识设备所处的状态。
D=0,B=0:暂停状态;
D=0,B=1:准备状态
D=1,B=0:就绪状态

六、程序查询的基本工做原理。
cpu不断去查询I/O设备状态,致使CPU和I/O设备串行工做。

七、什么是中断?
计算机在执行程序过程当中,当出现异常清空或特殊请求时,计算机中止现行程序的运行,转去处理这些异常清空或特殊请求,处理结束后,再返回现行程序的间断处,继续执行原程序,即为中断。

八、中断服务程序的基本流程包括哪四部分?
1)保护现场
2)中断服务
3)恢复现场
4)中断返回

九、什么是单重中断和多重中断?
1)单重中断:不容许中断现行的中断服务程序;
2)多重中断:容许级别更高的中断源中断现行的中断服务程序,也称为中断嵌套;

十、CPU响应中断的时机?
当前指令执行完毕后,cpu发出中断查询信号,也就是说,中断响应必定是在每条指令执行结束以后进行的,不可能在指令执行过程当中响应中断。

十一、什么是DMA?
DMA:直接内存访问。在主存和I/O设备之间创建独立的总线链接。

十二、在DMA方式中,因为DMA接口与CPU共享主存,可能会出现二者争用主存的冲突,为解决冲突,DMA和主存交换数据时,一般采用哪三种工做方式?
1)中止CPU访问主存:DMA访存优先级高;
2)周期挪用(窃取):DMA挪用存储或窃取总线使用权一个或几个主存存取周期;
3)DMA和CPU交替访问:将CPU工做周期分红两部分,一部分供DMA访存,一部分供CPU访存。

1三、DMA工做过程包括哪三部分?
1)预处理
2)数据传输
2)后处理

第六章 计算机的运算方法

一、掌握有符号数的原码计算方法,以及经过原码求真值;

二、掌握补码计算的方法,以及经过补码求原码,而后求真值的方法。
1)经过原码求补码:符号位不变,各位取反,末位加1;
2)经过补码求原码:符号位不变,各位取反,末位加1;

三、原码中0有2种表示方法(正零和负零),补码中0只有一种表示方法(正零和负零的表示方法一致)

四、假设有符号数的位数为8(包括符号位),补码能表示的真值的范围?
补码能表示的真值范围为-128~+127(参见补码定义)

五、掌握求反码以及移码的方法。

六、什么是定点表示?什么是浮点表示?
1)定点表示:小数点固定在某一位置的数为定点数;
2)浮点表示:小数点位置能够浮动的数。

七、浮点数在机器中的表示形式,由哪几部分组成?
由尾数、数符、阶码、阶符四部分组成。

八、掌握规格化浮点数的表示范围(最大正数、最小正数、最大负数、最小负数)的计算方法。

九、IEEE754标准规定的浮点数由哪几部分组成?
由数符、阶码(含阶符)以及尾数组成。

十、IEEE754标准规定的浮点数中,阶码和尾数用什么形式表示?
阶码用移码表示,其偏移量是2^(n-1),尾数用原码表示。

十一、float占多少位?double占多少位?
float为短实数,占32位,其中阶码8位,尾数23位。
double为长实数,占64位,其中阶码占11位,尾数为52位。

十二、对正数进行算术移位,当正数采用源码、补码、反码时,左移或右移时,低位或高位添补什么代码?
对于正数,其源码、补码、反码均等于真值,左移时,低位添补0,右移时,高位添补0。

1三、对负数进行算术移位,当负数采用源码、补码、反码时,左移或右移时,低位或高位添补什么代码?
对于源码,左移或右移时,低位或高位均添补0;
对于补码:左移时,低位添补0,右移时高位添补1
对于反码:左移或右移时,低位或高位均添补1;

1四、什么是逻辑移位?
逻辑移位是对无符号数的移位,因为无符号数不存在符号位,左移时,高位移丢,低位补零。右移时,低位移丢,高位补零。

1五、加法和减法时,什么状况下可能发生溢出?如何简单判断发生溢出?
1)正数加正数,正数减负数,负数加负数,负数减正数时,可能会发生溢出。
2)若是参加操做的两个数符号相同(转换成补码的加法),其结果与源操做数符号不一样,即为溢出。
3)若是补码采用1位符号位,若是最高有效位的进位和符号位的进位不一样,则发生溢出。

1六、定点乘法运算可使用加法和移位来实现吗?
能够。

1七、浮点加减运算基本按照哪几步来进行?
1)对阶:使小数点对齐;
2)尾数求和:将对阶后的两个尾数按照定点加减运算规则求和;
3)规格化:尾数规格化;
4)舍入:尾数右规时,丢失数值位;
5)溢出判断:判断结果是否溢出。

1八、如何判断浮点运算结果是否溢出?
阶码是否超出了其表示范围。(使用2个符号位判溢出)

第七章 指令系统

1.什么是机器指令?什么是指令系统? 1)机器指令:每一条机器语言的语句; 2)指令系统:所有机器指令的集合。

二、一条指令包含哪两个主要部分?请简要说明各部分做用。
1)操做码:指明指令要完成的操做;
2)地址码:指明指令要操做的数据或数据来源;

三、操做码长度有固定长度和可变长度两种,各自有什么优势?
1)固定长度:便于硬件设计,指令译码时间短;
2)可变长度:压缩了操做码平均长度;

四、指令中地址码中的地址能够是哪些设备的地址?
能够是主存地址、寄存器地址或I/O设备的地址;

五、指令中地址的个数能够有几个?
四地址、三地址、二地址、一地址以及零地址。

六、假设指令中有四个地址、三个地址、两个地址以及一个地址,各自须要访存几回?
1)四地址:访存4次;
2)三地址:访存4次;
3)两地址:访存3次;
4)一地址:访存2次;

七、当使用寄存器代替指令字中的地址码字段后,有哪些优势?
1)扩大指令字的寻址范围;
2)缩短指令字长;
3)减小访存次数

八、数据在存储器中存储时,为何要按照边界对齐?
减小访存次数。

九、寻址方式包括哪两类?
1)指令寻址:下一条将要执行的指令的指令地址;
2)数据寻址:肯定本指令的操做数地址。

十、什么是形式地址?什么是有效地址?
1)形式地址:指令的地址码字段一般都不表明操做数的真实地址,成为形式地址,记为A;
2)有效地址:操做数的真实地址,记为EA,由寻址特征和形式地址共同决定;

十一、了解各类寻址方式的概念及根据形式地址造成有效地址的方式。
当即寻址、直接寻址、隐含寻址、间接寻址、寄存器寻址、寄存器间接寻址、基址寻址(隐式或显式)、变址寻址、相对寻址、堆栈寻址

十二、什么是RISC?什么是CISC RISC:精简指令集; CISC:复杂指令集;

相关文章
相关标签/搜索