计算机组成原理带进位运算指令的实现.docx

上传人:b****5 文档编号:3200087 上传时间:2022-11-20 格式:DOCX 页数:22 大小:468.60KB
下载 相关 举报
计算机组成原理带进位运算指令的实现.docx_第1页
第1页 / 共22页
计算机组成原理带进位运算指令的实现.docx_第2页
第2页 / 共22页
计算机组成原理带进位运算指令的实现.docx_第3页
第3页 / 共22页
计算机组成原理带进位运算指令的实现.docx_第4页
第4页 / 共22页
计算机组成原理带进位运算指令的实现.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

计算机组成原理带进位运算指令的实现.docx

《计算机组成原理带进位运算指令的实现.docx》由会员分享,可在线阅读,更多相关《计算机组成原理带进位运算指令的实现.docx(22页珍藏版)》请在冰豆网上搜索。

计算机组成原理带进位运算指令的实现.docx

计算机组成原理带进位运算指令的实现

学号:

课程设计

 

题目

带进位运算指令的实现

学院

计算机科学与技术学院

专业

班级

姓名

指导教师

 

2011

6

28

课程设计任务书…………………………………………………………3

1、设计的目的…………………………………………………………4

2、设计的原理…………………………………………………………4

3、模型机的逻辑框图…………………………………………………4

4、设计指令系统………………………………………………………6

4.1指令类型…………………………………………………………………6

4.2操作数寻址方式及编码…………………………………………………6

5、设计为程序及其实现的方法………………………………………6

6、模型机中时序的设计安排…………………………………………8

7、设计指令执行流程…………………………………………………8

8、源程序代码…………………………………………………………9

8.1指令代码…………………………………………………………………9

8.2微指令序列………………………………………………………………9

9、使用软件HKCPT的联机与脱机方式的实现过程………………10

10、课程设计总结………………………………………………………15

11、参考文献……………………………………………………………15

12、评分表………………………………………………………………16

课程设计任务书

学生姓名:

专业班级:

指导教师:

工作单位:

计算机科学与技术学院

题目:

基本模型机的设计——带进位运算指令的实现

初始条件:

理论:

学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。

实践:

计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。

2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。

3、课程设计的书写报告应包括:

(1)课程设计的题目。

(2)设计的目的及设计原理。

(3)根据设计要求给出模型机的逻辑框图。

(4)设计指令系统,并分析指令格式。

