当前位置:文档之家› 嵌入式的8位CISC模型机设计报告

嵌入式的8位CISC模型机设计报告

韶关学院课程设计说明书(论文)课程设计题目:嵌入式的8位CISC模型机设计学生姓名:学号:院系:计算机科学学院专业班级:指导教师姓名及职称:起止时间:2011 年10 月——2011 年11 月课程设计评分:目录一、实验目的二、设计题目及要求三、设计方案:1.模型机的总体设计2. 微程序控制器的组成原理框图3. 模型机机器指令格式和指令系统4. 时序产生器的设计原理及时序波形图5. 微程序流程图6. 微程序控制器单元7. 汇编语言源程序8. 机器语言的源程序四、设计的过程与步骤五.模型机系统顶层电路图六.模型机的时序仿真波形图七.设计总结八.参考文献韶关学院课程设计任务书学生姓名专业班级09科学与技术2班学号指导教师姓名及职称设计地点信息418设计题目嵌入式的8位CISC本课程设计课题任务的内容和要求:设计一台嵌入式的8位CISC模型计算机,并运行能完成一定功能的机器语言程序进行验证,程序功能可以是以下两个之一:✧求出1到任意一个整数N之间的所有奇数之和并输出显示,和为单字长。

说明:N从开关输入,和从数码管输出,然后输出显示停止。

对本课程设计工作任务及工作量的要求:课程设计完成工作任务内容如下:(1)完成系统的总体设计,画出模型机数据通路框图。

(2)设计微程序控制器(CISC模型计算机)的逻辑结构图。

(3)设计机器指令格式和指令系统。

(4)设计时序产生器电路。

(5)设计所有机器指令的微程序流程图(CISC模型计算机)(6)设计操作控制单元。

●设计的是CISC模型计算机,设计微指令格式(建议采用全水平型微指令),并根据微程序流程图和微指令格式设计微指令代码表。

根据微程序控制器的逻辑结构框图、微指令格式和微指令代码设计微程序控制器,包括地址转移逻辑电路、微地址寄存器、微命令寄存器和控制存储器。

(7)设计模型机的所有单元电路,并用VHDL语言(也可使用GDF文件——图形描述文件)对模型机中的各个部件进行编程,并使之成为一个的整体,即形成顶层电路或顶层文件。

(8)由给出的题目和设计的指令系统编写相应汇编语言源程序(验证程序)。

(9)根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将其设计到模型机的ROM中。

(10)使用EDA软件MAX+plusII进行功能仿真,要保证其结果满足题目的要求(其中要利用MAX+plusII提供的波形编辑器,选择合适的输入/输出信号及中间信号进行调试)。

(11)选用给定的FPGA芯片——EP1K30TQC144进行器件编程和时序仿真,并将顶层电路或顶层文件下载到专用的EDA实验平台——GW48 EDA教学实验系统后进行操作演示。

课程设计应完成的图纸:(1)顶层设计的电路原理图;(2)元件(模块)符号图;(3)仿真波形图。

进度安排:时间为18学时,分散在9周进行,每周2学时。

1、第1--4周:EDA技术基础知识教学讲座;2、第5—8周:MAX+PLUS基础实验,确定课程设计题目,进行资料收集和学习、设计方案确定、电路设计、程序设计与计算机仿真;3、第9周:编写课程设计实验报告。

主要参考文献:[1] ]陈智勇等编. 《计算机原理课程设计》. 西安电子科技大学. 2006年6月[2] 潘松黄继业编. 《EDA技术实用教程》(第二版). 科学出版社 2005年2月[3] 罗克露等编. 《计算机组成原理》. 电子工业出版社 2004年8月[4] 江国强编. 《EDA技术习题与实验》. 电子工业出版社 2005年1月[5] 彭玄璋编《基于EDA技术的组成原理课程设计实验指导书》(自编教材) 2010年3月院系(或教研室)审核意见:审核人签名及系公章:年月日任务下达人(签字)年月日任务接受人(签字)年月日备注:1、本任务书由指导教师填写相关栏目,经系审核同意后,交学生根据要求完成设计任务。

