搜档网
当前位置:搜档网 › 基本模型机设计与实现.

基本模型机设计与实现.

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

课程设计

课程名称:计算机组成原理

设计题目:基本模型机设计与实现

学院:信息工程与自动化

专业:计算机科学与技术

年级:

学生姓名:

指导教师:王海瑞

日期:

教务处制

课程设计任务书

信息工程与自动化学院计算机专业年级

学生姓名:

课程设计题目:基本模型机设计与实现

课程设计主要内容:

利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微

程序。将所设计的微程序在计算机组成原理教学实验系统环境中进行测试,并给出测试思路和具体程序段。最后撰写出符合要求的课程设计报告。

首先要确定所设计计算机的功能和用途,设计中根据功能和用途确定指令系统,

数据的表示格式,位数,指令的编码,类型,需要设计那些指令和寻址方式。确定相

对应指令所包含的微操作以及总体结构设计之间的数据通路结构,在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微指令。

设计指导教师(签字):

教学基层组织负责人(签字):

年月日

目录

一、基本模型机的设计,,,,,,,,,,,,,,,, 4

1、程序设计目的,,,,,,,,,,,,,,,, 4

2、程序设计任务和基本要求,,,,,,,,,,,, 4

3、实验原理,,,,,,,,,,,,,,,,,,,,,,, 5

二、实验内容及步骤,,,,,,,,,,,,,,,8

1.实验内容,,,,,,,,,,,,,,,,,,,8

2.实验步骤,,,,,,,,,,,,,,,,,10

3.实验情况及记录,,,,,,,,,,,,,,,14

三、总结体会,,,,,,,,,,,,,,,,,,15

四、参考文献,,,,,,,,,,,,,,,,,,16

一、基本模型机的设计

1、程序设计目的

(1)掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,

(2)加深计算机系统各模块间相互关系的认识和整机的概念,培养

开发和调试计算机的技能。

(3)再设计实践中提高应用所学专业知识分析问题和解决问题的能力。

(4)掌握微程序的编写、写入,观察微程序的运行。

2、程序设计任务和基本要求

(1)按给定的数据格式和指令系统,理解为程序控制器的设计原理。

(2)设计给定机器指令系统遗迹微程序流程图,安慰指令格式写出微程

序的微指令代码

(3)连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行

过程及结果。

(4)将微程序控制器模块与运算器模块、存储器模块联机,组成一台模

拟计算机。

(5)用微程序控制器控制模型机的数据通路。

(6)通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与

微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。

(7)按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器

指令代码,按照模型及数据通路设计实现机器指令功能的微程序。在PC 机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。

3、实验原理

实验数据框图如图4-1所示:

图4-1基本模型机数据通道框图

(1)在模型机实验中,数据通道的控制将由微程序控制器来完成,CPU 从内存取出一条机器指令到执行指令结束的一个指令周期,是由微指令

组成的序列来完成的,即一条机器指令对应一个微程序。

(2)本实验我们将五条机器指令及有关数据写入RAM和ROM中。通过CPU 运行由五条机器指令组成的简单程序,掌握机器指令与微指令的关系。

(3)微指令格式:

24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 S3 S2 S1 S0 M Cn WE A9 A8 A B C UA5 UA4 UA3 UA2 UA1 uA0

A字段B字段C字段

15 14 13 选择 12 11 10 选择 9 8 7 选择

0 0 0 0 0 0 0 0 0

0 0 1 LDRi 0 0 1 RS-B 0 0 1 P(1)0 1 0 LDDR1 0 1 0 RD-B 0 1 0 P(2)

0 1 1 LDDR2 0 1 1 R1-B 0 1 1 P(3)

1 0 0 LDIR 1 0 0 299-B 1 0 0 P(4)1 0 1 LOAD 1 0 1 ALU-B 1 0 1 AR

1 1 0 LDAR 1 1 0 PC-B 1 1 0 LDPC 其中A8、A9是2:4译码器(74LS139)的输入端,Y0、Y1、Y2、Y3是译码器输出端,其电路结构如下:

其中Y0为SW-B,Y1为CE,Y2为LED-B,Y3为空。

(1)微程序流程图如下:

运行微程序

图4-2基本模型机微程序流程图

(2)微指令二进制代码表如表 4.2所示:

表4.2

微地址S3 S2 S1 S0 M CN WE A9 A8 A B C UA5---UA0

00 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0

01 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0

02 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0

03 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0

04 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1

05 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0

06 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1

07 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1

10 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1

