题目:计算机性能指标、冯诺依曼的三点核心内容。
计算机性能指标
字长:计算机的字长一般指的是CPU一次处理的数据位数,字长与计算机内部寄存器、运算器、数据总线的位宽相同。字长影响计算精确度,字长越长,计算精度就越高。影响数据的表示范围和精度,字长越长,定点数的表示范围越大。
主存容量:主存容量是指主存能存储的最大信息量,增加主存容量能减少程序运行期间访问辅存的次数,有利于提高程序的执行速度。主存可以按照字节编址和字编址,即每个存储单元存储的二进制位数不一样。
时钟周期:计算机中最基本、最小的时间单位。是时钟频率的倒数。
CPI:是指执行每条指令所需要的平均时钟周期数。
CPU时间:CPU时间即反映CPU全速工作时完成该进程所花费的时间。与cpi、时钟频率和指令条数有关。
IPC:指每个时钟周期CPU能执行的指令条数,是CPI 的倒数。
MIPS:计算机每秒执行指令的次数。
MFLOPS:计算机每秒执行浮点运算的次数。
冯诺依曼的三点核心内容
补码加减法的实现:
补码加法: [ X + Y ] 补 = [ X ] 补 + [ Y ] 补 [X + Y]_{补} = [X]_{补} + [Y]_{补} [X+Y]补=[X]补+[Y]补
补码减法: [ X − Y ] 补 = [ X ] 补 + [ − Y ] 补 = [ X ] 补 − [ Y ] 补 [X - Y]_{补} = [X]_{补} + [-Y]_{补} = [X]_{补} - [Y]_{补} [X−Y]补=[X]补+[−Y]补=[X]补−[Y]补
求补公式: [ − Y ] 补 = [ [ Y ] 补 ] 补 [-Y]_{补}=[ \ [Y]_{补}]_{补} [−Y]补=[ [Y]补]补 ps:对 [ Y ] 补 [Y]_{补} [Y]补逐位取反(连同符号位),末位加一。
移位规则
正数补码(包括原码)移位规则:数符不变,空位补0
负数补码移位规则:数符不变,左移时空位补0,右移时空位补1
浮点计算步骤:对阶(小阶对大阶)、尾数运算、规格化、舍入、溢出判断。
规格化:x > 0 时, x = 0.1xxxx(补) x < 0 时, x = 1.0xxxx(补)
例一:两浮点数x = 2101×0.11011011,y = 2111× (-0.10101100)。假设尾数在计算机中以补码表示,可存储10位尾数,2位符号位,阶码以补码表示,双符号位,求x + y。
将x,y转换为浮点格式: [ x ] 浮 [x]_{浮} [x]浮=00101,00.11011011 [ y ] 浮 [y]_{浮} [y]浮=00111,11.01010100
对阶: [ x ] 浮 [x]_{浮} [x]浮 = 00111,00.0011011011 保留位
尾数求和: [ x + y ] 浮 [x+y]_{浮} [x+y]浮=00111,11.1000101011
结果规格化: [ x + y ] 浮 [x+y]_{浮} [x+y]浮=00110,11.000101011
舍入处理: [ x + y ] 浮 [x+y]_{浮} [x+y]浮=00110,11.00010101
例二:A = (0.1101) × 21 ,B = (-0.1010) × 23,求 A + B = ? 其浮点数的格式:补码表示,阶码4位(含1位阶符),尾数6位(含2位数符)
转化为浮点类型: [ A ] 补 [A]_补 [A]补=0001,00.1101 [ B ] 补 [B]_补 [B]补=0011,11.0110
对阶: [ A ] 补 [A]_补 [A]补=0011,00.0011
尾数的加减: [ A + B ] 补 [A+B]_补 [A+B]补 = 11.1001
规格化: [ A + B ] 补 [A+B]_补 [A+B]补=0010,11.0010
例三:两个十进制数X=-0.875×21,Y=0.625×22,将X, Y用浮点数表示,设阶码4位(含阶符2位)、尾数6位
(含数符2位);通过补码运算规则求 Z = X - Y。
转化为浮点类型: [ X ] 补 [X]_补 [X]补= 0001,11.0010 [ Y ] 补 [Y]_补 [Y]补= 0010, 00.1010
对阶: [ X ] 补 [X]_补 [X]补= 0010,11.1001
尾数相减: [ X ] 补 [X]_补 [X]补=11.1001 , [ Y ] 补 [Y]_补 [Y]补=00.1010, [ - Y ] 补 [-Y]_补 [-Y]补=11.0110, [ X − Y ] 补 [X-Y]_补 [X−Y]补= [ X ] 补 [X]_补 [X]补+ [ - Y ] 补 [-Y]_补 [-Y]补= 11.1001+11.0110 = 10.1111
规格化: [ X − Y ] 补 [X-Y]_补 [X−Y]补= 0010,10.1111,规格化结果: [ X − Y ] 补 [X-Y]_补 [X−Y]补 = 0011,11.0111
1﹑某机字长16位,浮点数格式为8位阶码和8位尾数,规格化,阶码和尾数均以双符号位的补码形式表示。求A+B和A-B的浮点数形式,最后结果要求规格化且用十六进制表示。
(1)A= -48,B=63 (2)A= -0.875,B=5
2﹑现需设计实现某型浮点计算机,约定其浮点数字长为16位,其中:阶码6位,含2位阶符;尾数10位,含2位数符,补码表示,规格化表达。若现有两个十进制数据: A=13/128,B=7/64,求A+B和A-B浮点数形式,最后结果要求规格化且用十六进制表示。
固定操作码与拓展操作码
固定长度操作码
特点: 读取和识别指令简单,译码简单、迅速。
拓展操作码
设某指令系统指令字长16位,每个地址码为6位。若要求设计二地址指令15条、一地址指令34条,问最多还可设计多少条零地址指令?
例. 某机为定长指令字结构,指令长度为16位,每个操作数的地址码长6 位,指令分无操作数、单操作数和双操作数三类。若双操作数指令有K条,无操作数指令有L条,为单操作数最多有多少条?
设单操作数指令有X条,
分析:
1)双操作数指令有K条,其最大指令数24条;留有24-K个编码可以扩展到单+无操作数指令。 24-K个编码以及中间的6位一共有(24-K)*26个编码。
2)若其中单操作数指令有X条,则留有(24-K)×26 – X个编码可以扩展到无操作数指令。 (24-K)×26 – X个编码以及最后6位
3)无操作数指令有:((24-K)×26 - X)×26
则 ((24-K)×26 - X)×26 >= L 即,X ≤ (24-K)×26 - (L / 26 )
∴ 单操作数指令最多: (24-K)×26 - (L / 26 )条。
多种寻址方式的特点;
指令的二进制表示形式,指令功能(英文指令翻译为二进制)
立即寻址:所需的操作数由指令直接给出,称为立即数寻址方式
特点
特别注意
存储器直接寻址:地址码给出的就是操作数S所在主存单元的实际地址
特点
寄存器直接寻址:如果指令的地址码部分给出的是某通用寄存器编号R,,R,寄存器中存放着操作数,则称为寄存器直接寻址。
优点
间接寻址:地址码部分给出的是存放操作数地址的内存单元的地址,这个地址叫做间接地址
特点
寄存器间接寻址:地址字段所指的寄存器中存放的是操作数的地址。
用途:把就寄存器作为地址指针
寄存器间接寻址方式的优点:
相对寻址,记得pc+1
变址寻址,可以改变变址寄存器的值。作用是查找二维表、按下标顺序访问一维数组元素。
基址寻址,基址寄存器的值一经设定,在程序执行过程中不再改变。可以通过不同的形式地址D访问不同的存储地址。
某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格式,指令各字段定义如图,转移地址采用相对寻址方式,相对偏移量用补码表示。寻址方式如图。
(1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器MAR和存储器数据寄存器MDR至少需要多少位?
(2)转移指令的目标地址范围是多少?
(3)若操作码0010B表示加法操作,助记符为add,寄存器R4,R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语句add (R4),(R5)+ 逗号前为源操作数,逗号后为目的操作数,对应的机器码是多少?用十六进制表示。该指令执行以后,哪些寄存器和存储单元的内容会发生改变?改变后的内容是什么?
解:(1)该指令系统最多可有16条指令;该机最多有8个通用寄存器(6-8位,8个通用寄存器);因为地址空间大小为128 KB,按字编址,故共有64K个存储单元;地址位数为16位,所以MAR至少为16位;因为字长为16位,所以MDR至少为16位。
(2)转移指令的目标地址范围为0000H~FFFFH。
(3)对于汇编语句“add(R4),(R5)+”,对应的机器码为:0010 001 100 010 101B,用十六进制表示为2315H。“add(R4),(R5)+”指令执行后,R5和存储单元5678H的内容会改变。执行后,R5的内容从5678H变为5679H,存储单元5678H中的内容从1234H变为68ACH。
根据模型机写出指令流程和控制信号
模型机
控制器的类型及其结构(框图),分析组合逻辑控制器和微程序控制器
组合逻辑控制器
微命令发生器:将产生微命令的条件综合化简,形成逻辑式,用组合逻辑电路实现
PC:当前指令在存储器中的位置
IR:存放当前正在执行的指令
微程序控制器
微程序控制:
依据读来的机器指令的操作码找到与之对应的一段微程序的入口地址,并按由指令具体功能所确定的次序,逐条从控制存储器中读出微指令。
根据微地址寄存器(μAR)的内容,从CM的0号单元读出一条“取指令”的微指令,送到μAR。产生有关控制信号,存储器将机器指令送往IR,并修改PC的内容。
IR中机器指令的操作码通过微地址形成这条指令对应的微程序入口地址,送入μAR。
根据μAR中微地址从CM中取出对应微程序的第一条微指令,产生有关控制信号,由顺序控制字段形成下一条微指令地址,送入μAR,重复第3步直到该机器指令的微程序执行完。
执行完一条机器指令的微程序后,返回到CM的0号微地址单元,重复第1步。
两种控制器的比较
采用组合逻辑设计方法设计控制单元,微操作控制部件的线路结构十分庞杂,不规整,而且指令系统功能越全,微操作命令越多,线路就越复杂。一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要想增加新的控制功能是不可能的。组合逻辑控制的最大优点是速度较快。
微程序控制器是为了克服组合逻辑控制器线路复杂、不易修改的缺点而提出的,用类似存储程序的办法,来解决微操作命令序列的形成。就是把一条机器指令看成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或几个微操作。然后把这些微程序存到一个存储器中,用寻找用户程序机器指令的办法来寻找每个微程序中的微指令,逐条执行每一条微指令,也就相应地完成了一条机器指令的全部操作。 微程序控制器同组合逻辑控制器相比较,具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计。但是由于它使用了控制存储器,所以指令的执行速度比组合逻辑控制器慢。
组合逻辑控制器和微程序控制器,两种控制器各有长处和短处。组合逻辑控制器设计麻烦,结构复杂,一旦设计完成,就不能再修改或扩充,但它的速度快。微程序控制器设计方便,结构简单,修改或扩充都方便,修改一条机器指令的功能,只需重编所对应的微程序;要增加一条机器指令,只需在控制存储器中增加一段微程序,但是,它是通过执行一段微程。具体对比如下:组合逻辑控制器又称硬布线控制器,由逻辑电路构成,完全靠硬件来实现指令的功能。
数据传送方式(查询、中断、直接)
I/O端口编址方式(CPU与外设之间有接口,达到速度匹配的目的)
数据传送方式
立即程序传送:在CPU 与慢速变化的设备交换数据时,可以认为它们总是处于“就绪"状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送。适合于状态很少改变的简单设备,如LED数码管、按键或按纽等。这种传送有前提:外设必须随时就绪。
程序查询方式:CPU在执行程序时需要不断查询外部设备的状态,如果设备的数据传送没有准备好,CPU就反复查询,只有当设备准备好,CPU才能用I/O指令传输数据。数据的输入/输出都必须经过CPU ;CPU与设备间是串行工作,所以CPU的使用效率低。
程序中断方式:在程序执行过程中,由于某个随机事件的请求,暂停现程序的执行,转去执行一段处理此随机事件的程序,处理完后又回到原程序继续执行,这一过程叫“程序中断”。其特点是:(1)当数据传送“准备好”时由设备主动向CPU提出中断请求;(2)具有随机性;(3 )CPU与设备是并行工作的;(4)一般用于低速设备的数据传送。
DMA方式:依靠硬件在主存与I/O设备之间进行直接的数据传送,在传送期间不需要CPU程序干预。特点:速度快,适用于主存与高速I/O设备间的简单数据传送。
I/O 端口编址方式
1 与存储器统一编址
将I/O接口中的寄存器与内存单元统一编址,访问I/O接口如同访问内存
特点:操作灵活,不用专用I/O指令(如MOV或进行其它操作);占用内存部分地址
2 I/O 端口单独编址
设置单独I/O地址空间分时共享地址总线,设置专用的信号来区分是访问存储器与l/O,设置专用I/O指令
特点:不占用存储空间;专用I/O指令,灵活性差
接口
泛指两个设备(软,硬)之间的交接部分。
题目:谈谈你对未来计算机发展的看法