组成原理模型机及其指令系统
- 格式:doc
- 大小:37.50 KB
- 文档页数:5
本次课程设计的任务是完成一个基本模型机的设计与实现。
设计经过综合运用了以前所学计算机原理的知识,依照设计要求和指导,实现了一个基本的模型计算机。
本模型机实现的功能有:IN(输入),OUT(输出),ADD(加法),SUB(减法),STA(存数),JMP(跳转)。
设计进行开始,在了解微程序的基本格式, 及各个字段值的作用后, 按微指令格式参照指令流程图,设计出程序以及微程序,将每条微指令代码化,译成二进制代码表,并将二进制代码转换为联机操作时的十六进制格式文件。
根据机器指令系统要求,设计微程序流程图及确定微地址。
设计的加法和减法中, 被加数和被减数都由调试人员输入, 而加数和减数都从存储器中读取. 最后上机调试,各个功能运行结果正确。
关键词:基本模型机;机器指令;微指令目录1、课程设计题目-----------------------------------------------12、实验设备---------------------------------------------------13、课程设计步骤-----------------------------------------------13.1、所设计计算机的功能和用途------------------------------13.2、指令系统----------------------------------------------23.3、总体结构与数据通路------------------------------------23.4、设计指令执行流程--------------------------------------33.5、微指令代码化------------------------------------------43.6、组装和调试----------------------------------------------54、课程设计总结-----------------------------------------------75、附录-----------------------------------------------------------------------------------8附录1:数据通路图----------------------------------------------------------8 附录2:微程序流程图--------------------------------------------------------9 附录3:实验接线图------------------------------------------------------------10 附录4:实验程序及微程序---------------------------------------------------11 附录5:参考文献(资料)-----------------------------------121、课程设计题目基本模型机的设计与实现2、实验设备TDN—CM++计算机组成原理教学实验系统一台,微机,虚拟软件,排线若干。
东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计专业名称计算机科学与技术班级学号学生姓名指导教师设计时间2014.12.22~2015.1.2课程设计任务书专业:计算机科学与技术学号:学生姓名(签名):设计题目:8位模型机设计-指令系统及通用寄存器设计一、设计实验条件综合楼808实验室二、设计任务及要求总的设计目标是:设计一个8 位的模型机,其组成为:总线结构:单总线,数据总线位数8位、地址总线8位;●存储器:内存容量64K*8bit●控制器:用硬联线控制器实现26位微操作控制信号●运算器:单累加器,实现加、减等8种操作外设:●输入:用开关输入二进制量●输出:7段数码管和LED显示指令系统规模:64 条指令,7种类型,5种寻址方式本组任务是:1.设计12、15、22、32号指令;2.模型机的通用寄存器R1设计;3.BCD编码器的设计。
三、设计报告的内容1.设计题目与设计任务(设计任务书)设计内容如下:1、指令系统设计:ADDC A, #II 将立即数II加入累加器A中带进位SUB A, EM 从A中减去存储器EM地址的值AND A, @R? 累加器A“与”间址存储器的值MOV A, #II 将立即数II送到累加器A中2、模型机硬件设计:通用寄存器R13、逻辑电路设计:BCD码编码器2.前言(绪论)(设计的目的、意义等)1.融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的工作原理及相互联系的认识;2.学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;3.培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。
3.设计主体(各部分设计内容、分析、结论等)【系统设计】1、模型机逻辑框图图1 模拟机整体逻辑框图图2 XCV200芯片引脚图3 CPU逻辑框图2、指令系统设计:ADDC A, #II 将立即数II加入累加器A中带进位助记符:ADDC A, #II类型:算数运算指令寻址方式:立即数寻址指令格式:第一字节001011XX第二字节立即数:SUB A, EM 从A中减去存储器EM地址的值助记符:SUB A, EM类型:算数运算指令寻址方式:存储器直接寻址指令格式:第一字节001110XX第二字节存储地址:AND A, @R? 累加器A“与”间址存储器的值助记符:AND A, @R?类型:算数运算指令寻址方式:寄存器间接寻址指令格式:第一字节010101XX:MOV A, #II 将立即数II送到累加器A中助记符:MOV A, #II类型:数据传送指令寻址方式:立即数寻址指令格式:第一字节011111XX第二字节立即数3、微操作控制信号:外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
模型机详细介绍模型机的结构非常复杂,如果对模型机的结果和工作原理不了解的话在做模型机实验时将非常困难,所以在这里对模型机的结构、工作过程和控制器的控制原理等做详细介绍,以让大家更好的进行模型机实验,从而进一步理解计算机组成原理这门课程中的知识。
1. 模型机的结构模型机主要由运算器、控制器、存储器、数据总线、输入输出和时序产生器组成,模型机的结构图如图1所示。
图1 模型机结构图(1)运算器。
运算器又由运算逻辑单元、数据暂存器、通用寄存器组成。
在图1模型机的结构图中,ALU、ALU_G和74299组成运算逻辑单元,其中ALU是由2个4位的74LS181串联成8位的运算器,ALU_G是ALU-G 实现用于控制ALU的运算结果的输出,74299用74LS299实现用于对ALU 的运算结果进行移位运算;数据暂存器在图1中由DR1和DR2组成,DR1和DR2都是用74LS273实现,它们用于存储运算器进行运算的两个操作数;通用寄存器在图1中由R0、R1和R2组成,R0、R1和R2都是用74LS374实现,它们用作目的寄存器和源寄存器。
(2)控制器。
控制器由微程序控制器、指令寄存器、地址寄存器和程序计数器组成。
在图1中微程序控制器表示为MControl,它里面存放了指令系统对应的全部微程序,微程序控制器是由微控制存储器和3个138译码器实现(A138、B138和P138),用于产生控制信号来控制各个组件的工作状态;在图1中指令寄存器表示为IR,指令寄存器由一个74LS273实现,用于存放当前正在执行的指令;在图1中地址寄存器表示为AR,地址寄存器由一个74LS273实现,在读取或者写入存储器时用于指明要读取或写入的地址;程序计数器在图1中由PC_G和PC组成,其中PC是由八位二进制同步计数器实现,用于产生程序指针pc的下一个值,PC_G由PC-G实现,用于存储程序的程序指针pc的值。
(3)存储器。
存储器在图1中表示为MEN,存储器用静态随机存储器6116实现,用来存储用户程序和数据。
《计算机组成原理》课程设计说明书-模型机指令系统的设计与实现题目:模型机指令系统的设计与实现院系:专业班级:学号:学生姓名:指导教师:2010年12月10日安徽理工大学课程设计(论文)任务书学生姓学号专业(班级) 名设计题模型机指令系统的设计与实现目(1)用微程序控制器实现设计任务;设 (2)要满足指令系统的性能要求; 计(3)设计说明书能很好地反映设计内容技术参数参考实验指导书第四章模型机综合实验(微程序控制器)设计的过程,设运用其微指令格式,独立设计指令系统。
并用该指令系统中的指令编计一完成简单运算的程序,并进行调试运行。
要求工作要求设计说明书的字数在3000字以上。
量2010.11.22-11.24 根据设计要求,查找相关资料,完成需求分析; 工2010.11.25-11.28 进行系统的概要设计;作 2010.11.29-12. 01 进行系统的详细设计和微程序的书写; 计2010.12.02-12.05 对系统进行调试分析,写出课程设计报告。
划[1] 白中英.计算机组成原理(第四版).科学出版社.2008 参 [2] DJ-CPTH超强型计算机组成原理与系统结构实验指导书.启东市东考疆计算机有限公司.2008 资料指导教师签字教研室主任签字2010年6月20日指导教师评语:成绩:指导教师:年月日目录1 问题描述 ..................................................................... .. (5)1.1 设计目的 ..................................................................... .. (5)1.2 设计要求 ............................................................................. 5 2 数据格式和指令系统 (6)2.1 数据格式 ..................................................................... .. (6)2.2 指令格式 ..................................................................... .. (6)2.3 指令系统 ..................................................................... ......... 8 3 模型机的数据通路 ......................................................................9 4 详细设计 ..................................................................... ............... 10 5 调试分析 ..................................................................... ............... 12 6 设计体会 ..................................................................... ............... 14 参考文献 ..................................................................... (15)1 问题描述1.1 设计目的本课程设计是《计算机组成原理》课程结束以后开设的大型实践性教学环节。
实验四简单模型机实验1.1实验目的1)将微程序控制器模块通过总线同运算器模块、存储器模块联机,组成一台模型计算机;2)用微程序控制器控制模型机数据通路;3)通过CPU运行5条机器指令组成的简单程序,掌握机器指令与微指令的关系,牢固建立机器的整机概念。
1.2电路图本次实验用到前几次实验所有电路,将几个模块组成一台简单计算机,由微程序控制器控制数据通路,实现cpu从内存取出一条机器指令到执行指令结束的一个指令周期,由微指令组成的序列来完成,一条机器指令对应一个微程序。
图1 电路图1.3 实验原理(1)PC计数器初始值为“0”,微程序默认从00地址开始执行,产生控制信号,使PC的地址通过ABUS将送到存储器(6116)的地址锁存器AR中, PC=PC+1;(2)读出存储器中存放内容,通过DBUS送到IR指令寄存器中,实现指令译码,指令的操作码送至微程序控制器的程序跳转控制部分,在P(1)的控制下与微程序中储存的下一条指令地址进行逻辑运算,产生真正的下一条微程序地址;(3)在微程序的控制下单步执行微指令序列。
1.4 微指令格式表1 微指令格式1.5 微程序流程图:图2 微程序流程图1.6微程序代码表1.7 数据通路总体图图3 数据通路总体图五条机器指令格式(其中,A为内存地址8bit):RAM中装入的程序和数据(其中,地址为8进制):1.8 实验任务及步骤(1)实验连线:本次实验大部分的连线已由教师完成,请同学们对照微指令格式,完成微程序控制器的剩余部分连线。
(2)实验环境初始化:实验平台通电前请关闭DR1(74ls273),DR2(74ls273),存储器(6116)的地址锁存器(74ls273),微程序控制器的地址锁存器(74ls175)的自动清零功能,将几个芯片的-MR引脚置为“1”。
时钟发生器的功能设定为单步执行,具体信号为:STOP=0,STEP=1。
(3)加电运行初始化:①指令寄存器IR自动清零,程序计数器PC手动清零,将两片74ls163的ENT,ENP引脚置“1”,-CR引脚置“0”,打开三态门开关,给单步时钟脉冲;②程序计数器PC设定为单步技术功能,并交由微程序控制,将-CR引脚置“1”,关闭三态门开关;③关闭指令寄存器IR清零功能,交由微程序控制,将-MR设为“1”。
计算机组成原理-简单模型机设计课设一、引言计算机组成原理是计算机科学与技术专业中的重要课程之一,它涉及计算机硬件和软件的基本原理与结构。
本文将基于计算机组成原理的知识,设计一个简单模型机的课设。
在本课设中,我们将探索计算机的基本组成部分,并实现各个部分之间的协同工作。
二、背景知识1. 模型机概述简单模型机是一种基于计算机组成原理的教学模型,它模拟了计算机的基本组成部分,包括中央处理器(CPU)、存储器、输入设备和输出设备等。
通过设计并实现这样一个模型机,可以帮助我们更好地理解计算机的工作原理。
2. 计算机组成原理计算机组成原理研究计算机硬件系统的设计与实现,涉及指令系统设计、存储器系统、总线、输入输出系统以及计算机的组成原理等。
在设计模型机的课设中,我们需要灵活运用这些知识,合理规划各个组成部分的功能和连接方式。
三、设计思路1. 指令系统设计指令系统是计算机的核心,它决定了计算机能够执行的操作。
我们需要设计一个简单的指令系统,包括几个基本指令,例如加法、减法、乘法等。
同时,还需要设计指令的格式和编码方式,确保指令可以被计算机正确解读和执行。
2. 存储器设计存储器是计算机的核心组件之一,用于存储和读取数据和指令。
在模型机的设计中,我们可以选择使用寄存器、随机存储器(RAM)等组件来实现存储器的功能。
同时,我们还需要考虑存储器的容量和访问速度等因素。
3. CPU设计中央处理器是计算机的核心组件,用于执行指令和控制计算机的各个部分。
在模型机的设计中,我们需要设计一个简单的CPU,包括运算单元和控制单元两个部分。
运算单元用于执行指令中的运算操作,而控制单元负责指令的解码和执行控制。
4. 输入输出设备设计输入输出设备用于与计算机进行信息的输入和输出。
在模型机的设计中,我们可以选择键盘、显示屏等常见的输入输出设备。
我们需要设计相应的接口电路,使得计算机能够与这些设备进行数据的交换。
四、设计实现1. 指令系统设计和编码方式根据课设要求和实际需求,我们可以选择基于二进制的指令系统,并设计相应的指令格式和编码方式,确保指令可以被CPU正确解读和执行。
计算机组成原理
模型机及其指令系统
班级:计科13-3
学号:1306010307
姓名:雷涵
成绩:
电子与信息工程学院
计算机科学系
模型机及其指令系统
指令系统是指计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。
不同计算机的指令系统包含的指令种类和数目也不同。
一般均包含算术运算型、逻辑运算型、数据传送型、判定和控制型、移位操作型、位(位串)操作型、输入和输出型等指令。
指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如:操作码字段+地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。
其基本指令如下:
数据传送指令
MOV DST, SRC 为双操作数指令,两个操作数中必须有一个是寄存器.
目的数可以是通用寄存器, 存储单元和段寄存器(但不允许用CS段寄存器).
2.立即数不能直接送段寄存器
不允许在两个存储单元直接传送数据
不允许在两个段寄存器间直接传送信息
PUSH SRC 堆栈操作是以"后进先出"的方式进行数据操作.入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)
和存储器. 入栈时高位字节先入栈,低位字节后入栈.
POP DST 出栈操作数除不允许用立即数和CS段寄存器外, 可以
为通用寄存器,段寄存器和存储器. 执行POP SS指令后,堆栈区在存
储区的位置要改变. 执行POP SP 指令后,栈顶的位置要改变.
XCHG OPR1, OPR2 执行操作: Tmp=OPR1 OPR1=OPR2 OPR2=Tmp 1.
必须有一个操作数是在寄存器中 2.不能与段寄存器交换数据 3.存
储器与存储器之间不能交换数据.
XLAT (OPR 可选) 换码指令: 把一种代码转换为另一种代码. 执行操作: AL=(BX+AL) 指令执行时只使用预先已存入BX中的表格
首地址,执行后,AL中内容则是所要转换的代码.
LEA REG, SRC 指令把源操作数SRC的有效地址送到指定的寄存
器中. 执行操作: REG = EAsrc 注: SRC只能是各种寻址方式的存
储器操作数,REG只能是16位寄存器 MOV BX , OFFSET OPER_ONE 等
价于 LEA BX , OPER_ONE MOV SP , [BX] //将BX间接寻址的相继的
二个存储单元的内容送入SP中 LEA SP , [BX] //将BX的内容作为
存储器有效地址送入SP中
LDS REG , SRC //常指定SI寄存器。
执行操作: REG=(SRC), DS=(SRC+2) //将SRC指出的前二个存储单元的内容送入指令中指定
的寄存器中,后二个存储单元送入DS段寄存器中。
LES REG, SRC //常指定DI寄存器执行操作: REG=(SRC) , ES=(SRC+2) //与LDS
大致相同,不同之处是将ES代替DS而已.
LAHF LAHF ( Load AH with Flags ) 标志位送AH指令 //将
PSW寄存器中的低8位的状态标志(条件码)送入AH的相应位, SF送
D7位, ZF送D6位...... 执行操作: AH=PSW的低位字节。
SAHF SAHF ( Store AH into Flags ) AH送标志寄存器指令 //将AH寄
存器的相应位送到PSW寄存器的低8位的相应位, AH的D7位送SF, D6
位送ZF...... 执行操作: PSW的低位字节=AH。
PUSHF PUSHF ( PUSH the Flags) 标志进栈指令 //将标志寄存器的值压入堆栈顶部, 同时栈指针SP值减2 执行操作: SP=SP-1,(SP)=PSW的高8位, SP=SP-1, (SP)=PSW的低8位
POPF POPF ( POP the Flags ) 标志出栈指令 //与PUSHF相反, 从堆栈的顶部弹出两个字节送到PSW寄存器中, 同时堆栈指针
值加2 执行操作: PSW低8位=(SP), SP=SP+1, PSW高8位=(SP) , SP=SP+1
IN 输入输出指令(IN,OUT) 只限于使用累加器AX或AL与外部
设备的端口传送信息. (INput)输入指令:信息从I/O通过累加器
传送到CPU IN AL , PORT //直接的字节输入,PORT是外设端口编号(即端口地址),只能取 00H ~ 0FFH共256个端口地址. IN AX , PORT //直接的字输入,AX存储连续两个端口地址PORT+1,PORT IN AL , DX //间接的字节输入,端口地址范围可通过DX设置为0000H ~ 0FFFFH
共65536个端口地址 IN AX , DX //间接的字输入
OUT ( OUTput)输出指令:信息从CPU通过累加器传送到I/O OUT PORT , AL //直接的字节输出,PORT规定与IN指令相同. OUT PORT , AX OUT DX , AL //间接的字节输出 OUT DX , AX MOV AL,05H
OUT 27H, AL //将字节05H传送到地址
经过一系列硬件课程的学习及相关实验之后,做一个综合的系统性设计,这在硬件方面是一个提高,可进一步培养实践能力。
一条指令的执行过程按时间顺序可分为以下几个步骤。
① CPU发出指令地址。
将指令指针寄存器(IP)的内容——指令地址,经地址总线送入存储器的地址寄存器中。
② 从地址寄存器中读取指令。
将读出的指令暂存于存储器的数据寄存器中。
③ 将指令送往指令寄存器。
将指令从数据寄存器中取出,经数据总线送入控制器的指令寄存器中。
④ 指令译码。
指令寄存器中的操作码部分送指令译码器,经译码器分析产生相应的操作控制信号,送往各个执行部件。
⑤ 按指令操作码执行。
⑥ 修改程序计数器的值,形成下一条要取指令的地址。
若执行的是非转移指令,即顺序执行,则指令指针寄存器的内容加1,形成下一条要取指令的地址。
指令指针寄存器也称为程序计数器。