2、本任务书须与学生的课程设计说明书(或论文)一并装订存档。

嵌入式的8位CISC模型机设计一、实验目的:1. 通过课程设计加深对计算机各功能部件的理解;掌握数据信息流和控制信息流的流动和实现过程,建立起整机概念;培养设计、开发和调试计算机的能力。

2. 提高使用EDA工具软件和可编程器件芯片的基本技能。

3. 培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。

二、设计题目及要求:设计一台8位的CISC模型机,要求具有以下验证程序所要求的功能:求出1到任意一个整数N之间的所有奇数之和并输出显示,和单字节长。

说明:N从开关输入,和数码管输出,然后输出显示停止。

三、设计方案:1.模型机的总体设计模型机的总体设计的内容包括确定各种部件的设置以及它们之间的数据通路结构。

CISC模型机由CISC微处理器、地址寄存器AR、ROM和RAM存储器等组成。

微处理器由算术逻辑运算单元ALU、状态条件寄存器、累加器AC、数据暂存器DR、通用寄存器R0~R2、程序计数器PC、指令寄存器IR、操作控制器和时序产生器组成。

CISC模型机的操作控制器采用微程序控制器。

根据模型机功能要求,画出如图1所示模型机数据通路框图。

图1 模型机数据通路框图2. 微程序控制器的组成原理框图微程序控制器组成原理框图如图2所示。

它主要由控制器、微指令寄存器和地址转移逻辑电路三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。

图2 微程序控制器组成原理框图3. 模型机机器指令格式和指令系统CISC模型机的指令系统采用复杂的指令格式、多种指令字长度和多种寻址方式,但指令功能强大,单条指令的执行速度较慢。

为了完成题目所要求的功能,模型机的指令系统共设计了8条不同的功能指令。

指令字长度有单字长(1个字节)和双字长(2个字节)两种;寻址方式有三种,分别是寄存器寻址、直接寻址和立即寻址。

这8条指令是IN1(输入),MOV(将一个数送入寄存器),CMP(比较),JB(小于跳转),ADD(两数相加),INC(自增1),JMP(无条件跳转),OUT1(输出)。

下面分别介绍这些指令的格式:(1)、I/O指令输入(IN1)采用单字节指令,其格式如下:输入(OUT1)采用单字节指令,其格式如下:说明:RS 为源寄存器, RD为目的寄存器。

(2)、转移指令条件转移指令(JB)和无条件转移指令(JMP)采用双字节指令,其格式如下:“addr”中的值就是要转移的地址值。

(3)、比较指令和相加指令比较(CMP)指令和相加指令(ADD)采用单字节指令,其格式如下:(4)、MOV指令MOV指令采用双字节指令,其格式如下:说明:“data”为立即数。

(5)、自增指令自增1指令(INC)指令采用单字节指令,其格式如下:以下是对Rs和Rd的规定:模型机规定数据的表示采用定点整数补码表示,单字长为8位,其格式如下:模型机的指令系统中共有8条基本指令,表1列出每条指令的助记符号、指令格式和功能。

表1 8条机器指令的助记符号、指令格式和功能4. 时序产生器的设计原理及时序波形图CISC微处理器的时钟信号Q和清除信号CLR由外部输入,节拍脉冲信号Ti由时序产生器产生。

图4-14描述了节拍脉冲信号与外部时钟信号、清除信号的时序关系。

由图3可以看出,节拍脉冲信号T1、T2、T3、T4实际上是以Q为时钟输入信号的计数状态经过译码器译码后生成的,因此可写出节拍脉冲信号的逻辑表达式,并用VHDL语言实现之,然后将它创建为一个元件符号,供顶层电路调用。

