计算机组成原理3_5指令、指令格式和寻址方式.ppt_第1页
计算机组成原理3_5指令、指令格式和寻址方式.ppt_第2页
计算机组成原理3_5指令、指令格式和寻址方式.ppt_第3页
计算机组成原理3_5指令、指令格式和寻址方式.ppt_第4页
计算机组成原理3_5指令、指令格式和寻址方式.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 3 章 第 1 讲,两项内容: 指令、指令格式和寻址方式 教学计算机指令系统概述 TEC-2000型 16位 和 8位 字长的 教学机指令系统实例 作业:熟悉16位机的指令系统和程序设计 思考 8位机的指令系统:组成、格式(操作码编码、寻址方式等),单字指令仅用一个指令字。 双字指令要用两个指令字, 此时第二个指令字的内容可能是立即数、一个直接地址或一个变址位移量。,TEC-2000 教学机的指令格式,操 作 码,目的寄存器,源寄存器,I/O 端 口 地 址,相对转移指令的偏移量,直接数 / 内存地址 / 指令中变址偏移量,8位 4位 4位,单字指令仅由一个指令字组成,分为三个主要部分。

2、最高 8 位是操作码。从这个意义上讲, 教学机的基本指令是固定长度的操作码结构, 最多支持 256 条基本指令。 最低的 8 位有多种用法:给出 1 或 2 个寄存器的编号, 或入/出端口的地址, 或用于给出相对转移指令的偏移量。 双字指令要由两个指令字组成,此时第二个指令字的内容可能是: 立即数、 一个直接地址、 或 一个变址位移量。,操 作 码,目的寄存器,源寄存器,I/O 端 口 地 址,相对转移指令的偏移量,直接数 / 内存地址 / 指令中变址偏移量,8位 4位 4位,TEC-2000 教学机的指令格式,第1个指令字,第2个指令字,操作码组织和汇编语句命名规则,8 位固定长度的操作码

3、IR15_IR8 IR1514 用于区分指令分组 IR13 用于区分基本指令和扩展指令 IR12 用于简化逻辑表达式(暂全定为 0) IR118 用于区分同组内的不同指令 汇编语句命名规则: R: 寄存器 D: 立即数 JR: 相对寻址 X: 变址寻址 A: 直接地址 例如, MVRR MVRD JR(JRC) STRR LDRX CALA JMPA CALR JMPR LDRA,TEC-2000 16位机基本指令系统,指令格式 汇编语句 操作数个数 CZVS 指令分组 功能说明 00000000 DRSR ADD DR,SR 2 * A DRDR+SR 00000001 DRSR SUB D

4、R,SR 2 * A DRDR-SR 00000010 DRSR AND DR,SR 2 * A DRDR and SR 00000011 DRSR CMP DR,SR 2 * A DR-SR 00000100 DRSR XOR DR,SR 2 * * A DRDR xor SR 00000101 DRSR TEST DR,SR 2 * * A DR and SR 00000110 DRSR OR DR,SR 2 * * A DRDR or SR 00000111 DRSR MVRR DR, SR 2 A DRSR 00001000 DR0000 DEC DR 1 * A DRDR-1 000

5、01001 DR0000 INC DR 1 * A DRDR+1 00001010 DR0000 SHL DR 1 * A DR,CDR*2 00001011 DR0000 SHR DR 1 * A DR,CDR /2 01000001 OFFSET JR ADR 1 A 无条件跳转 01000100 OFFSET JRC ADR 1 A C=1 时跳转 01000101 OFFSET JRNC ADR 1 A C=0 时跳转 01000110 OFFSET JRZ ADR 1 A Z=1 时跳转 01000111 OFFSET JRNZ ADR 1 A Z=0 时跳转,TEC-2000 16

6、位机基本指令系统,指令格式 汇编语句 操作数个数 CZVS 指令分组 功能说明 10000000 0000000 JMPA ADR 1 B 无条件跳到ADR ADR(16位) 10000001 DRSR LDRR DR,SR 2 B DRSR 10000010 I/O PORT IN I/O PORT 1 B R0I/O PORT 10000011 DRSR STRR DR,SR 2 B DRSR 10000100 00000000 PSHF 0 B FLAG 入栈 10000101 0000SR PUSH SR 1 B SR 入栈 10000110 I/O PORT OUT I/O PORT

