版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1页页第一章第一章 计算机系统概论计算机系统概论第二章第二章 运算方法和运算器运算方法和运算器第三章第三章 存储系统存储系统第四章第四章 指令系统指令系统第五章第五章 中央处理器中央处理器第六章第六章 总线系统总线系统目目 录录第第2页页【例】【例】 用一台用一台40MHz40MHz处理机执行标准测试程序,程序所含的混合指令数处理机执行标准测试程序,程序所含的混合指令数和每类指令的和每类指令的CPICPI如表所示,求有效如表所示,求有效CPICPI、MIPSMIPS速率和程序的执行时间。速率和程序的执行时间。 【解】【解】:总指令数为:总指令数为: 45000+32000+15000+80
2、00=100000 45000+32000+15000+8000=100000条条 各类指令所占的比例分别是:各类指令所占的比例分别是: 整数运算为整数运算为45%45%,数据传送为,数据传送为32%32%,浮点操作为,浮点操作为15%15%,控制传送为,控制传送为8%8%。 有效有效CPICPI、MIPSMIPS速率和程序的执行时间分别计算如下:速率和程序的执行时间分别计算如下: (1) (1)有效有效CPICPI为为 1 10.45+20.45+20.32+20.32+20.15+20.15+20.08=1.55CPI0.08=1.55CPI (2)MIPS (2)MIPS速率为速率为 4
3、0 4010106 6/(1.55/(1.5510106 6)25.8MIPS)25.8MIPS (3) (3)程序的执行时间为程序的执行时间为 100000 1000001.55/(401.55/(4010106 6)=0.003875s)=0.003875s第第3页页【例例】若浮点数若浮点数 x x 的二进制存储格式为的二进制存储格式为(41360000)(41360000)1616,求其,求其3232位浮点数的位浮点数的十进制值。十进制值。【解解】: 将x展开成二进制: 0 0100,0001100,0001, ,0 0011,0110,0000,0000,0000,0000011,01
4、10,0000,0000,0000,0000 数符:0 阶码:1000,0010 尾数:011,0110,0000,0000,0000,0000 指数e阶码1271000001001111111 00000011=(3)10 包括隐藏位1的尾数: 1.M1.011 0110 0000 0000 0000 00001.011011 于是有 x(1)s1.M2e (1.011011)231011.011(11.375)10第第4页页【例例】: : 将十进制数将十进制数20.5937520.59375转换成转换成3232位浮点数的二进制格式来存储。位浮点数的二进制格式来存储。【解解】:首先分别将整数
5、和分数部分转换成二进制数: 20.5937520.5937510100.1001110100.10011 然后移动小数点,使其在第1,2位之间 10100.100111.01001001124e4 于是得到: e = 127S0,E4127131=1000,0011,M010010011最后得到32位浮点数的二进制存储格式为 0100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16 第第5页页 【例】设机器字长16位,定点表示,尾数15位,数符1位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正
6、数是多少?最小负数是多少? 【解】 (1)定点原码整数表示 最大正数值(2151)10(32767)10 0111 1111 1111 1111 最小负数值(2151)10(32767)10 1111 1111 1111 1111 (2)定点原码小数表示 最大正数值(1215)10(0.111.11)2 最小负数值(1215)10(0.111.11)2 若把问题换成补码,则结果又是什么?即(1)定点补码整数表示时,最大正数是多少?最小负数是多少?(2)定点补码小数表示时,最大正数是多少?最小负数是多少?【解】 (1)定点补码整数表示 最大正数值(2151)10(32767)10 0111 11
7、11 1111 1111 最小负数值215(32768)10 1000 0000 0000 0000(2)定点补码小数表示 最大正数值(1215)10(0.111.11)2 最小负数值1 第第6页页 【解】 x补=00.1100 y补=00.1000 x补 0 0. 1 1 0 0 + y补 0 0. 1 0 0 0 0 1. 0 1 0 0 符号位出现“01”,表示已溢出,正溢。即结果大于+1【例】 x= +0.1100, y= +0.1000, 用变形补码求x+y。 【解】 x补=11.0100 y补=11.1000 x补 1 1.0 1 0 0 + y补 1 1.1 0 0 0 1 0.
8、1 1 0 0 符号位出现“10”,表示已溢出,负溢出。即结果小于-1【例】 x= -0.1100, y= -0.1000, 用变形补码求x+y。 第第7页页【例】: = +011,= +110, 变形移码求x+y移 和 x-y移, 并判断是否溢出。【解】:阶码取3位(不含符号位),其对应的真值范围是: -8+7x移= 01 011, y补= 00 110, -y补=11 010 x+y移= x移+ y补=x-y移= x移+ -y补= 01 011+ 00 110 10 001结果上溢。结果正确, 为-3。 01 011+ 11 010 00 101第第8页页【例】 设设1515,1313,用
9、带求补器的,用带求补器的原码阵列乘法器求出乘乘法器求出乘积积?(设最高位为符号位)?(设最高位为符号位)【解】 输入数据为:输入数据为: 原原 01111 原原 11101 乘积符号位:乘积符号位: xf yf=1 算前求补器的使能控制信号=0,算前求补输出为: |1111, |1101 1111 ) 1101 1111 0000 1111 1111 0 1 1000011 算后求补器的使能控制信号也为算后求补器的使能控制信号也为0,算后求补输出为:,算后求补输出为: 11000011, 加上符号位,最后乘积加上符号位,最后乘积 原原=1 11000011 其真值为:其真值为:xy=-1100
10、0011B=-195 第第9页页【例】 设设1515,1313,用带求补器的,用带求补器的补码阵列乘法器求出乘乘法器求出乘积积? 【解】 设最高位为符号位设最高位为符号位, ,则输入数据为:则输入数据为: 补补 01111 补补 10011 符号位单独运算,算前求补级输出为: |1111, |1101 1111 ) 1101 1111 0000 1111 1111 0 1 1000011 算后求补级输出为:算后求补级输出为: 00111101, 最后乘积最后乘积 补补=100111101 其真值为:其真值为:-11000011B=-195 第第10页页【例】设x=0.1101,y=-0.101
11、1,分别用带求补器的原码阵列乘法器、带求补器的补码阵列乘法器和直接补码阵列乘法器计算xy。【解】带求补器的原码阵列乘法器 x原=0.1101 y原=1.1011 乘积的符号位为:xfyf=01=1 因符号位单独考虑,算前求补器的使能控制信号为0,经算前求补后输出 x=1101,y=1011,其中x和y分别是x和y原码的数值位。 因算后求补器的使能控制信号为0,经算后求补后输出为10001111,加上乘积符号位1,得 xy原=1.10001111 所以 xy=-0.10001111 1101 1011 1101 1101 0000 + 1101 。 10001111第第11页页【解】带求补器的补
12、码阵列乘法器 x补=0.1101 y补=1.0101 乘积的符号位为:xfyf=01=1 因算前求补器的使能控制信号分别为被乘数和乘数的符号位,经算前求补后输出 x=1101,y=1011,其中x和y分别是x和y原码的数值位。 1101 1011 1101 1101 0000 + 1101 。 10001111 因算后求补器的使能控制信号为乘积的符号位,经算后求补后输出为01110001,加上乘积符号位1,得 xy补=1.01110001 所以 xy=-0.10001111第第12页页 直接补码阵列乘法器 x补=0.1101 y补=1.0101 (0) 1 1 0 1 (1) 0 1 0 1
13、(0) 1 1 0 1 (0) 0 0 0 0 (0) 1 1 0 1 (0) 0 0 0 0 + 0 (1)(1)(0)(1) . 0 0 (1)(1) 1 1 0 0 0 1 (1) 1 0 1 1 1 0 0 0 1 xy补=1.0111001 所以 xy=-0.10001111 注意注意:在这三种阵列运:在这三种阵列运算中,一定要注意算中,一定要注意运算结果运算结果的位数的位数。 例如,参与运算的数位例如,参与运算的数位都是都是5 5位,则运算结果的位位,则运算结果的位数就应该是数就应该是1010位。位。第第13页页【例】设x=101001,y=-111,用原码阵列除法器计算xy。 【
14、解】: x原=0101001 , y原=1111 商的符号位为: xf yf=0 1=1 令x=101001,y=111, 其中x和y分别为x原和 y原的数值部分: x补=0101001, y补=0111, -y补=1001第第14页页 被除数/余数 商 说明 0101001 被除数被除数x补补 +-y补补 1001 第一步减去除数,即第一步减去除数,即+-y补补 1110001 q0=0 最高位向前产生的进位为最高位向前产生的进位为0,即商,即商0 + y补补 0111 向右错开1位,加上除数,即,加上除数,即+y补补 001101 q1=1 最高位向前产生的进位为最高位向前产生的进位为1,
15、即商,即商1 +-y补补 1001 向右错开1位,减去除数,即,减去除数,即+-y补补 11111 q2=0 最高位向前产生的进位为最高位向前产生的进位为0,即商,即商0 + y补补 0111 向右错开1位,加上除数,即,加上除数,即+y补补 0110 q3=1 最高位向前产生的进位为最高位向前产生的进位为1,即商,即商1 故得故得 商商q=q0q1q2q3=0101, 余数余数r=r3r4r5r6=0110 所以所以 xy原原=1101,余数余数原原=0110 其中,其中,余数的符号位与被除数相同余数的符号位与被除数相同 即即 xy=-101,余数,余数=110第第15页页【例】:利用741
16、81和74182器件设计如下三种方案的64位ALU;(1)行波CLA; (2) 两级行波CLA; (3) 三级CLA。 【解】: (1) 行波CLA 仅使用仅使用7418174181,用芯片的,用芯片的C Cn+4n+4进位输出作为下一级的进位输入进位输出作为下一级的进位输入C Cm m,片子内部有先行进位,片与片之间采用串行进位。片子内部有先行进位,片与片之间采用串行进位。6464位位ALUALU共需要共需要1616片片7418174181,运算速度最慢。,运算速度最慢。 第第16页页(2)两级行波CLA 需要16片74181和4片74182。每4片74181为一组,使用1片74182,可实
17、现4片74181之间的第二级先行进位。共有四组,组与组之间采用行波进位。速度比(1)快。第第17页页(3) 三级CLA 如图所示:多用一片如图所示:多用一片7418274182,实现第三级先行进位。此方案速度,实现第三级先行进位。此方案速度最快,最低位的进位信号可以直接传送到最高位(第最快,最低位的进位信号可以直接传送到最高位(第6464位)。位)。 第第18页页【例例】 两浮点数两浮点数x = 2010.1101,y = 211(-0.1010)。假设尾数在计算机。假设尾数在计算机中以补码表示,可存储中以补码表示,可存储4位尾数,位尾数,2位保护位,阶码以原码表示,求位保护位,阶码以原码表示
18、,求x+y。【解解】:将将x x, ,y y转换成浮点数据格式转换成浮点数据格式x浮 = 00 01, 00.110100 01, 00.1101,y浮 = 00 11, 11.0110 00 11, 11.0110步骤1:对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得 x浮 = 00 11, 00.001101步骤2:对尾数求和,得:x+y浮 = 00 11, 11.100101步骤3:由于符号位和第一位数相等,不是规格化数,向左规格化,得 x+y浮 = 00 10, 11.001010步骤4:截去。 x+y浮 = 00 10, 11.0010步骤5: 数据无溢出,因此结果为
19、 x+y = 210(-0.1110)第第19页页【例例】 设有浮点数设有浮点数=2=25 5 0.0110011, 0.0110011, = 2= 23 3 (-0.1110010), (-0.1110010), 阶码阶码用用4 4位移码表示位移码表示, , 尾数尾数 ( (含符号位含符号位) )用用8 8位补码表示。求位补码表示。求 浮浮。要求用。要求用补码完成尾数乘法运算补码完成尾数乘法运算, , 运算结果尾数保留高运算结果尾数保留高8 8位位( (含符号位含符号位), ), 并用尾数并用尾数低位字长值处理舍入操作。低位字长值处理舍入操作。 【解解】: : 阶码采用双符号位, 尾数补码采
20、用单符号位, 则有 MMx x 补补= 0.0110011, M= 0.0110011, My y 补补= 1.0001110, = 1.0001110, Ex移= 00 011,Ey移 = 01 011, Ey补= 00 011, x浮00 011, 0.0110011, y浮01 011, 1.0001110(1) (1) 求阶码和求阶码和Ex+ Ey移= Ex移+ Ey补= 00 011+ 00 011= 00 110,值为移码形式-2。第第20页页(2) (2) 尾数乘法运算尾数乘法运算 可采用补码阵列乘法器实现, 即有Mx补 My补 = 0.0110011补 1.0001110补=
21、1.1010010,1001010补(3) (3) 规格化处理规格化处理 乘积的尾数符号位与最高数值位符号相同, 不是规格化的数,需要左规, 阶码变为00 101(-3), 尾数变为 1.0100101,0010100。(4) (4) 舍入处理舍入处理 尾数为负数, 取尾数高位字长,按舍入规则, 舍去低位字长,故尾数为1.0100101 。 最终相乘结果为 其真值为 23 (0.1011011)浮00 101,1.0100101 第第21页页【例】【例】 设有若干片设有若干片256K256K8 8位的位的SRAMSRAM芯片,芯片,设设CPUCPU的接口信号有地址信号、的接口信号有地址信号、数
22、据信号、控制信号数据信号、控制信号MREQ#MREQ#和和R/W#R/W#。 问:问:(1) (1) 如何构成如何构成2048K2048K3232位的存储器?位的存储器?需要多少片需要多少片RAMRAM芯片?芯片?(2) (2) 该存储器需要多少字节地址位?该存储器需要多少字节地址位?(3) (3) 画出该存储器与画出该存储器与CPUCPU连接的结构图。连接的结构图。【解】【解】:采用字位扩展的方法。需要采用字位扩展的方法。需要3232片片SRAMSRAM芯片。芯片。 ramsel73-8 译码ramsel2ramsel1ramsel0A20-18A20-0A17-0OE#MREQ#R/W#C
23、PUD31D0D31D0D31D0D31D0D31D0WE A CE256Kx84 片DWE A CE256Kx84 片DWE A CE256Kx84 片DWE A CE256Kx84 片D第第22页页存储器设计举例存储器设计举例 CPU CPU的地址总线的地址总线1616根根(A(A1515AA0 0,A A0 0为低位为低位) );双向数据总线;双向数据总线8 8根根(D(D7 7DD0 0) ),控制总线中与主存有关的信号有:控制总线中与主存有关的信号有: MREQ# MREQ#,R/W#R/W#。主存地址空间主存地址空间分配如下:分配如下: 08191 08191为系统程序区,由只读存
24、储芯片组成;为系统程序区,由只读存储芯片组成; 819232767 819232767为用户程序区;为用户程序区; 最后最后( (最大地址最大地址)2K)2K地址空间为系统程序工作区。地址空间为系统程序工作区。现有如下存储器芯片:现有如下存储器芯片: EPROM EPROM:8K8K8 8位位( (控制端仅有控制端仅有CS);CS); SRAM SRAM:16K16K1 1位,位,2K2K8 8位,位,4K4K8 8位,位,8K8K8 8位。位。 请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑器逻
25、辑框图,注意画出选片逻辑( (可选用门电路及可选用门电路及3838译码器译码器74LS138)74LS138)与与CPU CPU 的连接,说明选哪些存储器芯片,选多少片。的连接,说明选哪些存储器芯片,选多少片。第第23页页【解】【解】: (1) (1) 主存地址空间分布如图所示主存地址空间分布如图所示。 16 16根地址线寻址根地址线寻址 64K 64K 地址范围:地址范围:0000 0000 FFFFH(65535) FFFFH(65535) 根据条件,选定芯片:根据条件,选定芯片:EPROMEPROM:8K8K8 8位位 1 1片片 系统程序区系统程序区SRAMSRAM: 8K 8K8 8
26、位位 3 3片片 用户程序区用户程序区 2K 2K8 8位位 1 1片片 系统程序工作区系统程序工作区8K(EPROM)24K(SRAM)30K(空空)2K(SRAM)00001FFF20007FFFF800FFFF第第24页页地址空间分配表地址空间分配表第第25页页(2) (2) 连接电路连接电路片内寻址:片内寻址:8K8K芯片芯片片内片内1313根根 A12A02K2K芯片芯片片内片内1111根根 A10A0片间寻址:片间寻址:前前32K 32K A15A14A13 译码线译码线 0 0 0 Y0# 0 0 1 Y1# 0 1 0 Y2# 0 1 1 Y3#最后最后2K 1 1 1 加加
27、A12A11 1 1EPROM: 0000H1FFFHSRAM1: 2000H3FFFHSRAM2: 4000H5FFFHSRAM3: 6000H7FFFHSRAM4: F800HFFFFH第第26页页第第27页页【例】【例】 某某CPUCPU地址总线为地址总线为A A1515A A0 0,数据总线为,数据总线为D D7 7D D0 0;其主存系统中,地址;其主存系统中,地址空间空间0000H0000H1FFFH1FFFH为为ROMROM区域,区域,ROMROM芯片为芯片为8K8K8 8位;从地址位;从地址4000H4000H开始,用开始,用8K8K4 4位的位的SRAMSRAM芯片组成一个芯
28、片组成一个24K24K8 8位的位的RAMRAM区域,假设区域,假设RAMRAM芯片有芯片有WE#WE#和和CS#CS#信号控制端。设读信号控制端。设读/ /写控制信号为写控制信号为R/W#R/W#,访存允许信号为,访存允许信号为MREQ#MREQ#,要求:,要求: (1 1)给出地址译码方案及各存储芯片地址分配表;)给出地址译码方案及各存储芯片地址分配表; (2 2)画出主存与)画出主存与CPUCPU的连接图。的连接图。【解】【解】:根据题意,需要:根据题意,需要ROM 1ROM 1片,需要片,需要RAM 6RAM 6片(片(3 3组,每组组,每组2 2片)。其中片)。其中A A1212 A
29、 A0 0用于片内译码,用于片内译码, A A1515 A A1313用于片间译码。用于片间译码。 采用采用3 3:8 8译码器,各译码器,各存储芯片地址为:存储芯片地址为: ROM: 0000H-1FFFH Y ROM: 0000H-1FFFH Y0 0# # RAM1: 4000H-5FFFH Y RAM1: 4000H-5FFFH Y2 2# # RAM2: 6000H-7FFFH Y RAM2: 6000H-7FFFH Y3 3# # RAM3: 8000H-9FFFH Y RAM3: 8000H-9FFFH Y4 4# #第第28页页第第29页页 【例】【例】 设主存储器容量为256
30、字,字长为32位,模块数m=4,分别用顺序方式和交叉方式进行组织。主存储器的存储周期T=200ns,数据总线宽度为32位,总线传送周期=50ns。若按地址顺序连续读取4个字,问顺序存储器和交叉存储器的带宽各是多少?【解】【解】:顺序存储器和交叉存储器按地址顺序连续读出4个字的信息总量都是: q=32b4=128b 顺序存储器和交叉存储器按地址顺序连续读出4个字所需的时间分别是: t顺=nT=4200ns=800ns t交=T+(n-1)=200ns+350ns=350ns 顺序存储器和交叉存储器的带宽分别是: W顺=q/t顺=128b800ns=160Mb/s W交=q/t交=128b350n
31、s366Mb/s第第30页页【例】【例】 设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。问顺序存储器和交叉存储器的带宽各是多少?【解】【解】 顺序存储器和交叉存储器连续读出m=4个字的信息总量都是: q=64位4=256位顺序存储器和交叉存储器连续读出4个字所需的时间分别是: t2=mT=4200ns=800ns=810-7s; t1=T+(m-1)=200ns+350ns=350ns=3.510-7s 顺序存储器和交叉存储器的带宽分别是: W2=q/t2=256(810-7)=32107
32、位/s W1=q/t1=256(3.510-7)=73107位/s 第第31页页【例】【例】CPU执行一段程序时,Cache完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache存取周期为50ns,主存存取周期为250ns,求Cache/主存系统的效率和平均访问时间。 【解】【解】先求出命中率及倍率: 95.010019001900mccNNNh550250mcttrCache/主存系统的效率: %3.8395.0)51(51)1(1hrre平均访问时间: nsnsnsthhttmca60250)95. 01 (5095. 0)1 (nsnsettca60833.050或第第
33、32页页【例】【例】一台计算机的主存容量为一台计算机的主存容量为16M16M字,字,CacheCache容量为容量为64K64K字,每块的大字,每块的大小为小为1K1K个字,主存和个字,主存和CacheCache之间采用组相联映像,假设每组为之间采用组相联映像,假设每组为1616块。请块。请设计在此条件下的主存地址格式和设计在此条件下的主存地址格式和CacheCache地址格式。地址格式。 【解】【解】:主存容量主存容量16M=216M=22424字,字,CacheCache容量容量64K=264K=21616字,块的大小字,块的大小1K=21K=21010字字 64K/(16 64K/(16
34、1K)=4 1K)=4 CacheCache分为分为4 4组。组。 主存分区:主存分区: 16M/64K=216M/64K=28 8 因此主存分为因此主存分为256256(2 28 8)个区。)个区。 CacheCache地址格式如下地址格式如下: 主存地址格式如下主存地址格式如下: 组号组号块号块号块内地址块内地址 2位 4位 10位组号组号块号块号块内地址块内地址区号区号 8位 2位 4位 10位第第33页页【例】【例】:已知主存容量为64MB,虚存容量为4GB,页面大小为16KB,求页表长度? 【解】【解】: 以字节为单位,已知: 主存容量为64MB=225B,即主存地址为 25位; 虚
35、存容量为4GB=232B,虚存地址为32位; 页面大小为16KB=214B,即页大小为14位; 因页表要包含所有虚(逻辑)页号,故页表长度为: 32-14=18位,即218。 虚页号(18位)页地址(14位)虚存容量(虚存容量(32位)位)第第34页页【例】【例】:某虚拟存储器共有8个页面,每页为1024个字,实际主存为4096个字,采用页表法进行地址映象。映象表如表所示(1表示装入)。【解】【解】:(1)页面失效的虚页号: 2、3、5、7。(2)地址(逻辑地址) 0,3728, 1023,1024。 页内位移: 0, 656, 1023, 0 实地址: 3072, 无, 4095,10241
36、. 会发生页面失效的全部虚页号;2. 按以下虚地址计算主存实地址:0,3728,1023,1024。第第35页页 扩展操作码举例扩展操作码举例【例】【例】 设某指令系统,有三类指令,如图所示,假设二地址指令有15条,一地址指令62条,则零地址指令最多有多少条?整个指令系统可以有多少条指令?【分析】【分析】 二地址指令有15条,则其未使用的编码还剩下: 24-15=1个 设没使用的编码为1111,这个编码作为一地址指令操作码的扩展标志扩展标志, 1111 XXXXXX 由于由于A A1 1字段的位数是字段的位数是6 6位,位,因此用一个扩展标志因此用一个扩展标志11111111就可以就可以扩展出
37、扩展出2 26 6=64=64种一地址指令的操种一地址指令的操作码。作码。 如果机器只需要如果机器只需要6262条一地址指令,则条一地址指令,则余下的两个编码(余下的两个编码(11111111101111111110、11111111111111111111)都可以作为零地址指令操作)都可以作为零地址指令操作码的扩展标志,扩展到一地址指令的码的扩展标志,扩展到一地址指令的A A字字段,就形成了零地址指令。段,就形成了零地址指令。 1111 111110 1111 111111 由于由于A A字段的位数是字段的位数是6 6位,因此用两个标志位可以扩展出位,因此用两个标志位可以扩展出2 22 26
38、 6=128=128种零地址指令的操作码。种零地址指令的操作码。 整个指令系统可以有整个指令系统可以有 15+62+128=205 15+62+128=205条指令。条指令。 若指令系统要求设计若指令系统要求设计180180条条一地址指令,则二地址指令最多一地址指令,则二地址指令最多可以有多少条?此时零地址指令可以有多少条?此时零地址指令最多可以有多少?最多可以有多少? 若一地址指令若一地址指令180180条,则需要条,则需要3 3个扩展标志,则二地址指令最多可个扩展标志,则二地址指令最多可以有以有2 24 4-3=13-3=13条,零地址指令最多可以有条,零地址指令最多可以有 (3 3* *
39、2 26 6-180-180)* *2 26 6 =768 =768 条条第第36页页【例例】:机器字长为:机器字长为1616位,指令格式如下所示,其中位,指令格式如下所示,其中OPOP为操作码,试分为操作码,试分析指令格式的特点。析指令格式的特点。 OP-源寄存器源寄存器目标寄存器目标寄存器15 97 4 3 0【解解】: (1) (1) 单字长二地址指令。单字长二地址指令。 (2) (2) 操作码字段操作码字段OPOP可以指定可以指定128128条指令。条指令。 (3) (3) 源寄存器和目标寄存器都是通用寄存器(可分别指定源寄存器和目标寄存器都是通用寄存器(可分别指定1616个),个),
40、所以是所以是RRRR型指令,两个操作数均在寄存器中。型指令,两个操作数均在寄存器中。 (4) (4) 这种指令结构常用于算术逻辑运算类指令。这种指令结构常用于算术逻辑运算类指令。第第37页页【例例】: 一种二地址一种二地址RS型指令的结构如下所示:型指令的结构如下所示:OP通用寄存器通用寄存器IX偏移量偏移量D6位位 4位位 1位位 2位位 16位位 其中其中I为间接寻址标志位,为间接寻址标志位,X为寻址模式字段,为寻址模式字段,D为偏移量字段,通过为偏移量字段,通过I,X,D的组合,可构成下表所示的寻址方式。请写出的组合,可构成下表所示的寻址方式。请写出6种寻址方式的名称。种寻址方式的名称。
41、寻址方式举例寻址方式举例寻址方式寻址方式IX有效地址有效地址E算法算法说明说明(1)(2)(3)(4)(5)(6)000110000110110011EDE(PC)DE(R2)DE(R3)E(D)E(R1)D PC为程序计数器为程序计数器R2为变址寄存器为变址寄存器 R1为基址寄存器为基址寄存器解解:(1)直接寻址)直接寻址(6)基址寻址)基址寻址 (2)相对地址)相对地址(3)变址寻址)变址寻址 (4)寄存器间接寻址)寄存器间接寻址(5)间接寻址)间接寻址第第38页页【例例】 设有一台计算机,其指令长度为16位,有一类RS型指令的格式: 其中,OP为操作码,占6位;R为寄存器编号,占2位,可
42、访问4个不同的通用寄存器;MOD为寻址方式,占2位,与形式地址A一起决定源操作数,规定如下: MOD=00,为立即寻址,A为立即数; MOD=01,为相对寻址,A为位移量; MOD=10,为变址寻址,A为位移量。 假定要执行的指令为加法指令,存放在1000H单元中,形式地址A的编码为01H,其中H表示十六进制数。该指令执行前存储器和寄存器的存储情况如图所示,假定此加法指令的两个源操作数中一个来自于形式地址A或者主存,另一个来自于目的寄存器R0,并且加法的结果一定存放在目的寄存器R0中。 第第39页页 在以下几种情况下,该指令执行后,R0和PC的内容为多少? (1)若MOD=00,(R0)= ;
43、 (2)若MOD=01,(R0)= ; (3)若MOD=10,(R0)= ;(PC)= 。 第第40页页【解解】: (1) 若MOD=00,为立即寻址,则指令格式中的形式地址部分即为立即数,因此一个源操作数为01H,另一个源操作数为R0的内容0015H,加法指令执行的结果为(R0)= 0016H 。 (2) 若MOD=01,为相对寻址,则一个源操作数的有效地址E=(PC)+A,在执行加法指令时,PC的值为下一条指令的地址,即(PC)=1001H,由此可以算出这个源操作数的有效地址为E=1001H+01H=1002H,这个操作数为(E)=1150H,另一个源操作数为R0的内容0015H,加法指令
44、执行的结果为(R0)= 1165H 。 (3) 若MOD=10,为变址寻址,则一个源操作数的有效地址E=(Rx)+A,由此可以算出这个源操作数的有效地址为E=1002H+01H=1003H,这个操作数为(E)=1250H,另一个源操作数为R0的内容0015H,加法指令执行的结果为(R0)= 1265H ;在执行加法指令时,PC的值为下一条指令的地址,即(PC)= 1001H 。 第第41页页【例例】某微机指令格式如下所示:某微机指令格式如下所示: 15 10 9 8 7 0OPXD 格式中 D 为位移量,X为寻址方式特征值: X=00 , 直接寻址; X=01, 用变址寄存器RI进行变址 X=
45、10, 用基址寄存器RB进行寻址 X=11, 相对寻址 设(PC)=2000H,(RI)=0150H, (RB)=1889H,请确定如下指令的有效地址: (1)4420H (2) 2244H (3) 730AH (4) 3566H (5) 6783H 第第42页页【解解】: 1)X=00 , D=20H , 有效地址EA=20H 2) X=10 , D=44H , 有效地址EA=1889H+44H=18CDH 3) X=11 , D=0AH , 有效地址EA=2000H+0AH=200AH 4) X=01 , D=66H , 有效地址EA=0150H+66H=01B6H 5) X=11 , D
46、=83H , 有效地址EA=2000H+FF83H=1F83H 第第43页页【例】【例】设寄存器R的值为2000,PC的值为3000,存储器如图所示,问在以下寻址方式下,指令访问到的操作数的值为多少? (1)寄存器直接寻址,R; (2)寄存器间接寻址,(R); (3)直接寻址,2000; (4)立即寻址,#2000; (5)相对寻址,-2000,(PC)。【解】【解】(1) 从寄存器R中读取操作数=2000; (2) E=2000,即地址为2000的存储单元读取操作数=1000; (3) E=2000,即地址为2000的存储单元读取操作数=1000; (4) 立即数就是要读取的操作数=2000
47、 ; (5) E=1000,即地址为2000的存储单元读取操作数=3000。第第44页页【例例】 假设机器字长假设机器字长1616位,主存容量为位,主存容量为128K128K字节,指令字长度为字节,指令字长度为1616位位或或3232位,共有位,共有9999条指令,设计计算机指令格式,要求有直接、立即数、条指令,设计计算机指令格式,要求有直接、立即数、相对、基值、间接、变址六种寻址方式。相对、基值、间接、变址六种寻址方式。【解解】:由已知条件,机器字长16位,主存容量128KB / 16= 64K字,因此MAR = 16位,共99条指令,故OP字段占7位。采用单字长和双字长两种指令格式,其中单
48、字长指令用于算术逻辑和I / O类指令,双字长用于访问主存的指令。R2R1OP15 9 8 6 5 3 2 0R2XOP15 9 8 6 5 3 2 0 D第第45页页 寻址方式由寻址模式寻址方式由寻址模式X X定义如下定义如下: X = 000 X = 000 直接寻址直接寻址 E = DE = D(64K64K) X = 001 X = 001 立即数立即数 D = D = 操作数操作数 X = 010 X = 010 相对寻址相对寻址 E = PC + D PC = 16E = PC + D PC = 16位位 X = 011 X = 011 基值寻址基值寻址 E = RE = Rb b
49、 + D + D ,R Rb b =16 =16 位位 X = 100 X = 100 间接寻址间接寻址 E = E = (D D) X = 101 X = 101 变址寻址变址寻址 E = RE = RX X + D + D ,R RX X = 10 = 10位位 第第46页页 OP Ri X D15 11 10 8 7 6 5 0 其中,其中,OPOP为操作码,占为操作码,占5 5位;位;R Ri i为通用寄存器编号,占为通用寄存器编号,占3 3位,用来指定位,用来指定目标空间,机器有独立的变址和基址寄存器;目标空间,机器有独立的变址和基址寄存器;X X为寻址方式特征码,占为寻址方式特征码
50、,占2 2位,位,与与D D一起决定源操作数,规定如下:一起决定源操作数,规定如下: X=00X=00,为立即寻址,为立即寻址,D D为立即量;为立即量; X=01X=01,为相对寻址,为相对寻址,D D为位移量;为位移量; X=10X=10,为变址寻址,为变址寻址,D D为位移量;为位移量; X=11X=11,为基址寻址,为基址寻址,D D为位移量。为位移量。 假定要执行的指令为加法指令(假定要执行的指令为加法指令(OP=1FHOP=1FH),存放在),存放在3000H3000H单元中。单元中。该指令执行前存储器和有关寄存器的存储情况如下,其内容用十六进制表该指令执行前存储器和有关寄存器的存
51、储情况如下,其内容用十六进制表示。变址寄存器的内容为示。变址寄存器的内容为1000H1000H,基址寄存器的内容为,基址寄存器的内容为2080H2080H。各寄存器内。各寄存器内容如下:容如下: R0=4000H, R1=5000H, R2=6000H, R3=7000H, R4=8000H, R5=9000H, R6=3000H, R7=1080H。 【例例】:设有一台计算机,其指令长度为:设有一台计算机,其指令长度为1616位,指令格式如下:位,指令格式如下:第第47页页 当YY=0F828H,0FA41H,0FBC6H时,分别写出指令执行后,目标寄存器和PC的内容。 第第48页页【解解】
52、: (1) YY=0F828H=11111 000 00 101000 X=00,立即寻址;目标寄存器为R0,D=28H。 执行加法操作后,即(R0)+DR0 (R0)= 4028H (PC)= 3001H (2) YY=0FA41H=11111 010 01 000001 X=01,相对寻址;目标寄存器为R2,D=1H, (PC)=3001H 执行完加法操作后,即 (R2)+(PC)+D)R2 (R2)= 6500H (PC)= 3001H OP Ri X D15 11 10 8 7 6 5 0第第49页页(3 3) YY=0FBC6H=11111 011 11 000110YY=0FBC6
53、H=11111 011 11 000110 X=11 X=11,变址寻址;目标寄存器为,变址寻址;目标寄存器为R3R3,D=6HD=6H 执行完加法操作后,执行完加法操作后, (R3R3)=7700H=7700H (PCPC)=3001H =3001H 第第50页页第五章第五章 中央处理器中央处理器【例】【例】:为双总线结构机器的数据通路,:为双总线结构机器的数据通路,IRIR为指令寄存器,为指令寄存器,PCPC为程序计为程序计数器数器( (具有自增功能具有自增功能) ),M M为主存为主存( (受受R/WR/W信号控制信号控制) ),ARAR为地址寄存器,为地址寄存器,DRDR为数据缓冲寄存
54、器,为数据缓冲寄存器, ALU ALU由加、减控制信号决定完成何种操作,控制信由加、减控制信号决定完成何种操作,控制信号号G G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中y yi i表示表示y y寄存器的输入控制信号,寄存器的输入控制信号,R R1o1o为寄存器为寄存器R R1 1的输出控制信号,未标字的输出控制信号,未标字符的线为直通线,不受控制。符的线为直通线,不受控制。 (1)“ADD R(1)“ADD R2 2,R R0 0”指令完成指令完成(R(R0 0)+(R)+(R2 2)R)R0 0的功能操作,画出其
55、指令周期的功能操作,画出其指令周期流程图,假设该指令的地址已放入流程图,假设该指令的地址已放入PCPC中。并列出相应的微操作控制信号中。并列出相应的微操作控制信号序列。序列。 (2)“SUB R(2)“SUB R1 1,R R3 3”指令完成指令完成(R(R3 3)-(R)-(R1 1)R)R3 3的操作,画出其指令期流程图,的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。并列出相应的微操作控制信号序列。 第第51页页【例】【例】:为双总线结构机器的数据通路,:为双总线结构机器的数据通路,IRIR为指令寄存器,为指令寄存器,PCPC为程序计为程序计数器数器( (具有自增功能具有自增
56、功能) ),M M为主存为主存( (受受R/WR/W信号控制信号控制) ),ARAR为地址寄存器,为地址寄存器,DRDR为数据缓冲寄存器,为数据缓冲寄存器, ALU ALU由加、减控制信号决定完成何种操作,控制信由加、减控制信号决定完成何种操作,控制信号号G G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中y yi i表示表示y y寄存器的输入控制信号,寄存器的输入控制信号,R R1o1o为寄存器为寄存器R R1 1的输出控制信号,未标字的输出控制信号,未标字符的线为直通线,不受控制。符的线为直通线,不受控制。 (1)“
57、ADD R(1)“ADD R2 2,R R0 0”指令完成指令完成(R(R0 0)+(R)+(R2 2)R)R0 0的功能操作,画出其指令周期的功能操作,画出其指令周期流程图,假设该指令的地址已放入流程图,假设该指令的地址已放入PCPC中。并列出相应的微操作控制信号中。并列出相应的微操作控制信号序列。序列。 (2)“SUB R(2)“SUB R1 1,R R3 3”指令完成指令完成(R(R3 3)-(R)-(R1 1)R)R3 3的操作,画出其指令期流程图,的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。并列出相应的微操作控制信号序列。 第第52页页双总线结构机器的数据通路双总线结
58、构机器的数据通路IRPCARDRR0 R1 R2 R3MXYA A总线总线B B总线总线IRiIRoPCiPCoDRiDRoR0iR0oR3iR3oARiR/WXiYi+-GALU执行:执行:PCARPCAR相应的微操作控制信号:相应的微操作控制信号:PCPCO O,G G,ARARi iALUO第第53页页R0YR2XR0+R2R0R0O,G,YiR2O,G,Xi+,G,R0iPCARMDRDRIRPCO,G,ARiDRo,G,IRiR/W=RR3YR1XR3-R1R3R3O,G,YiR1O,G,Xi-,G,R3iPCARMDRDRIRPCO,G,ARiDRo,G,IRiR/W=RADD R
59、2, R0SUB R1, R3思考题思考题若将指令若将指令ADD R2,R0ADD R2,R0改为改为ADD R2,(R0), ADD R2,(R0), 画出相应流程画出相应流程第第54页页 【例】【例】 单总线结构机器的数据通路如单总线结构机器的数据通路如图所示,图所示,IRIR为指令寄存器,为指令寄存器,PCPC为程序计数为程序计数器,器,MARMAR为主存地址寄存器,为主存地址寄存器,MDRMDR为主存数为主存数据缓冲寄存器,据缓冲寄存器,R R0 0R Rn-1n-1为为n n个通用寄存器,个通用寄存器,Y Y为为ALUALU的输入数据暂存寄存器,的输入数据暂存寄存器,Z Z为为ALU
60、ALU的的结果暂存寄存器,结果暂存寄存器,SRSR为状态寄存器。为状态寄存器。 (1)“ADD R(1)“ADD Rd d,R Rs1s1,R Rs2s2”指令的功能是指令的功能是将将R Rs1s1和和R Rs2s2中的数据相加,结果送入中的数据相加,结果送入RdRd中,中,画出其指令周期流程图。画出其指令周期流程图。 (2)“LOAD R (2)“LOAD Rd d,mem”mem”指令的功能是执指令的功能是执行读存储器数据到行读存储器数据到R Rd d,其中,其中memmem为内存地址为内存地址值,画出其指令周期流程图。值,画出其指令周期流程图。 第第55页页第第56页页【例】【例】已知某
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某机械制造车间安全检查制度
- 叉车驾驶安全准则
- 2026标准研究院面试题库及答案
- 2026编导面试题目及答案
- 2025年圆号演奏气息控制
- 7.4拉普拉斯变换的应用
- 【前景分析】2026版中国胃肠镜行业市场现状调查及发展趋势预测报告
- 2026年低空物流系统用户培训手册编制
- 小学二年级上册乐器认知
- 小学二年级下册成长题发展知识点测试试卷
- 2025年物业服务与管理职业技能测试试题及答案
- 2025年高考真题-政治(云南卷) 含答案
- 药品陈列销售管理制度
- DB5101∕T 43-2018 A级旅游景区安全风险辨识与评估
- 2025年陕西西安工业投资集团有限公司招聘笔试参考题库含答案解析
- 内蒙古包头市青山区2025年中考二模语文试题(含答案)
- 中医治疗慢性肾脏病
- 2025北京初三一模数学汇编:几何综合(第27题)
- 连人带车合同协议书
- 家电维修行业O2O服务平台建设方案
- 数字电子技术(第五版) 课件 第5章 时序逻辑电路
评论
0/150
提交评论