11 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1

12 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1

13 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0

14 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 0

15 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1

16 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1

17 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1

20 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0

21 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0

22 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1

23 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

24 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0

25 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1

26 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1

27 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0

30 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1

(3)机器指令格式如表 4.3所示:

表4.3

二、实验内容及步骤

1、实验内容

(1)按图4-3连接实验线路,检查无错后通电。

图4-3 基本模型机接线图

(2)实验程序

用基本的五条机器指令编写实验程序。该实验程序作为例子已存在磁

盘里,文件名为EX1,该程序包括机器指令程序和微指令程序,机器指令程序如下:(地址和内容都是十六进制,机器指令的前4位为操作码。)例子:

微指令的微代码如下:(内容是十六进制)

说明:十六进制微指令程序的微代码的表示法是按照表 4.2微指令二进制代码表中从左到右分成3个8位,将此3个8位的二进制代码化为相应的十六进制数即可。脱机手动输入微代码时,请将十六进制的微代码

的第1字节和第3字节内容对换后输入,即从开关MK24开始,先输第3字节,再输第2字节,最后输第1字节。而十六进制的地址要转化为八

进制输入,内容要转化为二进制输入。

2、实验步骤

与PC机联机将上面的实验程序(EX1)下载到实验仪里,该程序包括

机器指令程序和微指令程序,机器指令程序装入6116存储器(RAM)里,微指令程序装入E2PROM2816控制存储器(ROM)里,然后运行程序。

(1)实验程序下载操作步骤:

[1] 开机后,启动Windows系统,双击桌面上的“组成原理实验”快捷

图标,即可进入DVCC组成原理实验系统主画面。

[2] 单击该系统第三行的打开图标,即可出现文件框,选择文件名EX1并打开之。

[3 ]此时左边的编辑窗口“新文件”变为“EX1”,在该窗口里显示EX1的源文件,它包括机器指令程序和微指令程序的微代码,$P开头是机器指令程序,$M开头是微指令程序的微代码。

[4] 单击“调试”图标,把打开的源文件下载到实验仪里,在下载过程

中屏幕上方出现“正在传送文件”的提示,当文件传送完毕,提示消失。[5] 文件传送完毕,要检查源文件是否正确传送到实验仪RAM(6116存储器)和ROM(E2PROM2816控制存储器)里,首先检查实验仪RAM的内容,单击“

程序RAM”打开该窗口,查看此时显示的地址和内容与实验程序中机器指

令的地址和内容是否一致,若不一致,重复[4]的操作,若一致,就单击菜单栏中“调试”菜单,然后选择并单击“刷新数据”或按“F5”热键对“程序RAM”窗口显示的程序进行刷新。刷新完后,再查看此时显示的

地址和内容与实验程序中机器指令程序是否一致,若不一致,则要检查

用户接线是否正确或实验仪其他问题。

[6] 然后再检查实验仪ROM的内容,单击“程序ROM”打开该窗口,查看此时显示的地址和内容与实验程序中机器指令的地址和内容是否一

致,若不一致,重复[4]的操作,若一致,就单击菜单栏中“调试”菜单,然后选择并单击“刷新数据”或按“F5”热键对“程序ROM”窗口显示的

程序进行刷新。刷新完后,再查看此时显示的地址和内容与实验程序中

机器指令程序是否一致,若不一致,则要检查用户接线是否正确或实验

仪其他问题。

[7] 经过上面[5]、[6]操作的检查后,若程序正确,就可以运行程序。(2)运行程序时要求:

[1] 程序运行前必须要求对微地址清零。拨动实验仪右下角清零开关CLR (1-0-1)后,观看实验仪右上方的微地址显示灯(UA0-UA5)是否全为零,若全为零,则正确,若不全为零,说明有问题,要检查。

[2] 使用单步微指令运行程序,单击该系统第三行的“单步微指令”图

标即可。

[3] 在每次单步执行一条微指令的过程中,都要观察屏幕动态流线显示

的运行结果,根据屏幕显示的结果分析该条微指令的格式和功能是否一

致。若不一致,必须检查原因。

(3)程序

P00 20 ; IN 从数据开关输入数据

P01 60 ; STA RO->【0B】将R0 中的内容存储到【0B】单元

P02 0B

P03 40 ; R0+【09】->R0 将R0 中的内容加上【09】单元中的内容

的结果放入RO 中

P04 0B

P05 60 ; STA RO->【0C】将R0 中的内容存储到【0C】单元

P06 0C

