简单模型机的微程序设计

合集下载

第3讲—简单模型机设计(微程序实现)

第3讲—简单模型机设计(微程序实现)

4、微程序编写
编写程序
MOV1
MOV2 ADD
MOV3
HALT
05#,R0 01#,R1 R0, R1 R1,(FA#)
(2)操作码二进制代码
MOV1:0001
MOV2:0010 ADD : 0011
MOV3:0100
HALT: 0101
基本字长 8位 7 4 3 2 1 0 指令格式 操作码OP 寻址方式 寄存器号 寻址方式 寄存器号 源操作数
30↓ R0 +R1 →R1 ↓ PC → MAR ↓ JP
40↓ ↓ PC→ MAR G=1 ↓ PC+1→ PC ↓ RAM → MAR ↓ R1→ RAM ↓ PC → MAR ↓ JP
(5)编制微程序
根据指令流程和微指令格式就可以开始编制
微程序。 指令流程中每一个流程对应一条微指令,结 合总体结构框图图1,写出这个流程所对应的 数据通路的控制命令。 例RAM→IR所需的控制命令是MA, , CPIR并在表3-1中的相应位置填写上“1”, 不需要的命令填写“0”。 另外每一条微指令都要确定下条微指令地址 的生成方式。
图9中的 后继地址形成电路


功能:多路选择器 当JP=1,QJP=0时,Y7Y6Y5Y4Y3Y2Y1Y0 = μIR15 μIR14 μIR13 μIR12 μIR11 μIR10 μIR9 μIR8 当JP=0,QJP=1时,Y7Y6Y5Y4Y3Y2Y1Y0 = IR7 IR6 IR5 IR4 0000 链接时, Y7Y6Y5Y4Y3Y2Y1Y0连接µPC的D7~D0, µPC的RE接高电 平vcc。
操作码OP共4位,最多可定义16条指令。

简单模型机的组成与程序运行-计算机组成原理实验报告

简单模型机的组成与程序运行-计算机组成原理实验报告

内蒙古师范大学计算机与信息工程学院《计算机组成原理》课程设计报告题目:_____简单模型机的组成与程序运行_____________1 任务描述设计题目名称:简单模型机的组成与程序运行要求:基于TD-CMA计算机组成原理教学实验系统,设计一个简单的计算机整机系统—模型机,分析其工作原理。

根据模型机的数据通路以及微程序控制器的工作原理,设计完成以下几条机器指令和相应的微程序,输入程序并运行。

IN R0 ;IN ->R0SUB 0DH ;R0 - [0DH] -> R0,直接寻址SHL R0 ;将R0寄存器中的内容逻辑左移STA 0EH,R0 ;R0->[0EH],直接寻址LDA 0FH,R0 ;0FH]->R0,直接寻址LOP: DEC R0 ;R0-1->R0BZC EXIT ;当FC或FZ为1时,转到EXITJMP LOPEXIT: OUT 0EH,R0 ;[0EH]->LED,直接寻址0DH、0EH、0FH单元内容分别为03H、04H、02H。

2 设计设备PC机一台,TD-CMA实验系统一套。

3 设计原理和方法3.1设计原理3.1.1数据格式:本实验计算机采用定点补码表示法表示数据,字长为8位,其格式如下:其中第七位为符号位,数值表示范围是:-1≤X<13.1.2 指令格式所有单字节指令( SUB等 )格式如下:本实验的输入IN指令和OUT指令采用单字节指令,其格式如下:其中OP-CODE为操作码,RD为目的寄存器地址(STA、LDA指令使用),D为位移量(正负均可),M寻址模式M 有效地址E 说明00011011E=DE=(D)E=(RI)+DE=(PC)+D直接寻址间接寻址RI变址寻址相对寻址3.1.3指令系统本实验共有10条基本指令,其中算术指令有2条(DEC、SUB),访问内存指令和程序控制指令7条,输入指令1条。

3.2按微指令格式,参照微程序流程图将每条微指令代码化,译成二进制微代码。

CPU-与简单模型机设计实验

CPU-与简单模型机设计实验

评语: 课中检查完成的题号及题数:课后完成的题号与题数:成绩: 自评成绩: 85实验报告实验名称:CPU 与简单模型机设计实验日期:2015.11.17 班级: 2 学号:13 姓名:周小多一、实验目的:1. 掌握一个简单CPU 的组成原理。

