华北电力大学8位模型机设计实验报告_第1页
华北电力大学8位模型机设计实验报告_第2页
华北电力大学8位模型机设计实验报告_第3页
华北电力大学8位模型机设计实验报告_第4页
华北电力大学8位模型机设计实验报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华北电力大学实 验 报 告| 实验名称 8位模型机的设计 课程名称 计算机组成原理 | 专业班级:网络 成 绩: 学生姓名: 学 号:指导教师:王晓霞 实验日期:2015.11.28 华 北 电 力 大 学 实 验 报 告目录一、摘要3二、前言3三、设计目的、任务与内容33.1设计目的33.2设计任务43.3设计内容4四、八位模型机整体设计44.1总体结构44.2指令系统74.3运算器84.4存储器94.5控制器104.6指令流程图和操作时间表144.7微指令码20五、成员分工21六、实验感想与讨论21七、参考文献22一、摘要通过一台模型机的设计,使我们建立了整机的概念,模型机整体采取简单的组

2、成模式,每一时钟周期内完成的操作有限。该模型机包括运算器,存储器,控制器等。指令结构,选用两片SN74181串行进位方式形成运算器,运用微程序控制各部件单元的产生控制信号,实现特定指令的功能,通过绘制指令流程图,编写指令时间表,设计微指令格式等实现了具体的微程序控制。关键字: 模型机 指令 微程序二、前言计算机组成原理是计算机科学专业的一门重要的专业基础课,内容包括计算机部件和整机的组成与工作原理由于课程的专业性很强、概念繁杂抽象,8位模型机的设计有助于我们理解计算机整机的工作原理,让我们从设计角度来理解计算机的结构与工作原理。.计算机的核心部件CPU通常包含运算器和控制器两大部分。组成CPU

3、的基本部件有运算部件、寄存器组、微命令产生部件等。这些部件通过CPU内部的总线连接起来,实现它们之间的信息交换。其中,运算部件和一部分寄存器属于运算器部分;另一部分寄存器、微命令产生部件和微程序控制器等则属于控制器部分。八位模型计算机的设计过程,包含通过内总线连接各基本功能单元模块构成数据通路,给出完备的指令系统,运算器的实现方式,用微指令设计计算机指令系统。三、设计目的、任务与内容3.1设计目的根据计算机组成原理课程所学知识,设计一个8位的模型计算机。 1.掌握计算机的基本组成和功能; 2.掌握计算机各大部件的功能与设计方法; 3.深入学习计算机各类典型指令的执行流程; 4.深入学习微程序控

4、制器的原理和设计过程; 5.掌握微程序的设计方法,学会编写二进制微指令代码表; 6.综合运用所学知识,在掌握部件单元电路设计的基础上,进一步构造一台基本的模型计算机,建立计算机整机概念; 7.通过本次设计,理论联系实践,进一步加强学生分析问题、解决问题的能力,提高自身硬件设计水平。3.2设计任务 1.查阅文献资料,一般在5篇以上; 2.以TEC-XP教学实验计算机系统为背景,通过调研、分析现有的模型机,建立8位的整机模型; 3.完成8位模型机的整机设计和各部件的具体设计; 4.撰写设计报告书;做好答辩工作。3.3设计内容1、8位模型机总体结构的设计; 主要是数据通路的设计或选择,要说明如下内容

5、: 1)寄存器的位数 2)总线宽度 3)ALU位数及运算功能 4)微命令的设置(各标识的含义);2、拟定指令系统; 要考虑指令的完备性、有效性、规整性;主要说明系统包括哪些指令以及指令格式,寻址方式。3、控制器的选择; 采用微程序控制器。4、绘制指令流程图;5、安排指令操作时间表,设计微指令格式;6、编写微程序;7、了解并说明模型机的输入/输出模块;8、各部件设计时,说明部件中数据和控制信号的来源、去向、功能、时序、以及部件之间数据和控制信号的来源、去向、功能和时序等。四、八位模型机设计 4.1总体结构 总体结构设计的内容包含确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种

