基本模型机的设计-加减法指令的实现

合集下载

带进位运算指令的实现

带进位运算指令的实现

带进位运算指令的实现1 实验题目基本模型机的设计--------带进位运算指令的实现2 实验目的及原理2.1 实验目的通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。

熟悉HKCPT操作平台,并通过使用软件HKCPT,了解程序编译、加载的过程。

同时,培养动手能力,独立解决问题的能力。

2.2 实验原理在各个模块试验中,各模块的控制信号都由试验者手动模拟产生。

而在真正的试验系统中,模型机的运行是在微程序的控制下进行的,可以实现特定指令的功能。

在本试验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即一条机器指令对应一个微程序。

3 模型机的逻辑框图下图中包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。

这些部件的动作控制信号都有微控器根据微指令产生。

需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。

4设计指令系统,并分析指令格式由于实验平台内采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑有哪几种类型的指令,哪几种寻址方式和编码方式。

4.1指令类型①算术/逻辑运算类指令:例如,加法、减法、取反、逻辑运算:ADD A, Ri , SUB A, Ri②移位操作类指令:例如,带进位或不带进位的移位指令:RRC A, RR A③数据传输类指令:例如,CPU内部寄存器之间数据传递:MOV A, Ri , MOV Ri,A④程序跳转指令:跳转指令分为无条件跳转和有条件跳转指令。

JMP addrJZ addr⑤存储器操作类指令:存储器读/写指令。

例如,LDA addr4.2指令格式分析Intel 8086/8088指令字较短,所以指令采用变长指令字结构。

指令格式包括单指令、双字长指令、三字长指令等多种。

课设必备之计算机组成原理课程设计--加减法指令的实现讲解

课设必备之计算机组成原理课程设计--加减法指令的实现讲解

学号:0121010340301课程设计题目模型机的总体设计学院计算机科学与技术专业计算机科学与技术班级计算机1003姓名王俊哲指导教师许毅2011 年12 月30 日课程设计任务书学生姓名:王俊哲 _ 专业班级:计算机指导教师:许毅 __ 工作单位:计算机科学与技术学院题目: 基本模型机的设计——加减法指令的实现初始条件:理论:学完“电工电子学”、“数字逻辑”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。

实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。

2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。

3、课程设计的书写报告应包括:(1)课程设计的题目。

(2)设计的目的及设计原理。

(3)根据设计要求给出模型机的逻辑框图。

(4)设计指令系统,并分析指令格式。