P07 80 ; OUT 【OC】将【OC】中的内容输出显示

P08 0C

P09 A0 ; JMP 【00】跳转到【00】重新执行

P0A 00

P0B 00 ; DATA 这里是【0B】单元, 初始化为00H P0C 00 ; DATA 这里是【0C】单元, 初始化为00H (4)微程序

M00 00 00 00 80

M01 20 00 60 40

M02 00 80 10 12

M09 00 00 02 81

M0A 20 00 60 C0

M03 00 80 40 20

M04 00 80 08 A0

M05 80 00 04 60

M06 40

M0B 20 00 60 E0

M07 00 80 40 68

M16 80 80 01 80

M0C 20 00 60 C8

M13 00 80 40 28

M14 03 80 00 80

M0D 20 00 60 A8

M15 00 C0 20 80

M08 00 00 00 80

【注释】其写法是根据基本模型机

系统数据通路框图以及微指令流程图,将每条微指令代码化,译成二进

制代码表,在译成二进制代码时要根据基本模型机系统通路图来定哪些

开关有效,根据是否有效置 1 或0 对应写入微指令格式中,并将二进制代码表转换成十六进制格式文件。

3、实现情况及记录

将实验箱与电脑连接,然后打开Dais-CMH+ 计算机组成原理教学实验系统,然后输入以上的程序和微程序,按装载,如果装载成功后,通过按微单步,一步步实现微程序,观察每一步数据的变化.实验中,PC 是程序计数器,用来计程序运行的步数执行记录情况:

PC=00 PC=00

PC=01->AR=00

RAMDB=20->IR=20

PC=02->AR=01

IN=06->RO=06

RAMDB=40->IR=40

PC=03->AR=02

RAMDB=00->AR=09

RAMDB=00->DR2=00

PC=03->DR1=03

ALU=06->RO=06

PC=04->AR=03

RAMDB=60->IR=60

PC=05->AR=04

RAMDB=00->AR=0B

RO=03->RAMDB=03

PC=06->AR=05

RAMDB=80->IR=80

PC=07->AR=06

RAMDB=03->AR=0B

RAMDB=03->OUT=03

PC=08->AR=07

RAMDB=A0->IR=A0

PC=09->AR=08

RAMDB=00->PC=00

三、总结体会

不知不觉的,三个星期很快就过去了,通过三个星期的计算机组成原理课程设计实践,我对计算机的基本组成,计算机各个部件的基本功能,各个部件间的连接方法,微程序控制器的设计,微指令和微程序的编制都有了一定的了解,同时也增强了我的实际动手能力。从遇到难题到解决难题,是对自己能力的肯定,自信心大增。课程设计实践是结束

了,不过这次实践教会了我许多,包括知识,包括能力。通过这次课程

设计,我不仅应用到了许多的理论知识,同时更多的是理论和实践相结合,本次课程设计真的不是很简单,需要很多人一起配合才能很好的完成,我们大家都很努力,不管是查资料还是其他的的部分,我们都能很

好的配合,而且我们的团队意识都很强。

这次课程设计中,我也发现自身的不足之处,对于太多细节的不注重

和学的东西太少,直接导致了我在设计中遇到很多困难,基础知识的不

牢固,也是我自身的缺陷之一。

四、参考文献

《计算机组成原理》,科学出版社,白中英著

《计算机组成原理实验指导书》,清华大学出版社,王诚,宋佳兴,董长洪编著

《计算机组成原理课程设计指导》,长安大学出版社, 周立著

《计算机组成原理学习指导与训练》,中国水利水电出版社,旷海兰等编著

《计算机组成原理与系统结构实验教程》, 西安唐都科教仪器公司著《计算机组成原理实验及课程设计指导》,重庆大学出版社,张庸编著

8位模型机课程设计

xxxxx 课程设计报告学院机电信息学院 课程课程设计 专业计算机科学与技术班级xxxxx 姓名xxxxxxx x 学号xxxxxxxxxx 指导教师xxxxxx 日期201x年x月x日

目录 1.概述 0 2.总体设计 0 3.详细设计 (2) 3.1 运算器 (2) 3.2 存储器 (3) 3.3 微控制器 (5) 3.4 基本模型机设计与实现 (8) 4. 总结 (10) 参考文献 (11)

