文档库 最新最全的文档下载
当前位置:文档库 › 简单模型机的微程序设计

简单模型机的微程序设计

简单模型机的微程序设计
简单模型机的微程序设计

课程设计报告

课程设计名称:简单模型机的微程序设计学院:信息工程学院

学生姓名:

班级:

学号:

成绩:

指导教师:

开课时间:学年第学期

一.设计题目

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

二.主要内容

通过课程设计更清楚地理解下列基本概念:

1.计算机的硬件基本组成;

2.计算机中机器指令的设计

3.计算机中机器指令的执行过程;

4.微程序控制器的工作原理。

5.微指令的格式设计原则;

在此基础上设计可以运行一些基本机器指令的微程序的设计

三.具体要求

置数指令 IN 置数开关SW(KD0~KD7)的状态→R0

加法指令 ADD R0,,(addr):(R0)+(addr)→(R0)

存数指令 STA R0,(addr):(R0)→(addr)

输出指令 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)

异或指令XOR RD,RS:(RS)异或(RD)→(RD)

四.进度安排

共1.5周11天的时间,具体安排如下:

1~2天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;

3 ~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统(原有的5条指令)和微程序设计方法;

6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令;

10~11天:根据自己设计的微程序系统写出相应的课程设计实验报告;

五.成绩评定

六.正文

一、模型机的CPU及系统硬件

基本模型机的CPU及系统硬件组成如图1所示

图1 模型机的CPU及系统硬件组成

各部件的功能及控制信号如下:

运算器由算逻部件ALU(8位)、暂存器DR1、DR2及通用寄存器等组成。ALU的功能控制信号为

S3、S2、S1、S0、M、CN,可以实现48种算术和逻辑运算功能,如图2所示。

图1 模型机的CPU及系统硬件组成

各部件的功能及控制信号如下:

运算器由算逻部件ALU(8位)、暂存器DR1、DR2及通用寄存器等组成。ALU 的功能控制信号为S3、S2、S1、S0、M、CN,可以实现48种算术和逻辑运算功能,如图2所示。

运算器为单总线结构,其输入端分别连接到暂存器DR1和DR2,其装入数据的微命令分别为LDDR1和LDDR2,当它们为1电平时由节拍脉冲T4将数据总线上的数据装入相应的暂存器。R0、R1、R2为通用寄存器。R0的装入数据的微命令为LDR0,R1的装入数据的微命令为LDR1,R2的装入数据的微命令为LDR2。299为实现移位运算的装置,当299B微命令有效时,其数据端和数据总线连接。控制器由程序计数器PC、指令寄存器IR、地址寄存器AR、时序电路、控制存储器及相应的译码电路组成。

程序计数器PC的功能是存放下一条指令的地址,其输出是向地址寄存器提供要将执行的指令在存储器中的地址。在提供地址后立即加1,指向指令的下一个字节或下一条指令的地址。其控制微命令有三个。当LOAD=0而LDPC=1时,由T4的正跳变将数据总线上的数据装入PC;当当LOAD=1而LDPC=1时PC的内容加1;当PCB=1时,PC中的地址信息送到数据总线上。

指令寄存器IR用于存放当前执行的指令。当微命令LDIR=1时,由节拍脉冲T3将数据总线上的数据装入。

地址寄存器AR存放要从存储器中读出的数据或指令的地址或要向存储器写入数据或指令的地址。

当微命令LDAR=1时,由节拍脉冲T3将数据总线上的数据装入。

存储器RAM用于存放程序和数据。当片选信号CE=0时,如果W/R为0,则根据AR 中的地址,从存储器读出数据并送到数据总线上;如果W/R为1,则根据AR中的地址,向存储器中写入数据总线上的数据。片选信号 CE是由微指令中的有关字段(B1B0)译码产生的。

模型机有两个外部设备:输入设备是置数开关SW,用于设置数据或地址,当微命令SWB=0时,设置的数据送到数据总线上;SWB也是由微指令中的有关字段(B1B0)译码产生的。输出设备是两位LED数码管,当微命令LEDB=1时,数据总线上的数据送到数码管显示。

二、基本模型机的指令设计

根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT,无条件转移指令JMP。指令格式如下:助记符机器指令码说明

IN 0000 0000 ;置数开关SW(KD0~KD7)的状态→R0 ADD addr 0001 0000 ×××× ××××;(R0)+(addr)→(R0)

STA addr 0010 0000 ×××× ××××;(R0)→(addr)

OUT addr 0011 0000 ×××× ××××;(addr)→输出设备"LED"

J MP addr 0100 0000 ×××× ××××;addr→PC

IN为单字节指令,其余均为双字节指令,××××××××为要读写的主存储器单元的二进制地址码。

三、指令微流程分析

这十条指令的微流程图如图所示

四.编写微程序

00:000001011000000000000000

01:000001011110110110000010

02:000001001100000001010000

03:000001001110000000000100

04:000001001011000000000101

05:000001011010001000000110

06:100101011001101000000001

07:000001001110000000001000

08:000001101000001000000001

09:000001001110000000001010

0A:000001001010000000001011

0B:000001110000101000000001

0C:000001001101000000000001

0D:000001111001101000000001

0E:000001011011001000001111

0F:101111011001101000000001

10:000001000001000000000001

11:000001011110110110000011

12:000001011110110110000111

13:000001011110110110001001

14:000001011110110110001100

15:000001011010001000001101

16:000001011010001000001110

17:000001011110110110011010

18:000001011010010000011110

19:000001011010001000011111

1A:000001001110000000011011

1B:000001001011000000011100

1C:000001011010010000011101

1D:000101011001101000000001

1E:000011111001101000000001

1F:000001011011001000100000

20:011011011001101000000001