6、信息传送路径,以及为实现这些传送所需要的微命令。1.寄存器 (1)可编程寄存器(8位) 通用寄存器:R0 、R1 程序计数器:PC 程序状态字寄存器:PSW (2)非编程寄存器(8位) 暂存器C:暂存来自主存的源地址或源操作数。 暂存器D:暂存来自主存的目的操作数地址或目的操作数。 指令寄存器IR:存放现行指令。 地址寄存器MAR:提供CPU访问主存的地址。 数据缓冲寄存器MBR:与数据总线双向连接,存储数据、控制命令与操作。2.运算部件 (1)运算部件以算术、逻辑运算部件ALU为核心,采用两片4位的SN74181(负逻辑)芯片,由微命令M、S0、S1、S2、S3选择ALU操作功能,C0是送入

7、最末尾的进位信号。 (2)ALU输入端设置A、B两个多路选择器,用以选择数据来源,具体见数据通路图。3.总线与数据通路结构 (1)内总线:八根单向数据传送线,连接到有关寄存器对应的D输入端。 (2)系统总线:地址总线、数据总线、控制总线。具体见通路图。 模型机的数据通路4.各类信息的传送路径 (1)指令信息传送 (2)地址信息 1)取指信息: 2)顺序执行时的后继指令地址: 3)操作数地址打入Ri A(或B) 寄存器间址寻址方式:(R) ALU 移位器 内总线 MAR ALU 移位器 内总线 MAR Ri A(或B) 双重间址寻址方式(R)+ALU 移位器 内总线 MAR Ri A(或B) C

8、 (3)数据信息传送寄存器 寄存器打入 1)Ri A(或B) ALU 移位器 内总线 Rj 写入打入寄存器 主存2) Ri ALU MBR 数据总线 M打入置入读出主存 寄存器 3) M 数据总线 MBR ALU Rj 打入读出、置入主存 主存 4) 写入打入M(源单元) MBR ALU C C ALU MBR M(目的单元)输入选择:R0 A,R1A,CA,DA,PCA,ALU R0 B,R1B,CB,DB,PSWB,MBRB功能选择:S3S2S1S0M C05.微命令设置 (1)(2)移位器功能选择:直传DM、左移、右移 (3)分配脉冲:CPR0、CP R1、CPMAR、CPMBR、CPP

9、C、CPPSW、CPC、CPD(4)与系统总线及主存有关的微命令:EMAR、SMBR、SIR、R、W4.2指令系统1.指令格式(8位) 7 65 4 3 21 0操作码寄存器号寻址方式寄存器号寻址方式 源 目的 67位表示操作码,决定操作指令类型;35位表示源操作数,3位表示寻址方式,0表示寄存器寻址,可用的寄存器有R0 、R1 、PC、PSW,1表示变址寻址方式,可用的寄存器有R0 、R1 、PC、PSW,4、5位表示寄存器号;02位表示目的操作数,0位表示寻址方式,0表示寄存器寻址,可用的寄存器有R0 、R1 、PC、PSW,1表示变址寻址方式,可用的寄存器有R0 、R1 、PC、PSW,

10、1、2位表示寄存器号。可编程寄存器(4个):通用寄存器R0 00 R1 01程序计数器PC 10程序状态字PSW 11 2.寻址方式 (1)模型机的编址为按字编址,字长8位,即主存每个单元8位 (2)采用定字长指令格式,指令字长8位,操作数字长8位 (3)使用2种寻址方式,寻址方式0是寄存器寻址方式,为1是间接寻址方式 3.操作类型 (1)传送指令: MOV传送,操作码00 (2)双操作数算数逻辑指令: ADD加法运算,操作码01 (3)双操作数算数逻辑指令: SUB-减法运算,操作码10 (4)单操作数算数逻辑指令: COM求反,操作码114.3运算器1.运算器的组成结构 (1)运算器使用的

