最新计算机组成原理课程设计.docx

上传人:b****2 文档编号:1318597 上传时间:2022-10-20 格式:DOCX 页数:23 大小:1.67MB
下载 相关 举报
最新计算机组成原理课程设计.docx_第1页
第1页 / 共23页
最新计算机组成原理课程设计.docx_第2页
第2页 / 共23页
最新计算机组成原理课程设计.docx_第3页
第3页 / 共23页
最新计算机组成原理课程设计.docx_第4页
第4页 / 共23页
最新计算机组成原理课程设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

最新计算机组成原理课程设计.docx

《最新计算机组成原理课程设计.docx》由会员分享,可在线阅读,更多相关《最新计算机组成原理课程设计.docx(23页珍藏版)》请在冰豆网上搜索。

最新计算机组成原理课程设计.docx

最新计算机组成原理课程设计

 

东北大学秦皇岛分校

计算机与通信工程学院

计算机组成原理课程设计

 

专业名称

计算机科学与技术

班级学号

学生姓名

指导教师

设计时间

2014.12.23~2015.1.3

课程设计任务书

专业:

计算机与通信工程学院学号:

学生姓名:

设计题目:

一、设计实验条件

808实验室

二、设计任务及要求

1.7号指令;

2.14号指令;

3.28号指令;

4.33号指令;

5.机器周期产生电路;

6.74ls139译码器。

设计要求

独立设计一台模型计算机中的部分指令及一些数字电路部件。

三、设计报告的内容

1.设计题目与设计任务

题目:

指令系统及ALU设计

1.7号,14号,28号,33号指令设计;

2.机器周期产生电路;

3.74LS139译码器。

2.前言(绪论)

加强对计算机组成原理的理解,并将理论和时间结合在一起,在实践中体会设计和学习的乐趣,并进一步了解计算机各个模块的原理。

3.设计主体

【课程设计内容】

1.指令系统设计

第7号指令:

助记符:

ADDA,EM

格式:

操作码和地址码

操作码:

ADD

地址码:

A,EM

功能:

将存储器EM地址的值加入累加器A中

寻址方式:

直接寻址

第14号指令:

助记符:

SUBA,@R?

格式:

操作码和地址码

操作码:

SUB

地址码:

A,@R?

功能:

从累加器A中减去间址存储器的值

寻址方式:

寄存器间接寻址

第28号指令:

助记符:

ORA,#II

格式:

操作码和地址码

操作码:

OR

地址码:

A,#II

功能:

累加器A“或”立即数II

寻址方式:

立即数寻址

第33号指令:

助记符:

MOVR?

A

格式:

操作码和地址码

操作码:

MOV

地址码:

R?

A

功能:

将A中的值送入R?

寻址方式:

寄存器间接寻址

2.模型机硬件设计:

题目:

机器周期产生电路

功能:

设计电路,实现A、B类指令分别有2和4个机器周期。

3.逻辑电路设计:

题目:

74LS139译码器。

功能:

实现双二—四译码器

 

机器周期

A

B

CYACYB

CYA‘CYB’

CYACYB

CYA’CYB’

M0

00

11

00

01

M1

01

10

M2

10

11

M3

11

00

11

10

 

【系统设计】

1.模型机逻辑框图

图1

图2

图3

2.指令系统设计

第7号指令:

ADDA,EM

指令类型:

算术运算指令

寻址方式:

直接寻址

指令格式:

001110

XX

操作码及寻址类型

第14号指令:

SUBA,@R?

指令类型:

算术运算指令

寻址方式:

寄存器间接寻址

指令格式:

001101

XX

操作码及R?

的选择00,01,10,11

第28号指令:

ORA,#II

指令类型:

逻辑运算指令

寻址方式:

立即数寻址

指令格式:

010111XX

操作码

第33号指令:

MOVR?

A

指令类型:

数据传送指令

寻址方式:

寄存器间接寻址

指令格式:

001001

XX

操作码及R?

的选择00,01,10,11

 

3.微操作控制信号

1、XRD:

外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。

2、EMWR:

程序存储器EM写信号。

3、EMRD:

程序存储器EM读信号。

4、PCOE:

将程序计数器PC的值送到地址总线ABUS上(MAR)。

5、EMEN:

将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决

是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。

6、IREN:

将程序存储器EM读出的数据打入指令寄存器IR。

7、EINT:

中断返回时清除中断响应和中断请求标志,便于下次中断。

8、ELP:

PC打入允许,与指令寄存器IR3、IR2位结合,控制程序跳转。

9、FSTC:

进位置1,CY=1

10、FCLC:

进位置0,CY=0

11、MAREN:

将地址总线ABUS上的地址打入地址寄存器MAR。

12、MAROE:

将地址寄存器MAR的值送到地址总线ABUS上。

13、OUTEN:

将数据总线DBUS上数据送到输出端口寄存器OUT里。