此后就可以手动地用开关将微程序输入机器的控存。然后将控存的启动地址置为0,运行微程序,将要执行的测试程序存入主存,也可从主存中读出指令,检查输入的指令是否正确。

下面是利用该软件设计的微程序编码及各条微指令的功能分析。注意第一条微指令的微地址为01H,其它各条微指令的微地址都由上一行文字最后的数字(16进制)指定。

微指令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

微指令000001001100000001010000

执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:11

微指令000001011110110110000011

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:03

微指令000001001110000000000100

执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:04

微指令000001001011000000000101

执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:05

微指令000001011010001000000110

执行的操作是:R0→B,LDDR1,转微地址:06

微指令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),转微地址:12

微指令000001011110110110000111

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:07

微指令000001001110000000001000

执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:08

微指令000001101000001000000001

执行的操作是:存储器CE有效,写存储器,R0→B,转微地址:01

微指令000001011110110110000010

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001001100000001010000

执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:13

微指令000001011110110110001001

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:09

微指令000001001110000000001010

执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:0A

微指令000001001010000000001011

执行的操作是:存储器CE有效,存储器读,LDDR1,转微地址:0B

执行的操作是:算术:A,数码管LEDB有效,写LED,ALU→B,转微地址:01

微指令000001011110110110000010

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001001100000001010000

执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:15 微指令000001011010001000001101

执行的操作是:R0→B,LDDR1,转微地址:0D

微指令000001111001101000000001

执行的操作是:算术:A,ALU→B,LDR1,转微地址:01

微指令000001011110110110000010

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001001100000001010000

执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:16 微指令000001011010001000001110

执行的操作是:R0→B,LDDR1,转微地址:0E

微指令000001011011001000001111

执行的操作是:R0→B,LDDR2,转微地址:0F

微指令101111011001101000000001

执行的操作是:逻辑:AB,ALU→B,LDR1,转微地址:01

微指令000001011110110110000010

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001001100000001010000

执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:17 微指令000001011110110110011010

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:1A

微指令000001001110000000011011

执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:1B

微指令000001001011000000011100

执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:1C

微指令000001011010010000011101

执行的操作是:R2→B,LDDR1,转微地址:1D

微指令000101011001101000000001

执行的操作是:算术:A+B,ALU→B,LDR2,转微地址:01

微指令000001011110110110000010

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001001100000001010000

执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:18 微指令000001011010010000011110

执行的操作是:R1→B,LDDR1,转微地址:1E

微指令000011111001101000000001

执行的操作是:逻辑:/A,ALU→B,LDR1,转微地址:01

微指令000001011110110110000010

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3~0)或(IR7~IR4),转微地址:19 微指令000001011010001000011111

执行的操作是:R0→B,LDDR1,转微地址:1F

微指令000001011011001000100000

执行的操作是:R0→B,LDDR2,转微地址:20

微指令011011011001101000000001

执行的操作是:逻辑:A异或B,ALU→B,LDR2,转微地址:01

微指令000001011110110110000010

执行的操作是:PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

五.测试程序

00H:00000000 ;IN R0:(SW)→(R0)

01H:00010000 ;ADD R0,0F:(R0)+(0F)→(R0)

02H:00001111

03H:00100000 ;STA 10,R0:(R0)→(10)

04H:00010000

05H:00110000 ;OUT 10:(10)→(LED)

06H:00010000

07H:01010001 ;MOV R1,R0:(R0)→(R1)

08H:01100001 ;AND R1,R0:(R0)AND(R1)→(R1)

09H:01110010 ;OR R0,10:(R0)OR(10)→(R0)

0AH:00010000

0BH:10000101 ;NOT R1: /(R1)→(R1)

0CH:10010010 ;XOR R1,R0:(R0)XOR(R1)→(R1)

0DH:01000000 ;JMP 00: 00→(PC)

0EH:00000000

0FH:00000010

10H:00000011

六.总结

经过一周左右的努力,终于完成了计算机组成原理的课程设计。课程设计中,我对计算机的基本组成、工作原理,以及他们之间的通信方式,微程序控制器的设计、微指令和微程序的编制、调试以及执行等过程在理论的基础上面有了更加深刻的理解。

虽然只有短短的一周,但是我学到了很多东西.在学习过程中。光有理论知识还是不够的,要理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。这次设计中,我也发现了自己很多不足的地方。我会在以后的学习中不断学习,积累经验,提高自己。

总之,感谢老师和同学的帮助,在之后的学习过程中我会更加努力。

七.参考书

自编课程设计教材;《计算机组成原理》课程设计指导书——简单模型机的微程序设计。

理论课程教材:《计算机组成原理》

16位模型机的设计

16位CPU的设计 要求: 此模型机的功能是将存储区的数据块复制到另一个存储区。 汇编代码如下: START:LOADI R1,0010H ;源操作数地址送R1 LOADI R2,0030H ;目的操作数地址送R2 LOADI R6,002FH ;结束地址送R6 NEXT:LOAD R3,[R1] ;取数 STORE [R2],R3 ;存数 BRANCHGTI START ;如果R1>R6,则转向START INC R1 ;修改源地址 INC R2 ;修改目的地址 BRANCHI NEXT ;转向NEXT 1.16位CPU的组成结构

2.指令系统的设计 一、指令格式 1)单字指令格式 2)双字指令格式 操作码指令功能 00001 LOAD 装载数据到寄存器 00010 STORE 将寄存器的数据存入到存储器 00100 LOADI 将立即数装入到寄存器 00101 BRANCHI 无条件转移到由立即数指定的地址 00110 BRANCHGTI 如果源寄存器容大于目的寄存器的容,则转移到由 立即数指定的地址 00111 INC 寄存器容加1指令 依据以上设计的指令系统,则完成数据块复制的程序如下: 地址机器码指令功能说明 0000H 0001H 2001H 0010H LOADI R1,0010H 源操作数地址送R1