(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。

(6)模型机当中时序的设计安排。

(7)设计指令执行流程。

(8)给出编制的源程序,写出程序的指令代码及微程序。

(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中加减法指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。

(10)课程设计总结(设计的特点、不足、收获与体会)。

时间安排:周一:熟悉相关资料。

周二:系统分析,设计程序。

周三、四:编程并上实验平台调试周五:撰写课程设计报告。

指导教师签名:年月日系主任(或责任教师)签名:年月日基本模型机的设计—加减法指令的实现1.设计目的本次课程设计主要是完成简单的加减法指令的实现,通过使用软件HKCPT,了解程序编译、加载的过程。

实验四加减乘除等算术运算指令

实验四加减乘除等算术运算指令

实验四加减乘除算术运算类指令一.实验目的1.学习掌握加减乘除等算术运算类指令的功能2.学习掌握加减乘除指令对FLAG的影响二。

实验工具软件MS-DOS DEBUG PC机三.实验过程及调试结果1.加法指令(1)实现无符号数相加例如 25+36结果:-r(AL)=3D CF=0 ZF=0 OF=0结果解释:(AL)=3D,该无符号数对应的真值是61。

由CF标志位0标明无符号数没有进位(超出目的操作数表示范围),“和”结果可用。

人工验算真值“和”结果:正确的。

没有发生溢出。

SP和CP无意义。

(2)实现有符号数相加例如(-25)+(-46)结果:-r(Al)=B9H=(-71)补 OF=0 SF=1 ZF=0结果解释:结果解释:(AL)=(A1)=B9H,对应的真值是-71,OF=0,表明结果没有出错,SF=1,表明运算结果为负数。

人工验算真值“和”结果:正确的,没有发生溢出。

2.减法指令(1)实现无符号数减。

例如 36-15观察 al,OF,CF,ZF,SF结果解释:(AL)=15,对应的真值是21,CF=0,表明结果是正确的,没有溢出。

人工验算和计算机结果解释比较,结论是结果是正确的,没有溢出。

(2)实现有符号数(-25(e7)补)-(-46(d2)补)观察 al,OF,CF,ZF,SF,分析结果是否正确,并加以算术验证结果解释:(AL)=FF15,对应的真值是21,OF=1,表明结果是正确的,没有溢出,SF=0,表明结果是正的。

NZ表明结果非零。

3。

乘法指令(1)实现无符号数。

例如 36*15结果:(AX)=021CH=540 CF=1 OF=1结果解释:(AX)=021C,对应的真值是540,CF=1,OF=1,表明结果是?乘积超过了八位,需要从16为寄存器Of=0,cf=0,乘积没有超过八位若用16位寄存器计算,0f。

cf=1,则乘积超过了十六位,需要32为寄存器(2)实现有符号数(-25)*(-6)结果:(AX)=0096H=(+150)补 CF=OF=1结果解释:(AX)=0096,对应的真值150,是CF=0,OF=0,表明结果是乘积是8位8位乘法,CF=1,OF=1,乘积超出了8位,需要从16位寄存器中获取完整的乘积。

加减法运算器的设计与实现

加减法运算器的设计与实现

加减法运算器的设计与实现计算机组成原理实验实验二加减法运算器的设计与实现专业班级:计算机科学与技术学号:0936008 姓名:冯帆学号:0936036 姓名:张琪实验地点:理工楼901实验二加减法运算器的设计与实现一、实验目的1、掌握加减法运算器的原理图设计方法2、掌握加减法运算器的V erilog HDL语言描述方法3、理解超前进位算法的基本原理4、掌握基于模块的多位加减运算器的层次化设计方法5、掌握溢出检测方法和标志线的生成技术6、掌握加减运算器的宏模块设计方法二、实验内容1、完成一个4位行波进位的加减法运算器,要求有溢出和进位标志(参阅P75-82 ,P86),并封装成模块。

2、修改上述加减运算器改为超前进位加法运算器,并封装成模块。

(参阅P72-75)3、在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个16位行波进位的加法运算器。

//组内超前进位,组间行波进位4、用宏模块的方法实现一个8位加减运算器。

三、实验仪器及设备:PC机+ QuartusⅡ9.0 + DE2-70四、实验步骤1、新建工程。

2、新建verilog文件。

3、分析寄存器程序代码并编译。

附代码如下:/*四位行波进位加减法器*/`define WEISHU 4module hbjw(a,b,cin,sub,cout,s,overflow); input [`WEISHU-1:0]a;input [`WEISHU-1:0]b;input cin;input sub;output cout;output [`WEISHU:0]s;output overflow;wire w_0;wire w_1;wire w_2;wire w_3;wire [`WEISHU:0]w;assign w=sub?(~b+1'b1):b;assign {w_0,s[0]}=a[0]+w[0]+cin;assign {w_1,s[1]}=a[1]+w[1]+w_0;assign {w_2,s[2]}=a[2]+w[2]+w_1;assign {w_3,s[3]}=a[3]+w[3]+w_2;assign {cout,s[4]}=a[3]+w[4]+w_3;assign overflow=s[4]^s[3];endmodule/*超前进位加减法运算器*/module lab2_LookaheadCarry // 4位超前进位无符号(input [3:0] a,input [3:0] b,input c0, //carry_ininput clk,input cclr,output reg carry_out,output reg [3:0]sum);//内部变量wire c1,c2,c3,c4;wire p0,p1,p2,p3; //进位产生信号wire g0,g1,g2,g3; //进位传递信号wire sum0,sum1,sum2,sum3;assign g0=a[0]&b[0];assign g1=a[1]&b[1];assign g2=a[2]&b[0];assign g3=a[3]&b[0];assign p0=a[0]^b[0];assign p1=a[1]^b[1];assign p2=a[2]^b[2];assign p3=a[3]^b[3];assign c1=g0|c0&p0assign c2=g1|(g0&p1)|(c0&p0&p1);// g1 + p1g0 + p1p0c0 assign c3=g2|(g1&p2)|(g0&p1&p2)|(c0&p0&p1&p2);//g2 + p2g1 + p2p1g0 + p2p1p0c0 assign c4=g3|(g2&p3)|(g1&p2&p3)|(g0&p0&p1&p2)|(c0&p0&p1&p2 &p3);//g3 + p3g2 + p3p2g1 + p3p2p1g0 + p3p2p1p0c0 assign sum0=p0^c0;assign sum1=p1^c1;assign sum2=p2^c2;assign sum3=p3^c3;always @ (posedge clk or negedge cclr)beginif (!cclr )beginsum<= 0;carry_out<=0;endelsebeginsum<={sum3,sum2,sum1,sum0};carry_out<=c4;endendendmodule/*宏模块加减法器*/`define WEISHU 8module hmk(add,cin,a,b,cout,overflow,s); //加法:cin cout overflow都是1有效减法:cin cout overflow都是0有效Add信号为高电平时做加法,低电平时做减法input add;input cin;input [`WEISHU-1:0]a;input [`WEISHU-1:0]b;output cout;output overflow;output [`WEISHU-1:0]s;lpm_add_sub0 h (.add_sub (add),.cin (cin ),.dataa (a ),.datab (b ),.cout ( cout ),.overflow (overflow ), .result ( s ));Endmodule4、仿真。

计算机组成原理课程设计---——简单模型机的微程序设计

计算机组成原理课程设计---——简单模型机的微程序设计

课程设计报告课程名称:计算机组成原理系别:姓名:班级:学号:成绩:指导教师:开课时间:20 -20 学年第学期一.设计题目计算机组成原理课程设计——简单模型机的微程序设计二.主要内容通过课程设计更清楚地理解下列基本概念:1.计算机的硬件基本组成;2.计算机中机器指令的设计3.计算机中机器指令的执行过程;4.微程序控制器的工作原理。

5.微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计三.具体要求置数指令 IN 置数开关SW(KD0~KD7)的状态→R0加法指令 ADD R0,,(addr):(R0)+(addr)→(R0)存数指令 STA R0,(addr):(R0)→(addr)输出指令 OUT (addr):(addr)→输出设备"LED"跳转指令 JMP (addr):addr→PC或指令OR RD,RS:(RS)或(RD)→(RD)新加法指令 NADD (addr1),(addr2):(addr1)加(addr2)→(RD)异或指令XOR (addr1),(addr2):(addr1)异或(addr2)→(RD)与指令AND RD,RS:(RS)与(RD)→(RD)求反指令 NOT RD:/(RD) →(RD)四.进度安排共1.5周11天的时间,具体安排如下:1~2天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;3 ~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统(原有的5条指令)和微程序设计方法;6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。

10~11天:根据自己设计的微程序系统写出相应的课程设计实验报告五.成绩评定六. 正文一、模型机的CPU及系统硬件基本模型机的CPU及系统硬件组成如图1所示:图1 模型机的CPU及系统硬件组成各部件的功能及控制信号如下:运算器由算逻部件ALU(8位)、暂存器DR1、DR2及通用寄存器等组成。

计算机组成原理课程设计基本模型机的设计-加减法指令的实现(改下就能用哦)

计算机组成原理课程设计基本模型机的设计-加减法指令的实现(改下就能用哦)

课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:基本模型机的设计-加减法指令的实现初始条件:理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。

实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。

2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。

3、课程设计的书写报告应包括:1)课程设计的题目。

2)设计的目的及设计原理。