7、 1 B I/O PORTR0 10000111 DR POP DR 1 B 出栈到 DR 10001000 DR0000 MVRD DR, DATA 2 B DRDATA DATA(16位) 10001100 00000000 POPF 1 * * B FLAG出栈 10001111 00000000 RET 1 B 子程序返回 11001110 00000000 CALA ADR 1 D 调用子程序 ADR(16位),二、控制器的功能与组成,1. 控制器的功能: 控制执行指令 控制各部件协调运行,即为各部件提供控制信号。 2. 控制器的组成: 程序计数器 指令寄存器 指令步骤标记线路 提供

8、控制信号的部件 分类 : 微程序的控制器 硬布线的控制器,2. 控制器的组成,程序计数器PC:存放指令地址,有+1或接收新值功能 指令寄存器IR:存放指令内容:操作码与操作数地址 主脉冲源与启停控制线路,按需要给出主脉冲信号 指令执行步骤标记线路: 指明每条指令的执行步骤 控制信号保存或形成线路:给出计算机各功能部件部件协同运行所需要的控制信号。,运算器部件,主存储器部件,总线及输入/输出接口(输入/输出设备),控制器部件本身,各部件包括,也包括,设计中的难点,在于解决对运算器、控制器的控制,每条指令的执行步骤,读取指令 指令地址送入主存地址寄存器 读主存,读出内容送入指定的寄存器 分析指令

9、按指令规定内容执行指令 不同指令的操作步骤数, 和具体操作内容差异很大, 检查有无中断请求 若有,则响应中断并转中断处理 若无,则转入下一条指令的执行过程,R_R类型指令 读写内存类型指令 输入输出类型指令 其他类型指令,可能执行 一次或多次,是一次读 内存操作,公共操作,公共操作,是每一条指令的特定操作,第 3 章 第 2 讲 1. 微程序控制器的组成、运行原理 2. 微指令的格式和下地址的处理技术 3. 主存储器、计算机总线、接口电路等预备性知识,控制 存储器,映射,IR,PC,输出 设备,输入 设备,主 存,运算器 部件,下地址,启停,地址寄存器械,数据总线,地址总线,控制总线,.,控制

10、条件,微指令寄存器,主振,微程序 方案的 控制器,微程序控制器部件 56位的微指令字长, 微下地址字段16位, 控制命令字段40位, 7 片 28C64 组成控存。 1 片 28C65,从指令操 作码产生微地址, 1 片 374 存 8 位下地址, 1 片 273 存 8 位条件码, 1 片377存8位现微地址。 1 片Am2910给出下一条 微指令地址, 1 片GAL 按判断条件产 生微指令转移信号/CC; 5 片GAL用作为 5 片 8位 的 D 触发器的寄存器, 2 片GAL 实现两个4 位的 2 选 1 芯片功能。 8 或 16位的指令寄存器。,控制 存储器,映射,IR,PC,接口 输

11、出 设备,主 存 储 器,运算器 部件,下地址,启停,地址寄存器,数据总线,地址总线,控制总线,.,控制条件,微指令寄存器,主振,微程序 方案的 控制器,接口 输入 设备,微程序控制器组成与设计,Am2910,MAPROM,SCC Gal,控制存储器( ROM),指令操作码,微指令转移的控制条件,/CC,微指令寄存器,0MRW SA I86 B口 0SST DC2 0 I20 SB I53 A口 SSHSCI DC1,CP,/G,读命令,1. 确定指令功能与格式 2. 划分指令执行步骤 3.确定微指令格式 4. 设计微指令内容 5. 把新微指令写入控存 6. 需要时修改 MAPROM 和 SC

12、C Gal等 7. 调试并且运行,B 口二选一,A 口二选一,IR.SR,IR.DR,/MAP,/PL,第3章 第3讲,微程序控制器的微程序设计,控制器部件,总体要求:控制器部件的功能、组成、设计与实现是课程教学中的重点难点内容,应该学得好一点。 设计控制器的基础和依据是指令系统,包括指令的功能、格式、选用的寻址方式等; 控制器的功能和组成概述,指令的执行步骤概述等内容要非常清楚地理解,这是学习后续知识的指导性纲要; 依据指令系统和计算机组成的初步设计,完成不同类型指令的执行步骤设计(分成几步,各步骤的功能和接续关系)是更为基础一点的内容; 依据计算机的各功能部件的运行要求,设计控制器应该提供