2. 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

3. 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。

二、实验内容:1.要实现一个简单的CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。

CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图2-1-1 所示。

这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

2.本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):助记符机器指令码说明IN 0010 0000 IN→R0ADD 0000 0000 R0 + R0→R0OUT 0011 0000 R0→OUTJMP addr 1100 0000 addr→ PCHLT 0101 0000 停机3. 设计一段机器程序,要求从IN 单元读入一个数据,存于R0,将R0 和自身相加,结果存于R0,再将R0 的值送OUT 单元显示。

根据要求可以得到如下程序,地址和内容均为二进制数。

地址内容助记符说明00000000 00100000 ; START: IN R0 从IN 单元读入数据送R000000001 00000000 ; ADD R0,R0R0 和自身相加,结果送R000000010 00110000 ; OUT R0R0 的值送OUT 单元显示00000011 11100000 ; JMP START跳转至00H 地址00000100 0000000000000101 01010000 ; HLT停机三、项目要求及分析:1. 试修改现有的指令系统,将加法指令的功能修改为R0的内容和某个存储单元的内容相加;增加存数、取数和减法三条机器指令,指令助记符分别为STA、LAD 和SUB,指令操作码分别为十六进制的60、70和80。

简单模型机的微程序设计

简单模型机的微程序设计

简单模型机的微程序设计一.设计题目二.主要内容通常地谈,撰写微程序可以分为以下几步:1、设计机器的指令格式。

2、对所设计的指令进行分析,画出各指令的用微命令表示的微流程图。

不仅要画出每个对应一条微指令的功能框内的微命令,而且要初步确定该条微指令在控存中的微地址,以便于在设计微程序时确定前一条指令的次地址na字段和c字段的编码。

在这个过程中,一定要注意p(1)测试的规则以及指令高四位的编码。

3、根据微流程图的顺序,一个功能侧边一个功能框地确认各字段的编码,将这些字段女团即可构成一条条的微指令编码。

这些微指令的子集就是可以顺利完成所设计的指令功能的微程序。

当然这样设计的微程序有可能不完全正确,还须要进一步检查修正。

以上几步可以用脑、手、纸、笔即可完成。

4、对设计的微程序展开检查修正。

本模型机可以手动地用控制器将微程序输出机器的控存。

为了能够将要继续执行的指令输出主存,在微程序中必须精心安排一端适当的微程序;为了能够检查输出的指令与否恰当,也必须设计一段微程序。

三.具体要求1.通过采用作者研发的微程序分析和设计仿真软件,熟识了解的为基本模型机而设计的微程序的继续执行过程。

必须充份认知并恰当表述下些问题:(1)微程序中的微指令的各个字段的作用。

哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。

答:不译码的是s3~b0字段;直接译码的是a、b、c字段;间接编码的是ua6~ua1。

(2)微程序中的微指令是否是顺序继续执行的,如果不是,那么次地址就是如何产生的。

什么情况下,次地址字段才就是将要继续执行的微指令的地址。

答:微程序中的微指令不是顺序执行的。

如果遇到p(1)测试时,则在每一条功能指令执行完后,进行一次p(1)测试,根据p(1)测试跳到下一条机器指令的微地址。

p (1)测试就是根据测试程序的机器指令中的8~5位和微程序的后六位进行或运算来实现分支,此次课程设计的微程序后六位设计为010000,则根据下面各功能的指令设计,in、add、sta、out、jmp、mov、nadd、and、or、xor的入口地址分别为10h、11h、12h、13h、14h、15h、16h、17h、18h、19h。

五邑大学计组实验五 CPU与简单模型机设计实验

五邑大学计组实验五 CPU与简单模型机设计实验

《计算机组成原理》实验报告学院:计算机学院专业:班级学号:学生姓名:实验日期:指导老师:五邑大学计算机学院计算机组成原理实验室实验五CPU与简单模型机实验报告一、实验目的(1) 掌握一个简单CPU 的组成原理。

