计算机组成原理简单模型机设计课设.docx
《计算机组成原理简单模型机设计课设.docx》由会员分享,可在线阅读,更多相关《计算机组成原理简单模型机设计课设.docx(30页珍藏版)》请在冰豆网上搜索。
计算机组成原理简单模型机设计课设
理工大学技术工程学院
计算机组成原理课程设计任务书(09级)
题目:
模型机设计—1
学生:
学号:
班级:
计算机科学与技术
(2)班指导老师:
一、计算机组成原理课程设计题目简介
该设计要求学成根据计算机组成原理课程所学知识,设计、开发一套简单的模型就算计。
通过对一个简单计算机的设计,以达到对计算机的基本组成、部件的功能与设计、微程序控制器的设计,微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整体概念,加深计算机时间与空间概念的理解。
二、计算机组成原理课程设计任务
1、查阅文献资料,一般在5篇以上;
2、以教学实验用模型机为背景,通过调研、分析现有的模型机,建立带有带8位自增、自减指令的整机模型;
3、完成系统编程与测试工作;
4、撰写设计说明书;
5、做好答辩工作。
3、计算机组成原理课设设计的主要容、功能及指标
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、整机设计分模块进行,说明模块中数据和控制信号的来源、去向、功能、时序、以及模块间数据和控制信号的来源、去向、功能、时序等。
4、完成课程设计报告
1、设计题目、设计任务、实验设备与器材;
2、整体设计方案,设计原理与容;
3、画出模型机数据通路图;
4、画出设计的模型机微程序流程图和微程序;
5、说明指令系统的格式;
6、说明模块中数据和控制信号的来源、去向、功能、时序、以及模块间数据和控制信号的来源、去向、功能、时序等。
7、调试情况,调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等;
[1]计算机组成原理课程设计提交的成果
1.设计说明书一份,容包括:
1)中文摘要100字;关键词3-5个;
2)前言;
3)设计的目的及设计原理;
4)模型机的逻辑结构及框架;
5)运算器的物理结构;
6)存储器系统的组成与说明;
7)指令系统的设计与指令格式分析;
8)微程序控制器的逻辑结构及功能;
9)微程序的设计与实现(含微指令格式、后续地址产生方法以及微程
序入口地址的形式)
10)系统调试报告;
11)设计总结
2.刻制光盘一。
(1)设计(论文)的主要参考文献
1、白中英.计算机组成原理.科学术,2006.8
2、白中英.计算机组成原理题解、题库、实验.科学术,2006.8
3、王爱英.计算机组成与结构,清华大学,1999
4、王诚.计算机组成与结构,清华大学,1999清华大学,1999
5、唐朔飞.计算机组成原理,高等教育,1993
七、各阶段时间安排(共2周)
周次
日期
容
地点
完成
情况
教师
签字
第
1
周
星期一
教师讲解设计要求准备参考资料
教室
星期二
分析系统,方案设计
教室
星期四、五
编程
教室
第
2
周
星期一、二
调试系统
教室
星期三、四
编写设计说明书
教室
星期五
答辩
教室
2012年6月18日
摘要
随着社会科技的发展,计算机被应用到各行各业,人们步入自动化、智能化的生活阶段。
本次课程设计课题是基本模型机的设计与实现,它正体现了这一点。
利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,编写指令的应用程序,用微程序控制器实现了一系列的指令功能,最终达到将理论与实践相联系。
根据设计任务书要求,本设计要实现完成一个简单计算机的设计,主要设计部分有运算器,存储器,控制器以及微指令的设计。
其中运算器由运算芯片和寄存器来完成,存储器由总线和寄存器构成,使用硬布线的方式实现控制器,从而完成设计要求。
:
关键词:
基本模型机的设计;运算器;存储器;控制器;
前言
计算机组成原理是计算机科学技术学科的一门核心专业基础课程。
从课程的地位来说,它在先导课程和后续课程之间起着承上启下的作用。
计算机组成原理讲授单处理机系统的组成和工作原理,课程教学具有知识面广,容多,难度大,更新快等特点。
此次课程设计目的就是为了加深对计算机的时间和空间概念的理解,增强对计算机硬件和计算机指令系统的更进一步了解。
计算机组成原理课程设计目的是为加深对计算机工作原理的理解以及计算机软硬件之间的交互关系。
不仅能加深对计算机的时间和空间的关系的理解,更能增加如何实现计算机软件对硬件操作,让计算机有条不紊的工作。
正文
一、设计目的和设计原理
1.1设计目的
融会贯通计算机组成原理课程中各章的容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对硬连线控制器的认识,建立清晰的整机概念。
对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。
1.2设计原理
(1)运算器
设计中所用的运算器数据通路,其中运算器由两片74LS181以并/串形成8位字长的ALU构成。
运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和部数据总线BUSD0~D7插座BUS1~6中的任一个相连,部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,测试时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。
算术逻辑运算功能发生器74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,测试时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。
另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。
带进位控制运算器增加进位控制部分,其中高位74LS181(U31)的进位CN4通过门UN4E、UN2C、UN3B进入UN5B的输入端D,其写入脉冲由T4和AR信号控制,T4是脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得测试所需的单脉冲。
AR是电平控制信号(低电平有效),可用于实现带进位控制实验。
从图中可以看出,AR必须为“0”电平,D型触发器74LS74(UN5B)的时钟端CLK才有脉冲信号输入。
才可以将本次运算的进位结果CY锁存到进位锁存器74LS74(UN5B)中。
(2)存储器
主存储器单元电路主要用于存放实验机的机器指令,它的数据总线挂在外部数据总线EXD0~EXD7上;它的地址总线由地址寄存器单元电路中的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0~LAD7显示,高电平亮,低电平灭;在手动方式下,输入数据由键盘提供,并经一三态门74LS245(U51)连至外部数据总线EXD0~EXD7,实验时将外部数据总线EXD0~EXD7用8芯排线连到部数据总线BUSD0~BUSD7,分时给出地址和数据。
它的读信号直接接地;它的写信号和片选信号由写入方式确定。
该存储器中机器指令的读写分手动和自动两种方式。
手动方式下,写信号由W/R`提供,片选信号由CE`提供;自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。
由于地址寄存器为8位,故接入6264的地址为A0~A7,而高4位A8~A12接地,所以其实际使用容量为256字节。
6264有四个控制线:
CS1第一片选线、CS2第二片选线、OE读线、WE写线。
其功能如表3—4所示。
CS1片选线由CE`控制(对应开关CE)、OE读线直接接地、WE写线由W/R`控制(对应开关WE)、CS2直接接+5V。
(3)部件测试过程中,各部件单元的控制信号是人为模拟产生的,而总体测试将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,测试计算机数据通路的控制将由微程序控制器来完成,CPU从存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
为了向主存储器RAM中装入程序或数据,并且检查写入是否正确以及能运行主存储器中的程序,必须设计三个控制操作微程序。
·存储器读操作:
拨动总清开关后,置控制开关SWB、SWA为“00”时,按要求连线后,连续按“启动运行”开关,可对主存储器RAM连续手动读操作。
·存储器写操作:
拨动总清开关后,置控制开关SWB、SWA为“01”时,按要求连线后,再按“启动运行”开关,可对主存储器RAM进行连续手动写入。
·运行程序:
拨动总清开关后,置控制开关SWB、SWA为“11”时,按要求连线后,再按“启动运行”开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制指令用两个开关SWC、SWA的状态来设置,其定义如下:
SWB
SWA
控制台命令
0
0
1
0
1
1
读存
写存
启动程序
(4)指令寄存器
指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从存取到缓冲寄存器中,然后再传送到指令寄存器。
指令划分为操作码和地址码字段,由二进制构成,为了执行任何一条给定的指令,必须对操作码进行测试P
(1),通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器”根据指令中的操作码进行译码,强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
二、总体设计
基本整机模型数据框图如图2-1所示,计算机数据通路的控制将由微程序控制器来完成,CPU从存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
图2-1:
模型机的数据通路图
数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的容找到相应的存储单元。
存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR中。
存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。
数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。
运算结果是通过三太门送到总线上。
三态门的控制时由微控制器来控制。
三、详细设计
3.1运算器的物理结构
运算器模块主要由两片74LS181、暂存器两片74LS273等构成。
其中74LS181可通过控制器相应的控制指令来进行某种运算,具体由S0、S1、S2、S3、S4、M来决定。
T4是它的工作脉冲,正跳变有效。
寄存器堆模块为实验计算机提供了2个8位通用寄存器。
它们用来保存操作数及其中间运算结果,它对运算器的运算速度、指令系统的设计等都有密切的关系。
下面是芯片74LS181的控制逻辑引脚的功能表以及逻辑引脚图如表3-1所示:
表3-1:
74LS181的控制逻辑引脚的功能表
Cn+4A0~A3F0~F3
74LS181
B0~B3
CnMS0S1S2S3
图3-1:
74LS181的逻辑引脚图
其中各个引脚的功能如下所示:
M:
算术/逻辑运算选择输入
M=0算术运算M=1逻辑运算
Cn:
带或不带进位运算选择输入
Cn=0带进位Cn=1不带进位
S3~S0:
函数选择输入,A3~A0:
4位输入数据,B3~B0:
4位输入数据
F3~F0:
4位表示运算结果的输出,Cn+4:
进位输出
Q1Q2Q3Q4Q5Q6Q7Q8
74LS273
D0D1D2D3D4D5D6D7CLKCLR
图3-2:
74LS273的引脚图
其中,Q0-Q7表示寄存器的8位数据输出,D0—D7表示向寄存器中输入8位数据的引脚,CLK是用来进行寄存器的选定操作,当其为高电位时和T4信号一起选定哪个寄存器进行数据输入。
8位运算器的结构框图如图3-3所示:
图3-3:
8位运算器的结构框图
在该运算器中,有两片74LS181组成算术和逻辑运算。
数据的来源由74LS273寄存器提供,74LS273产生8位数据,分别送入到74LS181运算器中进行相应的运算,而如何进行数据的传送是由LDDR1和LDDR2以及T4信号控制的,当LDDR1和T4都为高电平时,选定相应的寄存器来进行数据输入,同理,LDDR2和T4。
然后经过相应的运算之后将产生的结果通过总线送回到寄存器中。
整个数据的运送过程有相应的控制信号提供,S0、S1、S2、S3、S4、M都是通过控制器的相关指令来控制。
让其进行某种算数运算和逻辑运算。
整个数据和指令都是通过数据总线,控制总线和地址总线来进行传送。
3.2存储器系统的组成与说明
3.2.1存储器的详细设计
图3-4:
存储器的结构框图
说明:
该主存储器采用一级cache-存储器结构。
主要用于存放试验机的机器指令。
它的数据总线挂在外部数据总线EXD0~EXD7上;它的地址总线由地址寄存器单元电路中的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0~LAD7显示,高电平亮,低电平灭;在手动方式下,输入数据由8位数据开关KD0~KD7提供,并经一三态门74LS245(U51)连至外部数据总线EXD0~EXD7,实验时将外部数据总线EXD0~EXD7用8芯排线连到部数据总线BUSD0~BUSD7,分时给出地址和数据。
它的读信号直接接地;它的写信号和片选信号由写入方式确定。
该存储器中机器指令的读写分手动和自动两种方式。
手动方式下,写信号由W/R`提供,片选信号由CE`提供;自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。
由于地址寄存器为8位,故接入6264的地址为A0~A7,而高4位A8~A12接地,所以其实际使用容量为256字节。
6264有四个控制线:
CS1第一片选线、CS2第二片选线、OE读线、WE写线。
CS1片选线由CE`控制(对应开关CE)、OE读线直接接地、WE写线由W/R`控制(对应开关WE)、CS2直接接+5V。
图号线LDAR由开关LDAR提供,T3由试验机上时序模块电路TS3提供。
3.3指令系统的设计与指令分析
3.3.1数据格式
数据格式如表3-2所示:
表3-2:
数据格式
7
6543210
符号
尾数
3.3.2指令格式
模型机设计四大类指令共十条,其中包括算术指令逻辑指令,I/O指令,存算指令,取算指令,转移指令。
(2)算术指令
设计7条算术指令并用单字节表示,寻址方式采用寄存器寻址,其格式如表3-3所示:
表3-3:
算数指令格式
7654
32
10
OP-CODE
RS
DS
其中,OP-CODE为操作码,RS为源寄存器,DS目的寄存器,其规定如下所示:
RS或RD
选定的寄存器
00
01
10
R0
R1
R2
(3)访存指令及转移指令
设计2条访问指令:
即存算STA,取算LDA;2条转移指令:
即无条件转移指令JMP,有进位跳转指令BZC,指令格式如表3-4所示:
表3-4:
访问指令及转移指令格式
76
54
32
10
00
M
OP-CODE
RD
D
其中,OP-CODE为操作码,RD为源寄存器的地址(LAD,STA指令用),D为位移量,M为寻址模式,其定义如下所示:
寻址模式M
有效地址
说明
00
01
10
11
E=D
E=(D)
E=(RI)+D
E=(RD)+D
直接寻址
间接寻址
RI变址寻址
相对选址
本模型机规定变址RI为寄存器R2。
(4)I/O指令
输入IN指令和输出指令OUT指令采用单字节指令,其格式如表3-5所示:
表3-5:
I/O指令格式
7654
32
10
OP-CODE
addr
RD
其中,addr=01时,选中输入数据开关KD0~KD7作为输入设备,addr=10选中2位数码管作为输出设备。
3.3.3指令系统
本模型机共有13条基本指令,其中算术指令7条,访存指令和程序控制指令4条,输入输出指令2条。
表3-6列出了各条指令的格式,汇编符合,指令功能。
表3-6指令格式
汇编符号
指令格式
功能
CLRrd
MOVrsrd
ADDrsrd
SUBrsrd
011100rd
0110rsrd
1000rsrd
1001rsrd
0→rd
rs→rd
rs+rd→rd
rd-rs→rd
XORrsrd
ANDrsrd
ORrsrd
1010rsrd
1o11rsrd
1100rsrd
rs异或rd→rd
rs∧rd→rd
rs∨rd→rd
LDAMDrd
STAMDrd
JMPMD
JMPMD
00M00rd
00M01rd
00M10rd
00M11rd
(E)→rd
rd→(E)
E→PC
当cy=1时E→PC
INaddrrd
OUTaddrrd
010001rd
010110rd
addr→rd
rd→addr
3.4微程序控制器的逻辑结构及功能
微程序控制器的结构与微指令的格式密切相关。
微程序控制器的结构框图如图3-5所示。
它由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。
微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。
图3-5:
微程序控制器的结构框图
1.控制存储器
ROM中存放微程序,也就是全部的微指令。
ROM的容量取决于微指令的总数。
假如控制器需要128条微指令,则微地址寄存器长度为7位。
ROM的字长取决于微指令长度。
如果微指令为32位,则ROM的字长就是32位。
实际应用中ROM可采用EPROM或E2PROM、EAROM,用户写入和修改微程序比较方便。
2.微命令寄存器
微命令寄存器暂存由控制存储器中读出的当前微指令中控制字段与测试判别字段信息,可由8D寄存器组成。
3.微地址寄存器
微地址寄存器暂存由控制存储器读出的当前微指令的下址字段信息。
它可由带RD、SD强置端的D触发器组成。
其中时钟端和D端配合用做ROM的读出打入,用SD进行下址修改。
4.地址转移逻辑
微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。
当微程序出现分支时通过地址转移逻辑去修改微地址寄存器容,并按修改好的微地址读出下条微指令。
地址转移逻辑是一个组合逻辑电路,其输入是当前微指令的判别测试字段Pi、执行部件反馈的“状态条件”及时间因素T4。
5.控制时序信号
上图中标明了一个基本机器周期中的控制时序信号。
例如用上一周期的T4时间按微地址寄存器容从ROM中读一条微指令,经过一段时间后被读出,用当前周期的T1时间打入到微指令寄存器。
T2、T3时间用来控制执行部件进行操作。
T4时间修改微地址寄存器容并读出下一条微指令。
微控制器寄存器使用的是两片74LS273和一片74LS175构成它们从微命令存储器中读出并保存,为后续模块提供信息。
它是根据节拍信号进行读的。
地址转移部分是由一个74LS245作为6的带强制端的触发器构成寄存器和构成在强制端没有输入时使用的是从微存储器读出下一条地址。
如果强制端有输入就是强制端给定的地址。
强制端给地址主要是在分支的时候给出。
还有三个74LS138够成地址译码部分。
分别对应A,B,C字段。
微控制器的物理设计
微控制器的设计中根据其要求,使用的微控制的微控存使用的是3片2816
构成。
其中每一片使用的是256个字节并没有全使用。
这主要考虑到是整个模型机都使用的都是8位的。
三片2816实现的位扩,构成24长度微指令。
因此根据起设计的要求物理设计的逻辑图如图3-6所示:
图3-6物理设计图
3.5微程序的设计与实现
3.5.1指令格式
微指令长共24位,其控制位顺序如表3-7所示:
表3-7:
微指令的格式
微程序
24
23
22
21
20
19
18
17
16
15
14
13
控制信号
3
2
1
0
M
CN
WE
B1
B0
A
微程序
12
11
10
9
8
7
6
5
4
3
2
1
控制信号
B
C
uA5
uA4
uA3
uA2
uA1
uA0
A字段B字段C字段
对表3-7解释:
S3S2S1S0M
微运算器74LS181芯片的控制信号,详见表3-7。
微W\R信号对RAM和OUT进行写操作,高电平为写有效。
B1,B0:
为对外部设备(RAM,OUTPUT,INPUT)地址进行译码,B0B1=00时,
INPUT选中;B0B1=01时,RAM(CE)选中;B0B1=10的,OUTPUT选中;B0B1=11时,外部设备不选中。
A字段:
LDRi:
寄存器输入选中,具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;I1,I0=01时为R1;I1,I0=10时为R2。
LDDR1:
暂存器DR1选中。
LDDR2:
暂存器DR2选中。
LDIR:
指令寄存器IR选中。
LOAD:
总线数据直接装载到PC计数器。
LDAR:
地址寄存器AR选。
B字段:
RS-B:
为源寄存器输出选中。
具体选择同指令寄存器(IR