11、2片SN74181(负逻辑)组成,采用组内并行组间串行进位的方法,共8位,其组成图如下: (2)运算器实现的功能表A加A=2A,算术左移一位4.4存储器主存基本组成如下所示,根据MAR中的地址访问某个存储单元时,先经过地址译码、驱动等电路找到所需访问的单元,读出时,需经过放大器将被选中单元的存储字送到MDR,写入时,MDR中的数据也必须经过写入电路才能真正写入到被选中的单元中。4.5控制器1.控制器逻辑组成(结构图如下) (1)控制存储器CM 采用只读存储器,用来存放微程序,每个单元存放一条微指令的代码,需要几十位 (2)微指令寄存器IR 存放从控制存储器中读取的微指令,分为两个部分: 微命令

12、字段:直接作为微命令或者分成若干小段经译码后产生微命令 微地址字段:指明后继地址的形成方式,使微程序连续执行 (3)微地址形成电路 提供两类微地址的形成方式: 后继微地址:由现行微指令中的控制字段,现行微指令地址,微程序转移时的微指令地址,机器运行状态等决定。 微程序入口地址:由机器指令的操作码等决定。 (4)微地址寄存器AR 存放后继微地址2.微程序的设计 针对模型机数据通路结构的需要,将微操作控制字段分为三个部分: (1)基本数据通路操作的控制字段,其中包含输入选择、ALU功能选择、移位选择、内总线输出分配; (2)访问主存的控制字段,其中包含地址选择、读写控制; (3)辅助操作的控制字段

13、,即将前两类基本操作未能包括的其它零星操作(如开中断、关中断等)归为一类,称为辅助操作;3.时序系统的设计P 微指令周期 微指令 打入 IR 控制数据通路操作 结果打入目的地, 读取后续微指令 后续微地址打入 AR 4、CPU控制流程 模型机微指令格式: 3 3 5 2 2 3 1 1 1 1 2 4AIBISMC0SZOEMARSIRRWSTSC 基本数据通路控制 访问控制 辅助 顺序控制 微操作控制字段1.基本数据通路控制字段 (1)AI:ALU的A输入端选择,3位 000 无输入 001 Ri -A(由机器指令中的寄存器号辅助指明Ri是谁,如R0、R1、PC) 010 C-A 011 D

14、-A 100 PC-A(专用的PC-A命令,用于取指、变址中对PC的选取。而001编码中的PC-A,用于当指定Ri为PC的寻址) (2)BI:ALU的B输入端选择,3位 000 无输入 001 Rj-B(由机器指令中的寄存器号辅助指明Rj是谁,如R0、R1、PSW) 010 C-B 011 D-B 100 MBR-B AI与BI字段都有一段编码组合尚未定义,可供扩充微命令。 (3)SM:即ALU功能选择信号S3S2S1S0M,共5位,采取直接控制法 (4)C0:初始进位设置,2位 00 C0=0 01 C0=1 10 PSW0(进位触发器)-C (5)S:移位器控制,2位 00 DM(直传)

15、01 SL(左移) 10 SR(右移) 11 EX(高低字节交换) (6)ZO:内总线输出分配,3位 000 无输出,不发打入脉冲 001 CPRj(由机器指令中的寄存器号辅助指明Rj是谁,如R0、R1、PC、PSW) 010 CPC 011 CPD 100 CPIR 101 CPMAR 110 CPMBR 111 CPPC(专用的CPPC命令,用于取指、变址中的打入PC)2.访存操作控制字段 EMAR: 1位,为1时由MAR向地址总线提供有效地址,为0时MAR与地址总线脱离。 SMBR: 1位 R: 1位,为1时读主存,同时作为EMAR。 W: 1位,为1时写入主存。 以上四位采取直接控制法