3)根据设计要求给出模型机的逻辑框图。

4)设计指令系统,并分析指令格式。

5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。

6)模型机当中时序的设计安排。

7)设计指令执行流程。

8)给出编制的源程序,写出程序的指令代码及微程序。

9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中每指条令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。

10)课程设计总结(设计的特点、不足、收获与体会)。

时间安排:设计时间第17周周一:熟悉相关资料。

周二:系统分析,设计程序。

周三、四:编程并上实验平台调试周五:撰写课程设计报告。

指导教师签名:年月日系主任(或责任教师)签名:年月日课程设计任务书 1 题目 2 1.设计的目的及设计原理 2 1.1设计的目的 21.2设计的原理 22.模型机的逻辑框图 23.指令系统及其指令格式 4 3.1指令系统 43.2指令格式 54.微程序的设计及其实现的方法7 4.1 微程序入口地址的形成7 4.2微指令格式的设计94.3后续微地址的产生方法95.时序安排9 6指令执行流程106.1微程序流程图106.2指令流程表117. 源程序,程序的指令代码及微程序11 7.1源程序11 7.2程序的指令代码127.3微程序128.使用软件HKCPT的联机方式的实现过程13 8.1主要指令的时序图138.2累加器A、寄存器、存储器的数据变化以及数据流程169.课程设计总结17基本模型机的设计—加减法指令的实现1.设计的目的及设计原理1.1设计的目的运用所学的知识,通过使用软件HKCPT掌握各个单元模块的工作原理将其组成完整的系统,并了解程序编译、加载的过程,以及通过微单步、单拍调试理解模型机中的数据流向。