8位模型机的设计与仿真 1.概述 在掌握部件单元电路设计与仿真的基础上,进一步将其组成系统构造一台8位模型机。字长是8位纯整型,包含基本的五大件:运算器、存储器、控制器、I/O设备。它的结构框图如下图1-1所示. 这基本的五大件通过数据总线连接,实现数据的处理和控制。 部件实验过程中,各部件单元的控制信号是人为模拟产生的,而综合实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 2.总体设计 模型机主要由运算器、控制器、存储器、数据总线、输入输出和时序产生器组成,模型机的结构图如图2-1所示。 图2-1 模型机结构图 在图2-1中T1、T2、T3和T4等控制信号都是由时序产生器生产,时序产生器由时序电路实现如图2-2所示,时序产生器一个周期中产生四个脉冲信号T1~T4,这四个脉冲信号用于控制组件的执行顺序,组件在这些信号的控制下有序的执行,一个周期中完成一条微指令的执行。 图2-2 时序产生器

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/225859290.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号“取址”微指令,启动程序运行。

嵌入式的8位CISC模型机设计报告

韶关学院 课程设计说明书(论文) 课程设计题目:嵌入式的8位CISC模型机设计 学生姓名: 学号: 院系:计算机科学学院 专业班级: 指导教师姓名及职称: 起止时间:2011 年10 月——2011 年11 月 课程设计评分:

目录 一、实验目的 二、设计题目及要求 三、设计方案: 1.模型机的总体设计 2. 微程序控制器的组成原理框图 3. 模型机机器指令格式和指令系统 4. 时序产生器的设计原理及时序波形图 5. 微程序流程图 6. 微程序控制器单元 7. 汇编语言源程序 8. 机器语言的源程序 四、设计的过程与步骤 五.模型机系统顶层电路图 六.模型机的时序仿真波形图七.设计总结 八.参考文献

韶关学院课程设计任务书 学生姓名专业班级09科学与技术2班学号 指导教师姓名及职称设计地点信息418 设计题目嵌入式的8位CISC 本课程设计课题任务的内容和要求: 设计一台嵌入式的8位CISC模型计算机,并运行能完成一定功能的机器语言程序进行验证,程序功能可以是以下两个之一: ?求出1到任意一个整数N之间的所有奇数之和并输出显示,和为单字长。 说明:N从开关输入,和从数码管输出,然后输出显示停止。 对本课程设计工作任务及工作量的要求: 课程设计完成工作任务内容如下: (1)完成系统的总体设计,画出模型机数据通路框图。 (2)设计微程序控制器(CISC模型计算机)的逻辑结构图。 (3)设计机器指令格式和指令系统。 (4)设计时序产生器电路。 (5)设计所有机器指令的微程序流程图(CISC模型计算机) (6)设计操作控制单元。 ●设计的是CISC模型计算机,设计微指令格式(建议采用全水平型微指令),并根据微程序流程图和微指令格 式设计微指令代码表。根据微程序控制器的逻辑结构框图、微指令格式和微指令代码设计微程序控制器,包 括地址转移逻辑电路、微地址寄存器、微命令寄存器和控制存储器。 (7)设计模型机的所有单元电路,并用VHDL语言(也可使用GDF文件——图形描述文件)对模型机中的各个部件进行编程,并使之成为一个的整体,即形成顶层电路或顶层文件。 (8)由给出的题目和设计的指令系统编写相应汇编语言源程序(验证程序)。 (9)根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将其设计到模型机的ROM中。(10)使用EDA软件MAX+plusII进行功能仿真,要保证其结果满足题目的要求(其中要利用MAX+plusII提供的波形编辑器,选择合适的输入/输出信号及中间信号进行调试)。 (11)选用给定的FPGA芯片——EP1K30TQC144进行器件编程和时序仿真,并将顶层电路或顶层文件下载到专用的EDA实验平台——GW48 EDA教学实验系统后进行操作演示。 课程设计应完成的图纸: (1)顶层设计的电路原理图; (2)元件(模块)符号图; (3)仿真波形图。 进度安排: 时间为18学时,分散在9周进行,每周2学时。 1、第1--4周:EDA技术基础知识教学讲座; 2、第5—8周:MAX+PLUS基础实验,确定课程设计题目,进行资料收集和学习、设计方案确定、电路设计、 程序设计与计算机仿真; 3、第9周:编写课程设计实验报告。 主要参考文献: [1] ]陈智勇等编. 《计算机原理课程设计》. 西安电子科技大学. 2006年6月 [2] 潘松黄继业编. 《EDA技术实用教程》(第二版). 科学出版社 2005年2月 [3] 罗克露等编. 《计算机组成原理》. 电子工业出版社 2004年8月 [4] 江国强编. 《EDA技术习题与实验》. 电子工业出版社 2005年1月 [5] 彭玄璋编《基于EDA技术的组成原理课程设计实验指导书》(自编教材) 2010年3月