16、。若EMAR为0,CPU不访存,但可由DMA控制器提供地址。SMBR同理。若W与R均为0,则CPU不工作。3.辅助操作控制字段ST,2位 01 开中断 10 关中断4.顺序控制字段SC,4位 0000 微程序顺序执行 0001 无条件转移,由微指令第34-27提供8位转移微地址 0010 按指令操作码OP断定,分支转移 0011 按OP与DR(目的寻址方式是寄存器型或非寄存器型)断定,分支转移 0100 按J(转移成功与否)与PC(指令中指定寄存器是否为PC)断定,分支转移 0101 按源寻址方式断定,分支转移 0110 按目的寻址方式断定,分支转移 0111 转微子程序,将返回微地址存入一个

17、专设的返回微地址寄存器中,并由微指令第34-27位提供微子程序入口, 1000 从微子程序返回,由返回微地址寄存器提供返回地址4.6指令流程图和操作时间表MOV指令FT0EMAR CPPCR CPTP*SIR CPFTPA-A CPDT S3S2*S1*S0M*C0 CPETDM1-STSR*1-DTSR.DR*1-ETSR.DRST0R0-AIR5*IR4* CPMARR1-AIR5*IR4 CPR0IR5*IR4* PC-AIR5.IR4 CPR1IR5*IR4DM CPTP*T+1ST1EMAR CPPCR CPTP*SMBR CPSTMBR-B CPDTS3S2*S1S0*M CPET

18、DM1-DTDR*1-ETDRDT0R0-AIR2*IR1* CPMARR1-AIR2*IR1 CPR0IR2*IR1* PC-AIR2.IR1 CPR1IR2*IR1DM CPTP*1-ETET0R0-AIR5*IR4* CPPCR1-AIR5*IR4 CPR0IR5*IR4* PC-AIR5.IR4 CPR1IR5*IR4C-ASR* CPMBRDR* CPTP*Y=ADMT+1ET1EMARDR* CPTP*WDR* CPMART+1ET2PC-A CPSTY=A CPDTDM CPET1-FT CPTADDSUB双操作指令FT0EMAR CPPCR CPTP*SIR CPFTPA-A

19、CPDT S3S2*S1*S0M*C0 CPETDM1-STSR*1-DTSR.DR*1-ETSR.DRST0R0-AIR5*IR4* CPMARR1-AIR5*IR4 CPR0IR5*IR4* PC-AIR5.IR4 CPR1IR5*IR4DM CPTP*T+1ST1EMAR CPPCR CPTP*SMBR CPSTMBR-B CPDTS3S2*S1S0*M CPETDM1-DTDR*1-ETDRDT0R0-AIR2*IR1* CPMARR1-AIR2*IR1 CPR0IR2*IR1* PC-AIR2.IR1 CPR1IR2*IR1DM CPTP*T+1DT1EMAR CPDSMBR CPS

20、TMBR-B CPDTS3S2*S1S0*M CPETDM CPT1-ETET0R0-AIR5*IR4* CPMARR1-AIR5*IR4 CPR0PC-AIR5.IR4 CPR1R0-BIR2*IR1* CPCR1-BIR2*IR1 CPD PC-BIR2.IR1 CPMBRC-ASR*D-BDR*Y=A+BA-BDMT+1ET1EMARDR*WDR*CPTP*CPMART+1ET2PC-A CPSTDM CPDT1-FT CPET CPTCOM单操作数FT0EMAR CPPCR CPTP*SIR CPFTPA-A CPDT S3S2*S1*S0M*C0 CPETDM1-STSR*1-DTS

21、R.DR*1-ETSR.DRDT0R0-AIR2*IR1* CPMARR1-AIR2*IR1 CPR0IR2*IR1* PC-AIR2.IR1 CPR1IR2*IR1DM CPTP*T+1DT1EMAR CPDSMBR CPSTMBR-B CPDTS3S2*S1S0*M CPETDM CPT1-ETET0R0-AIR2*IR1* CPMARR1-AIR2*IR1 CPR0IR2*IR1* PC-AIR2.IR1 CPR1IR2*IR1D-ADR*Y=A*DMT+1ET1EMARDR*WDR*CPTP*CPMART+1ET2PC-A CPSTDM CPDT1-FT CPET CPT4.7微指令码