基本模型机的设计-加减法指令的实现

基本模型机的设计-加减法指令的实现

基本模型机的设计—加减法指令的实现1.设计目的本次课程设计主要是完成简单的加减法指令的实现,通过使用软件HKCPT,了解程序编译、加载的过程。

通过微单步、单拍调试,理解模型机中的数据流向。

在分析阶段主要完成模型机的整体逻辑框图,并在实验平台上连好线将各个逻辑部件组装成一个完整的模型机;在设计阶段主要是设计出该机的指令系统,并设计出相应的编码方式及时序逻辑;在实验验证阶段,自己按照设计阶段编制的指令系统编写一个程序,在实验平台上观看程序每一步运行的过程。

2.设计原理模型机的运行是在微程序的控制下,实现特定指令的功能,并且编写相应的微程序,简单的模型机都是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。

我们可以先设计模型机的逻辑框图,然后编制相应的指令系统,模型机组装好后就可以输入事先编好的程序检验模型机是否成功。

3.设计内容3.1 逻辑框图设计根据设计的要求,对实验硬件资源进行逻辑组合,便可设计出该模型机整体逻辑框图。

简单的模型机都是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。

在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU的加、减、与、或指令。

把通用寄存器作为累加器A,进行左、右移等指令,整体构成一个单累加器多寄存器的系统。

下图给出了本次实验的模型机整机逻辑框图:3.2 系统连线3.3 指令系统设计本次实验的平台HKZK-CPT内采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑有哪几种类型的指令,那几种寻址方式和编码方式。

3.3.1 指令类型算术/逻辑运算指令如:加法、减法、取反、逻辑运算等ADD A,Ri,SUB A,Ri移位操作类指令带进位或不带进位的移位指令RRC A,RR A数据传送指令CPU内部寄存器之间的数据传送MOV A,Ri,MOV Ri,A程序跳转指令跳转指令分为无条件跳转指令和有条件跳转指令。

基本模型机的设计与实现和带移位运算的模型机的设计及实现

基本模型机的设计与实现和带移位运算的模型机的设计及实现

一、基本模型机的设计与实现(一)实验目的:1、清晰地建立计算机的整机概念,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。

2、为其定义五条机器指令:IN、ADD、STA、OUT、JMP,并编写相应的微程序,具体上机调试掌握整机概念。

3、学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。

(二)、实验设备TDN-CM+计算机组成原理教学实验系统一台。

(三)、实验原理本实验定义五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下:助记符机器指令码说明IN 0000 0000 “I NPUT DEVICE”→R0 ADD addr 0001 0000 ××××××××R0+[addr] →R0STA addr 0010 0000 ××××××××R0→ [addr]OUT addr 0011 0000 ××××××××[addr] →BUSJMP addr 0100 0000 ××××××××addr→PC其中IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。

为了向RAM写入、读出机器指令,并能启动程序执行,还须设计三个控制台操作微程序。

