090401003蒋佳林解析Word文件下载.docx

上传人:b****2 文档编号:14704752 上传时间:2022-10-24 格式:DOCX 页数:14 大小:337.99KB
下载 相关 举报
090401003蒋佳林解析Word文件下载.docx_第1页
第1页 / 共14页
090401003蒋佳林解析Word文件下载.docx_第2页
第2页 / 共14页
090401003蒋佳林解析Word文件下载.docx_第3页
第3页 / 共14页
090401003蒋佳林解析Word文件下载.docx_第4页
第4页 / 共14页
090401003蒋佳林解析Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

090401003蒋佳林解析Word文件下载.docx

《090401003蒋佳林解析Word文件下载.docx》由会员分享,可在线阅读,更多相关《090401003蒋佳林解析Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

090401003蒋佳林解析Word文件下载.docx

090401003

学生姓名

蒋佳林

专业班级

计算机091班

课程设计(论文)题目

——乘法指令流程

课程设计(论文)任务

利用试验箱中的电路模块组合成为一台简单计算机,数据通路的控制由微程序控制器完成,CPU从内存取出一条机器指令到执行指令结束的一个机器指令周期,是由微指令组成的序列完成。

主要设计内容:

1.将微程序控制器同执行部件联机,组成一台模型计算机;

2.用微程序控制器控制模型机数据通路;

3.通过CPU运行机器指令,编写乘法指令所对应的微程序。

要求:

1、根据题目和试验箱中的电路模块设计一台简单计算机,并画出电路原理图以及微程序流程图。

2、认真独立完成所规定的设计内容(4000字左右),严禁相互抄袭;

3、撰写、打印设计说明书一份。

指导教师评语及成绩

平时成绩:

论文质量:

答辩:

总成绩:

指导教师签字:

学生签字:

2012年1月6日

目录

第1章一台模型计算机的设计方案1

1.1引言1

1.2总体方案论述1

第2章一台模型计算机的硬件设计3

2.1数据通路的设计3

2.2微程序控制器的设计5

2.3模型机的设计与调试7

第3章微程序设计10

3.1微程序流程图10

3.2微程序代码的设计与测试10

第4章课程设计总结12

参考文献13

第1章一台模型计算机的设计方案

1.1引言

本次课程设计用到的电路包括运算器、存储器、通用寄存器堆、程序计数器、指令寄存器、微程序控制器等,将几个模块组合成为一台简单计算机。

计算机模型采用了数据总线和指令总线双总线体制能实现流水控制。

控制器有微程序控制器或者硬布线控制器两种类型,每种类型又有流水和非流水两种方案。

寄存器堆由1片ispLSI1016组成,运算器由1片ispLSI1024组成。

实验台上包括了1片系统编程芯片ispLSI1032,可用它实现硬件布线控制。

1.2总体方案论述

1.2.1系统组成框图

图1系统总体框图

1.2.2乘法指令流程设计任务

1利用机器指令系统编制简单程序,要求至少使用其中五条指令,对自己编制的简单程序进行译码,手工汇编成十六进制机器代码。

2参考计算机组成原理课程设计指导书的步骤完成连线,控制器是控制部件,数据通路是执行部件,时序产生器是时序部件。

连线包括控制台、时序部分、数据通路和微程序控制器之间的连接。

3将上述任务

(1)中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关SW7—SW0设置通用寄存器及内存相关单元的数据。

4用单拍(DP)方式执行一遍程序,列表记录通用寄存器堆RF中寄存器的数据,以及RAM中的数据,与理论分析值做作对比。

单拍方式执行是注意观察微地址指示灯、IR/DBUS指示灯、AR2/AR1指示灯和判断字段指示灯的值,以跟踪程序中取指令和执行指令的详细过程。

5以单指(DZ)方式重新执行程序一遍,注意观察IR/DBUS指示AR2/AR1指示灯的值。

执行结束后,记录RF中四个寄存器的数据,以及RAM中的数据,与理论分析值作对比。

6以连续方式(DB、DP、DZ都设为0)再次执行程序。

这种情况相当于计算机正常运行程序。

由于程序中有停机指令STP,程序执行到该指令时自动停机。

第2章一台模型计算机的硬件设计

2.1数据通路的设计

图2数据通路框图

2.1.1运算器ALU

运算器ALU由一片ispLS1024(U47)组成,在选择端S2、S1、S0控制下,对数据A和B进行加、减、与、直通、乘五种运算,功能如下:

表1操作功能表

选择

操作

S2

S1

SO

A&

B

1

A(直通)

A+B

A-B

A(低4位)*B(低4位)

进位C只在加法和运算和减法运算是产生。

加运算中,C表示进位;

减运算中,C代表借位。

加、减运算产生的进位(借位)在T4的上升沿送入C寄存器保存。

与、乘、直通操作不影响进位C的状态,即进位C保持不变。

当ALU_BUS=1时,运算结果送往数据总线DBUS。

加、减运算产生的进位(借位)C与控制台的C指示灯相连。

2.1.2存储器

双端口存储器由一片IDT7132(U36)及少量附加控制电路组成。

IDT7132是2048字节的双端口静态随机存储器,本机实际使用256字节。

IDT7132两个端口可同时进行读、写操作。

在本机中,左端口的数据连接数据总线DBUS,可进行读、写操作,右端口数据和指令总线INS连接,输出到指令寄存器IR,作为只读端口使用。

存储器IDT7132有6个控制引脚:

CEL#、LRW、OLE#、CER#、RRW、OER#。

CEL#、LRW、OLE#控制左端口读、写操作,CER#、RRW、OER#控制右端口读、写操作。

