搜档网
当前位置:搜档网 › 简单模型机的微程序设计.

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

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

课程设计报告

课程设计名称:简单模型机的微程序设计系:三系

学生姓名:

班级:软件二班

学号:

成绩:

指导教师:

开课时间:2012学年2 学期

一、设计题目

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

二、主要内容

1.通过使用作者开发的微程序分析和设计仿真软件,熟悉本文介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下列问题:

⑴微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。

⑵微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。

⑶在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解释其它指令的微指令的微地址冲突。

⑷哪些微指令是执行所有指令都要用到的。

⑸解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?

⑹为什么读写一次内存总要用两条微指令完成?

⑺机器程序中的用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?

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

①或指令OR RD,RS:(RS)或(RD)→(RD)

②减法指令SUB RD,(addr):(RD)减(addr)→(RD)

③异或指令XOR (addr1),(addr2):(addr1)异或(addr2)→(RD)

④与指令AND RD,RS:(RS)与(RD)→(RD)

⑤求反指令NOT RD:/(RD) →(RD)

其中的RS、RD可以是R0、R1、R2中的任何一个。

三、具体要求

写出课程设计报告,解释你的设计思想,比如,如何实现各指令的分支,如何重新安排各指令对应的微程序中的微指令的微地址,如何设计各微指令的编码。要求画出用微命令表示的微流程图并适当加以解释。

四、进度安排

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

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

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

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

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

五、成绩评定

六、正文

(1)模型机的CPU及系统硬件

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

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

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

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

图2 74LS181功能表

运算器为单总线结构,其输入端分别连接到暂存器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时,数据总线上的数据送到数码管显示。

(2)基本模型机的指令设计

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

助记符机器指令码说明

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

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

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

JMP addr 1001 0000 ××××××××;addr→PC

OR 1010 0100 ;(RS)or (RD)→(RD)

SUB addr 1011 1100 ××××××××;(RD) - (addr)→(RD)

XOR 1100 1100 ;(addr1)xor (addr2)→(RD)

AND 1101 0100 ;(RS)and (RD)→(RD)

NOT 1110 1100 ;/(RD)→(RD)

(3)指令微流程分析

原有的五条指令的微流程如下图所示:

总微流程如图所示:

RAM →BUS BUS →R1

(R1⊕R0)→R0

1D

1E

01

01

(D1+DR2)→R0

01

RAM →BUS BUS →AR

R0→DR1

DR1→LED (R0-R1)→R0 0B 0F 1C

01

05 RAM →BUS BUS →DR2

RAM →BUS BUS →RAM

R0→BUS BUS →DR1

RAM →BUS BUS →RO

RAM →BUS BUS →R1

01

04 08 0A 0E 1B

01

01

01

01

03 0C 0D 1

07 09 PC →AR PC+1

SW →RO PC →AR PC+1

PC →AR PC+1

PC →AR PC+1

PC →AR PC+1

PC →AR PC+1

(R1∪R0)→R0

(R1∩R0)→R0

/(D1)→R0

PC →AR PC+1

RAM →BUS BUS →IR P(1)测试

01

02

11

10

13

14

15

16

17

18

19

12

NOT

AND

XOR

SUB

OR

JMP

OUT

STA

ADD

IN

RAM →BUS

BUS →AR

RAM →BUS BUS →PC

RAM →BUS BUS →AR

RAM →BUS BUS →AR

RAM →BUS BUS →AR

RAM →BUS BUS →AR

06

该图是运行微程序的数据流图,实际上并没有分解到微命令一级。为了设计微程序,还应该根据此图进一步细化到微命令(微操作)一级。例如PC→AR,实际上应该同时发出PCB、LDAR两个微命令;PC+1应该发出LDPC微命令;SW→R0应该发出SWB、LDRi(与指令码中的相应位共同译码产生LDR0微命令)两个微命令;RAM→BUS应该发出CE有效和读存储器两个微命令;BUS→RAM应该发出CE有效和写存储器两个微命令;R0→××是指R0B微命令有效等等。

据此可将该图改画成下图:

CE 有效

WR=0 LDDR0

ALU 做异或运算

1D

1E

01

01

ALU 做加运算

01

CE 有效

WR=0 LDPC

R0→DR1

ROB CE 有效

ALU 做减运算

0B 0F 1C

01

05 CE 有效WR=0 LDDR0

ROB CE 有效 WR=1