图3 T1、T2、T3、T4与CLR、Q之间的时序关系图如果系统的时钟控制信号(即工作脉冲P)是在T1、T2、T3或T4的中间产生,且上升沿有效,则它产生方法是:先将Q取反,再和节拍脉冲信号Ti相“与”得到。

如图4所示。

图4 时钟控制信号的形成方法5. 微程序流程图根据模型机的数据通路图(图1)以及所有指令在CISC模型机中的操作过程,画出所有机器指令的微程序流程图,如图5所示。

图中每个框为一个CPU周期(包含T1~T4共4个节拍脉冲周期)对应于一条微指令。

框中上面的十六进制数表示的是当前微指令在控制存储器中的微地址;框中下面的十六进制数表示的是当前微指令的后续微坡地。

在编写微指令时,图中的菱形框从属于它上面的方框。

图5 CISC模型机中所有机器指令的微程序流程图6. 微程序控制器单元(1)、设计微指令格式和微指令代码表CISC模型机系统使用的微指令采用全水平型微指令,字长25位,其中微指令字段17位,P字段2位,后续微地址6位。

其格式如下:微指令格式中的后继微地址从左到右依次为:üA5、üA4、üA3、üA2、üA1、üA0;由微指令格式和微程序流程图编写的微指令代码表如表2所示。

表2 微指令代码表(2)、设计地址转移逻辑电路地址转移逻辑电路是根据微程序流程图5中的菱形部分及多个分支微地址,利用微地址寄存器的异步置“1”端,实现微地址的多路转移。

在图5中进行P(1)(高电平有效)测试时,根据指令的操作码I7~I4强制修改后继微地址的低4位,在P(2)(高电平有效)测试时,根据借位标志FC和零标志FZ进行两路分支,并且都在T4内形成后继微指令的微地址。

由于微地址寄存器中的触发器异步置“1”端低电平有效,与üA4~üA0对应的异步置“1”控制信号SE5~SE1的逻辑表达式为:(üA5的异步置“1”端SE6实际未使用):7. 汇编语言源程序算法思想为:采用R0寄存器存放从开关输入的任意一个整数,R1存放准备参加累加运算的奇数,R2存放累加的和,用一个循环程序实现如下:功能IN1 R0 从开关输入任意一个整数n→R0MOV R1,1 将立即数1→R1(R1用于存放参与运算的奇数)MOV R2,0 将立即数0→R2 (R2用于存放累加和)L1:CMP R0,R1 将R0的整数n与R1的奇数进行比较,锁存CY和ZI JB L2 小于,则转到L2处执行ADD R1,R2 否则,累加求和,并将R1的内容加2,形成下一个奇数INC R1INC R1JMP L1 无条件跳转到L1处继续执行L2: OUT R2 输出累加和JMP L2 循环显示8. 机器语言的源程序根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将其设计到模型机的ROM中去。

与汇编语言源程序对应的机器语言源程序如下:助记符地址(十六进制)机器代码功能IN1 R0 00 10000000 (SW)→R0MOV R1,1 01 10010001 1→R102 00000001MOV R2,0 03 10010010 0→R204 00000000L1:CMP R0,R1 05 10100001 (R0)-(R1),锁存CY和ZI JB L2 06 10110000 若小于,则L2→PC07 00001101ADD R1,R2 08 11000110 (R1)+(R2)→R2INC R1 09 11010001 (R1)+1→R1INC R1 0A 11010001 (R1)+1→R1JMP L1 0B 11100000 L1→PC0C 00000101L2: OUT R2 0D 11111000 (R2)→LED JMP L2 0E 11100000 L2→PC0F 00001101四、设计的过程与步骤1、设计各单元电路首先设计出模型机中所有的单元部件,可以使用VHDL语言文件(.vhd)或者电路图形描述文件(.gdf)对模型机中的各个部件进行设计,并使之成为可供系统调用的元件符号。

相关主题