一、程序包:说明运算器的功能、移动寄存器的操作、比较器的比较类型和用于CPU控 制的状态类型。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; package cpu_lib is subtype t_shift is unsigned (3 downto 0); constant shftpass :unsigned(3 downto 0):="0000"; constant sftl :unsigned(3 downto 0):="0001"; constant sftr:unsigned(3 downto 0):="0010"; constant rotl :unsigned(3 downto 0):="0011"; constant rotr :unsigned(3 downto 0):="0100"; subtype t_alu is unsigned(3 downto 0); constant alupass :unsigned(3 downto 0):="0000";

基本模型机的设计与实现课程设计报告

基本模型机的设计与实现课程设计报告 https://www.wendangku.net/doc/6011297913.html,/maria87328/archive/2008/01/13/2041130.aspx 一、实验基本任务 1、由基本单元电路构成一台基本模型机。 2、设计五条机器指令,并编写相应的微程序。 3、调试指令和模型机使其在微程序的控制下自动产生各部件单元的控制信号正常工作。 二、设计方案 1、硬件设计 (1)设计微程序控制电路 微程序控制器的组成:控制存储器:EPROM2816*3,8D触发器74ls273*2,4D触发器74ls74*3;微指令寄存器格式:18位微指令,6位微地址。 (2)设计时钟信号源和时序控制电路 时钟信号源的组成:时基电路555,可触发单稳态多谐振荡器74ls237*2,输出频率为330-580Hz的方波信号。 时序控制电路:4D触发器74ls175*1组成移位寄存器电路。 (3)设计主存储器 主存电路的组成:6264存储器(8K*8位)*3,地址寄存器:74ls273*1,三态门:74ls245*1。 2、微控制设计 (1)实现存储器读操作; 拨动总清开关后,置控制开关SWC、SW A为“0 0”时,按要求连线后,连续按动“启动运行”开关,可对主存储器RAM连续手动读操作。 (2)实现存储器写操作; 拨动总清开关后,置控制开关SWC、SW A为“0 1”时,按要求连线后,再按动“启动运行”开关,可对主存储器RAM 连续手动写入。 (3)实现程序运行操作。 拨动总清开关后,置控制开关SWC、SW A为“1 1”时,按要求连线后,再按动“启动运行”开关,即可转入到第01号“取址”微指令,启动程序运行。

计算机硬件课程设计--简单模型机设计

计算机硬件课程设计--简单模型机设计

计算机硬件综合课程设计报告

简单模型机设计 一、设计要求 硬件:TDN-CM+计算机组成原理实验系统一台,PC机一台,排线若干,串口线一根。 软件:CMP软件 二、设计目的 1.通过对一个简单计算机的设计,对计算机的基 本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 2.通过这次课程设计,建立整机的概念,对程序 进行编辑,校验,锻炼理论联系实际的能力。 3.通过本次课程设计熟悉和训练设计思路与实 现方法。 4.通过本次课程设计锻炼团队合作的能力和团 队问题的解决。

三、设计电路及连线 设计电路及连线实验图如下图1-1所示。 图1-1 简单模型机连线图 四、设计说明 本次课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器

来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本次课程设计采用五条机器指令:IN (输入)、ADD (二进制加法)、STA (存数)、OUT (输出)、JMP (无条件转移),其指令格式如下(前4位为操作码): 助记符 机器指令码 说 明 微程序入口地址 IN 0000 0000 “INPUT DEVICE ”中 10 的开关状态→R0 0001 0000 ×××× ×××× R0+[addr]→R0 11 0010 0000 ×××× ×××× R0→[addr] 12 0011 0000 ×××× ×××× [addr]→BUS 13 0100 0000 ×××× ×××× addr →PC 14 ADD addr STA

基本模型机设计及实现

基本模型机设计及实现文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

课程设计任务书课程名称:计算机组成原理 设计题目:(共3个课题,最多3人一组,每组任选一题) 1.基本模型机设计与实现; 2.带移位运算的模型机的设计与实现; 3.复杂模型机的设计与实现。 已知技术参数和设计要求: 内容和技术参数: 利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。设计环境为TDN-CM+计算机组成原理教学实验系统,微机,虚拟软件。将所设计的微程序在此环境中进行调试,并给出测试思路和具体程序段。最后撰写出符合要求的课程设计说明书、完成答辩。 1.基本模型机设计与实现 指令系统至少要包括六条不同类型指令:如一条输入指令,一条减法指令,一条加法指令,一条存数指令,一条输出指令和一条无条件转移指令。 2. 带移位运算的模型机的设计与实现 在基本模型机的基础上增加左、右循环和左、右带进位循环四条指令 3. 设计不少于10条指令的指令系统。其中,包含算术逻辑指令,访问内存指令,程序控制指令,输入输出指令,停机指令。重点是要包括直接、间接、变址和相对寻址等多种寻址方式。 以上数据字长为8位,采用定点补码表示。指令字长为8的整数倍。微指令字长为24位。

具体要求: 1、确定设计目标 确定所设计计算机的功能和用途。 2、确定指令系统 确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。确定相对应指令所包含的微操作。 3、总体结构与数据通路 总体结构设计包括确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。 综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。 4、设计指令执行流程 数据通路确定后,就可以设计指令系统中每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。 5、确定微程序地址 根据后续微地址的形成方法,确定每个微程序地址及分支转移地址。 6、微指令代码化 根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码写入到控制存储器中的相应单元中。

计算机组成原理简单模型机实验