13、给各功能部件的控制信号,是控制器设计的一个步骤; 设计每条指令的每一个执行步骤所用的控制信号是控制器设计过程中最机械、费时、繁琐的一个步骤; 硬连线的控制器和微程序的控制器用不同的方法提供全部控制信号,并用不同的方法实现对自身的控制作用。 指令执行过程的流水线控制是提高指令执行速度的有效措施,这些内容不作为基本教学要求。,PC 0,AR PC PCPC+1,IR(AR),/MAP,寄存器之间 运算与传送,读、写内存 AR地址,AR地址,读、写内存 或 I/O 接口,读、写内存 PC地址,(2) 16 位机的基本指令、扩展指令执行流程图,A组,B组,C组,D组,/Reset,B、C、D组,加电启

14、动时, 执行 0PC,接下来的两步, 完成取指操作,按指令操作码, 读出相应微指令,按指令具体功能, 再分别用 1、2、 3、4 步完成不同 指令组的中各条 指令的执行过程,最后检查中断请 求信号,有请求 时则响应中断, 否则开始下一条 指令的执行过程,下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1,00 E 0 4 3 2 0 5 5 0 1 3 0 00 E 0 1 0 1 0 0 0 0 0 1 0 00 2 0 4 0 1 0 0 0 0 0 0 0,指令执行流程表举例,ADD DR, SR MVRR

15、 DR, SR IN IO-PORT CALA ADR,第 1 条微指令和第 2 条微指令用于完成读取指令,具体操作功能是: PCAR ,PC+1PC;PC 是 R5,A口 和 B口 均选5, B口内容+1 送 B口;输出A口的内容送AR寄存器。读主存, 读出内容 IR ; 微指令都是顺序执行,故 2910选 14# 命令。 第 3 条微指令按读出的指令的操作码,形成相应微指令的地址,读出该条微指令并将其写入微指令寄存器, 2910选 2# 命令,控制运算器的 I8I6 选 001 码,保证运算器的各寄存器内容不变化。 无存储器和IO读写,故/MIO REQ /WE 选 100 码。,下址 C

16、I30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1,00 E 0 4 3 2 0 5 5 0 1 3 0 00 E 0 1 0 1 0 0 0 0 0 1 0 00 2 0 4 0 1 0 0 0 0 0 0 0,30 3 0 4 1 B 8 0 0 1 0 0 0 3 0 4 4 B 8 0 0 0 0 0 0,指令执行流程表举例,ADD DR, SR MVRR DR, SR IN IO-PORT CALA ADR,第 3 条微指令和第 4 条微指令 用于完成两个累加器之间的相加和传送操作。具体操作是:2 累加器相加,

17、DR+SRDR,A口和B口 编码来自指令寄存器,故SA 和 SB都给 1 值;下微指令转判中断请求, 故 2910选 3# 命令且 SCC 为 0000, 必转 30。 第 4 条微指令,完成两个累加器之间的数据传送,累加器SR的内容和 0相加,存入DR寄存器中,不保存标志位的值,故SST为000,无存储器和 IO读写。这两条微指令内容有些类似。,下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1,14 3 6 4 7 1 0 0 0 0 0 3 2 30 3 0 3 7 3 0 0 0 0 0 0 0,指令执行

18、流程表举例,ADD DR, SR MVRR DR, SR IN IO-PORT CALA ADR,第 5、6 两条微指令完成读串行接口,具体操作是:先送 IO 端口地址( 在 IR 的低 8位)到地址寄存器AR,DC1 为 2 选 IR 的低 8位送内部总线,经 ALU ( 送出 D+0 )到 AR (DC2 为 3 是 AR 接收);IN 指令时转14# 微指令(下地址 3 个字段为 14 3 6); 下一微指令完成读串口输入到内部总线,把D+0 送到 ALU并写进 R0( B 口选 0000);转判中断请求, 故 CI 选 3# 且 SCC 为 0000, 必转 30。,下址 CI30 S