CE 有效

WR=0 LDDR0

CE 有效

WR=0 LDDR0

CE 有效WR=0 LDDR0

01

04 08 0A 0E 1B

01

01

01

01

03

0C

0D

1

07

09

PCB LDAR

SWB 有效 LDRi

PCB LDAR

PCB LDAR

PCB LDAR

PCB LDAR

PCB LDAR

ALU 做或运算

ALU 做与运算

ALU 求反运算

PCB LDAR LDPC

CE 有效 WR=0 LDIR P(1)测试

01

02

11 10 13 14 15 16 17 18 19

12 NOT

AND XOR SUB OR JMP

OUT STA ADD IN CE

有效WR=0 LDPC

CE 有效

WR=0 LDPC

CE 有效WR=0 LDPC

CE 有效WR=0 LDPC

CE 有效

WR=0 LDPC

CE 有效WR=0 LDPC

(4)基本模型机的微指令格式

本模型机的微指令长共24位,基本采用水平型微指令字段直接编码方式,其控制位顺序如下:

其中,S3、S2、S1、S0、M、CN(μA24~μA19位)为ALU运算类型的控制字段,其输出不需译码直接连接到ALU的对应控制信号即可。需要指出的是,该字段无论如何编码,ALU都要进行某种运算,但是只要不发出ALUB微命令,ALU 的运算结果都不会送到数据总线上,也就是不会对其它部件的操作产生任何影响。在设计微程序时,只要不发ALUB微命令,该字段的编码可以任意设置。

μA18位为输出设备(LED)和主存(RAM)的读写控制字段,该位为0,表示读;该位为1,表示写。

μA17~μA16位(B1B0)字段用于选择外设和主存。B1B0=01选择主存(CE 有效),B1B0=00选择输入数据开关(SWB有效),B1B0=10选择输出LED(LEDB 有效)。B1B0=11对本模型机无效,即没有选中任何外设或主存。

对本模型机而言,上述三位可以看成一个字段,其编码的含义如下:

uA18uA17uA16=000或100 从输入开关SW读数据

uA18uA17uA16=001 从贮存读数据

uA18uA17uA16=101 向主存写数据

uA18uA17uA16=110 向LED写数据

其他组合无意义。编写次微程序时采用011表示无效。

μA6~μA1位为6位的预置后续微地址,“预置”的含义是该字段与微地址控制字段以及指令寄存器等部件的内容共同产生下一条微指令在控存中的微地址。

A 、

B 、

C 三个译码字段,分别由三组译码控制电路译码产生各种微命令。 A 字段用于产生各寄存器的数据装入微命令,各种编码的含义如上表所示。 由于模型机有三个通用寄存器(R0、R1、R2),它们都有相应的数据装入微命令,为了不增加微指令的宽度,该字段只设计了一个LDRi 命令。为了区分究竟是哪个寄存器装入数据,要根据指令寄存器的最低两位(I 1I 0)的状态而定:当I 1I 0=00时,发LDR0微命令;I 1I 0=01时,发LDR1微命令;I 1I 0=10时,发LDR2微命令;I 1I 0=11时,对本模型机无效;

B 字段中的RSB 、RDB 、RIB 分别为源寄存器的内容送数据总线、目的寄存器送数据总线及变址寄存器送数据总线的微命令,其功能是根据机器指令来选通三个工作寄存器R0、R1及R2之一,将其内容送数据总线。 具体规则如下:

如果RDB 有效,根据指令寄存器的最低两位(I 1I 0)的状态决定哪个寄存器的内容送数据总线:当I 1I 0=00时,发R0B 微命令;I 1I 0=01时,发R1B 微命令;I 1I 0=10时,发R2B 微命令;I 1I 0=11时,对本模型机无效;

如果RSB 有效,根据指令寄存器(I 3I 2)两位的状态决定哪个寄存器的内容送数据总线:当I 3I 2=00时,发R0B 微命令;I 3I 2=01时,发R1B 微命令;I 3I 2=10时,发R2B 微命令;I 3I 2=11时,对本模型机无效;

本模型机的变址寄存器固定为R2,故RIB 有效就是R2B 有效。

基于上述字段的设计规则,在设计机器指令格式时,必须将目的寄存器的编码放在指令的第一个字节的I 1I 0位置,将源寄存器的编码放在指令的第一个字节的I 3I 2位置,且编码必须符合上述规则,即00代表寄存器R0,01代表寄存器R1,10代表寄存器R2。