实验四简单模型机实验 1.1实验目的 1)将微程序控制器模块通过总线同运算器模块、存储器模块联机,组成一台模型计算机; 2)用微程序控制器控制模型机数据通路; 3)通过CPU运行5条机器指令组成的简单程序,掌握机器指令与微指令的关系,牢固建立机器的整机概念。 1.2电路图 本次实验用到前几次实验所有电路,将几个模块组成一台简单计算机,由微程序控制器控制数据通路,实现cpu从内存取出一条机器指令到执行指令结束的一个指令周期,由微指令组成的序列来完成,一条机器指令对应一个微程序。 图1 电路图 1.3 实验原理 (1)PC计数器初始值为“0”,微程序默认从00地址开始执行,产生控制信号,使PC的地址通过ABUS将送到存储器(6116)的地址锁存器AR中, PC=PC+1;(2)读出存储器中存放内容,通过DBUS送到IR指令寄存器中,实现指令译码,指令的操作码送至微程序控制器的程序跳转控制部分,在P(1)的控制下与微程序中储存的下一条指令地址进行逻辑运算,产生真正的下一条微程序地址;(3)在微程序的控制下单步执行微指令序列。

1.4 微指令格式 表1 微指令格式 1.5 微程序流程图: 图2 微程序流程图

1.6微程序代码表 1.7 数据通路总体图 图3 数据通路总体图

五条机器指令格式(其中,A为内存地址8bit): RAM中装入的程序和数据(其中,地址为8进制): 1.8 实验任务及步骤 (1)实验连线:本次实验大部分的连线已由教师完成,请同学们对照微指令格式,完成微程序控制器的剩余部分连线。 (2)实验环境初始化:实验平台通电前请关闭DR1(74ls273),DR2(74ls273),存储器(6116)的地址锁存器(74ls273),微程序控制器的地址锁存器(74ls175)的自动清零功能,将几个芯片的-MR引脚置为“1”。 时钟发生器的功能设定为单步执行,具体信号为:STOP=0,STEP=1。 (3)加电运行初始化:①指令寄存器IR自动清零,程序计数器PC手动清零,将两片74ls163的ENT,ENP引脚置“1”,-CR引脚置“0”,打开三态门开关,给单步时钟脉冲;

实验七基本模型机的设计与实现

实验七 基本模型机的设计与实现 一、实验目的 ⒈在掌握部件单元电路实验的基础上,进一步将其组成系统地构造 一台基本模型计算机。 ⒉为其定义5条机器指令,并编写相应的微程序,上机调试掌握整机 概念。 二、实验设备 Dais-CMH+/CMH 计算器组成原理教学实验系统一台,实验用扁平 线、导线若干。 三、实验原理 部件实验过程中,各部件单元的控制信号是以人为模拟产生为主,而 本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特 定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完 成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全 部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、 STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下 (前三位为操作码): ==========================================================助记符 机器指令码 说 明 -------------------------------------------------- ------------- IN R0,SW 0010 0000 数据开关状态 →R0 ADD R0,[addr] 0100 0000 XXXXXXXX R0+[addr]→R0 STA [addr],R0 0110 0000 XXXXXXXX R0→[addr] OUT [addr],LED 1000 0000 XXXXXXXX [addr]→LED JMP addr 1010 0000 XXXXXXXX addr→PC ==========================================================其中IN为单字节(8位),其余为双字节指令,XXXXXXXX为addr对 应的二进制地址码。 根据以上要求设计数据通路框图,如图7-10-1所示。系统涉及到的 微程序流程见图7-7-3,当拟定“取指”微指令时,该微指令的判别测试 字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指 令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前3位 (IR7~IR5)作为测试条件,出现8路分支,占用8个固定微地址单元。 当全部微程序设计完毕后,应将每条微指令代码化,表7-10-1即为 将图7-10-2的微程序流程图按微指令格式转化而成的“二进制微代码

计算机组成原理课程设计基本模型机设计与实现

课程设计(大作业)报告课程名称:计算机组成原理 设计题目:基本模型机设计与实现 院系:信息技术学院 班级:计算机科学与技术3班 设计者: 学号: 指导教师: 设计时间: 昆明学院 信息技术学院 课程设计(大作业)任务书

目录 课程设计(大作业)报告 一、课程设计的教学目的 1. 在“微程序控制器的组成与微程序设计实验”的基础上,进一步将其中各单元组成系统构造一台模型计算机。 2. 本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。 课程设计内容设计一台基本模型机,并实现相关的指令。 二、课程设计任务和基本要求 本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。 1.按给定的数据格式和指令系统,设计一个微程序控制器。 2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微 程序的为指令代码。

3.连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运 行过程及结果。 4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台 模型计算机。 5.用微程序控制器控制模型机的数据通路。 6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令 与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。 7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的 机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在 PC机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。 三、设计任务及分析 (1)设计任务: 从输入设备读取数据X并将其存入以A为间接地址的 内存单元,将X与R 0. 寄存器中的内容Y执行X ⊕,结果送到以B为直接地址的内存单元保存。 (2)分析: A:给R 寄存器直接置入01H. B:从数据开关给间接地址为0CH的内存单元置数,(03H). C:给R 0中的内容取反,结果存在R 中. D:将间接地址0CH中直接地址0EH中的内容(03H)放入DR1中, R 中的内容 放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R 中. E:将R 中的内容存在直接地址为0DH的内存单元中. 四、设计原理 模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。 本实验采用五条机器指令: IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):

计算机组成原理 实验八 简单模型计算机实验

实验八 简单模型计算机实验 一、实验目的 1)通过实验分析简单模型机结构,了解计算机的工作原理。 2)掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程 二、实验原理 基本整机模型数据框图如图所示,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。 存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR 中。 存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。 数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。运算结果是通过三太门送到总线上。 三态门的控制时由微控制器来控制。

图:模型机的数据通路图 三、实验过程 1.连线 按实验逻辑原理图连接以下控制信号。 1)时钟单元(CLOCK UNIT)的T1-T4接到微程序控制单元(MAIN CONTROL UNIT)