22、微地址操作微代码取指000102M-IRPC+1-PC000 000 00000 00 00 100 110 0 00 0000100 000 11110 01 00 111 000 0 00 0000000 000 00000 00 00 000 000 0 00 0010MOV0304050010 0101 0000000000000 0 00 01110010 1001 0000000000000 0 00 0111按OPDR分支,SC=0011MOVDRMOVDR060708090A0BC-MBRMBR-MPC-MARC-R(j)010 000 11111 00 00 110 000

23、0 00 0000000 000 00000 00 00 000 101 0 00 0000100 000 11111 00 00101 000 0 00 00000000 0000 0000000000000 0 00 0001010 000 11111 00 00 001 000 0 00 00000000 1000 00000 00 000 000 0 00 0001双操作数0C0D0E0FM-MBR-D0010 0101 0000000000000 0 00 01110010 1001 0000000000000 0 00 0111000 100 10101 00 00 011 110

24、 0 00 0000按OPDR分支,SC=0011ADDDRADDDR10111213C+D-MBRC+R(j)-R(j)010 011 10010 10 00 110 000 0 00 00000000 0111 0000000000000 0 00 0001010 001 10010 10 00 001 000 0 00 00000000 1000 0000000000000 0 00 0001SUBDRSUBDR14151617C-D-MBRC-R(j)-R(j)010 011 01100 01 00 110 000 0 00 00000000 0111 0000000000000 0

25、00 0001010 001 01100 01 00 001 000 0 00 00000000 1000 0000000000000 0 00 0001单操作数181920M-MBR-D0010 1001 0000000000000 0 00 0111000 100 10101 00 00 011 110 0 00 0000按OPDR分支,SC=0011COMDRCOMDR21222324D-MBRR(i)-R(i)011 000 00001 00 00 110 000 0 00 00000000 0111 0000000000000 0 00 0001001 000 00001 00 00

26、 001 000 0 00 00000000 1000 0000000000000 0 00 0001取源操作数R(R)25262728R(i)-CR(i)-MARM-MBR-C按源寻址方式分支,SC=0101001 000 11111 00 00 010 000 0 00 1000001 000 11111 00 00 101 000 0 00 0000000 100 10101 00 00 010 110 0 00 1000取目的地 R(R)293031R(j)-MAR按目的寻址方式分支,SC=01100000 0000 0000000000000 0 00 1000000 001 111

27、11 00 00 101 000 0 00 1000五、成员分工我们团队六人通过商量讨论,确定了一下团队人员的分工。 杨懿男、刘思萌:负责模型机运算器和存储器功能的实现,ALU位数及运算功能实现 孙静雅、张奥博:负责控制器的设计和指令格式,寻址方式,操作流程图 杨承南、加依达尔:负责操作时间表和微程序的设计和微码的编写六、实验感想与讨论 1、通过本次实验,熟悉了计算机的结构和基本组成,复习和掌握了课堂上学习的基本知识点,是一个成功的实践。本次实验是一个综合性很强的实验,包括指令系统、运算器、存储器、控制器等部件的设计。首先我们需要设计每条指令的格式,包括操作码、寄存器号以及寻址方式,然后设计寄存器类型以及寻址类型,由于此次我们设计的是8位模型机,因此设定操作码、寄存器号、寻址方式、寄存器号、寻址方式分别为2位、2位、1位、2位、1位,操作码的位数限定了我们可以进行4种操作,寄存器号设置为2位,共有4个寄存器,包括2个通用寄存器R0、R1,一个PC寄存器和一个PSW寄存器,也因此涉及到的类型很少,我们选取了每类里边最具代表性的指令进行设定,从而简化了我们模型机的设计,以达到整体模拟的功能。 2、当CPU在处理指令时,先分析操作码类型,看其是传送类、双操作数、单操作数还是转移类型,然后进行对应的取指、取源操作数、取目的操作数、执行操作数等,进入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论