基本模型机设计及实现

基本模型机设计及实现文件排版存档编号:[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.综合运用所学计算机原理知识,设计并实现较为完整的计算机。 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所示。

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

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

实验六 复杂模型机的设计与实现

实验五 复杂模型机的设计与实现 一、实验目的 综合运用所学计算机原理知识,设计并实现较为完整的计算机。 二、实验设备 Dais-CMX16+计算机组成原理教学实验系统一台,实验用导线若干。 三、数据格式及指令系统 1. 数据格式 8 其中第7位为符号位,数值表示范围是:≤<。2. 指令格式 模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。 ⑴ 算术逻辑指令 设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 其中,OP-CODE 为操作码,Rs 为源寄存器, Rd 为目的寄存器,并规定: 其中9条算术逻辑指令的名称、功能和具体格式见表5-1。 ⑵ 访问指令及转移指令 模型机设计2条访问指令,即存数(STA )、取数(LDA ),2条转移指令,即无条件转移(JMP )、 结果为零或有进 位转移指令(BZC ),指令格式为: 其中“0 0 M ”为源码段,2OP-CODE 为目的码段(LDA 、STA 指令使用)。D 为十六位地址段(低八在前,高八随后),M ⑶ I/O 指令

输入(IN)和输出(OUT ⑷停机指令 指令格式如下: HALT指令,用于实现停机操作。 3.指令系统 本模型机共有16条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。下表列出了各条指令的格式、汇编符号、指令功能。 图5-1复杂模型机微程序流程图 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。 源编码目的编码

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

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

8位模型计算机的设计

石家庄经济学院 华信学院 计算机组成原理课程设计报告 题目 8位模型计算机的设计 姓名 学号 班号 4064170801 指导老师关文革尹立洁赵洋 成绩 2009年1月 目录 1. 课程设计目的 52 2. 开发工具选择 52 3. 方案选择 52 4.指令系统设计 52 5. 模型机框图设计 52 6. 指令流程图 52 7. 指令操作时间表(组合逻辑控制器)或者微指令格式(微程序控制器)设计 52 8. 微操作信号综合与优化(组合逻辑控制器)或者微程序(微程序控制器)设计 52 9. VHDL实现 52 10. 调试仿真 52 11. 课程设计回顾总结 52 参考文献 52 附录 52 一、课程设计目的 1、计算机组成原理课程设计的主要任务是让学生通过动脑和动手解决计算机设计中的实际问题。综合运用所学计算机组成原理知识,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本的模型计算机,掌握整机概念,并设计机器指令系统,编写程序,在所设计的模型计算机上调试运行。

2、通过一台模型机的设计过程,明确计算机的控制原理与控制过程,巩固和灵活应用所学的理论知识,掌握计算机组成的一般设计方法,提高学生设计能力和实践操作技能,为从事计算机研制与设计打下基础。 二、开发工具选择 以TEC-CA教学实验系统为平台,采用硬件描述语言 VHDL为设计工具,应用QUARTUSⅡ5.1环境进行大规模集成电路的功能设计仿真。 三、方案选择 应用微程序控制器来实现8位模型计算机的设计。 四、指令系统设计 所要设计的微程序控制器是由七条指令来完成的,即:load,sta,add,sub,and1,nop,jmp。实现功能分别如下:load指令是公操作,实现取数据的功能;sta指令实现存操作;add指令实现加法操作;sub指令实现减法操作;and指令实现与操作; nop指令实现空操作;jmp指令实现无条件跳转操作。 其中add,sub,and1,属于双操作数指令,其指令格式如下图: 目的 源 其中jmp属于转移指令,其指令格式如下图: 转移条件 转移地址 五、模型机框图设计 I/O 六、指令流程图 Addr_bus load_MAR CS R_NW 3 OP

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

实验七基本模型机的设计与实现 一、实验目的 ⒈在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。 ⒉为其定义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有效时,将数据打入输出锁存器,驱

基本模型机设计与实现.

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

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

目录 一、基本模型机的设计,,,,,,,,,,,,,,,, 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)微程序的设计与实现(含微指令格式、后续地址产生方法以及微程序入口地址的形式)

八位模型机设计

八位模型机设计 | | 实验名称八位模型机设计 课程名称计算机组成原理程序设计 | | 专业班级:计算计科学与技术 学生姓名: 实验日期:2015年5月 验证性、综合性实验报告应含的主要内容: 一、实验目的及要求 二、所用仪器、设备

三、实验原理 四、实验方法与步骤 五、实验结果与数据处理 六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见) 七、所附实验输出的结果或数据 设计性实验报告应含的主要内容: 一、设计要求 二、选择的方案 三、所用仪器、设备 四、实验方法与步骤 五、实验结果与数据处理 六、结论(依据“设计要求”) 七、所附实验输出的结果或数据