的T1-T4. 2)手动控制开关单元(MANUAL UNIT)的KA ,KB接到指令单元(INS UNIT) 的KA,KB。 3)指令单元(INS UNIT)的J(1)-J(5)、SE6-SE0、B-IR 接到的微程序控制单 元(MAIN CONTROL UNIT)的J(1)-J(5)、SE6-SE0、B-IR。 4)输入/输出单元(INPUT/OUTPUT UNIT)IO-W,IO-R接到微程序控制单元(MAIN CONTROL UNIT)的IO-W,IO-R,Ai接到地址单元(ADDRESS UNIT)的A0. 5)主存储器单元(MEM UNIT)M-W、M-R接到微程序控制单元(MAIN CONTROL UNIT)的M-W、M-R,A7-A0 接到地址单元(ADDRESS UNIT)的A7-A0. 6)地址单元(ADDRESS UNIT)的B-AR、B-PC、PC+1、PC-B接到微程序控制单元 (MAIN CONTROLUNIT)的B-AR、B-PC、PC+1、PC-B. 7)通用寄存器单元(REG UNIT)的B-R、R0-B 接到微程序控制单元(MAIN CONTROL UNIT)的B-DR、DR-B。 8)把算术逻辑单元(ALU UNIT)的B-DA1、B-A2、ALU-B Cycn、CyNCn、S3-S0、 M、Ci接到微程序控制单元(MAIN CONTROL UNIT)的B-DA1、B-A2、ALU-B、Cycn、CyNCn、S3-S0、M、Ci。 2.写入、检验微代码 这项操作与实验七的操作过程相同 3.装入机器指令汇编程序操作 1)微程序控制单元(MAIN CONTROL UNIT)编程开关置于“RUN”状态。 2)手动控制开关单元(MANUAL UNIT)的“STEP/RUN”开关置于“STEP”状态。 3)手动控制开关单元(MANUAL UNIT)的KA,KB开关置于1、0写主存储器状 态。 4)拨动开关从11—0—1,产生一个负脉冲,清零程序计数器PC、微地址 寄存器。 5)拨动“START”按钮一次,从微程序控制存储器的00H微地址开始执行微指 令,暂停在0AH微地址处。 6)此时在输入数据开关上拨入实验用机器指令汇编程序表中对应00H地址的

实验七基本模型机的设计与实现