存储器读(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“0 0”时,按START微动开关,可对RAM连续手动读操作。

基本模型机设计及实现

基本模型机设计及实现

课程设计任务书课程名称:计算机组成原理设计题目:(共3个课题,最多3人一组,每组任选一题)1.基本模型机设计与实现;2.带移位运算的模型机的设计与实现;3.复杂模型机的设计与实现。

已知技术参数和设计要求:内容和技术参数:利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。

设计环境为TDN-CM+计算机组成原理教学实验系统,微机,虚拟软件。

将所设计的微程序在此环境中进行调试,并给出测试思路和具体程序段。

最后撰写出符合要求的课程设计说明书、完成答辩。

1.基本模型机设计与实现指令系统至少要包括六条不同类型指令:如一条输入指令,一条减法指令,一条加法指令,一条存数指令,一条输出指令和一条无条件转移指令。

2. 带移位运算的模型机的设计与实现在基本模型机的基础上增加左、右循环和左、右带进位循环四条指令3. 设计不少于10条指令的指令系统。

其中,包含算术逻辑指令,访问内存指令,程序控制指令,输入输出指令,停机指令。

重点是要包括直接、间接、变址和相对寻址等多种寻址方式。

以上数据字长为8位,采用定点补码表示。

指令字长为8的整数倍。

微指令字长为24位。

具体要求:1、确定设计目标确定所设计计算机的功能和用途。

2、确定指令系统确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。

确定相对应指令所包含的微操作。

3、总体结构与数据通路总体结构设计包括确定各部件设置以及它们之间的数据通路结构。

在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。

综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。

数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。

4、设计指令执行流程数据通路确定后,就可以设计指令系统中每条指令所需要的机器周期数。

对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。

《计算机组成原理》课程设计说明书-模型机指令系统的设计与实现

《计算机组成原理》课程设计说明书-模型机指令系统的设计与实现

《计算机组成原理》课程设计说明书-模型机指令系统的设计与实现题目:模型机指令系统的设计与实现院系:专业班级:学号:学生姓名:指导教师: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设计题目基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。

着重加减法指令的实现和设计,编制实验所需的程序,上机测试并分析所设计的程序。

2设计目的(1)巩固“电工电子学” 、“数字逻辑”、“汇编语言程序设计” 、和“计算机组成原理”等相关课程学习内容。

(2)掌握计算机组成原理实验平台的使用,加深对计算机各模块协同工作的认识,建立清晰完整的整机概念。

(3)通过使用 HKCPT软件了解程序编译 , 加载过程。

(4)通过单步 , 单拍调试 , 理解模型机中的数据流向。

3模型机的逻辑框图根据设计要求,模拟机的逻辑框图如下:DR1DR2累加器 A374374374374CYZDALALU-O244244DATA BUS166*2 PC374 IR2RAM 程序374 指令6264*3寄存器PC-O244 IR2-O 244 指令译码163*2 微地址寄存器ADDRESSBUS微地址4指令系统的设计4.1 指令类型(1)算术 / 逻辑运算指令如:进行加法、减法、取反、逻辑运算例如 : ADD A,RiSUB A,RiAND A,Ri(2)移位操作指令带进们位或不带进位的移位指令例如: RRC A, RiRR A(3)数据传送类指令CPU内部寄存器之间进行数据传递例如 : MOV A,RIMOV RI,A( 4)程序跳转指令程序跳转指令可分为无条件跳转指令和有条件跳转指令两大类. 它可以根据寄存器的内容是否为零来标志 (ZD), 有进位标志 (CY), 也可以根据实际情况自行设置。

例如 : 无条件跳转指令JMP addrZD=0 时跳转JZ addrCY=0 时跳转JC addr自定义的跳转语句JN addr( 5)存储器操作类指令存储器读/写指令,用来把内在单元写入寄存器中或把寄存器中的内容写入存储器。

基本模型机扩展(减法运算)详解

基本模型机扩展(减法运算)详解

《计算机组成原理》课程设计报告(2015——2016年度第一学期)题目基本模型机扩展(减法运算)专业班级姓名学号云南师范大学教务处编印《计算机组成原理》课程设计成绩评定指导教师:目录1 引言 (1)2 设计过程 (3)2.1扩展减法指令设计 (3)2.1 ZY15Comp12BB基本模型机简介 (3)2.2 ZY15Comp12BB基本模型机指令格式与SUB指令格式设计 (4)2.3 ZY15Comp12BB基本模型基本机指令系统微操作序列简介 (4)2.3.1 READ、WRITE和RUN微操作序列 (4)2.3.2 IN、OUT、ADD、STA和JMP指令微操作序列 (5)2.3.3 SUB指令微操作序列设计 (7)2.4.ZY15Comp12BB基本模型机基本机指令系统微操作序列简介 (7)2.4.1微操作指令格式 (8)2.4.2 SUB微程序 (8)3. 扩展减法指令的测试 (10)3.1按联机运行程序要求编写汇编语言与机器语言测试程序 (10)3.2编写微程序 (10)3.3连接模型机 (11)3.4输入与验证机器语言程序与微程序 (11)3.5单步执行程序,记录运行结果 (12)4总结 (16)5 参考文献: (17)1 引言本次课程设计的任务是完成一个基本模型机扩展一条直接寻址的减法指令SUB addr。

设计综合运用了以前所学计算机原理的知识,依照设计要求和指导,实现了一条直接寻址的减法指令SUBaddr的实现。

本模型机实现的功能有:IN(输入),OUT(输出),SUB(减法),STA(存数),JMP(跳转)。

设计进行开始,在了解微程序的基本格式, 及各个字段值的作用后, 按微指令格式参照指令流程图,设计出程序以及微程序,将每条微指令代码化,译成二进制代码表,并将二进制代码转换为联机操作时的十六进制格式文件。

根据机器指令系统要求,设计微程序流程图及确定微地址。

设计的减法中, 被减数和减数都由调试人员输入, 最后上机调试,各个功能运行结果正确。

计算机组成原理课程设计---基本模型机的设计——加减法指令的实现

计算机组成原理课程设计---基本模型机的设计——加减法指令的实现

目录课程设计任务书 (1)1.设计目的及设计原理 (3)1.1设计目的 (3)1.2设计原理 (3)2.模型机的逻辑框图 (3)3.指令系统及其指令格式 (4)3.1指令系统 (4)3.2指令格式 (6)4.微程序的设计及其实现的方法 (7)4.1微指令格式的设计 (7)4.2后续微地址的产生方法 (7)4.3 微程序入口地址的形成 (8)5.模型机时序分析 (9)6.指令执行流程 (11)7.源程序,程序的指令代码及微程序 (11)7.1 源程序 (11)7.2 程序的指令代码 (12)7.3微程序 (12)8.实现过程 (13)9.课程设计总结 (19)课程设计任务书学生姓名:陈千专业班级:物联网1103班指导教师:程艳芬工作单位:计算机科学与技术学院题目: 基本模型机的设计——加减法指令的实现初始条件:理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。

实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。

2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。

3、课程设计的书写报告应包括:(1)课程设计的题目。

(2)设计的目的及设计原理。

(3)根据设计要求给出模型机的逻辑框图。

(4)设计指令系统,并分析指令格式。

(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。

(6)模型机当中时序的设计安排。

(7)设计指令执行流程。

(8)给出编制的源程序,写出程序的指令代码及微程序。

(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中加减法指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。

毕业设计简易加减乘除计算器

毕业设计简易加减乘除计算器

毕业设计题目简易加减乘除计算器系别专业班级姓名学号指导教师日期设计任务书设计题目:简易加减乘除计算器设计要求:1.根据所学内容运用编程做一个简易加减乘除计算器,实现加、减、乘、除、等以及清零的功能。

2.设置一组数码管, 使其能够显示程序运行,按键动作的内容。

3.设置一组按键,使其键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。

4.可以进行小于255的数的加减乘除运算,并可连续运算。

当键入值大于255时,将自动清零,可重新输入。

设计进度要求:第一周:确定题目,寻找单片机和计算器设计的相关资料;第二周:读懂资料,有初步的设计思路;第三周:绘制硬件电路图;第三周:设计软件框图;第四周:相应软件设计(程序设计);第五周:进行程序调试并且修改;第六周:写毕业设计论文;第七周:修改并提交毕业设计;第八周:准备论文答辩;指导教师(签名):摘要在很多领域的数据处理中要用到数学运算,作为计算机自动处理系统更显得重要。

此项目设计以单片机为核心部件的计算器,采用4*4矩阵式键盘,16个键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。

使用单片机最小应用系统1模块,简单方便。

采用静态显示,显示器由5个共阴极数码管组成。

输入只有两个信号,它们是串行数据线DIN和移位信号CLK。

5个串/并行移位寄存器芯片74LS164首尾相连。

每片的并行输出作为LED数码管的段码。

本计算器系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。

关键词:单片机,计算器,键盘,静态显示前言随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。

在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。

基本模型机的设计—跳转、转移指令的实现 熟悉微程序控制的原理

基本模型机的设计—跳转、转移指令的实现 熟悉微程序控制的原理

序号:课程设计课程名称计算机组成原理课程设计设计题目基本模型机的设计学院/专业计算机科学与技术班级计算机0601学号姓名指导教师唐建雄日期2008年12月20日课程设计任务书学生姓名:专业班级:指导教师:唐建雄工作单位:计算机科学与技术学院题目: 基本模型机的设计——跳转、转移指令的实现初始条件:理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。

实践:计算机学院科学系实验中心提供计算机、实验的软硬件平台。

到实验中心硬件平台验证设计结果。

要求完成主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。

2、根据课程设计题目要求,编制实验所需的程序,上机测试并分析所设计的程序。

3、课程设计的书写报告应包括:(1)课程设计的题目。

(2)设计的目的及设计原理。

(3)根据设计要求给出模型机的逻辑框图。

(4)设计指令系统,并分析指令格式。

(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。

(6)模型机当中时序的设计安排。

(7)设计指令执行流程。

(8)给出编制的源程序,写出程序的指令代码及微程序。

(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中每指条令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。

(10)课程设计总结(设计的特点、不足、收获与体会)。

时间安排:设计时间一周:周1:熟悉相关资料。

周2:系统分析,设计。

周3周4:编程并上实验平台调试周5:撰写课程设计报告。

设计报告书收取时间:20周的星期五下午5:00之前。

指导教师签名:年月日系主任(或责任教师)签名:年月日计算机组成原理课程设计1 实验目的1.通过使用软件HKCPT,了解程序的编译、加载的过程,通过模型机了解计算机的执行指令的工作原理。

简单模型机实验报告

简单模型机实验报告

简单模型机实验报告篇一:模型机实验报告HUNAN UNIVERSITY课程实习报告题目:模型机学生姓名学生学号 XX0801328专业班级计算机科学与技术(3)班指导老师方恺晴完成日期 XX.5.28思考题:1. 给定一个复合运算式子以及指令码IR[7..5]与八位BUS总线对应情况。

要求写出七条指令新的指令码并写出复合运算执行mif文件。

修改模型机电路调试程序以实现复合运算。

例:已知A=55H,B=8AH,C=F0H;IR[7..5]对应BUS8,BUS1,BUS3;写出(Aplus/B)^(/(/CplusB))的mif文件,并在模拟机上实现。

答:模拟机电路修改如下:存储器预设指令重设:计算结果:(A+/B)^(/(/C+B))=42H2. Microcomputer.vhd代码中进程ct1,ct2,ct3,ct4功能划分依据是什么?ct1:微序列控制器下址跳转。

ct2:实现各种指令,主要集中在实现从存储器或者寄存器释放数据到总线上。

ct3:完成各种指令,从总线上装载数据到相应的存储器或者寄存器中。

ct4:生成下址,判断下址生成方式,根据不太那个的方式生成下址。

3. Microcomputer.vhd代码中如何定义并初始化RAM?type ram is array(0 to 37)of std_logic_vector(7 downto 0); --38*8ramsignal ram8:ram:=(x”20”, x”1e”, x”80”, x”40”, x”20”, x”20”, x”1d”, x”c0”, x”20”, x”40”, x”21”, x”20”, x”1f”, x”80”, x”40”, x”22”, x”20”, x”1e”, x”c0”, x”22”, x”80”, x”e0”, x”21”, x”40”, x”23”, x”60”, x”23”, x”a0”, x”00”, x”55”, x”8a”, x”f0”,others=>x”00”) –initialize ram44. Microcomputer.vhd代码中bus_reg_t2 将ram8存储器中对应于ar中地址单元的数据取出来放到bus_reg_t2寄存器中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基本模型机的设计
—加减法指令的实现1.设计目的
本次课程设计主要是完成简单的加减法指令的实现,通过使用软件HKCPT,了解程序编译、加载的过程。

通过微单步、单拍调试,理解模型机中的数据流向。

在分析阶段主要完成模型机的整体逻辑框图,并在实验平台上连好线将各个逻辑部件组装成一个完整的模型机;在设计阶段主要是设计出该机的指令系统,并设计出相应的编码方式及时序逻辑;在实验验证阶段,自己按照设计阶段编制的指令系统编写一个程序,在实验平台上观看程序每一步运行的过程。

2.设计原理
模型机的运行是在微程序的控制下,实现特定指令的功能,并且编写相应的微程序,简单的模型机都是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。

我们可以先设计模型机的逻辑框图,然后编制相应的指令系统,模型机组装好后就可以输入事先编好的程序检验模型机是否成功。

3.设计内容
3.1 逻辑框图设计
根据设计的要求,对实验硬件资源进行逻辑组合,便可设计出该模型机整体逻辑框图。

简单的模型机都是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。

在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU的加、减、与、或指令。

把通用寄存器作为累加器A,进行左、右移等指令,整体构成一个单累加器多寄存器的系统。

下图给出了本次实验的模型机整机逻辑框图:
3.2 系统连线
3.3 指令系统设计
本次实验的平台HKZK-CPT内采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑有哪几种类型的指令,那几种寻址方式和编码方式。

3.3.1 指令类型
算术/逻辑运算指令
如:加法、减法、取反、逻辑运算等
ADD A,Ri,SUB A,Ri
移位操作类指令
带进位或不带进位的移位指令
RRC A,RR A
数据传送指令
CPU内部寄存器之间的数据传送
MOV A,Ri,MOV Ri,A
程序跳转指令
跳转指令分为无条件跳转指令和有条件跳转指令。

可根据寄存器内容为零来标志(ZD)、有无进位来标志(CY)。

JMP addr 无条件跳转
JZ addr ZD=0时跳转
JC addr CY=0 时跳转
寄存器操作类指令
存储器读/写指令。

把内存某单元内容写入寄存器中或把寄存器中的内容写入存储器。

如:
LDA addr (addr)->A
STA addr (A)->addr
3.3.2 操作数寻址方式及编码
1.直接地址寻址
如:LDA addr (addr)->A
STA addr (A)->addr
2.寄存器直接寻址
指令字中含有寄存器选择码,决定选择哪个寄存器进行操作。

如:MOV A,Ri (Ri)->A
3.寄存器间接寻址
如:MOV A, @Ri
4.立即数寻址
如:MOV A, #data
MOV Ri, #data
3.3.3 指令系统
3.4 微程序设计及其实现方法
在本次实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可以由微代码直接实现。

如果采用多组编码译码、那么24位微代码可实现2n个互斥的微操作控制信号。

由于模型机指令系统规模叫小,功能也不太复杂,所以采用全水平不编码纯控制场的格式。

在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0-MD7,这种方法称为“按操作码散转”(如下表所示)。

每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。

微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。

例如:确定了一条程序的微程序入口地址为07H,那么当执行完07H这条微指令后微地址加1,指向08H微地址。

微地址寄存器由2片74LS161组成,当模型机在停止状态下,微地址被清零。

当实验平台开始运行时,微地址从00H开始运行。

且00H放置一条取值指令,根据程序开始地址从内存中读出第一条指令。

3.5 模型机中的时序安排设计
由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。

在本实验中为了让实验者更好的观察实验的各个中间过程中个寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生(如图2-9-2)。

PLS-O信号经过时序单元的处理产生了4个脉冲信号。

4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。

这4个脉冲信号分别是:
PLS1:微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。

PLS2:PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器(跳转指令)等功能。

PLS3:把24位微指令打入3片微指令锁存器。

PLS4:把当前总线上的数据打入微指令选通的寄存器中。

3.6 指令执行流程设计
根据模型机整机逻辑框图和目前硬件条件来设计指令系统中每条指令的执行流程。

在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。

而一条指令共需要几个机器周期取决于指令在机器内实现的复杂程度。

对于微程序控制的计算机,在设计指令执行流程时,要保证每条微指令所包含的微操作的必要性和合理性,还应知道总线IAO、IDB、OAB、ODB仅是传输信息的通路,没有寄存信息的功能,而且必须保证总线传输信息时信息的唯一性。

以下描述取指微指令执行过程:
在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令琐存器输出无效(为高)。

在处于停机状态时,脉冲PLS1对微地址寄存器(74LS161)无效,微地址寄存器保持为零。

脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机置为运行状态,使微程序锁存器输出有效。

PLS3把微程序存储器00H单元(00H单元存放着取指微指令)中的内容打入微指令锁存器中并且输出取指微指令。

PLS4把从程序存储器中读出的数据打入指令寄存器中。

当模型机处于运行状态时,脉冲PLS1微地址寄存器(74LS161)加1,脉冲PLS2对PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。

PLS4把当前总线上的数据打入当前微指令所选通的寄存器。

4.程序调试
源程序、程序的指令代码及相应的微程序如下表:
5.上机调试过程
本次实验用的软件是HKCPT,我将上面编好的程序输入电脑,在这个软件中进行调试并观看程序单步运行的结果,用截图工具将程序的微单步过程各个结构图以及时序截了下来,以下就是整个程序的运行过程:
6.总结
通过本次的课程设计,我进一步融会贯通了教材上的内容,掌握了计算机各功能模块的工作原理、相互联系和来龙去脉,完整地建立了计算机的整机概念。

自己的学习热情和主动性得到了空前提高,独力工作能力也得到了很大的提高。

培养成了严谨的科研作风,创造性地完成了模型机的部件及系统的分析、设计、组装和调试,加深了自己对计算机组成原理及系统结构课程的内容的理解和掌握。

当然,此次的模型机设计也有很大的不足之处,比如:指令系统的规模太小,有很多有用的指令没有进行编码设计导致功能太简单,要编较难较复杂的程序还不太可能。

另外此次的课程设计也暴露了一个很大的问题,那就是:我们的动手能力太差了,很多在书本上觉得很简单的问题等到自己动手去做时才发现原来还有很多知识我们并不太清楚,所以今后要加强我们的动手能力。

相关文档
最新文档