(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。

(6)模型机当中时序的设计安排。

(7)设计指令执行流程。

(8)给出编制的源程序,写出程序的指令代码及微程序。

(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中带进位运算指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。

(10)课程设计总结(设计的特点、不足、收获与体会)。

时间安排:

设计时间为第18周

周一:

熟悉相关资料。

周二:

系统分析,设计程序。

周三、四:

编程并上实验平台调试周五:

撰写课程设计报告。

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

基本模型机的设计——

带进位运算指令的实现

1、设计的目的

1、在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。

2、掌握微程序设计思想和设计方法,设计实现一个简单的模型机,该模型机由运算器、寄存器、译码电路、存储器、和存储微指令用的控制存储器组成,并能实现一些简单的机器指令,并根据设计好的指令设计简单的机器指令程序,实现输入、输出、存储器读写和简单的加、减控制指令。

3、将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符合设计要求,并对程序运行结果的正、误分析其原因。

4、改变相应的电路实现带进位运算指令的模型机的设计与实现观察相应的结果和记录相应的数据。

并得出相应的设计结论。

2、设计的原理

在各个模块的实验中,各个模块的控制信号都是有试验者手动模拟产生的。

而在真正的实验系统中,模型机的运行是微程序的控制下,实现特定指令的功能。

在本实验平台中,模型机从内存中取出、解释、执行机器指令都将有微指令和与之配合的时序来完成,即1条机器指令对应1条微程序。

 

3、模型机的逻辑框图

根据设计要求,对实验仪器硬件资源进行逻辑组合,便可以设计出该模型机的逻辑框图如下:

 

 

 

 

4、设计指令系统

本实验平台采用的是8为数据总线和8位地址总线的方式,在设计指令系统的时候,应考虑有哪几种指令的类型,哪几种寻址方式和编码方式。

4、1指令类型:

1、带进位的移位操作指令:

RRCA,RLCA

2、算术运算加法指令:

ADDA,Ri

3、数据传送指令:

MOVA,Ri

4、带进位的有条件的程序跳转指令:

JCaddr

5、无条件跳转指令:

JMPaddr

6、存储操作指令:

STAaddr

4、2操作数寻址方式及编码:

1、直接寻址方式:

指令地址码字段直接给出操作数的有效地址。

如:

双字节指令STAaddr

第一字节:

操作码第二字节:

操作数地址addr

I7

I6

I5

I4

I3

I2

I1

I0

A7

A6

A5

A4

A3

A1

A0

2、立即数寻址:

指令中的地址字段指出的不是操作数的地址,而是操作数本身。

如:

MOVA,#datadata->A

MOVRi,#datadata->Ri

第一字节:

操作码及Ri选择码第二字节:

data

I7

I6

I5

I4

I3

I2

I1

I0

A7

A6

A5

A4

A3

A1

A0

3、寄存器直接寻址:

指令的地址码字段指出的是寄存器的地址,而寄存器中存放的才是操作数。

如:

ADDA,Ri(Ri)+A->A

第一字节:

操作码第二字节:

Ri

I7

I6

I5

I4

I3

I2

I1

I0

A7

A6

A5

A4

A3

A1

A0

5、设计微程序及其实现的方法

本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至少可以有24个微操作控制信号,可由微代码直接实现。

如果采用多组编码译码,那么24位微代码通过二进制译码可实现2^n个互斥的微操作控制信号。

由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。

在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0~MD7,这种方法称为“按操作码散转”(如下表所示)。

微程序首地址形成

MD7

MD6

MD5

MD4

MD3

MD2

MD1

MD0

0

0

I7

I6

I5

I4

1

1

按操作码散转

指令操作码

微程序首地址

MD7

MD6

I7

I6

I5

I4

MD1

MD0

MD7~MD0

0

0

0

0

0

0

1

1

003H

0

0

0

0

0

1

1

1

007H

0

0

0

0

1

0

1

1

00BH

0

0

0

0

1

1

1

1

00FH

0

0

0

1

0

0

1

1

013H

0

0

0

1

0

1

1

1

017H

0

0

0

1

1

0

1

1

01BH

0

0

0

1

1

1

1

1

01FH

0

0

1

0

0

0

1

1

023H

0

0

1

0

0

1

1

1

027H

0

0

1

0

1

0

1

1

02BH

0

0

1

0

1

1

1

1

02FH

0

0

1

1

0

0

1

1

033H

0

0

1

1

0

1

1

1

037H

0

0

1

1

1

0

1

1

03BH

0

0

1

1

1

1

1

1

03FH

每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。

微指令的运行顺序为下地址确定法,即采用技术增量法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。

例如:

确定一跳微程序的入口地址为07H,那么当执行完07H这条微指令后微地址加1,指向08H的微地址。

微地址寄存器由2片74LS161组成,当模型机在停止状态下,微地址被清零。

当实验平台开始运行时,微地址从00H开始运行。

且00H放置一条取指指令,根据程序开始地址从内存中读出第一条指令。

00

取指微指令

01

02

03

加法指令微程序

04

减法指令微程序

05

06

07

MOV指令微程序

08

带进位移位指令微程序

09

MOV指令微程序

0A

0B

0C

0D

0E

0F

……

……

6、模型机中时序的设计安排

由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转的方式,微地址采用技术增量的方式,所以可确定模型机中时序单元中所产生的每一拍的作用。

在本实验中为了让实验者更好的观察实验的各个中间过程中各个寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生。

如下图:

PLS-O的信号经过时序单元的处理产生一个4个脉冲信号。

4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。

S0:

微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。

S1:

PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器(跳转指令)等功能。

S2:

把24位微指令打入3片微指令锁存器。

S3:

把当前总线上的数据打入微指令选通的寄存器。

7、设计指令执行流程

根据模型机整机逻辑图和目前硬件条件来设计指令系统中的每条指令的执行流程。

在每个系统中,一条指令从内存中取出到执行完毕,需要若干个机器周期,在任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。

而一条指令共需要几个机器周期取决于指令在机器内实现的负责程度。

取指微指令执行过程:

在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令锁存器输出无效。

在处于停机状态时,脉冲S0对微地址寄存器(74LS161)无效,微地址寄存器保持为零。

脉冲S1对PC计数器无效,同时S1把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机置为运行状态,是微程序锁存器输出有效。

S2把微程序存储器00H单元中的内容打入微指令锁存器中,并且输出取指微指令。

S3把从程序存储器中读出的数据打入指令寄存器中。

在模型机处于运行状态时,S3把从程序存储器中读出的数据

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1