实验七基本模型机的设计与实现 一、实验目的 ⒈在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。 ⒉为其定义5条机器指令,并编写相应的微程序,上机调试掌握整机概念。 二、实验设备 Dais-CMH+/CMH 计算器组成原理教学实验系统一台,实验用扁平线、导线若干。 三、实验原理 部件实验过程中,各部件单元的控制信号是以人为模拟产生为主,而本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT (输出)、JMP(无条件转移),其指令格式如下(前三位为操作码): =============================================================== 助记符机器指令码说明 --------------------------------------------------------------- IN R0,SW 0010 0000 数据开关状态→R0 ADD R0,[addr] 0100 0000 XXXXXXXX R0+[addr]→R0 STA [addr],R0 0110 0000 XXXXXXXX R0→[addr] OUT [addr],LED 1000 0000 XXXXXXXX [addr]→LED JMP addr 1010 0000 XXXXXXXX addr→PC =============================================================== 其中IN为单字节(8位),其余为双字节指令,XXXXXXXX为addr对应的二进制地址码。 根据以上要求设计数据通路框图,如图7-10-1所示。系统涉及到的微程序流程见图7-7-3,当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前3位(IR7~IR5)作为测试条件,出现8路分支,占用8个固定微地址单元。 当全部微程序设计完毕后,应将每条微指令代码化,表7-10-1即为将图7-10-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。 下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据总线上,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P(1),通过 节拍脉冲T4的控制以便识别所要求的操作。“指令寄存器”根据指令中的操作码译码 强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。 本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是LED块,它作为输出设备(OUTPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到外部数据总线上,当LDED有效时,将数据打入输出锁存器,驱

简单模型机实验报告

评语:课中检查完成的题号及题数: 课后完成的题号与题数: 成绩:自评成绩: 实验报告 实验名称:__________ 简单模型机实验报告____________ 日期: _________________ 班级:学号:姓名: -、实验目的: 1掌握一个简单CPU的组成原理。 2、在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。 3、为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。 二、实验内容: 本实验要实现一个简单的CPU并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU、微程序控制器(MC、通用寄存器(R0,指令寄存器(IR)、程序计数器(PC和地址寄存器(AR组成,如图2-1-1所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

图1-4-1基本CPU 构成原理图 除了程序计数器(PC ,其余部件在前面的实验中都已用到,在此不再讨论。系统 的程序计数器(PC 由两片74LS161和一片74LS245构成,其原理如图1-4-2所示。PC_B 为三态门的输出使能端,CLR 连接至CON 单元的总清端CLR 按下CLR 按钮,将使PC 清 零,LDPC 和T2相与后作为计数器的计数时钟,当LOAD 为低时,计数时钟到来后将CPU 内总线上的数据打入PG 图1-4-2程序计数器(PC )原理图 本模型机和前面微程序控制器实验相比,新增加一条跳转指令 JMP 共有五条指令: OUT (输出)、JMP (无条件转移),HLT (停 机), 其指令格式如下(高4位为操作码): 助记符 机器指令码 说明 IN 0010 0000 IN — R0 ADD 0000 0000 R0 + R0 — R0 OUT 0011 0000 R0 — OUT JMP addr 1100 0000 ******** addr — PC HLT 0101 0000 停机 址码。微程序控制器实验的指令是通过手动给出的,现在要求 CPU 自动从存储器读取指 令并执行。根据以上要求,设计数据通路图,如图 1-4-3所示。 IN (输入)、ADD (二进制加法)、 其中JMP 为双字节指令,其余均为单字节指令, ******** 为addr 对应的二进制地 LDPC T2 CLR LOAD

基本模型机设计与实现.

课程设计 课程名称:计算机组成原理 设计题目:基本模型机设计与实现 学院:信息工程与自动化 专业:计算机科学与技术 年级: 学生姓名: 指导教师:王海瑞 日期: 教务处制

课程设计任务书 信息工程与自动化学院计算机专业年级 学生姓名: 课程设计题目:基本模型机设计与实现 课程设计主要内容: 利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微 程序。将所设计的微程序在计算机组成原理教学实验系统环境中进行测试,并给出测试思路和具体程序段。最后撰写出符合要求的课程设计报告。 首先要确定所设计计算机的功能和用途,设计中根据功能和用途确定指令系统, 数据的表示格式,位数,指令的编码,类型,需要设计那些指令和寻址方式。确定相 对应指令所包含的微操作以及总体结构设计之间的数据通路结构,在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微指令。 设计指导教师(签字): 教学基层组织负责人(签字): 年月日

目录 一、基本模型机的设计,,,,,,,,,,,,,,,, 4 1、程序设计目的,,,,,,,,,,,,,,,, 4 2、程序设计任务和基本要求,,,,,,,,,,,, 4 3、实验原理,,,,,,,,,,,,,,,,,,,,,,, 5 二、实验内容及步骤,,,,,,,,,,,,,,,8 1.实验内容,,,,,,,,,,,,,,,,,,,8 2.实验步骤,,,,,,,,,,,,,,,,,10 3.实验情况及记录,,,,,,,,,,,,,,,14 三、总结体会,,,,,,,,,,,,,,,,,,15 四、参考文献,,,,,,,,,,,,,,,,,,16 一、基本模型机的设计 1、程序设计目的 (1)掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,

计算机基本模型机设计与实现

计算机基本模型机设计与实现 万红明,李明威 ——湖北省孝感学院计算机科学系 摘要:本科研项目主要在传统模型机的基础上进一步设计且实现模型机的主要组成部件(运算器,存储器,控制器,基本输入输出设备)的基本功能,结合基本硬件资源,充分利用微程序,时序,组合逻辑等控制模型机完成一些基本的指令功能。 关键词:计算机组成原理模型机微指令微程序。 一、模型机的硬件组成 计算机是由运算器、存储器、控制器以及输入输出四大主要单元组成。它们之间通过一条公共的通道进行数据的传递和控制,即总线。其中运算器主要是负责数据的逻辑和算术运算,存储器的任务就是存放我们编写的机器指令(程序)和一般的数据存储,控制器是根据读取内存中的机器指令从而对相应的指令作出分析,继而对我们的计算机发不同的控制信号。输入输出单元则是将我们需要运行的程序写入内存,再由机器运行计算得出结果,予以显示输出。下图为模型机的基本框架: 图(1) 下面我们就对模型机的硬件设计思路作一些简要的介绍(设计的重点是在微程序的设计上,在后面我们将作祥细的说明。 (1)算术逻辑运算单元 我们用的运算器是将两个74LS181进行级联做成一个八位的运算器,并且带有进位功能。当有进位产生时,在高四位的74LS181上的CN+4端输出一个高电平,经D触发器锁存输出并送致LED显示。74LS181有多种组合状态,因此会有多种不同的结果。我们在此只设计实现两个数据相加的功能。它的输入端直接连着两个锁存器(74LS273),它能够将输入端的数据送进锁存器内锁存,进而将数据送进运算器进行算术或逻辑运算。运算器运算后的结果将通过一个三态门(74LS245)后才能送到总线与其它的部件交换数据,设计中三态门的作用是使各部件正常工作而互不影响。 (2)存储单元 存储器芯片选用的是6116(2K x 8),其数据端接至数据总线,地址由地址锁存器(74LS273)给出。数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。

计算机组成原理-简单模型机设计课设

兰州理工大学技术工程学院 计算机组成原理课程设计任务书(09级)题目:模型机设计—1 学生姓名:学号: 班级:计算机科学与技术(2)班指导老师: 一、计算机组成原理课程设计题目简介 该设计要求学成根据计算机组成原理课程所学知识,设计、开发一套简单的模型就算计。 通过对一个简单计算机的设计,以达到对计算机的基本组成、部件的功能与设计、微程序控制器的设计,微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整体概念,加深计算机时间与空间概念的理解。 二、计算机组成原理课程设计任务 1、查阅文献资料,一般在5篇以上; 2、以教学实验用模型机为背景,通过调研、分析现有的模型机,建立带有带8位自增、自减指令的整机模型; 3、完成系统编程与测试工作; 4、撰写设计说明书; 5、做好答辩工作。 三、计算机组成原理课设设计的主要内容、功能及指标 1、根据任务要求设计整体系统的方案。 2、存储系统:使用模型机的存储模块,说明存储器的输入输出时序,模块连接方式等。 3、运算器:使用模型机的器件,组成带有片间串行进位8位移位运算功能的运算器。 4、微程序控制器模块:使用教学机的系统,设计微程序控制器。 5、设计模型机指令系统:(含设计微指令格式,微程序流程图,每条指令所对

应的微程序等)。指令系统包括下列指令:IN、OUT、STA、LDA、JMP、BZC、CLR、MOV、 ADD、SUB、ADC、ADT、INC、DEC、SBT、SBC 6、了解并说明教学模型机的输入输出模块。 7、在自己设计的指令系统基础上,编制一个汇编语言小程序并进行调试通过。 8、整机设计分模块进行,说明模块中数据和控制信号的来源、去向、功能、时序、以及模块间数据和控制信号的来源、去向、功能、时序等。 四、完成课程设计报告 1、设计题目、设计任务、实验设备与器材; 2、整体设计方案,设计原理与内容; 3、画出模型机数据通路图; 4、画出设计的模型机微程序流程图和微程序; 5、说明指令系统的格式; 6、说明模块中数据和控制信号的来源、去向、功能、时序、以及模块间数据和控制信号的来源、去向、功能、时序等。 7、调试情况,调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等; [1]计算机组成原理课程设计提交的成果 1.设计说明书一份,内容包括: 1)中文摘要100字;关键词3-5个; 2)前言; 3) 设计的目的及设计原理; 4)模型机的逻辑结构及框架; 5) 运算器的物理结构; 6)存储器系统的组成与说明; 7)指令系统的设计与指令格式分析; 8) 微程序控制器的逻辑结构及功能; 9)微程序的设计与实现(含微指令格式、后续地址产生方法以及微程序入口地址的形式)

