实验七、八微程序2012

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微程序控制器的设计步骤
(1)设计微程序 确定微程序流程图,也就是控制算法流程图。 (2)确定微指令格式 微指令格式中的操作控制字段取决于执行部件的子系 统需要多少微指令。假定采用直接控制方式,执行部 件需要15个微命令,则操作控制字段需要15位。 测试判别字段取决于微程序流程图中有多少处分支 转移。假定有3处分支,则测试判别字段需要3位。 下址字段取决于微程序流程图的规模。假定微程序共 用50条微指令,则下址字段至少需要6位。这是因为 ROM地址译码时,26=64,6位地址可容纳64条微指令。 (3)将微程序编译成二进制代码 (4)微程序写入控制存储器 (5)设计硬件电路
Cpu设计步骤: 1. 拟定指令系统 2. 确定总体结构(数据通路) 3. 安排时序 4. 拟定指令流程。根据指令系统,写出对应所有机器指 令的全部微操作,然后列出操作时间表 5. 确定微指令的控制方式、下地址形成方式、微指令格 式及微指令字长,编写全部的微指令的代码,最后将 编写的微指令放入控制存储器中。
4、绘微程序的流程图 5、依据微程序的流程图给出微程序编码
常用下地址生成方法: 计数器方法、 真量方式与断定方式结合方法 多路转移方法 每条机器指令的操作码如何与其微程序人口地址对应,通过编 码方法将指令码的状态分成不同的几个,在用微地址进行编码
实验内容:单总线,采用微程序控制,寻址方式:采用直接 ( ,寄存器,寄存器间接,变址)。 微程序控制器控制方式由微指令译码产生
采用直接控制方法 15个控制信号,5位下地址 可根据需要扩展
微指令格式 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4~ 0
Load- ACC- Load- PC-bus Load-Load- MDR- Load- ALU- INC- AddrR- ALU- ALUCS NW add sub 下址 PC bus ACC IR MAR bus MDR ACC PC bus
Pc_bus
Load_IR Load_MAR
MDR_bus
Load_MDR ALU_ACC INC_PC ADDR_bus
格式、寻址方式、指令类型设置 • 4、拟定指令系统。
指令格式 3位
操作码
5位
地址码
操作码3位,最多定义8条机 器指令 数据传输范围 R→R, R→S S→R 寻址方式 指令中给出操作数的地址
微程序控制基本框图
微命令序列 。。。 指令代码 运行状态
IR PSW
微地址形成 电路
译码器
微命令字段
微地址字段
微指令寄存器
。。。。。
PC
微地址 寄存器AR
控制存储器CM
• 确定总体结构。
数据通路设计 单总线结构8位,主要包括:
cs
片选,用MAR的内容设置存储器地址
R_nw
Alu+add
Alu_sub
指令系统是设计计算机的依据,拟定指令系统将涉及基本字长、 指令格式、指令类型、寻址方式等内容。根据内存的字长,可定 基本字长8位, 指令格式:单字长,(双字长指令,在双字长指令格式中,第二 个字节一般定义为操作数或操作数地址。) 总体结构:根据要求设计数据通路
1、定义指令系统 字长8位,采用一地址指令 指令格式 操作码3位,地址码5位 操作码 000 LOAD 001 STORE 010 ADD 011 SUB 100 BNE 其中(101,110,111为今后扩展指令留用 ) 寻址方式:直接寻址 ,为了简单指令采用 一地址指令 如下 面程序 Load 4 将内存4地址的操作数送ACC累加器 Add 5 将内存5地址的操作数取出与ACC相加 Stare 6 将ACC的内容存入内存6号地址 Bne 7 判断,结果Z_flag不为0 ,跳转到内存7地址所指的地 址执行指令
19 18
17
16
15
14
13
12
11
10
9
8
7
6
5 4~0
Load- ACC- Load- PC-bus Load-Load- MDR- Load- ALU- INC- AddrR- ALU- ALUCS NW add sub 下址 PC bus ACC IR MAR bus MDR ACC PC bus
3、确定数据通路 含有那些部件,部件功能,之间的连接、指令 信息,地址信息,数据信息传递的路径,从而得 到所需要的位命令 (15个)
运算器部件 寄存器部件 ALU ACC, RAM MDR, MAR, IR, PC,均为8位8位
微程序控制逻辑部件 : 1. 微地址形成部件 2. 控制存储器 3. 微指令寄存器 4. 微地址寄存器 5. 译码器
机器指令的编码(机器语言)
指令 Load 4 Add 5 Store 6 Bne 7 编码 000 00100 010 00101 001 00110 100 00111
指令执行的基本过程
取指令 无操作 数或操 作数在 CPU 执行指令
操作数在 内存 取操作数
3、方案选择 8位模型机设计,单总线,采用微程序控制方式。寻址方式: 直接,(寄存器,寄存器间接和变址寻址) 微程序控制方式由微指令译码器产生,一条机器指令分成 若干步执行,每一步需要若干个微命令及微指令,若干条微指令 组成一段微程序。放入控制存储器。 微程序执行过程: (1)从存储器中逐条取出 从控制存储器中逐条取出“取指微指令”执行取指令公操作。 (2)、根据指令操作码,经过微地址形成部件,得到该机器指 令微程序入口地址,并送入微地址寄存器, (3)、从控制存储器逐条读出对应的微指令并执行 (4)、执行完一条机器指令对应的微程序后又回到取指微程序 的入口微地址,继续第一步(1) (5)、采用微程序的控制,设计微指令的格式 、 操作字 段15位,下地址字段5位 (6) 操作控制字段:采用直接控制方法,位数与设计的微命 令的个数一致,
微程序控制器的结构与微指令的格式密切相关。 上图是微程序控制器的结构框图。它由控制存储器、 微地址寄存器、微命令寄存器和地址转移逻辑几部 分组成。微地址寄存器和微命令寄存器两者的总长 度即为一条微指令的长度,二者合在一起称为微指 令寄存器。
地址转移逻辑: 用来形成要执行的微指令的地址,形成方式一般有以下几种: 取指令公操作所对应的微程序一般安排在控制存储器的0号单 元,所以微程序的入口地址0是由硬件强制规定的。 当微程序出现分支时通过判断测试字段]微地址字段和执行部 件的反馈信息形成微地址,包括根据操作码转移情况。 微程序控制器执行过程描述 1、从CM逐条取出“取机器指令的微指令,执行取指令公操 作,执行完后,从主存取出的机器指令就已经存入指令寄存 器IR 2、根据IR中的操作码,经过地址形成部件,得到这条指令对 应的微程序入口地址。并送入微地址寄存器。 3、从CM中逐条取出对应的微指令并执行 4、执行完一条机器指令的一段微程序后,又回到取指微程序 的人口地址,继续第1步
实验七、八微程序控制器设计
2012年11
一、实验目的: 1、通过实验,进一步理解微程序控制器的组成结构。理解微程序控 制器的控制原理,掌握微指令格式和各字段功能。 2、加深理解微程序控制器的工作原理。掌握指令流程与功能 3、理解掌握微程序控制器的设计思路与方法,掌握微程序的编制、 写入、观察微程序的运行,学习基本指令的执行流程。 二、实验原理 1、微程序控制器的组成原理 控制存储器:实现整个指令系统的所有微程序,一般指令系统是 规定的由高速半导体存储器构成,容量视机器指令系统而定,取决 于微程序的个数,其长度就是微指令字的长度。 微指令寄存器:存放从控存读出的当前微指令。微操作控制字段 将操作控制信号送到控制信号线上,微地址字段指出下一条微地址 的形成。 微地址寄存器:存放将要访问的下一条微指令地址 地址转移逻辑:形成将要执行的微指令地址,形成方式: 取指令公操作所对应的微程序一般从控存的0地址开始,所以 微程序的人口地址0是由硬件控制的。当出现分支时,通过判别测
• 拟定指令流程和微命令序列。 拟定指令流程
Load
地址码
主存中的数据读入ACC
取指令
PC→MAR,PC+1 →PC
M→MDR→IR addr→MAR M→MDR→ACC 直接寻址 指令中给出操作数的地址
执行 寻址方式
• 拟定指令流程和微命令序列。 微命令序列。
取指
取指令
PC→MAR,PC+1 →PC CS R_NW M→MDR→IR addr→MAR
寻址方式
直接寻址
指令系统设计: load, store, add, sub, bne
7
5
4
0
机器指令格式
操作码
操作数
为了简单,指令均为一地址指令,指令字长8位 编码 000 001 010 011 100 101 110 111
微程序控制器的设计步骤
设计微命令 微操作控制信号产生 在微程序控制器中,微操作控制信号由微指令产 生,并且可以重复使用。 控制存储器用来实现整个指令系统的所有微 程序,一般指令系统是固定的,所以实现指令系 统的微程序也是固定的,因此控制存储器程序也 是固定的。一般采用高速半导体存储器。其容量 视机器指令系统而定。即取决于微程序的数量,
取操 作数
执行
M→MDR→ALU(ACC)
• 拟定指令流程和微命令序列。
Load:把主存内容读入ACC Store:把ACC内容存入主存 Add:主存内容与ACC相加 Sub:主存内容与ACC相减 Bne:转移
• 形成控制逻辑。
000101000100000 00001
000000000001100 00010
操作码对应的编码
LOAD →000 ,STORE→ 001,ADD→010,SUB→011, BNE→10存地址 指令 描述 0 Load 4 从mem(4)取数到ACC 1 Add 5 从mem(5)取数到总线,与ACC中的数加 2 Store 6 结果存储在MEM(6) 3 Bne 7 结果不为0,跳到7 4 2 数据2 5 其它 3 0 数据3 全为0
在系统的一个基本周期(又称机器周期,一般由几个时 钟周期组成)中,一组实现一定操作功能的微命令的组 合,构成一条微指令。 强调两点: 第一,一条微指令的有效持续时间为一个系统基本周期, 它表示从CM中读出微指令与执行这条微指令的时间总和。 当从ROM中读出下一条微指令后,当前的这条微指令即 失效。 第二,一条微指令中包含若干个微命令,它们分头并行 地控制执行部件进行相应的微操作。 微指令除给出微命令信息外,还应给出测试判别信息。 一旦出现此信息,执行这条微指令时要对系统的有关 “状态标志”进行测试,从而实现控制算法流程图的条 件分支。微指令中还包含一个下址字段,该字段将指明 ROM中下一条微指令的地址。
1、地址转移逻辑: 用来形成要执行的微指令的地址,形成方式一般有以下 几种: 取指令公操作所对应的微程序一般安排在控制存储器的0 号单元,所以微程序的入口地址0是由硬件强制规定的。 当微程序出现分支时通过判断测试字段]微地址字段和执行部 件的反馈信息形成微地址,包括根据操作码转移情况。 微程序控制器执行过程描述 (1)、从CM逐条取出“取机器指令的微指令,执行取指令公 操,执行完后,从主存取出的机器指令就已经存入指令寄存 器IR (2)、根据IR中的操作码,经过地址形成部件,得到这条指 令对应的微程序入口地址。并送入微地址寄存器。 (3)、从CM中逐条取出对应的微指令并执行 (4)、执行完一条机器指令的一段微程序后,又回到取指微 程序的人口地址,继续第1步
Acc_bus Load_acc
读,不可写,当R_N无效且CS有效时,MDR的内容 写入存储器中 ALU中执行加 ALU中执行减 ACC总线 总线ACC P总线Z 总线IR 总线MDR MDR总线
将总线的数据装入MDR ALU的结果送ACC PC+1=PC 用IR中指令的操作码部分驱动总线
微程序控制基本框图
微命令序列 。。。 指令代码 运行状态
IR PSW
微地址形成 电路
译码器
微命令字段
微地址字段
微指令寄存器
。。。。。
PC
微地址 寄存器AR
控制存储器CM
根据微命令表,设计微指令: 微指令设计,采用直接控制 水平微指令 微命令的位置安排任意 基本格式如下:
微指令的编码
操作控制字段 下地址字段
相关文档
最新文档