14、STEN:

将数据总线DBUS上数据存入堆栈寄存器ST中。

15、RRD:

读寄存器组R0-R3,寄存器R?

的选择由指令的最低两位决定。

16、RWR:

写寄存器组R0-R3,寄存器R?

的选择由指令的最低两位决定。

17、CN:

决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。

18、FEN:

将标志位存入ALU内部的标志寄存器。

19、WEN:

将数据总线DBUS的值打入工作寄存器W中。

20、AEN:

将数据总线DBUS的值打入累加器A中。

21-23:

X2~X0:

X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。

24-26:

S2~S0:

S2、S1、S0三位组合决定ALU做何种运算。

4.指令执行流程

编号

助记符

功能

机器码

周期总数CT

节拍数

微操作

控制信号

涉及的硬件

1

_FATCH_

取指令

000000XX

10

T2

PC→MAR

PCOE,MAREN

PC,MAR,EM,W,IR

T1

EM→W

EMEN,EMRD,WEN

T0

W→IR

IREN

PC+1

7

ADDA,

EM

将存储器EM地址的值加入累加器A中

001110XX

 

111

T7

PC→MAR

POCE,MAREN

PC,MAR,EM,W,A,ALU,F

T6

EM→W

PC→PC+1

EMEN,EMRD,WEN

T5

W→MAR

WEN,WAREN

T4

EM→W

EMEN,WEN

T3

A+W→DBUS→A

S2~S0,AEN,FEN

14

SUBA,

@R

从累加器A中减去间址存储器的值

001101XX

101

T5

R?

→DBUS→MAR

RRD,MAREN,

X2~X0

R,DBUS,MAR,EM,A,W,ALU,F

T4

EM→W

EMEN,EMRD,WEN

T3

ALU(A-W)→DBUS

→A

S2~S0,AEN,FEN

28

ORA,#II

累加器A“或”立即数II

011011XX

101

T5

PC→MAR

PCOEMAREN

PC,MAR,EM,W,A,

ALU,F

T4

EM→W,

PC→PC+1

EMEN,EMRDWEN

T3

WORA→DBUS

→A

S2~S0,AEN

33

MOVR?

A

将A中的值送入R?

100000XX

011

T3

A→DBUS→R?

AEN

A,DBUS,A

 

流程图如下:

图47号指令流程图

图5第14号指令

 

 

图628号指令

 

图7第33号指令

 

指令周期安排:

图8分3号指令

【系统实现】

1.模型机实现

1)逻辑电路的图形符号表示、功能

图9

(2)系统实现

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

--Uncommentthefollowinglibrarydeclarationifusing

--arithmeticfunctionswithSignedorUnsignedvalues

--useIEEE.NUMERIC_STD.ALL;

--Uncommentthefollowinglibrarydeclarationifinstantiating

--anyXilinxprimitivesinthiscode.

--libraryUNISIM;

--useUNISIM.VComponents.all;

entitycycleis

Port(A:

inSTD_LOGIC;

B:

inSTD_LOGIC;

CYA:

inSTD_LOGIC;

CYB:

inSTD_LOGIC;

CLK:

inSTD_LOGIC;

cya1:

OUTSTD_LOGIC;

cyb1:

OUTSTD_LOGIC);

endcycle;

architectureBehavioralofcycleis

begin

PROCESS(CLK)IS

BEGIN

IF(CLK'EVENTANDCLK='1')THEN

IF(A='1')THEN

IF(CYA='0'ANDCYB='0')THEN

cya1<='1';cyb1<='1';

ENDIF;

IF(CYA='1'ANDCYB='1')THEN

cya1<='0';cyb1<='0';

ENDIF;

ENDIF;

IF(B='1')THEN

IF(CYA='0'ANDCYB='0')THEN

cya1<='0';cyb1<='1';

ENDIF;

IF(CYA='0'ANDCYB='1')THEN

cya1<='1';cyb1<='0';

ENDIF;

IF(CYA='1'ANDCYB='0')THEN

cya1<='1';cyb1<='1';

ENDIF;

IF(CYA='1'ANDCYB='1')THEN

cya1<='0';cyb1<='0';

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

endBehavioral;

1、逻辑电路设计

(1)逻辑电路的图形符号表示、功能

 

图10

(2)系统实现

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

----Uncommentthefollowinglibrarydeclarationifinstantiating

----anyXilinxprimitivesinthiscode.

--libraryUNISIM;

--useUNISIM.VComponents.all;

entityyjyis

Port(A:

inSTD_LOGIC_VECTOR(1downto0);

B:

inSTD_LOGIC_VECTOR(1downto0);

Y1:

outSTD_LOGIC_VECTOR(3downto0);

Y2:

outSTD_LOGIC_VECTOR(3downto0));

endyjy;

architectureBehavi

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

当前位置:首页 > 医药卫生 > 中医中药

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

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