组成原理课程设计
- 格式:doc
- 大小:1.29 MB
- 文档页数:35
课程设计课程名称:计算机组成原理设计题目:一个非常简单的CPU的设计学院:信息工程与自动化专业:计算机科学与技术年级: 08级 1班学生姓名:张桥指导教师:李凌宇日期: 2010-9-9教务处制课程设计任务书信息工程与自动化学院计算机专业 08 1 年级学生姓名:张桥课程设计题目:一个简单的CPU的设计课程设计主要内容:设计一台完整的计算机。
首先要确定该计算机的功能和用途。
在设计中根据功能和用途确定指令系统,定义数据通路,设计每条指令的执行流程,要求利用微程序进行设计,每人至少要求4条CPU指令,可以自己选择;在设计中要求画出指令系统的格式并说明各位的意义;要求画出数据通路并定义微操作信号;要求画出微程序流程图。
设计指导教师(签字):教学基层组织负责人(签字):年月日一台模型计算机的设计一、教学目的、任务与实验设备融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间—空间”概念的理解,从而清晰地建立计算机的整机概念。
二、数据格式和指令系统本模型机是一个8位定点二进制计算机,具有四个通用寄存器:R 0~R 3,能执行11条指令,主存容量为256KB 。
1. 数据格式数据按规定采用定点补码表示法,字长为8位,其中最高位(第7位)为符号位,小数点位置定在符号位后面,其格式如下:数值相对于十进制数的表示范围为:-1≤X ≤1―2―72. 指令格式及功能由于本模型机机器字只有8位二进制长度,故使用单字长指令和双字长指令。
⑴ LDR Ri ,D格式 7 4 3 2 1 0功能:Ri ←M (D )(2) STR Ri ,D格式功能:M (D )←(Ri )(3) ADD Ri ,Rj格式 功能:Ri ←(Ri )+ (Rj )(4) SUB Ri ,Rj格式 7 4 3 2 1 0功能:Ri ←(Ri )- (Rj )(5) AND Ri ,Rj格式功能:Ri ←(Ri)∧(Rj)(6)OR Ri,Rj格式功能:Ri ←(Ri)∨(Rj)(7)MUL Ri,Rj格式7 4 3 2 1 0功能:Ri ←(Ri)×(Rj)(8)转移指令格式7 4 3 2 1 0功能:条件码00 无条件转移PC ←D01 有进位转移PC ←D10结果为0转移PC ←D11结果为负转移PC ←D⑼IN R i,M j格式其中M j为设备地址,可以指定四种外围设备,当M j=01时,选中实验箱的二进制代码开关。
课程设计报告课程设计名称:计算机组成原理系:学生姓名:班级:学号:成绩:指导教师:开课时间:2011-2012学年2 学期一、设计题目计算机组成原理课程设计——简单模型机的微程序设计二、主要内容通过课程设计更清楚地理解下列基本概念:1.计算机的硬件基本组成;2.计算机中机器指令的设计;3.计算机中机器指令的执行过程;4.微程序控制器的工作原理。
5.微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计三.具体要求1.通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。
必须充分理解并正确解释下些问题:(1)微程序中的微指令的各个字段的作用。
哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。
(2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。
什么情况下,次地址字段才是将要执行的微指令的地址。
(3)在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解决与其它指令的微指令的微地址冲突。
(4)哪些微指令是执行所有指令都要用到的。
(5)解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?(6)为什么读写一次内存总要用两条微指令完成?(7)机器程序中用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?2.在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。
新增加的机器指令的功能是:求反指令NOT RS,RD :/(RS) →(RD)与指令AND RD,(addr):(RD)与(addr)→(RD)异或指令XOR RD,(addr):(addr)异或(RD)→(RD)或指令OR RD,(addr):(RD)或(addr)→(RD)减法指令SUB RD,RS :(RS)减(RD)→(RD)其中的RS、RD可以是R0、R1、R2中的任何一个。
沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:84010103学号:2008040101061姓名:李雪城指导教师:周大海完成日期:2011年01月14日沈阳航空航天大学课程设计报告目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3设计环境 (1)第2章详细设计方案 (3)2.1总体方案的设计与实现 (3)2.1.1总体方案的逻辑图 (4)2.1.2算法流程图 (5)2.2功能模块的设计与实现 (6)2.2.1 数据输入模块的设计与实现 (6)2.2.2 乘数末位判断模块的设计与实现 (6)2.2.3 移位模块的设计与实现 (7)2.2.4 乘积结果显示的设计与实现 (8)第3章程序调试与结果测试 (9)3.1程序调试 (9)3.2结果测试 (9)参考文献 (11)附录 (12)第1章总体设计方案1.1 设计原理原码一位乘,即两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。
在计算时,用乘数寄存器的最低位来控制部分积是否与被乘数相加,然后右移部分积和乘数,同时乘数寄存器接收部分积右移出来的一位,完成运算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。
1.2 设计思路被乘数与乘数都是4位,所以相乘的结果是8位。
每个寄存器的范围是8位,所以乘积的结果用一个寄存器来存储表示。
实验开始时将实验数据从实验箱的开关输入到R0、R1、R2三个寄存器中,部分积存放在R0,4位被乘数放在R1,4位乘数放在R2。
运算过程采用原码一位乘。
在计算时,首先判断乘数末位上的值是1还是0,决定部分积是否与被乘数相加,然后判断部分积的末位,因为右移时部分积的末位会溢出,乘数右移时要接收由部分积溢出来的数,所以根据判断来决定乘数右移后的高位是1还是0。
计算机组成原理课程设计实验报告目录一、程序设计 (1)1、程序设计目的 (1)2、程序设计基本原理 (1)二、课程设计任务及分析 (6)三、设计原理 (7)1、机器指令 (7)2、微程序流程图 (9)3、微指令代码 (10)4、课程设计实现步骤 (11)四、实验设计结果与分析 (15)五、实验设计小结 (15)六、参考文献 (15)一、程序设计1、程序设计目的(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
(2使用简单模型机和复杂模型机的部分机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
(3)掌握微程序控制器的组成原理。
(4)掌握微程序的编写、写入,观察微程序的运行。
(5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。
2、程序设计基本原理(1)实验模型机结构[1] 运算器单元(ALU UINT)运算器单元由以下部分构成:两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。
ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。
ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。
[2] 寄存器堆单元(REG UNIT)该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。
三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。
[3] 指令寄存器单元(INS UNIT)指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。
[4] 时序电路单元(STATE UNIT)用于输出连续或单个方波信号,来控制机器的运行。
目录摘要 (2)前言 (3)正文 (4)一、设计目的和设计原理 (4)1.1设计目的 (4)1.2设计原理 (4)二、总体设计 (7)三、详细设计 (8)3.1运算器的物理结构 (8)3.2存储器系统的组成与说明 (11)3.3指令系统的设计与指令分析 (12)3.4微程序控制器的逻辑结构及功能 (14)3.5微程序的设计与实现 (18)四、系统调试 (27)总结 (29)参考文献 (30)致谢 (31)摘要根据设计任务书要求,本设计要实现完成一个简单计算机的设计,主要设计部分有运算器,存储器,控制器以及微指令的设计。
其中运算器由运算芯片和寄存器来完成,存储器由总线和寄存器构成,使用硬布线的方式实现控制器,从而完成设计要求。
:关键词:基本模型机的设计;运算器;存储器;控制器;前言计算机组成原理是计算机科学技术学科的一门核心专业基础课程。
从课程的地位来说,它在先导课程和后续课程之间起着承上启下的作用。
计算机组成原理讲授单处理机系统的组成和工作原理,课程教学具有知识面广,内容多,难度大,更新快等特点。
此次课程设计目的就是为了加深对计算机的时间和空间概念的理解, 增强对计算机硬件和计算机指令系统的更进一步了解。
计算机组成原理课程设计目的是为加深对计算机工作原理的理解以及计算机软硬件之间的交互关系。
不仅能加深对计算机的时间和空间的关系的理解,更能增加如何实现计算机软件对硬件操作,让计算机有条不紊的工作。
正文一、设计目的和设计原理1.1设计目的融会贯通计算机组成原理课程中各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对硬连线控制器的认识,建立清晰的整机概念。
对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。
计算机组成原理课程设计一~复杂模型机的设计与实现课程设计2011 年 12 月设计题目 学生姓名学 号 专业班级 指导教师复杂模型机的设计与实现范加林20092697计算机科学与技术09-2郭骏一、课程设计目的与要求设计目的:本课程设计是《计算机组成原理》课程之后开设的实践环节课程。
通过本课程设计,使学生进一步加深对计算机原理系列课程相关内容的理解,掌握CPU设计的基本方法和计算机系统的组成原理,进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风、良好的工程素质及团队协作精神,为今后的工作打下基础。
设计要求:基于计算机组成原理教学实验系统设计并实现一个具有16条机器指令、采用微程序控制器的8位计算机。
并根据设计课题要求,给出模型机的设计方案(包括指令系统和硬件结构)。
画岀所设计计算机的硬件连接图,针对所设计的指令系统编写出相应的微程序。
对所设计的计算机进行安装与调试。
编写测试程序, 对系统进行验证。
编写课程设计报告。
二、指令格式和指令系统(-)指令格式K数据格式模型机规定采用定点补码表示数据,且字长为8位,其格式如下:7 6 5 4 3 2 1 0符号尾数其中第7位为符号位, 数值表7K范是:W X<lo2、指令格式模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
(1)算术逻辑指令设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 4 3 2 1 0OP-CODE Rs Rd其中,OPCODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:Rs 或Rd选定的寄存器00R001R110R211R39条算术逻辑指令的名称、功能和具体格式见7-12-1o⑵访问指令及转移指令模型机设计2条访问指令,即存数(STA)、取数(LDA) , 2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:其中“00 M”为源码段,2OP-CODE为目的码段(LDA、STA指令使用)。
计算机组成原理课程设计报告书计算机组成原理课程设计报告书目录一.实验计算机设计11.整机逻辑框图设计12.指令系统的设计23.微操作控制部件的设计54.设计组装实验计算机接线表135.编写调试程序14二.实验计算机的组装14三.实验计算机的调试151.调试前准备152.程序调试过程163.程序调试结果164.出错和故障分析16四.心得体会17五.参考文献17题目研制一台多累加器的计算机一实验计算机设计1.整机逻辑框图设计此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。
1.运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器R0,R1,R2等组成。
2.控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。
3.存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。
4输入设备是由置数开关SW控制完成的。
5.输出设备有两位LED数码管和W/R控制完成的LR0LR1LR2寄存器AxBxCxR0-GR1-GR2-G数据总线(D_BUS)ALU-GALUMCNS3S2S1S0暂存器LT1暂存器LT2LDR1LDR2移位寄存器MS1S0G-299输入设备DIJ-G微控器脉冲源及时序指令寄存器LDIR图中所有控制信号LPCPC-G程序计数器LOADLAR地址寄存器存储器6116CEWE输出设备D-GW/RCPU图1整机的逻辑框图图1-1中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。
微控器部分控存由U13--U15三片2816构成。
除此之外,CPU的其他部分都由EP1K10集成。
存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。
输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。
《计算机组成原理》课程设计大纲课程名称:计算机组成原理课程设计实验学时:1周/人课程编号:学分:1课程总学时:30 实验周学时:2课程总学分:1适用专业及年级:计算机科学与技术二年级课程负责人:大纲主撰人:XXX编写日期:2003年12月一、实验教学目标与基本要求通过该课程设计的学习,利用先进的EDA设计手段,总结计算机组成原理课程的学习内容,学会QuartusII的使用、层次化设计方法、多路开关,逻辑运算部件,移位器设计、微程序控制的运算器设计、微程序控制的存储器设计、简单计算机的设计,从而巩固课堂知识、深化学习内容、完成教学大纲要求,学好计算机科学与技术专业的专业基础课。
每个同学必须将自己做的内容以PPT的方式进行讲解,同时提交一份纸质的实验报告和电子文档。
二、实验课程内容和学时分配业、科研、生产、其他。
三、考核办法1. 同学们在实验前应该认真准备实验,根据实验讲义和课堂上学到的知识写出实验报告,带到实验现场。
2.QuartusII的使用在本次实验中,学会QuartusII软件的使用,然后利用此系统完成:〈1〉一位全加器设计〈2〉并行八位寄存器设计下载到实验箱上,在实验箱上验证。
评分细则:参加实验: 0.2分完成实验报告: 0.2分完成一位全加器设计: 0.3分完成八位并行寄存器设计:0.3分3.层次化设计方法在本次实验中,学会层次化设计方法,利用该方法完成:〈1〉同步二进制计数器〈2〉多位二进制加法器下载到实验箱上,在实验箱上验证评分细则:参加实验: 0.2分完成实验报告: 0.2分完成同步二进制计数器 0.3分完成多位二进制加法器 0.3分4.复杂模型机设计利用TD-CMA平台,设计一套完整的指令系统,并下载到实验平台进行验证。
评分细则:参加实验: 0.3分完成实验报告: 0.3分完成所要求的复杂模型机设计 0.45分正确进行操作并回答问题 0.45分5.微程序控制器设计设计一个微程序控制器,并能在TD-CMA平台上进行验证。
计算机组成原理实验报告班级:1403011学号:140301124姓名:于梦鸽地点:EII-312时间:第3批计算机组成原理与体系结构课程设计基本模型机设计与实现一.实验目的1.深入理解基本模型计算机的功能、组成知识; 2.深入学习计算机各类典型指令的执行流程;3.学习微程序控制器的设计过程和相关技术,掌握LPM_ROM 的配置方法。
4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。
5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。
掌握微程序的设计方法,学会编写二进制微指令代码表。
6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。
二.实验原理1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。
实验中,计算机数据通路的控制将由微过程控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
2.指令格式(1)指令格式采用寄存器直接寻址方式,其格式如下:其中IN 为单字长(8位二进制),其余为双字长指令,XX H 为addr 对应的十六进制地址码。
为了向RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
1,存储器读操作(KRD ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“0 0”时,可对RAM 连续手动读入操作。
2,存储器写操作(KWE ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“0 1”时,可对RAM 连续手动写操作。
3、启动程序(RP ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。
16位全加器电路的设计与实现学生姓名:杨传福指导老师:王新摘要本课程设计主要利用门电路完成一个16位的全加器电路的设计与实现。
本设计采用逐步求解的方法,即先设计一位全加器,再利用一位全加器设计出四位全加器,最后在四位全加器的基础上设计出16位全加器,并使用VHDL语言编写程序,在MAX-PLUSⅡ仿真平台上进行仿真。
仿真结果表明,本课程设计中设计出的16位全加器能正确完成16位二进制数的加法运算。
关键词全加器;门电路;先行进位Abstract:This curriculum design primarily use the gate circuit to complete a 16-bit full-adder circuit.The design solve this problem with step-by-step approach, namely start designing one full-adder, and then use one full-adder design a four full-adder , the last design the 16-bit full-adder based on the four full-adder,and use VHDL language programming, at MAX-PLUS Ⅱsimulation on simulation platform. The simulation results show that the design of the curriculum design of the 16-bit full-adder to add a 16-bit binary number addition operations.Keywords:Full-adder; Gate circuit; First binary1引言1.1课程设计的背景随着计算机科学技术的发展,人们获得信息的途径更加多样,获取信息的速度更加快捷。
附件1: 学 号:课 程 设 计2011 年 6 月 28 日题 目 带进位运算指令的实现 学 院 计算机科学与技术 专 业 计算机科学与技术班 级 姓 名 指导教师课程设计任务书学生姓名:专业班级:计指导教师:工作单位:计算机科学与技术学院题目: 基本模型机的设计——带进位运算指令的实现初始条件:理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。
实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。
2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。
3、课程设计的书写报告应包括:(1)课程设计的题目。
(2)设计的目的及设计原理。
(3)根据设计要求给出模型机的逻辑框图。
(4)设计指令系统,并分析指令格式。
(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。
(6)模型机当中时序的设计安排。
(7)设计指令执行流程。
(8)给出编制的源程序,写出程序的指令代码及微程序。
(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中带进位运算指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。
(10)课程设计总结(设计的特点、不足、收获与体会)。
时间安排:周一:熟悉相关资料。
周二:系统分析,设计程序。
周三、四:编程并上实验平台调试周五:撰写课程设计报告。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录课程设计任务书 (1)1设计的目的及设计原理 (3)1.1实验目的: (3)1.2设计原理: (3)2.模型机的逻辑框图 (4)3.计指令系统,并分析指令格式 (5)3.1指令类型 (5)3.1.1 算术/逻辑运算类指令 (5)3.1.2 移位操作类指令 (5)3.1.3 数据传送指令 (6)3.1.4 程序跳转指令 (6)3.1.5存储器操作类指令 (6)3.2.操作数寻址方式及编码 (6)3.2.1直接地址寻址 (6)3.2.2寄存器直接寻址 (7)3.2.3寄存器间接寻址 (7)3.2.4立即数寻址 (7)3.3指令格式分析 (8)4.设计微程序及其实现方法 (8)5.模型机当中的时序设计安排 (11)6.设计指令执行流程 (12)7.给出编制的源程序,写出程序的指令代码及微程序 (14)7.1程序思想 (14)7.2源程序 (14)7.3应微程序如下: (15)7.4程序的指令序列 (15)7.5程序的微指令序列 (17)8.微指令 (18)9.结构及时序图 (20)9.1时序图 (20)9.2简化结构图 (26)9.3累加器A和有关寄存器,存储器的数据变化及数据流程 (29)10.课程设计总结 (32)10.1设计特点 (32)10.2设计不足 (33)10.3设计收获与体会 (33)本科生课程设计成绩评定表 (34)1设计的目的及设计原理1.1实验目的:(1)掌握各个单元模块的工作原理,进一步将其组成完整的系统,构造成一台基本模型计算机。
(2)在本试验中,将规划读、写内存,寄存器,数值计算等功能,并且编写相应的微程序。
具体上机调试各个模块以便进一步掌握整机的概念。
对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
(3)通过使用软件HKCPT,了解程序编译,加载的过程。
同时,培养动手能力,独立解决问题的能力。
(4)通过微单步,单拍调试,理解模型机中的数据流向。
1.2设计原理:1.2.1在各个模块试验中,各模块的控制信号都是有试验者手动模拟产生的。
而在真正的实验系统中,模型机的运行是在微程序的控制下进行的,可实现特定指令的功能。
在本实验平台中,模型机从内存中取出,解释,执行及其指令都将由微指令和与之相配合的时序来完成,即一条机器指令对应1个微程序。
2.模型机的逻辑框图根据设计要求,对实验仪硬件资源进行逻辑组合,便可设计出该模型机的逻辑框图。
简单的模型计算机由算术逻辑运算单元,微程序单元,堆栈寄存器单元,累加器,启停单元,时序单元,总线和存储器单元组成.在模型机中,将实现RAM的读/写指令,寄存器的读/写指令,跳转指令,ALU的加,减,与,或指令。
把通用寄存器作为累加器A,进行左,右移等指令,整体构成一个单累加器多寄存器的系统。
算术逻辑运算单元由两个数据锁存器(DR1,DR2),ALU,1个数据缓冲器224组成。
EDR1为0且DR1CK有上升沿时把数据DATA BUS上的数据打入DR1,EDR2为0且DR2CK有上升沿时把DATA BUS上的数据打入DR2,S0,S1,S2,S3,CN,M控制工作方式,ALU-O为0时224把ALU 的运算结果输出到数据总线。
微程序控制单元由位地址寄存器,微程序寄存器(6264*3),微指令锁存器组成。
MLD为1且MCK有上升沿时位地址寄存器自动加1,MLD为0且MCK上有上升沿时把微地址打入位地址寄存器。
指令部件模块由一个指令寄存器IR1,1个地址锁存器IR2,PC计数器,2个输出锁存器224组成。
EIR1为0且IRCK有上升沿时把DATA BUS上的数据打入IR1,EIR2为0且IR2CK 有上升沿时把DATA BUS上的数据打入IR2,ELP为0且PCCK有上升沿时可重新置PC值,ELP为1,PC-O为0且有上升沿时PC加1,PC-O为0,IR2-0为1时把PC值输出到ADDRESS BUS,PC-O为1,IR2-O为0时把IR2的值输出到ADDRESS BUS。
存储器由1片静态RAM(6264)及控制电路构成。
RM,BUS为0,WM为1时容许存储器读出,RM,BUS为1,WM为0时容许存储器写入,EMCK时存储器的写入或读出信号。
寄存器组由累加器A和堆栈寄存器(R0,R1,R2,R3)组成。
X0,X1控制A的工作模式,ERA 为0时选通A,RACK是A的工作脉冲,SA,SB选通一个寄存器(R0,R1,R2,R3),RR为0容许寄存器读出,WR为0容许数据写入。
3.计指令系统,并分析指令格式本实验平台采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑其指令,以及寻址方式和编码方式的问题3.1指令类型3.1.1 算术/逻辑运算类指令如:加法,减法,取反,逻辑运算(ADD A ,Ri, SUB A ,Ri)3.1.2 移位操作类指令如:带进位或不带进位的移位指令:(RCC A,RR A)3.1.3 数据传送指令如:CPU内部寄存器之间数据传递:MOV A,RiMOV Ri,A3.1.4 程序跳转指令跳转指令分为无条件跳转指令和有条件跳转指令。
可根据寄存器内容为零来标志(ZD),有无进位来标志(CY),也可根据用户自定义标志。
JMP addr 无条件跳转JZ addr ZD=0时跳转JC addr CY=0时跳转JN addr 自定义3.1.5存储器操作类指令存储器读/写指令。
把内存某单元内容写入寄存器中或把寄存器中的内容写入存储器。
如:LDA addr (addr)->ASTA addr (A)->addr3.2.操作数寻址方式及编码3.2.1直接地址寻址例如,双字节指令:LDA addr (addr)->ASTA addr (A)->addr第1字节(操作码)第2字节(操作数地址)I 7I6I5I4I3I2I1IA7A6A5A4A3A2A1A3.2.2寄存器直接寻址指令字节中含有寄存器选择码,决定选哪个寄存器进行操作。
例如,单字节指令: MOV A ,Ri单字节(操作码与RI 选择码)例如,双字节指令:MOV Ri , #data第1字节(操作码及RI 选择码) 第2字节(DATA )3.2.3寄存器间接寻址例如,单字节指令:MOV A ,@Ri (Ri)->ARI 选择码3.2.4立即数寻址例如,MOV A ,#data data->AMOV Ri , #data data->Ri第1字节(操作码及RI 选择码) 第2字节(DATA )I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 03.3指令格式分析Intel 8086/8088指令字较短,所以指令采用变长指令字结构。
指令格式包括单指令、双字长指令、三字长指令等多种。
指令长度为1~6字节不等,既有8位、16位、24位、32位、40位和48位6种,其中第一个字节为操作码;第2个字节指出寻址方式;第3个至第6个字节则给出操作数地址等。
基本指令格式如下:4.设计微程序及其实现方法在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多有24个微操作控制信号,可由微代码直接实现。
如果采用多组编码译码,那么24位微代码通过二进制译码可实现个互斥的微操作控制信号。
由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。
在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0~MD7,这种方法称为“按操作码散转”.如下表所示。
OPCODE单字长指令OPCODE A双字长指令 OPCODE A1 A2三字长指令每条指令不超过4条的微程序指令,那么可根据下表组成每条微程序的首地址微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。
微地址寄存器由2片74LS161组成,在模型机停止状态下,微地址被清零。
当实验平台开始运行时,微地址从00H开始运行。
且00H放置一条取指指令,根据程序开始地址从内存中读出第一条指令。
CM中的存储情况如下表所示:表格中的位数对应的关系如下:23 22 21 20 19 18 17 16 15 14 13 12 11 10 MLD WM RM EIR1 EIR2 IR2-O PC-O ELP RR WR HALT X0 X1 ERA9 8 7 6 5 4 3 2 1 0 RA-O EDR1 EDR2 ALU-O DN M S3 S2 S1 S0指令助记符微地址有效值23 2221 20 19 1817 16 15 1 13 12 11 10 9 8 7 6 5 4 3 2 1 00 0 0 0 0 0 0 0 0 0 0 * *0 0 0 0 0 * * * * * *取址微指令00H 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 01H02HADD A,Ri 03H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 04H 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 05H 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 06H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1SUB A,Ri 07H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 0 08H 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 09H 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 0AH 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1MOV A,@Ri 0BH 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0CH 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0DH 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0EHMOV A,Ri 0FH 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 10H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11H12HMOV Ri,A 13H 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 14H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15H16HMOV A,#data 17H 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 18H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19H1AHMOV Ri,#data 1BH 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1CH 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1DH1EHLDA addr 1FH 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 20H 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 21H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 22HSTA addr 23H 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 24H 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 25H 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 26HRRC 27H 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 28H 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 029H 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 02AHRLC 2BH 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 2CH 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12DH2EHJZ addr 2FH 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 JC addr 30H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1JMP addr 31H 32HORL A, #data 33H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 34H 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 35H 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 36H 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ANL A,#data 37H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 38H 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 39H 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 3AH 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3BH3CH3DH3EHHALT 3FH 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 5.模型机当中的时序设计安排由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。