1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解:P3
计算机系统——计算机硬件、软件和数据通信设备的物理或逻辑的综合体。 计算机硬件——计算机的物理实体。
计算机软件——计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。 5. 冯?诺依曼计算机的特点是什么? 解:冯氏计算机的特点是:P9
? 由运算器、控制器、存储器、输入设备、输出设备五大部件组成; ? 指令和数据以同一形式(二进制形式)存于存储器中; ? 指令由操作码、地址码两大部分组成;
? 指令在存储器中顺序存放,通常自动顺序取出执行; ? 以运算器为中心(原始冯氏机)。 7. 解释下列概念:
主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。 解:P10
主机——是计算机硬件的主体部分,由CPU+MM(主存或内存)组成;
CPU——中央处理器(机),是计算机硬件的核心部件,由运算器+控制器组成;(早期的运、控不在同一芯片上)
主存——计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。
存储单元——可存放一个机器字并具有特定存储地址的存储单位;
存储元件——存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取;
存储字——一个存储单元所存二进制代码的逻辑单位; 存储字长——一个存储单元所存二进制代码的位数;
存储容量——存储器中可存二进制代码的总量;(通常主、辅存容量分开描述) 机器字长——CPU能同时处理的数据位数; 指令字长——一条指令的二进制代码位数; 讲评:一种不确切的答法: CPU与MM合称主机; 运算器与控制器合称CPU。
这两个概念应从结构角度解释较确切。
8. 解释下列英文缩写的中文含义:
CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS 解:全面的回答应分英文全称、中文名、中文解释三部分。 CPU——Central Processing Unit,中央处理机(器),见7题;
PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器;
IR——Instruction Register,
指令寄存器,存放当前正在执行的指令的寄存器;
CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件; ALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件; ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器; MQ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。 X——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
MAR——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器; MDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器;
I/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送;
MIPS——Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位;
10. 指令和数据都存于存储器中,计算机如何区分它们?
解:计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期(或相应微程序)取出的既为数据。
另外也可通过地址来源区分,从PC指出的存储单元取出的是指令,由指令地址码部分提供操作数地址。 问题讨论:
× 由控制器分析是指令还是数据; 数据进控制器?
× 指令由指令寄存器存取; 指令寄存器有控制功能?
× 指令和数据的格式不一样;指令由操作码和地址码组成) 两者的二进制代码形式不一样? × 指令顺序存放,而数据不是; 数据为什么不能顺序存放? × MAR放地址,MDR放数据; 取指时MDR中也是数据?
× 存取数据和存取指令的操作在机器中完全一样; 无法区分?
× 指令和数据的地址不一样; 某一存储单元只能放数据(或指令)? × 指令放在ROM中,数据放在RAM中; 用户程序放在哪? 第 三 章
1. 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点? 解:总线是多个部件共享的传输部件。
总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。 为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。 讲评:
围绕―为减轻总线负载‖的几种说法:
× 应对设备按速率进行分类,各类设备挂在与自身速率相匹配的总线上; × 应采用多总线结构;
× 总线上只连接计算机的五大部件; × 总线上的部件应为低功耗部件。
上述措施都无法从根上(工程上)解决问题,且增加了许多不必要(或不可能)的限制。 × 总线上的部件应具备机械特性、电器特性、功能特性、时间特性; 这是不言而喻的。
4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?
解:总线判优控制解决多个部件同时申请总线时的使用权分配问题; 常见的集中式总线控制有三种: 链式查询、计数器查询、独立请求;
特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高。 5. 解释下列概念:总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。 解:
总线的主设备(主模块)——指一次总线传输期间,拥有总线控制权的设备(模块);
总线的从设备(从模块)——指一次总线传输期间,配合主设备完成传输的设备(模块),它只能被动接受主设备发来的命令;
总线的传输周期——总线完成一次完整而可靠的传输所需时间; 总线的通信控制——指总线传送过程中双方的时间配合方式。 6. 试比较同步通信和异步通信。 解:
同步通信——由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合;
异步通信——不由统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。 8. 为什么说半同步通信同时保留了同步通信和异步通信的特点? 解:
半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。
10. 为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫plug and play?哪些总线有这一特点? 解:
总线标准的设置主要解决不同厂家各类模块化产品的兼容问题; 目前流行的总线标准有:ISA、EISA、PCI等;
plug and play——即插即用,EISA、PCI等具有此功能。 11. 画一个具有双向传输功能的总线逻辑图。
解:此题实际上是要求设计一个双向总线收发器,设计要素为三态、双向、使能等控制功能的实现,可参考74LS245等总线收发器芯片内部电路。 逻辑图如下:(n位)
几种错误的设计: 几种错误的设计:
12. 设数据总线上接有A、B、C、D四个寄存器,要求选用合适的74系列芯片,完成下列逻辑设计: (1) 设计一个电路,在同一时间实现D→A、D→B和D→C寄存器间的传送; (2) 设计一个电路,实现下列操作: T0时刻完成D→总线; T1时刻完成总线→A; T2时刻完成A→总线; T3时刻完成总线→B。 解:
(1)采用三态输出的D型寄存器74LS374做A、B、C、D四个寄存器,其输出可直接挂总线。A、B、C三个寄存器的输入采用同一脉冲打入。注意-OE为电平控制,与打入脉冲间的时间配合关系为: 现以8位总线为例,设计此电路,如下图示:
(2)寄存器设置同(1),由于本题中发送、接收不在同一节拍,因此总线需设锁存器缓冲,锁存器采用74LS373(电平使能输入)。节拍、脉冲配合关系如下: 节拍、脉冲分配逻辑如下: 节拍、脉冲时序图如下:
以8位总线为例,电路设计如下:
(图中,A、B、C、D四个寄存器与数据总线的连接方法同上。) 几种错误的设计: (1)
几种错误的设计: (1)
几种错误的设计: (2)
几种错误的设计: (2)
几种错误的设计: 第 四 章
3. 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次? 答:存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上。
Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。 主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存—辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部份通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。