B 字段中的299B 是移位运算装置的数据端与数据总线相连的微命令。该装置在图中没有画出。

C 字段中的P (1)~P (4)是四个测试字段。其功能是根据机器指令、μA5~μA0字段及其它有关部件的内容,产生下一条微指令在控存中的微地址,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行等。AR

为算术运算是否影响进位及判零标志控制位,低电平有效。LDPC为使PC+1的微命令。

P(1)~P(4)的意义如下:

P(1)测试的作用是次地址字段NA(4~1位)或指令寄存器IR(8~5位)产生下一条微指令在控存中的微地址的4~1位,下一条微指令在控存中的微地址的6~5位仍为NA字段的6~5位。 P(2)测试的作用是次地址字段NA(2~1位)或指令寄存器IR(4~3位)产生下一条微指令在控存中的微地址的2~1位,下一条微指令在控存中的微地址的6~3位仍为NA字段的6~3位。

P(3)测试的作用是次地址字段NA(4位)或进位或零标志产生下一条微指令在控存中的微地址的4位,下一条微指令在控存中的微地址的其它位仍为NA 字段的相应位。

P(4)测试的作用是次地址字段NA(2~1位)或(SWC,SWA)产生下一条微指令在控存中的微地址的2~1位,下一条微指令在控存中的微地址的6~3位仍为NA字段的6~3位。

(5)微程序设计

01:000001001110110110000010 02:000001011000000001010000 03:000001001110000000000100 04:000001001011000000000101 05:000001011010000000000110 06:100101011001101000000001 07:000001001110000000001000 08:000001101000001000000001 09:000001001110000000001010 0A:000001001010000000001011 0B:000001110000101000000001 0C:000001001101000110000001 0D:000001001110000000001110 0E:000001001001000000001111 0F:011000011001000000000001 10:000001000001100000000001 11:000001011110110110000011 12:000001011110110110000111 13:000001011110110110001001 14:000001011110110110001100 15:000001011001010000000001 16:011000011110110110001101 17:011010011110110110011010 18:101110011001010000000001 19:000010011001010000000001 1A:000001001110000000011011

1B:000001001001000000011111

1C:000001001110000000011101

1D:000001001001000000011110

1E:011010011001010000000001

1F:000001001110000000011100

(6)机器指令测试程序的编写

00H:00000000 ;IN

01H:00010000 ;ADD(R0)+(addr)→(R0)

02H:00010011

03H:00100000 ;STA(R0)→(addr)

04H:00010100

05H:00110000 ;OUT(addr)→输出设备"LED"

06H:00010100

07H:01010100 ;OR (RS)or (RD)→(RD)

08H:01101100 ;SUB (RD) - (addr)→(RD)

09H:00010011

0AH:01111100 ;XOR(addr1)xor (addr2)→(RD) 0BH:00010010

OCH:00010011

0DH:10001000 ;AND(RS)and (RD)→(RD)

0EH:10011100 ;NOT /(RD)→(RD)

0FH:01000000 ;JMP (addr)→PC

10H:00000000

11H:00000001

12H:00001110

13H:01110000

(7)运行测试程序对编写的机器指令格式以及微程序进行检验

微指令000001011110110110000010

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

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01 微指令000001001110110110000010

执行的操作是:存储器CE有效,存储器读,PC→B,LDAR,允许PC加1(LDPC=1),转微地址:02

微指令000001011000000001010000

执行的操作是:P(1)测试:NA(3~0)或(IR7~IR4),转微地址:10

微指令000001000001100000000001

执行的操作是:299保持数据,输入开关SWB有效,299→B,LDR0,转微地址:01

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.sodocs.net/doc/eb11858645.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

复杂模型机实验报告.

信息学院

