页数:30页文件大小:595.0 KB来源: 计算机组成原理ppt课件
本课件进一步讲解单字与双字指令的格式划分、8位固定长度操作码的组织规则与汇编语句命名,并给出教学机指令系统实例,以及指令执行步骤划分与控制器的设计要点,便于按位读懂指令字。
第3章第1讲两项内容
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现确定操作数地址与下条指令地址的多种寻址方式。
单字指令仅用一个指令字
双字指令要用两个指令字,此时第二个指令字的内容可能是立即数、一个直接地址或一个变址位移量。TEC-2000教学机的指令格式操作码目的寄存器源寄存器I/O端口地址相对转移指令的偏移量直接数/内存地址/指令中变址偏移量8位4位4位。
单字指令仅由一个指令字组成,分为三个主要部分
最高8位是操作码。从这个意义上讲,教学机的基本指令是固定长度的操作码结构,最多支持256条基本指令。
最低的8位有多种用法:给出1或2个寄存器的编号,或入/出端口的地址,或用于给出相对转移指令的偏移量。双字指令要由两个指令字组成,此时第二个指令字的内容可能是:立即数、一个直接地址、或一个变址位移量。
操作码目的寄存器源寄存器I/O端口地址相对转移指令的偏移量直接数/内存地址/指令中变址偏移量8位4位4位TEC-2000教学机的指令格式第1个指令字第2个指令字。
操作码组织和汇编语句命名规则
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现操作码字段的分组规则与汇编语句的命名约定。
| 指令格式 | 汇编语句 | 操作数个数 | CZVS | 指令分组 | 功能说明 |
|---|---|---|---|---|---|
| 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 |
| 0000 | DEC DR | 1 | **** | A | DR ←DR-100001001 DR |
| 0000 | INC DR | 1 | **** | A | DR ←DR+100001010 DR |
| 0000 | SHL DR | 1 | *••• | A | DR,C ←DR*200001011 DR |
| 0000 | SHR DR | 1 | *••• | A | DR,C ←DR /201000001 OFFSET JR ADR 1 • • • • A 无条件跳转 |
| 指令格式 | 汇编语句 | 操作数个数 | CZVS | 指令分组 | 功能说明 |
|---|---|---|---|---|---|
| 10000000 0000000 | JMPA ADR | 1 | •••• | B | 无条件跳到ADRADR(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 |
| 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] ←R010000111 DR POP DR 1 • • • • B 出栈到DR |
| 0000 | MVRD DR, DATA | 2 | •••• | B | DR ←DATADATA(16位) |
| 00000000 | POPF | 1 | **** | B | FLAG ←出栈 |
| 00000000 | RET | 1 | •••• | B | 子程序返回 |
| 00000000 | CALA ADR | 1 | •••• | D | 调用子程序ADR(16位) |
控制器的功能
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
控制器的组成①程序计数器PC
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
控制器功能与组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
第3章第2讲1.微程序控制器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
控制存储器映射
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
微程序控制器部件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位的指令寄存器。
控制存储器映射
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
微程序控制器组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现微程序控制器中下地址形成部件Am2910的入出信号与连接方式。
第3章第3讲微程序控制器的微程序设计
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
控制器部件总体要求:控制器部件的功能、组成、设计与实现是课程教学中的重点难点内容,应该学得好一点。1.设计控制器的基础和依据是指令系统,包括指令的功能、格式、选用的寻址方式等;2.控制器的功能和组成概述,指令的执行步骤概述等内容要非常清楚地理解,这是学习后续知识的指导性纲要;3.依据指令系统和计算机组成的初步设计,完成不同类型指令的执行步骤设计(分成几步,各步骤的功能和接续关系)是更为基础一点的内容;4.依据计算机的各功能部件的运行要求,设计控制器应该提供给各功能部件的控制信号,是控制器设计的一个步骤;5.设计每条指令的每一个执行步骤所用的控制信号是控制器设计过程中最机械、费时、繁琐的一个步骤;6.硬连线的控制器和微程序的控制器用不同的方法提供全部控制信号,并用不同的方法实现对自身的控制作用。
7.指令执行过程的流水线控制是提高指令执行速度的有效措施,这些内容不作为基本教学要求。
指令执行流程
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现指令取指、分析、执行各步骤的接续关系与流程走向。
加电启动时
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
下址CI3~0 SCC3~0 0MRW0 I2~0SAI8~6SBI5~3 B口A口0 SST SSH SCIDC2 DC100 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 0 1 0 0 0 0 0 1 000 2 0 4 0 1 0 0 0 0 0 0 0指令执行流程表举例ADD DR, SRMVRRDR, SRIN IO-PORTCALA ADR第1条微指令和第2条微指令用于完成读取指令,具体操作功能是:PCAR,PC+1PC;PC是R5,A口和B口均选5,B口内容+1送B口;输出A口的内容送AR寄存器。读主存,读出内容IR;微指令都是顺序执行,故2910选14#命令。
第3条微指令按读出的指令的操作码,形成相应微指令的地址,读出该条微指令并将其写入微指令寄存器,2910选2#命令,控制运算器的I8~I6选001码,保证运算器的各寄存器内容不变化。无存储器和IO读写,故/MIO REQ /WE选100码。
下址CI3~0 SCC3~0 0MRW0 I2~0SAI8~6SBI5~3 B口A口0 SST SSH SCIDC2 DC100 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 0 1 0 0 0 0 0 1 000 2 0 4 0 1 0 0 0 0 0 0 030 3 0 4 1 B 8 0 0 1 0 0 0303 0 4 4 B 8 0 0 0 0 0 0指令执行流程表举例ADD DR, SRMVRRDR, SRIN IO-PORTCALA ADR第3条微指令和第4条微指令用于完成两个累加器之间的相加和传送操作。具体操作是:2累加器相加,DR+SRDR,A口和B口编码来自指令寄存器,故SA和SB都给1值;下微指令转判中断请求,故2910选3#命令且SCC为0000,必转30。
第4条微指令,完成两个累加器之间的数据传送,累加器SR的内容和0相加,存入DR寄存器中,不保存标志位的值,故SST为000,无存储器和IO读写。这两条微指令内容有些类似。
微指令格式与编码
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现微指令下地址字段与控制命令字段的划分及编码方式。
下址CI3~0 SCC3~0 0MRW0 I2~0SAI8~6SBI5~3 B口A口0 SST SSH SCIDC2 DC100 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 7 0 0 0 0 0 0 0 000 E 0 4 3 3 1 4 0 0 0 3 0303 0 0 2 2 0 5 5 0 0 0 1指令执行流程表举例ADD DR, SRMVRRDR, SRIN IO-PORTCALA ADR后4条微指令之间顺序执行,前3条的CI都是E,依次完成:1. PCAR,PC+1PC;(控制命令同读取指令的第1步) ;2.读内存(MRW=001)送Q (D+0Q) (子程序入口);3.修改堆栈指针并送AR,SP-1SP,AR;SP是R4,即R4的内容-1R4和AR ( DC2为3是AR接收);4.写断点(PC的内容)到堆栈,即A口指定的寄存器(R5)的内容经数据总线送到内存并写入;子程序的入口地址(在Q中)(Q的内容+0)送入PC(B口指定R5)。下地址控制完成转向判中断请求的微指令的地址30处。
作业:1.认真看懂A、B、D组指令的执行步骤,你能提出什么改进或者变动的意见吗?说明每组指令各步骤完成的主要功能。说明取指的两个步骤的控制信号的控制作用。
2.认真看懂ADD指令执行步骤的控制信号的控制作用,写出SUB、OR、AND指令执行步骤的控制信号,指出它们和ADD指令使用的控制信号的区别。3.写出JR和JRC指令在执行功能、执行步骤和使用的控制信号方面的区别。
4.写出PUSH DR和POPF在指令格式、执行功能和执行步骤中使用的控制信号方面的区别。5.总结教学计算机中确定微指令下地址的方式和在微指令字中的具体的控制办法。
第3章第4讲1.前3次课教学内容总结
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
通知1.从下一周开始进行控制器验证性的教学实验,请各班课代表与实验室的周老师具体落实实验时间。实验内容与要求等有一个文本文件。
争取在一周内全部完成。2.有条件的同学可以开始思考8位机的指令系统和微程序的控制器设计。
本月底之前全面启动这一工作,减少讲课内容,教师带领同学开展设计任务,力争2周时间内结束主要设计工作。3.留学生可以开始控制器的教学实验。
请你们自己去与实验室的周老师具体落实实验时间和具体实验内容,你们的实验在TEC-2教学计算机上完成。TEC-2机只支持16位字长和微程序控制器方案。
| 指令格式 | 汇编语句 | 操作数个数 | CZVS | 指令分组 | 功能说明 |
|---|---|---|---|---|---|
| 0000 DRSR | ADD DR,SR | 2 | **** | A | DR ←DR+SR |
| 0001 DRSR | SUB DR,SR | 2 | **** | A | DR ←DR-SR |
| 0010 DRSR | AND DR,SR | 2 | **•• | A | DR ←DR 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 | DR ←DR-11010 00DR SHR DR 1 *• • • A DR,C ←DR/21011 01DR SHL DR 1 *• • • A DR,C ←DR*21010 10IO IN IO port 1 • • • • A R0 ← [I/O port] |
| 指令格式 | 汇编语句 | 操作数个数 | 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 | DR ←DATA |
| 1010 | PSHF | 0 | •••• | B | FLAG入栈 |
| 1011 | POPF | 0 | **** | B | FLAG ←出栈 |
| 1000 | JZ ADR | 1 | •••• | C | Z=1跳到ADR |
| 1001 | JNZ ADR | 1 | •••• | C | Z=0跳到ADR |
| 1010 | JC ADR | 1 | •••• | C | C=1跳到ADR |
| 1011 | JNC ADR | 1 | •••• | C | C=0跳到ADR |
| 1100 | JR ADR | 1 | •••• | C | 无条件跳到ADR |
| 1100 | CALL | 0 | •••• | C | 调子程序[R11 R10] |
| 1101 | RET | 0 | •••• | C | 子程序返回 |
| 1111 | JMP | 0 | •••• | D | 长跳转到[R11 R10] |
控制器功能与组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
C组指令
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现指令取指、分析、执行各步骤的接续关系与流程走向。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}