计算机组成原理课程设计复杂模型机设计,计算机组成原理课程设计---复杂模型机的设计与实现.docx...

课 程 设 计

设计题目

复杂模型机的设计与实现

学生姓名号

范加林

学 号

指导教师

专业班级

20092697

计算机科学与技术 09-2

郭骏

2011 年 12 月

一、 课程设计目的与要求

设计目的:本课程设计是《计算机组成原理》课程之后开设的实践环节课程。通过本课程设计,使学生进一步加深对计算机原理系列课程相关内容的理解,掌握CPU设计的基本方法和计算机系统的组成原理,进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风、良好的工程素质及团队协作精神,为今后的工作打下基础。

设计要求:基于计算机组成原理教学实验系统设计并实现一个具有16条机器指令、采用微程序控制器的8位计算机。并根据设计课题要求,给出模型机的设计方案(包括指令系统和硬件结构)。画出所设计计算机的硬件连接图,针对所设计的指令系统编写出相应的微程序。对所设计的计算机进行安装与调试。编写测试程序,对系统进行验证。编写课程设计报告。

二、 指令格式和指令系统

(一)指令格式

1、数据格式

模型机规定采用定点补码表示数据,且字长为8位,其格式如下:

7

6 5 4 3 2 1 0

符号

尾  数

其中第7位为符号位,数值表示范围是:-1≤X<1。

2、 指令格式

模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。

⑴ 算术逻辑指令

设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:

7 6 5 4

3 2

1 0

OP-CODE

Rs

Rd

其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:

Rs或Rd

选定的寄存器

00

01

10

11

R0

R1

R2

R3

9条算术逻辑指令的名称、功能和具体格式见表7-12-1。

⑵ 访问指令及转移指令

模型机设计2条访问指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进

位转移指令(BZC),指令格式为:

7

6

5 4

3 2

1 0

0

0

M

2OP-CODE

Rd

D(低八)

D(高八)

其中“0 0 M ”为源码段,2OP-CODE为目的码段(LDA、STA指令使用)。D为十六位地址段(低八在前,高八随后),M为源寻址模式,其定义如下:

寻址模式M

有效地址E

说 明

00

01

10

11

E = D

E = (D)

E = (SP)+D

E = (PC)+D

直接寻址

间接寻址

SP变址寻址

相对寻址

⑶ I/O指令

输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:

7 6 5 4

3 2

1 0

OP-CODE

0 0

Rd

⑷ 停机指令

指令格式如下:

7 6 5 4

3 2

1 0

OP-CODE

0 0

0 0

HALT指令,用于实现停机操作。

(二)、指令系统

本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。下表列出了各条指令的格式、汇编符号、指令功能。

助记符

指令格式

功 能

LDA M,D,Rd

0

0

M

00

Rd

E→Rd

STA M,D,Rd

0

0

M

01

Rd

Rd→E

JMP M,D

0

0

M

10

00

E→PC

BZC M,D

0

0

M

11

00

当CY=1或Z=1时,E→PC

MOV Rd,Rs

0

1

0

0

Rs

Rd

Rs→Rd

ADC Rd,Rs

0

1

0

1

Rs

Rd

Rs+Rd+CY→Rd

SBC Rd,Rs

0

1

1

0

Rs

Rd

Rs-Rd-CY→Rd

AND Rd,Rs

0

1

1

1

Rs

Rd

Rs∧Rd→Rd

CLR Rd

1

0

0

0

00

Rd

0→Rd

INC Rd

1

0

0

1

00

Rd

Rd+1→Rd

CPL Rd

1

0

1

0

00

Rd

Rd→Rd

RRC Rd

1

0

1

1

00

Rd

CY→Rd

RLC Rd

1

1

0

0

00

Rd

CY→Rd

IN Rd,I/O

1

1

0

1

00

Rd

I/O→Rd

OUT Rd,I/O

1

1

1

0

00

Rd

Rd→I/O

HALT

1

1

1

1

00

00

停机

按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。

M23

M22

M21

M20

M19

M18

M17

M16

M15

M14

M13

M12

M11

M10

M9

M8

M7

M6

M5

M4

M3

M2

M1

M0

E/M

IP

MWR

R/M

目的编码

OP

M

CN

S2

S1

S0

源编码

XP

W

ALU

Iu

IE

IR

Icz

Ids

三、复杂模型机数据通路图。

四、微程序控制器原理、设计方法及步骤。

(一)、微指令格式

M23

M22

M21

M20

M19

M18

M17

M16

M15

M14

M13

M12

M11

M10

M9

M8

M7

M6

M5

M4

M3

M2

M1

M0

E/M

IP

MWR

R/M

目的编码

OP

M

CN

S2

S1

S0

源编码

XP

W

ALU

Iu

IE

IR

Icz

Ids

(二)、复杂模型机微程序流程图

(见下页图示)

(三)、十六进制格式微程序文件。

$M00018110

$M0101ED82

$M0200C060

$M0300E004

$M04028201

$M0500E006

$M0600B007

$M0701A20F

$M0800E00C

$M0900E00A

$M0A00A00B

$M0B070A01

$M0C028201

$M0D00E00A

$M0F959A01

$M1001ED92

$M1100ED94

$M1200A017

$M13018001

$M14002018

$M16099A01

$M17070A10

$M18068A11

$M1900E01A

$M1A00B01B

$M1B01A21C

$M1C959A01

$M1EF59A01

$M1F00E008

$M20001001

$M2101ED83

$M2201ED85

$M2301A216

$M2401ED99

$M2501A21E

$M2601ED7F

$M2701ED89

$M28018028

五、调试情况。

;复杂模型机程序

#LOAD "MXJ4.IS" ;预调入指令系统/微程序

org 0

start:

lda_i r0,0000h

in r2,iol

sta_x 0030H,r2

and r0,r2

out ioh,r0

mov r3,r2

clr r1

sbc r2,r0

inc r1,r0

cpl r0

rr r2,r0

rl r1,r0

adc r0,r1

bnzc_d start

jmp_r -4

halt

end

运行无误。

六、课程设计收获。

本次实验大体上分为三步。首先,是连接调试。其次,装载课程设计指导书上设计的程序并测试运行,通过观察运行情况和数据在总线上的流动,了解各功能部件的工作原理和工作机制以及流程图各指令的含义。最后,自己设计程序并装载运行并检验运行结果。对于自己要设计的程序首先根据题目要求写出它的汇编格式,再根据这个汇编格式写出机器指令并设计出微程序流程图。最后根据所设计的微程序流程图写出其微指令代码。这些工作完成后把所设计的机器指令和微程序代码改写成指定的格式装载到实验系统上运行,观察运行过程和设计目的是否一致。如果不一致,要进行适当的修改直到一致为止。经过多次修改,最终实现设计要求。通过这次实验设计是我加深了对机器指令和微指令的理解和计算机计算流程的了解。

本次课程设计我们要设计一台微程序控制的模型机, 了解了一个比较成熟的模型机的实现,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用.作为一个计算机系学生这是必需掌握的。使我们对数据选择器、移位器、加法器、运算器、存储器和微程序控制器,有了比较透彻的认识。

由于计算机设计的部件较多、结构原理较复杂,对于我们这样的初设计者来说感到无从下手。在设计过程中,我们从开始的粗略的一个概念,到中间的疑惑与焦虑,到解决了问题的快乐。这对于我们以后工作也有着很大的好处,培养了我们遇到问题,分析问题,解决问题各个方面上的能力。

展开阅读全文

你可能感兴趣的:(计算机组成原理课程设计复杂模型机设计,计算机组成原理课程设计---复杂模型机的设计与实现.docx...)