运行 PC→AR PC+1 RAM→BUS BUS→IR P1 PC→AR PC+1 RS→BUS BUS→DR1 ALU=0→BUS BUS→RD SW→BUS BUS→RD 00(直接)CLR RD→BUS BUS→DR2 DR1+DR2→ BUS→RD 01 01 01 01 02 20 212325 52 53 31 27 RS→RD RS→299 RRC 299→RD RS→299 RLC 299→RD 01 3032 54 55 36 67 70 IN MOV RRC SUC RLC RD→LED 01 STOP 01 26 24 ADC RS→BUS BUS→DR2 RD→BUS BUS→DR1 DR1→DR1 DR1+1→ BUS→DR1 DR1→DR1 DR1+DR2→ BUS→RD 56 57 60 61 RD→BUS BUS→DR1 RS→BUS BUS→DR1 RD→BUS BUS→DR1 35 0101 INC DR1+1→ BUS→RD 01 01 01 34 62 33 RD→BUS BUS→DR2 63 DR1^DR2→ BUS→RD 65 AND 66 PC→AR PC+1 PC→AR PC+1 PC→AR PC+1 20 RAM→BUS BUS→DR1 03 RAM→BUS BUS→AR 04 RAM→BUS BUS→DR1 06 RAM→BUS BUS→AR 05 RAM→BUS BUS→AR 07 40 RAM→BUS BUS→DR1 15 22 RI→DR2 16 DR1+DR2→ BUS→AR 17 DR1+DR2→ BUS→DR1 45 RAM→BUS BUS→DR1 46 PC→BUS BUS→DR2 47 DR1+DR2→ BUS→AR 50 DR1+DR2→ BUS→DR1 51 72 P2 RAM→BUS BUS→RD 40 RD→BUS BUS→RAM 41 DR1→BUS BUS→PC 4243 P3 DR1→BUS BUS→PC 6444 010101 BZC JMP STA LAD 10(变址) 01(间接)11(相对)COM 40 4040 01 01 44 01 Y N P4 PC→AR PC+1 PC→AR PC+1 SW→BUS BUS→DR1 DR1→RAM RAM→BUS BUS→DR1 DR1→LED 01 00 11 14 74 10 12 73 13 WRITE(01)READ(00)RUN(11) SW B 10 →B U S B U S→R D 1 DR DR1→DR1 37 71 SWA 图2-8复杂模型机微程序流程图 H L T A OUT 六、实验结果: (1)取in指令送IR: (2)采集从数据开关输入的数据07H并送R0:

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

实验四简单模型机实验 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”,打开三态门开关,给单步时钟脉冲;

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

实验八 简单模型计算机实验 一、实验目的 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地址的

基本模型机设计及实现