目录 一、摘要....................................................................................................... 错误!未定义书签。 二、前言....................................................................................................... 错误!未定义书签。 三、设计目的、任务与内容....................................................................... 错误!未定义书签。 3.1设计目的.......................................................................................... 错误!未定义书签。根据计算机组成原理课程所学知识,设计一个8位的模型计算机。 .. 错误!未定义书签。 3.2设计任务.......................................................................................... 错误!未定义书签。 3.3设计内容.......................................................................................... 错误!未定义书签。 四、八位模型机整体设计........................................................................... 错误!未定义书签。 4.1总体结构.......................................................................................... 错误!未定义书签。 4.2指令系统 (9) 4.3运算器 (10) 4.4存储器 (11) 4.5控制器 (12) 4.6指令流程图和操作时间表 (15) 4.7微指令码 (15) 五、实验感想与讨论 (21) 六、参考文献 (22)

模型机课程设计

哈尔滨理工大学 软件学院 课程设计报告 课程片上计算机系统 题目 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.思考题:

基本模型机的设计与实现

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

计算机组成原理实验之基于复杂模型机两个8位二进制数乘法的实现

评语: 课中检查完成的题号及题数: 课后完成的题号与题数: 成绩: 自评分: 必填 实验报告 实验名称:基于复杂模型机两个8位二进制数乘法的 实现 日期:2011.12.29 班级:学号:姓名: 班级:学号:姓名: 一、实验目的: 1. 综合运用所学计算机组成原理知识,设计并完成较为完整的计算机 2. 掌握原码一位乘实现的控制流程和硬件配置 二、实验内容: 利用复杂模型机编写程序实现两个8位二进制的乘法运算 三、项目要求及分析: 本程序要求编写程序实现两个8位二进制的乘法运算并将结果输出。两数相乘,可视为加法和移位两种运算,因为在模型机中规定字长全部用来表示数据,数值全为正,故不需要考虑符号,因此在设计编写时需要考虑的问题有: (1)乘数、被乘数以及每次加法移位运算后的临时数据存放位置; (2)在做加法运算时,如何取出乘数的末位以确定临时数据与0相加或与被乘数相加;(3)加法运算时,若两数相加产生溢出,如何判断溢出; (4)移位运算时,如何控制乘数与临时数据的右移位。 这里,需要考虑如何实现: a).对于乘数,右移后将被乘数的末位移至乘数的高位; b).对于临时数据,右移后若先前相加时产生溢出,则将被乘数高位补1,若无溢出,则高位补0; (5)如何控制程序的结束。 对于问题(1),将临时数据存放在R0寄存器,乘数存放在R1寄存器,因为被乘

问题(2)中,将乘数与01相与结果再减1,若末位为0,则产生借位,FC=1,P<4>测试时直接进行下步的移位运算;若末位为1,则不产生借位,FC=0,P<4>测试时进行临时数据与被乘数相加,再进入下步的移位运算。 判断溢出的目的是为了在下步移位运算时确定临时数据的高位补1或是不0,因此问题(3)的判断方法可类似问题(2),将进位信息存入寄存器R2中后减1,再次存入R2。若进位为0,则产生借位,FC=1;若进位为1,则不产生借位,FC=0。 问题(4)先进行乘数的移位,将乘数与(FE)十六进制相与,从而将乘数末位变为0,再将临时数据与(01)十六进制相与,取出临时数据的末位,最后将两个相与的结果相或后右环移,就实现临时数据的末位移至乘数的高位的运算。进行临时数据的移位时,将临时数据与(FE)十六进制相与,从而将临时数据末位变为0,然后结果右环移,根据问题(3)溢出判断的结果选择与(80)十六进制或与(00)十六进制相或,就实现临时数据的移位。 问题(5)中,因为两个8位二进制数的乘法需要移位运算8次,故可设一个计数器,八次运算后结束程序。 四、具体实现: 1、画出算法流程图

相关主题