模型机实验报告

哈尔滨工程大学 实验报告 实验名称:复杂模型机设计与实现 班级: 学号: 姓名: 实验时间: 成绩: 指导教师:程旭辉附小晶 实验室名称:计算机专业实验中心 一、实验名称:复杂模型机的设计与实现 二、实验目的:

1.综合运用所学计算机原理知识,设计并实现较为完整的计算机。 2.设计指令系统。 3.编写简单程序,在所设计的复杂模型计算机上调试运行。 三、实验设备: GW-48CPP系列计算机组成原理实验系统。 四、实验原理: 1.数据格式 8位,其格式如下: 其中第7位为符号位,数值表示范围是:-1≤1。 2.指令格式 所设计的指令分为四大类共十六条,其中包括算术逻辑指令、I/O指令、访问、转移指令和停机指令。 (1)算术逻辑指令 设计9条算术逻辑指令并用单字节表示,采用寄存器直接寻址方式,其格式如下: 其中, (2)访问指令及转移指令 访问指令有2条,即存数(STA)、取数(LDA);2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC) 其中,OP-CODE指令)。D为位移量(正负均可),M为寻址模式,其定义如下: 在本模型机中规定变址寄存器RI为寄存器R2。 (3)I/O指令 输入(IN)和输出( 其中,addr=01时,选中“OUTPUT DEVICE”中的LCD

点阵液晶屏作为输出设备。 (4)停机指令 指令格式如下: 3.指令系统 共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入/输出指令2条,其

本模型机的数据通路框图如图7-1。根据机器指令系统要求,设计微程序流程图及确定微地址,如图7-2。 图7-2 微程序流程图 五、实验内容: 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。 微代码定义如表7-1所示。

模型机课程设计

哈尔滨理工大学 软件学院 课程设计报告 课程片上计算机系统 题目 CPU模型机设计 班级集成12-1班 专业集成电路设计与集成系统学生张铭 学号 1214020130 指导教师崔林海 2014年07 月02日

索引: 1.课程设计的目的及要求 (3) 2.处理器的设计思想和设计内容 (3) 3.设计处理器的结构和实现方法 (3) 4.模型机的指令系统 (4) 5.处理器的状态跳转操作过程 (4) 6. CPU的VHDL代码 (7) 7. 模型机在Quartus II环境下的应用 (32) 8. 仿真波形 (33) 9. 课程设计的总结 (35)

一.课程设计的目的及要求: 1.目的:了解Quartus II软件的应用,学习Quartus II环境下设计CPU的基本过程;掌握CPU设计代码的含义以及CPU的工作原理;了解CPU与内存RAM 间的连接数据的传输过程;学习在Quartus II环境下建立模型机的具体过程。融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识。学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。 2.要求:以《计算机组成与设计》书中123页的简化模型为基础,更改其指令系统,形成设计者的CPU,在Quartus II环境下与主存连接,调试程序,观察指令的执行是否达到设计构想。 二.处理器的设计思想和设计内容: 处理器的字长为16b;包括四种指令格式,格式1、格式2、格式3的指令字长度为8b,格式4的指令字长度为16b;处理器内部的状态机包括6个状态。 关于CPU: 操作码5位,一共设计20条指令,主要包括空操作指令、中断指令、加法指令、减法指令、三种逻辑运算指令、循环移位操作指令,数据传输指令,转移类指令,特权指令,取反,取绝对值等等。 关于RAM: 地址线设置成16bits,主存空间为64words。 书中原CPU的主要修改: (1)模型机CPU指令集中的逻辑左移与逻辑右移改成逻辑循环右移与逻辑循环左移。 (2)模型机CPU指令集中的or改成not。 (3)模型机CPU指令的执行流程及状态跳转。 三.设计处理器的结构和实现方法: (指令格式) 格式1:寄存器寻址方式 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

基本模型机设计与实现 实验报告

____学院____专业_____班______组、学号______ 姓名_____协作者_____ 教师评定_____________ 实验题目_基本模型机设计与实现______________________ 1.实验目的与要求: 实验目的: 1.在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合成一起,组成一台基本模型计算机。 2.用微程序控制器来控制模型机的数据通道。 3.通过CPU运行五条机器指令组成的简单程序,掌握机器指令与微指令的关系,建立利用指令控制整机(输入、输出、运算、存储系统)的概念。 实验要求: 记录程序运行过程的数据和结果,按记录填写答题框,完成练习操作题,观察程序的执行过程并记录运行结果。 2.实验方案: 1.实验连线。 2.试验程序。 3.修改和编写试验仪RAM和ROM数据的方法。 4.结果测试。 3.实验结果和数据处理: 练习操作题记录表:(注意:题目不用写入实验报告)

4.结论 1.每条指令执行要分三步,第一步是取指令,由01、02微指令实现;第二步是判别指令,判别取的是什么指令,转到相应的分支去,由P (1)信号参与控制;第三步是具体执行指令,具体执行相应分支的每一条微指令。 2.每次运行前,都要拨动CLR开关清零(1→0→1)。清零后,微地址显示灯应为000000。 3.窗口显示的EX1的源文件,包括机器指令程序和微指令程序的微代码,$P开头是机器指令程序,$M开头是微指令程序的微代码. 5.问题与讨论及实验总结 如何修改试验仪的RAM和ROM的数据? 答:先选中要修改的该层,把该地址单元的内容全部输入,等光标自动移到下一个地址单元时才完成对该地址单元内容的修改。接着使用该菜单栏中的“调试”菜单下的“刷新数据”或F5热键来对“程序RAM”“微指令ROM”进行刷新,把电脑上的数据传到实验仪中。 6.思考题:

基本模型机实验

基本模型机实验 实验目的: 理解微程序结构CU设计方法 理解机器指令与微程序之间的关系 掌握简单模型机CU的设计方法。 实验原理: 1.基本模型机使用的实验台模块 基本模型机应包括计算机系统的五大部件,相应地,在使用实验台构造模型机时,涉及到以下模块,必须完成其数据线(扁缆)和各种控制信号线的连接。 运算器模块– ALU; 指令部件模块、时序启停控制模块、微程序模块- 这些模块合在一起,相当于计算机系统中的CU; 存储器模块- 可存储机器指令,用于验证模型机的运行情况; 输入模块– 通过开关输入二进制数据; 输出模块– 通过LED显示从数据总线上输出的八位数据。 2.基本模型机制持的指令系统 实验台支持的基本模型机实验中,模型机支持的指令集包括五条指令,其机器指令形式如下: 助记符机器指令格式操作 IN R0,SW 0010 0000 将输入模块开关输入值送入寄存器R0 ADD R0,[addr] 0100 0000 xxxxxxxx 双字节指令,第二字节为访存操作数 的地址。 STA [addr],R0 0110 0000 xxxxxxxx 同上。将R0寄存器的值存入地址addr 对应的内存单元中。 OUT[addr],LED 1000 0000 xxxxxxxx 同上。将内存地址addr对应单元的内 容输出到输出模块,由LED显示。 JMP addr 1010 0000 xxxxxxxx 同上。给PC赋值addr,控制程序跳 转到addr处执行。 3.微程序设计 基本模型机中实现CU控制的微程序共有6段,分别是取指周期微程序,和五条机器指令各自的执行周期微程序。其结构如下图所示: 其中,需要说明的是条件P(1),这个测试出现在取指周期结束时,系统需要根据机器指令的操作码字段(机器指令的前三位)进行散转,分别转入相应的执行周期微程序中执行。

基本模型机的设计与实现

南京晓庄学院 信息工程学院 计算机组成原理课程 实 验 报 告 实验名称:基本模型机的设计与实现 年级专业班级:14 级计算机专业专本1班班级 学号:14131521 姓名:殷宇翔 学号:姓名: 学号:姓名: 时间:2016 年12 月10 日

一、实验目的、要求: 1、在掌握部件单元电路实验的基础上,进一步将其组成系统以构造一台基本模型实验计算机。 2、设计五条机器指令,并编写相应的微程序,具体上机调试,掌握整机软硬件组成概念。 二、实验仪器设备、器件及环境: 三、实验方法、原理: 部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,实验计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 ⑴有关微控制器部分在前一实验中已详细介绍 ⑵主存储器的读、写和运行 为了向主存储器RAM中装入程序或数据,并且检查写入是否正确以及能运行主存储器中的程序,必须设计三个控制操作微程序。 ·存储器读操作:拨动总清开关后,置控制开关SWC、SWA为“0 0”时,按要求连线后,连续按“启动运行”开关,可对主存储器RAM连续手动读操作。 ·存储器写操作:拨动总清开关后,置控制开关SWC、SWA为“0 1”时,按要求连线后,再按“启动运行”开关,可对主存储器RAM进行连续手动写入。 ·运行程序:拨动总清开关后,置控制开关SWC、SWA为“1 1”时,按要求连线后,再按“启动运行”开关,即可转入到第01号“取址”微指令,启动程序

七基本模型机的设计与实现

实验七基本模型机的设计与实现 一实验目的 (1) 在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计 算机。 (2) 为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念 二实验设备 TDN—CM++计算机组成原理教学实验系统一台,排线若干。 三实验内容 1) 实验原理 部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序 控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制 将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周 期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本实验采用五条机器指令:IN(输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移)。其指令格式如下(前4位为操作码): 助记符机器指令码说明 IN 00000000 “INPUT DEVICE”中的开关状态→R0 ADD addr 0001 0000 ××××××××R0+[addr] →R0 STA addr 0010 0000 ××××××××R0 →[addr] OUT addr 0011 0000 ××××××××[addr] →LED JMP addr 0100 0000 ××××××××addr →PC 其中::IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。 为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计 三个控制台操作微程序。 * 存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“0 0”时,按START微动开关,可对RAM连续手动读操作。 * 存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为“0 1”时,按START微动开关可对RAM进行连续手动写入。 * 启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为“1 1”时,按START 微动开关,即可转入到第01号“取址”微指令,启动程序运行。 上述三条控制台指令用两个开关SWB,SWA的状态来设置,其定义如表4所示。 表4 控制台的开关设置 SWB SWA 控制台指令 0 0 1 0 1 1 读内存(KRD) 写内存(KWE) 启动程序(RP) 根据以上要求,可设计数据通路框图,如图19所示。微指令定义如表4所示。 系统涉及到的微程序流程如图21所示。当拟定“取指”微指令时,该微指令的判别测 试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1) 的测试结果出现多路分支。本机用指令寄存器的前4位(IR7一IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。 控制台操作为P(4)测试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,

相关文档
相关文档 最新文档