基本模型机设计及实现文件排版存档编号:[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掌握一个简单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

计算机组成原理课程设计模型机实验报告 精品

实践报告 计算机组成原理--模型机设计报告 作者姓名: 专业:计算机科学与技术 学号: 指导教师: 完成日期:年月号 ******学院 计算机工程系

摘要 “计算机组成原理”是计算机科学与技术系的一门核心专业基础课程,在计算机专业中起了很重要的作用。课程中分部分介绍了计算机的各个部件,我们有必要将它们组合起来以对计算机有一个整体的认识。这次课程设计通过对一个简单模型机的设计与实现,是我们对计算机的基本组成、部件的设计、部件间的连接有更深的理解。依次设计计算机的几个部件并进行连接使成为一个完整的模型机。通过运行和调试,使之正常工作。 关键词:运算器;控制器;存储器;输入输出接口;模型机

正文: 一、课设目的要求: 《计算机组成原理》是一门理论性、实践性均较强的专业基础课,要求学生具有一定的电路分析、指令系统编写能力、软件设计能力。通过计算机组成原理实践周,要突出《计算机组成原理》理论联系实际的特点,培养实践动手能力。 1.培养学生运用理论知识和技能,构建建立问题逻辑结构,锻炼学生分析解决实际 问题的能力。 2.培养学生使用PROTEUS软件分析和设计计算机内部器件的方法和技巧。 3.培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。 4.通过实践设计,要求学生在指导教师的指导下,独立完成设计课题的全部内容, 包括: (1)通过调查研究和上机实习,掌握PROTEUS软件的设计和仿真调试技能。 (2)掌握计算机系统的组成结构及其工作原理。 (3)设计实现一个简单计算机的模型机,并能够使用PROTEUS软件进行电路仿真验证 二、课设内容: 利用所学的计算机结构和工作原理的知识,要求学生独立完成简单计算机的模型机设计,并用PROTEUS软件进行验证。在分析设计过程中,要求学生养成良好的习惯,学会分析实际问题,并利用所学的知识建立系统的逻辑结构,学会PROTEUS调试技巧和方法,通过逻辑设计和工程设计培养调试硬件电路的实际动手能力。要求学生掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。 三、课设设备: 计算机组成原理教学实验系统及电脑一台。 四、模型机组织结构: 组织结构分为运算器控制器存储器输入输出接口。 运算器是数据的加工部件,是CPU的重要组成部分。基本结构中必须有算数/逻辑运算单元、数据缓冲存储器、多路转换器和数据总线等逻辑构件。控制器是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件需要的操作控制命令,由程序计数器、指令寄存器、指令译码器、时序产生器组成。存储器用来

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

实验七 基本模型机的设计与实现 一、实验目的 ⒈在掌握部件单元电路实验的基础上,进一步将其组成系统地构造 一台基本模型计算机。 ⒉为其定义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的微程序流程图按微指令格式转化而成的“二进制微代码

基本模型机设计与实现.

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

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

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

计算机组成原理 基本模型机实验

淮海工学院计算机工程学院实验报告书 课程名:《计算机组成原理》 题目:实验四基本模型机实验 班级: 学号: 姓名:

1、目的与要求 1)在“微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机。 2)本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。2、实验设备 1) ZYE1601B计算机组成原理教学实验箱一台,排线若干。 2) PC机一台。 3、实验步骤与源程序 l) 根据该模型机的指令系统,编写一段程序。这里给出两个参考程序。 参考程序一: 本程序从输入设备(数码开关)取入数据,保存在内存单元08,然后从08单元送到输出设备(LED数码管)进行显示。然后程序停止(请实验者考虑:如何修改程序,使程序不断从输入设备取出数据,送到输出设备显示。每次循环过程中,可以使输入设备数据改变,考察输出显示的结果。)。 设计机器指令程序如下(机器码为十六进制数据)。 地址内容助记符说明 00 00 IN ;输入开关数据→R0 01 20 STA [08H] ;R0→[08] 02 08 ;地址 03 30 OUT [08H] ;[08H]→BUS 04 08 ;地址 05 40 JMP [00H] ;00H→PC 06 00 ;跳转地址 参考程序二: 本程序从输入设备(数码开关)读入数据,与0A单元的数据相加,然后送到输出设备(LED 数码管)进行显示。本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。 设计机器指令程序如下(机器码为十六进制数据)。 地址内容助记符说明 00 00 IN ;输入开关数据→R0,采集数据 01 10 ADD [0AH] ;R0+[0AH]→R0,输入数据与指定数据相加 02 0A ;地址 03 20 STA [0BH] ;R0→[0B] 04 0B ;地址 05 30 OUT [0BH] ;[0BH]→BUS,输出显示 06 0B ;地址 07 40 JMP [00H] ;00H→PC 08 00 ;跳转地址 0A 01 ;加数,可自定 0B ;求和结果保存在0B单元 2) 按图1连接实验线路。 3) 写程序: 对于本实验箱可以用两种方法来写入程序。 方法一:手动写入 (1)先将机器指令对应的微代码正确地写入2816中,由于在实验1.6微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2—2校验正确后就可使用。

模型机实验报告

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

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

基本模型机实验

基本模型机实验 实验目的: 理解微程序结构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),这个测试出现在取指周期结束时,系统需要根据机器指令的操作码字段(机器指令的前三位)进行散转,分别转入相应的执行周期微程序中执行。

复杂模型机实验报告

复杂模型机实验报告 篇一:复杂模型机实验报告 信息学院 篇二:复杂模型机的组成与运行实验报告 内蒙古师范大学计算机与信息工程学院 《计算机组成原理》 课程设计报告 题目十五:复杂模型机的组成与运行 目录 1[ 任务描述] ............................................... ................................................... (2) 1.1 题目名称 ................................................ ................................................... ................................... 2 1.2 要求 ................................................ ................................................... ..................................... 2 1.3 实验目的 ................................................

................................................... .................................. 2` 2 [设计设备] ............................................... ................................................... ................ 2 3 [设计原理和方法] ............................................... ................................................... . (2) 3.1 设计原理 ................................................ ................................................... ................................... 3 ................................................ ................................................... ................................ 3 ................................................ ................................................... ................................ 3 ................................................ ...................................................

基本模型机的设计与实现

南京晓庄学院 信息工程学院 计算机组成原理课程 实 验 报 告 实验名称:基本模型机的设计与实现 年级专业班级: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号“取址”微指令,启动程序

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

课程设计(大作业)报告课程名称:计算机组成原理 设计题目:基本模型机设计与实现 院系:信息技术学院 班级:计算机科学与技术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位为操作码):

相关主题