19、CC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1,00 E 0 4 3 2 0 5 5 0 1 3 0 00 E 0 1 7 0 0 0 0 0 0 0 0 00 E 0 4 3 3 1 4 0 0 0 3 0 3 0 0 2 2 0 5 5 0 0 0 1,指令执行流程表举例,ADD DR, SR MVRR DR, SR IN IO-PORT CALA ADR,后 4 条微指令之间顺序执行,前 3 条的 CI 都是 E,依次完成:1. PCAR,PC+1 PC;(控制命令同读取指令的第1步) ; 2. 读内存 (MRW=001

20、) 送 Q (D+0 Q) (子程序入口); 3. 修改堆栈指针并送AR, SP-1 SP,AR;SP 是 R4,即R4 的内容-1 R4 和 AR ( DC2 为 3 是 AR 接收); 4. 写断点( PC的内容)到堆栈 , 即 A 口指定的寄存器 (R5)的内容经数据总线送到内存并写入;子程序的入口地址 (在 Q 中)(Q的内容+0)送入 PC(B 口指定 R5)。下地址控制完成转向判中断请求的微指令的地址 30 处 。,作业: 1. 认真看懂A、B、D组指令的执行步骤,你能提出什么改进或者变动的意见吗?说明每组指令各步骤完成的主要功能。说明取指的两个步骤的控制信号的控制作用。 2. 认

21、真看懂ADD指令执行步骤的控制信号的控制作用,写出SUB、OR、AND指令执行步骤的控制信号,指出它们和 ADD 指令使用的控制信号的区别。 3. 写出 JR 和 JRC 指令在执行功能、执行步骤和使用的控制信号方面的区别。 4. 写出 PUSH DR 和 POPF在指令格式、执行功能和执行步骤中使用的控制信号方面的区别。 5. 总结教学计算机中确定微指令下地址的方式和在微指令字中的具体的控制办法。,第 3 章 第 4 讲,前 3 次课教学内容总结与细化 16位机微程序控制器验证性教学实验 8 位教学计算机的控制器设计与实现,通知 1. 从下一周开始进行控制器验证性的教学实验,请各班课代表与实

22、验室的周老师具体落实实验时间。实验内容与要求等有一个文本文件。争取在一周内全部完成。 2. 有条件的同学可以开始思考8位机的指令系统和微程序的控制器设计。本月底之前全面启动这一工作,减少讲课内容,教师带领同学开展设计任务,力争2周时间内结束主要设计工作。 3. 留学生可以开始控制器的教学实验。请你们自己去与实验室的周老师具体落实实验时间和具体实验内容,你们的实验在 TEC-2 教学计算机上完成。 TEC-2 机只支持16位字长和微程序控制器方案。,TEC-2000 8位机基本指令系统,指令格式 汇编语句 操作数个数 CZVS 指令分组 功能说明 0000 DRSR ADD DR,SR 2 *

23、A DRDR+SR 0001 DRSR SUB DR,SR 2 * A DRDR-SR 0010 DRSR AND DR,SR 2 * * A DRDR and SR 0011 DRSR CMP DR,SR 2 * A DR-SR 0100 DRSR MOV DR,SR 2 A DR SR 1001 00DR DEC DR 1 * A DRDR-1 1010 00DR SHR DR 1 * A DR,CDR/2 1011 01DR SHL DR 1 * A DR,CDR*2 1010 10IO IN IO port 1 A R0 I/O port 1010 11IO OUT IO port 1

24、 A I/O port R0 1100 1XXX(DR) INC DR 1 * A DRDR+1 1100 00XX(DR) INC DR 1 * A DRDR+1 1111 1000 CLC 0 0 A C=0 1111 1001 STC 0 1 A C=1,TEC-2000 8位机基本指令系统,指令格式 汇编语句 操作数个数 CZVS 指令分组 功能说明 1011 00SR PUSH SR 1 B SR 入栈 1011 01DR POP DR 1 B 出栈到 DR 1011 10SR STO SR 1 B R9 R8 SR 1011 11DR LOD DR 1 B DR R9 R8 1101 DR MVRD DR, DATA 2 B DRDATA 1111 1010 PSHF 0 B FLA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论