(2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

(3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。

二、实验设备PC机一台,TD-CMA 实验系统一套。

三、实验原理本实验要实现一个简单的 CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。

CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图5-1-1 所示。

这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。

系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD 芯片中。

CLR 连接至CON 单元的总清端CLR,按下CLR 按钮,将使PC 清零,LDPC 和T3 相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU 内总线上的数据打入PC。

本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN (输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):助记符机器指令码说明IN 0010 0000 IN R0ADD 0000 0000 R0 + R0 R0OUT 0011 0000 R0 OUTJMP addr 1110 0000 ******** addr PCHLT 0101 0000 停机其中JMP 为双字节指令,其余均为单字节指令,********为addr 对应的二进制地址码。

计算机组成原理课程设计---——简单模型机的微程序设计

计算机组成原理课程设计---——简单模型机的微程序设计

计算机组成原理课程设计---——简单模型机的微程序设计计算机组成原理课程设计------- 简单模型机的微程序设课程设计报告课程名称:计算机组成原理系另!j: _______________________ 姓名:________________________ 班级:________________________ 学号:________________________ 成绩:________________________ 指导教师:_____________________ 开课时间:20-20学年第学期设计题目计算机组成原理课程设计——简单模型机的微程序设计 :.主要内容通过课程设计更清楚地理解下列基本概念: 1. 计算机的硬件基本组成; 2. 计算机中机器指令的设计 3. 计算机中机器指令的执行过程;4. 微程序控制器的工作原理。

5. 微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计匚具体要求置数指令IN 置数开关SW (KDO ?KD7)的状态—RO 加法指令存数指令输出指令跳转指令或指令OR RD, 新加法指令 NADD (addrl) , (addr2): (addr 1)加异或指令 XOR (addrl) , (addr2): (addrl)异或 (addr2)— (RD)RO, , (addr): (R0)+ (addr)— (RO) RO, (addr): (R0)-> (addr) (addr): (addr)输出设备“LED" (addr): add rfPC RS : (RS)或(RD) — (RD) AD D STA OU T (addr2) f (RD)与指令AND RD, RS: (RS)与(RD) — (RD)求反指令NOT RD: /(RD) — (RD)四.进度安排共1?5周11天的时间,具体安排如下:广2天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;3 ~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统(原有的5条指令)和微程序设计方法;6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。

模型机综合实验及微程序设计实验报告课案

模型机综合实验及微程序设计实验报告课案

课程名称:计算机组成原理实践名称:模型机综合实验及微程序设计姓名:专业:计算机科学与技术班级:学号:计算机科学与技术学院实验教学中心2016年12月07日目录实验项目名称:模型机综合实验及微程序设计 (2)一、实验目的 (2)二、实验内容 (2)三、实验用设备仪器及材料 (2)四、实验原理 (2)(一)模型机总体结构 (2)(二)模型机寻址方式 (4)(三)微程序控制器组成及原理 (4)(四)模型机指令集 (4)(五)设计指令/微指令系统 (5)五、实验操作步骤 (5)实验1:数据传送实验/输入输出实验 (5)实验2:数据运算实验(加/减/与/或) (8)实验3:移位/取反实验 (9)实验4:转移实验 (11)实验5:编写微指令 (13)六、实验结果分析 (17)(一)实验过程中部分截图 (17)(二)心得体会 (20)实验项目名称:模型机综合实验及微程序设计一、实验目的1.了解伟福CP2000实验仪及软件的工作环境。

2.了解微指令系统的工作原理及工作方式。

3.自己设计简单指令与微指令,在机器上运行测试程序验证结果。

二、实验内容1.数据传送实验/输入输出实验2. 数据运算实验(加/减/与/或)3. 移位/取反实验4.转移实验5. 编写微指令三、实验用设备仪器及材料COP2000计算机组成原理实验仪、计算机四、实验原理(一)模型机总体结构COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。

其中运算器和中断控制电路以及跳转控制电路用CPLD 来实现,其它电路都是用离散的数字电路组成。

微程序控制部分也可以用组合逻辑控制来代替。

实验四 简单模型机的设计与实现

实验四 简单模型机的设计与实现

实验四简单模型机的设计与实现一、实验目的1. 理解并掌握指令格式、寻址方式、指令系统的设计方法;2. 进一步理解数据通路,提高分析、编排指令执行流程的能力;3. 掌握组合逻辑控制器的设计方法,理解模型计算机的整机工作过程;4. 提高基于Verilog HDL的硬件电路的设计、调试、测试能力。

二、实验设备与环境DE2-70实验开发版,QuartusⅡ开发软件。

三、实验内容与步骤1. 模型机的基本结构分析。

模型机的结构图如图1所示。

要求:分析模型机的构成模块,包括运算器、存储器、寄存器、程序计数器PC、地址寄存器AR、指令寄存器IR,明确各部件的工作特性;分析模型机的总线互联结构,明确各部件间的信息通路。

依据分析结果填写表1.表1 部件功能及通路表2. 分析指令流程,手动执行指令。

memContent.hex(存储器初始化文件)文件中已存储了两条机器指令代码,依据上边步骤中对数据通路的分析,以及下边给出的指令说明、存储器初始化文件内容,手动发出控制命令,完成从取指到指令执行的整个过程。

记录过程,填写表2。

指令格式:单字长一地址指令,采用直接寻址,所以可直接访问的地址范围为32B,并将REG_A作为累加器。

位:指令功能LDA X (X)->AADD X (A)+(X)->A存储器初始化文件内容://指令地址(十六进制) 指令代码(二进制) 助记符说明00 110 10000 LDA X // X=(10)1601 001 10001 ADD X // X=(11)16//数据地址(十六进制) 数据(二进制)10 0011 001111 0010 0000图1 模型机结构图表2-1 指令流程控制信号表2-2指令流程控制信号及输出信号3. 实现模型机的自动连续运行。

(1)设计指令,包括指令格式、寻址方式,并分析编排指令流程。

要求设计的指令能够通过编写程序对两个操作数实现至少两种运算,并实现HLT、IN、OUT、STA等指令,形成较完备的指令系统。

CPU与简单模型机设计实验

CPU与简单模型机设计实验

CPU与简单模型机设计实验
有指令准确无误。

⑤亦可重复①、②两步,完成对指令码的校验。

如果校验出指令码写入错误,重新写入、
校验,直至确认指令码的输入无误为止。

2) 联机写入和校验
联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但是微
程序和机器程序得以指定的格式写入到以TXT 为后缀的文件中,微程序和机器程序的格式如下:
本次实验程序如下,程序中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉:
选择联机软件的“【转储】—【装载】”功能,在打开文件对话框中选择上面所保存的文件,
软件自动将机器程序和微程序写入指定单元。

选择联机软件的“【转储】—【刷新指令区】”可以读出下位机所有的机器指令和微指令,
并在指令区显示,对照文件检查微程序和机器程序
图5-1-5 实验接线图。

第3讲—简单模型机设计(微程序实现)解析

第3讲—简单模型机设计(微程序实现)解析
Q7
INPUT VCC
OUTPUT
PRN
CLRN inst1
DFF
D6 D Q
INPUT VCC
OUTPUT
PRN
Q6
CLRN inst3
DFF
D5 D Q
INPUT VCC
OUTPUT
PRN
Q5
CLRN inst4
DFF
D4 D
INPUT VCC
PRN
Q
OUTPUT
Q4
CLRN inst5
DFF
D3
操作码OP共4位,最多可定义16条指令。

寻址方式
当寻址方式位为0,是寄存器寻址,操作数在指定的寄存
器中,相应的寄存器号位为0是R0,为1是寄存器 R1; 当寻址方式位为1时,寻址方式位和寄存器号位组合,
10:是立即数寻址,操作数在指令的下一个单元; 11:是直接寻址,操作数地址在指令的下一个单元。
2、 确定总体结构
CPR0 CPR1 CPPC CPIR CPMAR

A B
R0
R1
RE
RAM
A-BUS D-BUS
RB MA RA PB
RD WR
三 态 门
C
图1
寄存器组的设置
R0、R1为通用寄存器,8位。 IR为指令寄存器,8位。 PC程序计数器,8位。 MAR为地址寄存器,8位。
送指令地址

PB
B直传
CPMAR
PC → 选择器B →∑ → Bus → MAR
指令计数器+1

PB
A加B加1 (A为0) cppc
PC → 选择器B → ∑→ Bus → PC

简单模型机实验报告

简单模型机实验报告

简单模型机实验报告篇一:模型机实验报告HUNAN UNIVERSITY课程实习报告题目:模型机学生姓名学生学号 XX0801328专业班级计算机科学与技术(3)班指导老师方恺晴完成日期 XX.5.28思考题:1. 给定一个复合运算式子以及指令码IR[7..5]与八位BUS总线对应情况。

要求写出七条指令新的指令码并写出复合运算执行mif文件。

修改模型机电路调试程序以实现复合运算。

例:已知A=55H,B=8AH,C=F0H;IR[7..5]对应BUS8,BUS1,BUS3;写出(Aplus/B)^(/(/CplusB))的mif文件,并在模拟机上实现。

答:模拟机电路修改如下:存储器预设指令重设:计算结果:(A+/B)^(/(/C+B))=42H2. Microcomputer.vhd代码中进程ct1,ct2,ct3,ct4功能划分依据是什么?ct1:微序列控制器下址跳转。

ct2:实现各种指令,主要集中在实现从存储器或者寄存器释放数据到总线上。

ct3:完成各种指令,从总线上装载数据到相应的存储器或者寄存器中。

ct4:生成下址,判断下址生成方式,根据不太那个的方式生成下址。

3. Microcomputer.vhd代码中如何定义并初始化RAM?type ram is array(0 to 37)of std_logic_vector(7 downto 0); --38*8ramsignal ram8:ram:=(x”20”, x”1e”, x”80”, x”40”, x”20”, x”20”, x”1d”, x”c0”, x”20”, x”40”, x”21”, x”20”, x”1f”, x”80”, x”40”, x”22”, x”20”, x”1e”, x”c0”, x”22”, x”80”, x”e0”, x”21”, x”40”, x”23”, x”60”, x”23”, x”a0”, x”00”, x”55”, x”8a”, x”f0”,others=>x”00”) –initialize ram44. Microcomputer.vhd代码中bus_reg_t2 将ram8存储器中对应于ar中地址单元的数据取出来放到bus_reg_t2寄存器中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序计数器PC的功能是存放下一条指令的地址,其输出是向地址寄存器提供要将执行的指令在存储器中的地址。在提供地址后立即加1,指向指令的下一个字节或下一条指令的地址。其控制微命令有三个。当LOAD=0而LDPC=1时,由T4的正跳变将数据总线上的数据装入PC;当当LOAD=1而LDPC=1时PC的内容加1;当PCB=1时,PC中的地址信息送到数据总线上。
微指令000001001110000000001010
执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:0A
微指令000001001010000000001011
执行的操作是:存储器CE有效,存储器读,LDDR1,转微地址:0B
微指令000001110000101000000001
执行的操作是:算术:A,数码管LEDB有效,写LED,ALU→B,转微地址:01
异或指令XOR RD,RS:(RS)异或(RD)→(RD)
四.进度安排
共1.5周11天的时间,具体安排如下:
1~2天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;
3 ~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现 的模型机的指令系统(原有的5条指令)和微程序设计方法;
6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令;
10~11天:根据自己设计的微程序系统写出相应的课程设计实验报告;
五.成绩评定
六.正文
一、模型机的CPU及系统硬件
基本模型机的CPU及系统硬件组成如图1所示
图1 模型机的CPU及系统硬件组成
课程设计报告
课程设计名称:简单模型机的微程序设计
学院:信息工程学院
学生姓名:
班级:
学号:
成绩:
指导教师:
开课时间:学年第学期
一.设计题目
计算机组成原理课程设计——简单模型机的微程序设计
二.主要内容
通过课程设计更清楚地理解下列基本概念:
1.计算机的硬件基本组成;
2.计算机中机器指令的设计
3.计算机中机器指令的执行过程;
输出指令 OUT (addr):(addr)→输出设备"LED"
跳转指令 JMP (addr):addr→PC
数据传送指令MOV RD,RS:(RS)→(RD)
与指令AND RD,RS:(RS)与(RD)→(RD)
或指令OR RD,(addr):(RD)或(addr)→(RD)
求反指令 NOT RD:/(RD)→(RD)
微指令000001011110110110000010
执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02
微指令000001001100000001010000
执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:15
微指令000001001110000000000100
执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:04
微指令000001001011000000000101
执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:05
微指令000001011010001000000110
执行的操作是:R0→B,LDDR1,转微地址:06
运算器为单总线结构,其输入端分别连接到暂存器DR1和DR2,其装入数据的微命令分别为LDDR1和LDDR2,当它们为1电平时由节拍脉冲T4将数据总线上的数据装入相应的暂存器。R0、R1、R2为通用寄存器。R0的装入数据的微命令为LDR0,R1的装入数据的微命令为LDR1,R2的装入数据的微命令为LDR2。299为实现移位运算的装置,当299B微命令有效时,其数据端和数据总线连接。控制器由程序计数器PC、指令寄存器IR、地址寄存器AR、时序电路、控制存储器及相应的译码电路组成。
微指令000001001100000001010000
执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:13
微指令000001011110110110001001
执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:09
JMP addr 0100 0000 ×××× ××××;addr→PC
说明:指令IN为单字节指令,其余均为双字节指令,××××××××为要读写的主存储器单元的二进制地址码。
三、指令微流程分析
这十条指令的微流程图如图所示
01
02
20
1D
090C0D0E1A1E27
0A0F1B20
0B1C
1D
四.编写微程序
微指令100101011001101000000001
执行的操作是:算术:A加B,ALU→B,LDR0,转微地址:01
微指令000001011110110110000010
执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02
微指令000001001100000001010000
执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10
微指令000001000001000000000001
执行的操作是:输入开关SWB有效,LDR0,转微地址:01
微指令000001011110110110000010
执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02
模型机有两个外部设备:输入设备是置数开关SW,用于设置数据或地址,当微命令SWB=0时,设置的数据送到数据总线上;SWB也是由微指令中的有关字段(B1B0)译码产生的。输出设备是两位LED数码管,当微命令LEDB=1时,数据总线上的数据送到数码管显示。
二、基本模型机的指令设计
根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT,无条件转移指令JMP。指令格式如下:
12:000001011110110110000111
13:000001011110110110001001
14:000001011110110110001100
15:000001011010001000001101
16:000001011010001000001110
17:000001011110110110011010
18:000001011010010000011110
19:000001011010001000011111
1A:000001001110000000011011
1B:000001001011000000011100
1C:000001011010010000011101
1D:000101011001101000000001
执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:08
微指令000001101000001000000001
执行的操作是:存储器CE有效,写存储器,R0→B,转微地址:01
微指令000001011110110110000010
执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02
1E:000011111001101000000001
1F:000001011011001000100000
20:011011011001101000000001
此后就可以手动地用开关将微程序输入机器的控存。然后将控存的启动地址置为0,运行微程序,将要执行的测试程序存入主存,也可从主存中读出指令,检查输入的指令是否正确。
指令寄存器IR用于存放当前执行的指令。当微命令LDIR=1时,由节拍脉冲T3将数据总线上的数据装入。
地址寄存器AR存放要从存储器中读出的数据或指令的地址或要向存储器写入数据或指令的地址。
当微命令LDAR=1时,由节拍脉冲T3将数据总线上的数据装入。
存储器RAM用于存放程序和数据。当片选信号CE=0时,如果W/R为0,则根据AR中的地址,从存储器读出数据并送到数据总线上;如果W/R为1,则根据AR中的地址,向存储器中写入数据总线上的数据。片选信号 CE是由微指令中的有关字段(B1B0)译码产生的。
执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:12
微指令000001011110110110000111
执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:07
微指令000001001110000000001000
4.微程序控制器的工作原理。
5.微指令的格式设计原则;
在此基础上设计可以运行一些基本机器指令的微程序的设计
三.具体要求
置数指令 IN置数开关SW(KD0~KD7)的状态→R0
加法指令 ADD R0,,(addr):(R0)+(addr)→(R0)
存数指令 STA R0,(addr):(R0)→(addr)
0C:000001001101000000000001
0D:000001111001101000000001
0E:000001011011001000001111
0F:101111011001101000000001
10:000001000001000000000001
11:000001011110110110000011
助记符机器指令码 说 明
IN0000 0000;置数开关SW(KD0~KD7)的状态→R0
ADD addr 0001 0000 ×××× ××××;(R0)+(addr)→(R0)
相关文档
最新文档