CEL#为左端口选择引脚,低有效,为高时禁止左端口操作;

LRW为高时,左端口进行读操作,LRW为低时,左端口进行写操作;

OER#为低时,将左端口读出的数据放到数据总线DBUS上。

CER#、RRW、OER#控制右端口读、写操作的方式与CEL#、LRW、OER#控制左端口读、写操作的方式类似,不过右端口读出的数据放到指令总线上而不是数据总线上。

本机设计中,OER#已固定接地,RRW固定接高电平,CER#有CER反相产生。

当CER=1时,右端口读出数据,并放到指令总线INS上;

当CER=0时,禁止右端口操作。

左端口的OLE#由LRW反相产生,不需单独控制。

当CEL#=0且LRW=1时,左端口进行读操作;

当CER#=0且LRE=0时,在T3的上升沿开始进行写操作,将数据总线DBUS上的数据写入存储器。

2.1.3输入与输出

开关寄存器SW_BUS(U38)是1片74HC244,用于将控制台开关SW7—SW0的数据送往数据总线DBUS。

当SW_BUS#=1时,禁止开关SW7—SW0的数据送往数据总线DBUS;

当SW_BUS#=0时,允许开关SW—SW0的数据送往数据总线DBUS。

通过SW7—SW0输入数据,把数据输入到ER中,然后分别RF中的中的R0—R3中,然后通过选择,分别通过A、B端口送入DR1和DR2。

然后送入ALU进行相应的运算,再把结果通过DBUS送入RAM进行存储。

然后再通过SW7—SW0输入数据,通过DBUS送入RAM中,读取RAM中相应单元的数据,并把指令通过INS送入IR,在送入控制器中,然后经过一系列的传送通过数据指示灯显示出来。

2.2微程序控制器的设计

图3微程序控制器

2.2.1机器指令格式

根据下列表的代码格式。

产生不同的功能,完成各个任务。

表2指令格式表

名称

助记符

功能

指令格式

R7R6R5R4

R3R2

R1R0

加法

ADDRd,Rs

Rd+Rs->

Rd

0000

RS1RS0

RD1RD0

减法

SUBRd,Rs

Rd-Rs->

0001

乘法

MULRd,Rs

Rd*Rs->

0010

逻辑与

ANDRd,Rs

Rd&

Rs->

0011

存数

STARd,[Rs]

Rd->

[Rs]

0100

取数

LDARd,[Rs]

[Rs]->

0101

无条件转移指令

JMP[Rs]

Pc

1000

XX

条件转移

JCD

若C=1则

PC+D->

PC

1001

D3D2

D1D0

停机

STP

暂停运行

0110

中断返回

IRET

返回断点

1010

开中断

INTS

允许中断

1011

关中断

INTC

禁止中断

1100

表3控制台指令格式表

SWC

SWB

SWA

工作方式

PR,启动程序

KRD,读双端口存储器

KWE,写双端口存储器

KLD,加载寄存器存器堆

KRR,读寄存器堆

2.2.2电路设计

使用计算机组成原理实验的电路图,但本次课设加入中断系统。

设计一个简单的中断系统模型,只支持单级中断、单个中断请求,有中断屏蔽功能,旨在说明最基本的原理。

中断屏蔽控制逻辑分别集成在2片GAL22V10(TIMER1和TIMER2)中。

其ABEL语言表达式如下:

INTR1:

=INTR;

INTR1.CLK=CLK1;

IE:

=CLR&

INTS#CLR&

IE&

!

INTC;

IE.CLK=MF;

INTQ=IE&

INTR1;

其中CLK1是TIMER1产生的时钟信号,它主要是作为W1—W4的时钟脉冲,这里作为INTR1的时钟信号,INTE的时钟信号是晶振产生的MF。

INTS微指令位是INTS机器指令执行过程中从控制存储读出的,INTC微指令位是INTC机器指令执行过程中从控制存储器读出的。

INTE是中断允许标志,控制台有一个指示灯IE显示其状态,它为1时,允许中断,为0时,禁止中断。

当INTS=1时,在下一个MF的上升沿IE变1,当INTC=1时,在下一个MF的上升沿IE变0。

CLR信号实际是控制台产生的复位信号CLR#。

当CLR=0时,在下一个CLK1的上升沿IE变0。

当CLR=1且INTS=0且INTC=0时,IE保持不变。

INTR是外部中断源,接控制台按钮INTR。

按一次INTR按钮,产生一个中断请求正脉冲INTR。

INTR1是INTR经时钟CLK1同步后产生的,目的是保持INTR1与实验台的时序信号同步。

INTR脉冲信号的上升沿代表有外部中断请求到达中断控制器。

INTQ是中断屏蔽控制逻辑传递给CPU的中断信号,接到微程序控制器上。

当收到INTR脉冲信号时,若中断允许位INTE=0,则中断被屏蔽,INTQ仍然为0;

若INTE=1,则INTQ=1。

为保持中断的断点地址,以便中断返回,设置了一个中断地址寄存器IAR。

第二节图4中的IAR(U19)就是这个中断地址寄存器,它是一片74HC374,有LDIAR和IAR_BUS#两个信号输入端,均连接至微程序控制器。

LDIAR信号的上升沿到达时,来自程序计数器PC的地址会置入IAR中。

IAR_BUS#为0时,保存在IAR中的断点地址会输出到数据总线DBUS上。

由于本实验系统只有一个断点寄存器而无堆栈,因此仅支持一级中断而不支持多级中断。

中断向量即中断服务程序的入口地址,在本实验仪中由8位数码开关SW7—SW0提供。

2.3模型机的设计与调试

2.

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

当前位置:首页 > 经管营销 > 人力资源管理

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

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