第 3 章 第 1 讲,两项内容: 指令、指令格式和寻址方式 教学计算机指令系统概述 TEC-2000型 16位 和 8位 字长的 教学机指令系统实例 作业:熟悉16位机的指令系统和程序设计 思考 8位机的指令系统:组成、格式(操作码编码、寻址方式等),单字指令仅用一个指令字 双字指令要用两个指令字, 此时第二个指令字的内容可能是立即数、一个直接地址或一个变址位移量TEC-2000 教学机的指令格式,操 作 码,目的寄存器,源寄存器,I/O 端 口 地 址,相对转移指令的偏移量,直接数 / 内存地址 / 指令中变址偏移量,8位 4位 4位,单字指令仅由一个指令字组成,分为三个主要部分 最高 8 位是操作码从这个意义上讲, 教学机的基本指令是固定长度的操作码结构, 最多支持 256 条基本指令 最低的 8 位有多种用法:给出 1 或 2 个寄存器的编号, 或入/出端口的地址, 或用于给出相对转移指令的偏移量 双字指令要由两个指令字组成,此时第二个指令字的内容可能是: 立即数、 一个直接地址、 或 一个变址位移量操 作 码,目的寄存器,源寄存器,I/O 端 口 地 址,相对转移指令的偏移量,直接数 / 内存地址 / 指令中变址偏移量,8位 4位 4位,TEC-2000 教学机的指令格式,第1个指令字,第2个指令字,操作码组织和汇编语句命名规则,8 位固定长度的操作码 IR15_IR8 IR15~14 用于区分指令分组 IR13 用于区分基本指令和扩展指令 IR12 用于简化逻辑表达式(暂全定为 0) IR11~8 用于区分同组内的不同指令 汇编语句命名规则: 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 DR←DR+SR 00000001 DRSR SUB DR,SR 2 **** A DR←DR-SR 00000010 DRSR AND DR,SR 2 **** A DR←DR and SR 00000011 DRSR CMP DR,SR 2 **** A DR-SR 00000100 DRSR XOR DR,SR 2 * * • • A DR←DR xor SR 00000101 DRSR TEST DR,SR 2 * * • • A DR and SR 00000110 DRSR OR DR,SR 2 * * • • A DR←DR or SR 00000111 DRSR MVRR DR, SR 2 • • • • A DR←SR 00001000 DR0000 DEC DR 1 **** A DR←DR-1 00001001 DR0000 INC DR 1 **** A DR←DR+1 00001010 DR0000 SHL DR 1 * • • • A DR,C←DR*2 00001011 DR0000 SHR DR 1 * • • • A DR,C←DR /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位机基本指令系统,指令格式 汇编语句 操作数个数 CZVS 指令分组 功能说明 10000000 0000000 JMPA ADR 1 • • • • B 无条件跳到ADR ADR(16位) 10000001 DRSR LDRR DR,[SR] 2 • • • • B DR←[SR] 10000010 I/O PORT IN I/O PORT 1 • • • • B R0←[I/O PORT] 10000011 DRSR STRR [DR],SR 2 • • • • B [DR]←SR 10000100 00000000 PSHF 0 • • • • B FLAG 入栈 10000101 0000SR PUSH SR 1 • • • • B SR 入栈 10000110 I/O PORT OUT I/O PORT 1 • • • • B [I/O PORT]←R0 10000111 DR POP DR 1 • • • • B 出栈到 DR 10001000 DR0000 MVRD DR, DATA 2 • • • • B DR←DATA DATA(16位) 10001100 00000000 POPF 1 * *** B FLAG←出栈 10001111 00000000 RET 1 • • • • B 子程序返回 11001110 00000000 CALA ADR 1 • • • • D 调用子程序 ADR(16位),二、控制器的功能与组成,1. 控制器的功能: 控制执行指令 控制各部件协调运行,即为各部件提供控制信号。
2. 控制器的组成: 程序计数器 指令寄存器 指令步骤标记线路 提供控制信号的部件 分类 : 微程序的控制器 硬布线的控制器,2. 控制器的组成,①程序计数器PC:存放指令地址,有+1或接收新值功能 ②指令寄存器IR:存放指令内容:操作码与操作数地址 主脉冲源与启停控制线路,按需要给出主脉冲信号 ③指令执行步骤标记线路: 指明每条指令的执行步骤 ④控制信号保存或形成线路:给出计算机各功能部件部件协同运行所需要的控制信号运算器部件,主存储器部件,总线及输入/输出接口(输入/输出设备),控制器部件本身,各部件包括,也包括,设计中的难点,在于解决对运算器、控制器的控制,每条指令的执行步骤,—读取指令 指令地址送入主存地址寄存器 读主存,读出内容送入指定的寄存器 —分析指令 —按指令规定内容执行指令 不同指令的操作步骤数, 和具体操作内容差异很大, —检查有无中断请求 若有,则响应中断并转中断处理 若无,则转入下一条指令的执行过程,,,R_R类型指令 读写内存类型指令 输入输出类型指令 其他类型指令,可能执行 一次或多次,是一次读 内存操作,公共操作,公共操作,是每一条指令的特定操作,第 3 章 第 2 讲 1. 微程序控制器的组成、运行原理 2. 微指令的格式和下地址的处理技术 3. 主存储器、计算机总线、接口电路等预备性知识,控制 存储器,映射,IR,PC,,,,输出 设备,输入 设备,主 存,运算器 部件,,,,,,,,下地址,,,,,,,,,,,,,,,启停,地址寄存器械,,,,,,,数据总线,地址总线,控制总线,,,,,,,,,,,,,,,,,….,,控制条件,,,微指令寄存器,,,主振,,,,,,,,,,,,,,,微程序 方案的 控制器,微程序控制器部件 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,,,,接口 输出 设备,主 存 储 器,运算器 部件,,,,,下地址,,,,,,,,,,,,,,,启停,地址寄存器,,,,,,数据总线,地址总线,控制总线,,,,,,,,,,,,,,,,,….,,控制条件,,,微指令寄存器,,,主振,,,,,,,,,,,,,,,微程序 方案的 控制器,,接口 输入 设备,,,,,,,,,,,微程序控制器组成与设计,Am2910,MAPROM,,,,,,,,,SCC Gal,,,,控制存储器( ROM),,,,,,,指令操作码,,微指令转移的控制条件,/CC,,微指令寄存器,,,,,,0MRW SA I8~6 B口 0SST DC2 0 I2~0 SB I5~3 A口 SSHSCI DC1,,,,CP,,/G,,读命令,,1. 确定指令功能与格式 2. 划分指令执行步骤 3.确定微指令格式 4. 设计微指令内容 5. 把新微指令写入控存 6. 需要时修改 MAPROM 和 SCC Gal等 7. 调试并且运行,B 口二选一,A 口二选一,,,,,,,IR.SR,IR.DR,,,,,,/MAP,,/PL,,第3章 第3讲,微程序控制器的微程序设计,控制器部件,总体要求:控制器部件的功能、组成、设计与实现是课程教学中的重点难点内容,应该学得好一点。
设计控制器的基础和依据是指令系统,包括指令的功能、格式、选用的寻址方式等; 控制器的功能和组成概述,指令的执行步骤概述等内容要非常清楚地理解,这是学习后续知识的指导性纲要; 依据指令系统和计算机组成的初步设计,完成不同类型指令的执行步骤设计(分成几步,各步骤的功能和接续关系)是更为基础一点的内容; 依据计算机的各功能部件的运行要求,设计控制器应该提供给各功能部件的控制信号,是控制器设计的一个步骤; 设计每条指令的每一个执行步骤所用的控制信号是控制器设计过程中最机械、费时、繁琐的一个步骤; 硬连线的控制器和微程序的控制器用不同的方法提供全部控制信号,并用不同的方法实现对自身的控制作用 指令执行过程的流水线控制是提高指令执行速度的有效措施,这些内容不作为基本教学要求PC 0,AR PC PCPC+1,IR(AR),/MAP,寄存器之间 运算与传送,读、写内存 AR地址,,,,AR地址,读、写内存 或 I/O 接口,读、写内存 PC地址,,,,,,,,,(2) 16 位机的基本指令、扩展指令执行流程图,A组,B组,C组,D组,/Reset,,,,B、C、D组,加电启动时, 执行 0PC,接下来的两步, 完成取指操作,按指令操作码, 读出相应微指令,按指令具体功能。