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

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

嵌入式的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→R0

MOV 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 R1

INC R1

JMP L1 无条件跳转到L1处继续执行

L2: OUT R2 输出累加和

JMP L2 循环显示

8. 机器语言的源程序

根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将

其设计到模型机的ROM中去。

与汇编语言源程序对应的机器语言源程序如下:

助记符地址(十六进制)机器代码功能

IN1 R0 00 10000000 (SW)→R0

MOV R1,1 01 10010001 1→R1

02 00000001

MOV R2,0 03 10010010 0→R2

04 00000000

L1:CMP R0,R1 05 10100001 (R0)-(R1),锁存CY和ZI JB L2 06 10110000 若小于,则L2→PC

07 00001101

ADD R1,R2 08 11000110 (R1)+(R2)→R2

INC R1 09 11010001 (R1)+1→R1

INC R1 0A 11010001 (R1)+1→R1

JMP L1 0B 11100000 L1→PC

0C 00000101

L2: OUT R2 0D 11111000 (R2)→LED JMP L2 0E 11100000 L2→PC

0F 00001101

四、设计的过程与步骤

1、设计各单元电路

首先设计出模型机中所有的单元部件,可以使用VHDL语言文件(.vhd)或者电路图形描述文件(.gdf)对模型机中的各个部件进行设计,并使之成为可供系统调用的元件符号。

(1)、ALU单元

算术逻辑运算单元ALU可执行三种运算,即加、比较和加1运算。ALU的三种运算受S0、S1控制,具体如表3所示。

表3 算术逻辑运算单元ALU的功能表

--ALU的VHDL源程序ALU.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.all;

ENTITY ALU IS

PORT(

A: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

B: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

S1,S0: IN STD_LOGIC;

BCDOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ;

CY,ZI: OUT STD_LOGIC

);

END ALU;

ARCHITECTURE A OF ALU IS

SIGNAL AA,BB,TEMP:STD_LOGIC_VECTOR(8 DOWNTO 0);

BEGIN

PROCESS(S1,S0)

BEGIN

IF(S1='0' AND S0='0') THEN --ADD

AA<='0'&A;

BB<='0'&B;

TEMP<=AA+BB;

BCDOUT<=TEMP(7 DOWNTO 0);

CY<=TEMP(8);

IF (TEMP="100000000") THEN

ZI<='1';

ELSE

ZI<='0';

END IF;

ELSIF(S1='0' AND S0='1') THEN --CMP(SUB)

BCDOUT<=A-B;

IF(A

CY<='1';

ZI<='0';

ELSIF(A=B) THEN

CY<='0';

ZI<='1';

ELSE

CY<='0';

ZI<='0';

END IF;

ELSIF(S1='1' AND S0='0') THEN --INC

AA<='0'&A;

TEMP<=A+1;

BCDOUT<=TEMP(7 DOWNTO 0);

CY<=TEMP(8);

IF (TEMP="100000000") THEN

ZI<='1';

ELSE

ZI<='0';

END IF;

ELSE

BCDOUT<="00000000" ;

CY<='0';

ZI<='0';

END IF;

END PROCESS;

END A;

ALU单元文本设计实验操作方法提示:

a. 在MAX+plusII的文本编辑方式下完成ALU部件的VHDL源程序编辑,用ALU.vhd为文件名存入工程目录(D :\CISC)中。

b. 在MAX+plus II窗口下,选择File→Project→Set Project to Current File命令,将设计文件设置当前工程。然后执行MAX+plus II菜单下“Compiler”命令对设计文件进行编

译, 检查设计文件中的错误。

c. 在MAX+plus II窗口下,执行“File”菜单中的“Create Default Symbol”命令,可为通过编译的文本设计文件创建一个元件符号,并保存在工程目录中。

ALU单元元件符号如图6所示:

图6 ALU单元元件符号

(2)、状态条件寄存器单元

状态条件寄存器用来在进行比较运算时锁存借位标志(FC/CY)和零标志(FZ/ZI),在进行条件转移时其内容作为判断的依据。状态条件寄存器单元元件符号如图7所示。

图7 状态条件寄存器单元元件符号

--状态条件寄存器的VHDL源程序LS74.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY LS74 IS

PORT(

LDFR: IN STD_LOGIC;

CY,ZI: IN STD_LOGIC;

FC,FZ: OUT STD_LOGIC

);

END LS74;

ARCHITECTURE A OF LS74 IS

BEGIN

PROCESS(LDFR)

BEGIN

IF(LDFR'EVENT AND LDFR='1') THEN

FC<=CY;

FZ<=ZI;

END IF;

END PROCESS;

END A;

状态条件寄存器单元设计实验操作方法与ALU单元设计实验操作方法相同,以后的单元设计实验操作方法不再重复说明。

(3)、暂存寄存器、通用寄存器、地址寄存器、指令寄存器单元模型机中暂存寄存器、通用寄存器、地址寄存器、指令寄存器都采用8位数据寄存器LS273元件,只是上述各个寄存器实体的命名分别为:AC,DR,R0,R1,R2,AR,IR。LS273元件符号如图8所示。

图8 LS273元件符号

LS273单元设计的VHDL语言程序如下:

-- 8位数据寄存器的VHDL源程序LS273.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY LS273 IS

PORT(

D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

CLK: IN STD_LOGIC;

O: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)

);

END LS273;

ARCHITECTURE A OF LS273 IS

BEGIN

PROCESS(CLK)

BEGIN

IF(CLK'EVENT AND CLK='1') THEN

O<=D;

END IF;

END PROCESS;

END A;

(4)、1:2分配器单元

1:2分配器单元用来将ALU的运算结果或通用寄存器的内容(经3选1多路选择器)回送到数据总线,或者将ALU的运算结果或通用寄存器的内容送往输出设备显示。1:2分配器单元的功能描述见表4。1:2分配器单元元件符号如图9所示。

表4 1:2分配器单元FEN2的功能表

图9 分配器单元元件符号

1:2分配器单元设计的VHDL语言程序如下:

-- 1:2分配器的VHDL源程序FEN2.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY FEN2 IS

PORT(

WR,LED_B:IN STD_LOGIC;

X:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

W1,W2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)

);

END FEN2;

ARCHITECTURE A OF FEN2 IS

BEGIN

PROCESS(LED_B,WR)

BEGIN

IF(LED_B='0' AND WR='0') THEN

W2<=X;

ELSE

W1<=X;

END IF;

END PROCESS;

END A;

(5)、3选1数据选择器单元

3选1数据选择器单元MUX3在数据输入控制信号SW_B、只读存储器片选控制信号CS的控制下,用来从外部输入数据端ID[7..0]、4选1多路选择器的输出端N1[7..0]和只读存储器ROM 的输出端N2[7..0]选择一个8位的数据进入内部数据总线。3选1数据选择器单元的功能表见表5。3选1数据选择器单元元件符号如图10所示。

表5 3选1数据选择器MUX3的功能表

图10 3选1数据选择器单元元件符号

3选1数据选择器单元设计的VHDL语言程序如下:

--3选1数据选择器单元VHDL源程序MUX3.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY MUX3 IS

PORT(

ID:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

SW_B,CS:IN STD_LOGIC;

N1,N2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

EW:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)

);

END MUX3;

ARCHITECTURE A OF MUX3 IS

BEGIN

PROCESS(SW_B,CS)

BEGIN

IF(SW_B='0') THEN

EW<=ID;

ELSIF(CS='0')THEN

EW<=N2;

ELSE

EW<=N1;

END IF;

END PROCESS;

END A;

(6)、4选1数据选择器单元

4选1数据选择器单元MUX4在数据输入控制信号C(R0_B)、D(R1_B)、E(R2_B)、F (ALU_B)的控制下,用来从有三个通用寄存器的数据输出端和ALU的数据输出端选择一个8位的数据输入1:2分配器的数据输入端。4选1数据选择器单元的功能表6,4选1数据选择器

单元元件符号如图11所示。

表6 4选1数据选择器MUX4的功能表

图11 4选1数据选择器单元元件符号4选1数据选择器单元设计的VHDL语言程序如下:

--4选1数据选择器单元VHDL源程序MUX4.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY MUX4 IS

PORT(

C,D,E,F: IN STD_LOGIC;

X1,X2,X3,X4: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

W: out STD_LOGIC_VECTOR(7 DOWNTO 0)

);

END MUX4;

ARCHITECTURE A OF MUX4 IS

SIGNAL SEL: STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

SEL<=F&E&D&C;

PROCESS(SEL)

BEGIN

-- CASE SEL IS

-- WHEN "1110"=>

-- W<=X1;

-- WHEN "1101"=>

-- W<=X2;

-- WHEN "1011"=>

-- W<=X3;

-- WHEN "0111"=>

-- W<=X4;

-- WHEN OTHERS =>

-- NULL;

--END CASE;

IF(SEL="1110") THEN --R0_out

W<=X1;

ELSIF(SEL="1101") THEN --R1_out

W<=X2;

ELSIF(SEL="1011") THEN --R2-out

W<=X3;

ELSIF(SEL="0111") THEN --ALU_out

W<=X4;

ELSE

null;

END IF;

END PROCESS;

END A;

(7)、程序计数器单元

程序计数器单元的元件符号如图12,它在控制信号的控制下具有清“0”,置计数初值和加1功能,其作用是保证程序的顺序执行,在执行跳转指令时,通过修改PC的值达到程序转移分支的目的。程序计数器PC的输出直接送往地址寄存器AR(LS273芯片)。程序计数器PC 的功能表见表7。

图12 程序计数器单元的元件符号

表7 程序计数器PC的功能表

程序计数器单元设计的VHDL语言程序如下:

--程序计数器单元VHDL源程序PC.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY PC IS

PORT(

load,LDPC,CLR: IN STD_LOGIC;

D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

O: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)

);

END PC;

ARCHITECTURE A OF PC IS

SIGNAL QOUT: STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

PROCESS(LDPC,CLR,load)

BEGIN

IF(CLR='0') THEN

QOUT<="00000000";

ELSIF(LDPC'EVENT AND LDPC='1') THEN

IF(load='0') THEN

QOUT<=D; --BUS->PC

ELSE

QOUT<=QOUT+1; --PC+1

END IF;

END IF;

END PROCESS;

O<=QOUT;

END A;

(8)、主存储器单元

CISC模型机由于只运行完成一定功能的程序而不需要进行数据处理,所以只采用ROM芯片作为它的主存储器单元,没有配置读写存储器RAM芯片。它的主存储器单元是一片256×8位的ROM芯片,如图13所示。ADDR[7..0]为8位坡地输入端,CS为片选信号,DOUT[7..0] 为8位数据输出端,它的功能表见表8。

图13 ROM芯片元件符号

表8 主存储器ROM16的功能表

8位模型机课程设计

xxxxx 课程设计报告学院机电信息学院 课程课程设计 专业计算机科学与技术班级xxxxx 姓名xxxxxxx x 学号xxxxxxxxxx 指导教师xxxxxx 日期201x年x月x日

目录 1.概述 0 2.总体设计 0 3.详细设计 (2) 3.1 运算器 (2) 3.2 存储器 (3) 3.3 微控制器 (5) 3.4 基本模型机设计与实现 (8) 4. 总结 (10) 参考文献 (11)

8位模型机的设计与仿真 1.概述 在掌握部件单元电路设计与仿真的基础上,进一步将其组成系统构造一台8位模型机。字长是8位纯整型,包含基本的五大件:运算器、存储器、控制器、I/O设备。它的结构框图如下图1-1所示. 这基本的五大件通过数据总线连接,实现数据的处理和控制。 部件实验过程中,各部件单元的控制信号是人为模拟产生的,而综合实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 2.总体设计 模型机主要由运算器、控制器、存储器、数据总线、输入输出和时序产生器组成,模型机的结构图如图2-1所示。 图2-1 模型机结构图 在图2-1中T1、T2、T3和T4等控制信号都是由时序产生器生产,时序产生器由时序电路实现如图2-2所示,时序产生器一个周期中产生四个脉冲信号T1~T4,这四个脉冲信号用于控制组件的执行顺序,组件在这些信号的控制下有序的执行,一个周期中完成一条微指令的执行。 图2-2 时序产生器

计算机硬件课程设计--简单模型机设计

计算机硬件课程设计--简单模型机设计

计算机硬件综合课程设计报告

简单模型机设计 一、设计要求 硬件:TDN-CM+计算机组成原理实验系统一台,PC机一台,排线若干,串口线一根。 软件:CMP软件 二、设计目的 1.通过对一个简单计算机的设计,对计算机的基 本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 2.通过这次课程设计,建立整机的概念,对程序 进行编辑,校验,锻炼理论联系实际的能力。 3.通过本次课程设计熟悉和训练设计思路与实 现方法。 4.通过本次课程设计锻炼团队合作的能力和团 队问题的解决。

三、设计电路及连线 设计电路及连线实验图如下图1-1所示。 图1-1 简单模型机连线图 四、设计说明 本次课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器

来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本次课程设计采用五条机器指令:IN (输入)、ADD (二进制加法)、STA (存数)、OUT (输出)、JMP (无条件转移),其指令格式如下(前4位为操作码): 助记符 机器指令码 说 明 微程序入口地址 IN 0000 0000 “INPUT DEVICE ”中 10 的开关状态→R0 0001 0000 ×××× ×××× R0+[addr]→R0 11 0010 0000 ×××× ×××× R0→[addr] 12 0011 0000 ×××× ×××× [addr]→BUS 13 0100 0000 ×××× ×××× addr →PC 14 ADD addr STA

16位模型机的设计

16位CPU的设计 要求: 此模型机的功能是将存储区的数据块复制到另一个存储区。 汇编代码如下: START:LOADI R1,0010H ;源操作数地址送R1 LOADI R2,0030H ;目的操作数地址送R2 LOADI R6,002FH ;结束地址送R6 NEXT:LOAD R3,[R1] ;取数 STORE [R2],R3 ;存数 BRANCHGTI START ;如果R1>R6,则转向START INC R1 ;修改源地址 INC R2 ;修改目的地址 BRANCHI NEXT ;转向NEXT 1.16位CPU的组成结构

2.指令系统的设计 一、指令格式 1)单字指令格式 2)双字指令格式 操作码指令功能 00001 LOAD 装载数据到寄存器 00010 STORE 将寄存器的数据存入到存储器 00100 LOADI 将立即数装入到寄存器 00101 BRANCHI 无条件转移到由立即数指定的地址 00110 BRANCHGTI 如果源寄存器容大于目的寄存器的容,则转移到由 立即数指定的地址 00111 INC 寄存器容加1指令 依据以上设计的指令系统,则完成数据块复制的程序如下: 地址机器码指令功能说明 0000H 0001H 2001H 0010H LOADI R1,0010H 源操作数地址送R1

一、程序包:说明运算器的功能、移动寄存器的操作、比较器的比较类型和用于CPU控 制的状态类型。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; package cpu_lib is subtype t_shift is unsigned (3 downto 0); constant shftpass :unsigned(3 downto 0):="0000"; constant sftl :unsigned(3 downto 0):="0001"; constant sftr:unsigned(3 downto 0):="0010"; constant rotl :unsigned(3 downto 0):="0011"; constant rotr :unsigned(3 downto 0):="0100"; subtype t_alu is unsigned(3 downto 0); constant alupass :unsigned(3 downto 0):="0000";

基本模型机的设计与实现课程设计报告

基本模型机的设计与实现课程设计报告 https://www.doczj.com/doc/167151349.html,/maria87328/archive/2008/01/13/2041130.aspx 一、实验基本任务 1、由基本单元电路构成一台基本模型机。 2、设计五条机器指令,并编写相应的微程序。 3、调试指令和模型机使其在微程序的控制下自动产生各部件单元的控制信号正常工作。 二、设计方案 1、硬件设计 (1)设计微程序控制电路 微程序控制器的组成:控制存储器:EPROM2816*3,8D触发器74ls273*2,4D触发器74ls74*3;微指令寄存器格式:18位微指令,6位微地址。 (2)设计时钟信号源和时序控制电路 时钟信号源的组成:时基电路555,可触发单稳态多谐振荡器74ls237*2,输出频率为330-580Hz的方波信号。 时序控制电路:4D触发器74ls175*1组成移位寄存器电路。 (3)设计主存储器 主存电路的组成:6264存储器(8K*8位)*3,地址寄存器:74ls273*1,三态门:74ls245*1。 2、微控制设计 (1)实现存储器读操作; 拨动总清开关后,置控制开关SWC、SW A为“0 0”时,按要求连线后,连续按动“启动运行”开关,可对主存储器RAM连续手动读操作。 (2)实现存储器写操作; 拨动总清开关后,置控制开关SWC、SW A为“0 1”时,按要求连线后,再按动“启动运行”开关,可对主存储器RAM 连续手动写入。 (3)实现程序运行操作。 拨动总清开关后,置控制开关SWC、SW A为“1 1”时,按要求连线后,再按动“启动运行”开关,即可转入到第01号“取址”微指令,启动程序运行。

嵌入式的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月

计算机组成—复杂模型机方案

课程设计:计算机组成原理 题目名称:复杂模型机的设计 姓名: 学号:1108020184 1108020185 班级:网络工程1101班 完成时间:2018年1月6日1设计目的:建立清晰完善的整机概念; 学习设计与调试计算机的基本方法;培养严谨的科研作风和独立工作能力。 2设计任务: 综合运用所学的计算机原理知识,按给定的指令系统分和数据格式,在所提供的设备范围内,设计一台字长八位的由微程序控制器来控制的模拟计算机。设计并实现较为完整的八位模型计算机。 设计微程序控制器的逻辑原理电路图;

设计微地址转移的逻辑电路图; 设计微程序流程图; 设计说明书。 3设计指标: 字长八位; 时钟源MF=QB=1us 内存容量不得小于2 8; 指令系统不得小于十四条。要求算术逻辑指令七条、访问内存和控制指令四条、输入输出指令两条、其他指令一条。 4设计说明: 4.1数据格式 模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下: 其中,第7位为符号位,数值的表示范围是:-1乞X <1 模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。 [1]算术逻辑指令 设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址, 其格式如下: 其中,OP-COD为操作码,Rs为源寄存器,Rd为目的寄存器,并规定: [2]访存指令及转移指令 模型机设计两条访问指令,即存数(STA>、取数(LDA>,两条转移指令, 即无条件转移(JMP>结果为零或有进位转移指令(BZC>。其格式如下:

D 其中,OP-CODE^操作码,Rd为目的寄存器,D为位移量(正负均可>, M为寻址方式,其定义如下: 本模型机规定变址寄存器RI指定为寄存器R2 [3]I/O 指令 输入v IN)和输出<OUT)指令采用单字节指令,其格式如下: 其中,addr=01时,表示选中“输入单元”中的开关组作为输入设备, addr=10时,表示选中“输出单元”中的数码管作为输出设备。 [4]停机指令 这类指令只有1条,即停机指令HALT用于实现停机操作,指令格式如 4. 2系统指令 本模型机共有1 4条基本指令。其中,算术逻辑指令6条,移位指令2条,访问内存指令和程序控制指令3条,输入输出指令2条,其他它指令1条。表1列出了各条指令的格式、汇编符号、指令功能。

模型机实验报告

哈尔滨工程大学 实验报告 实验名称:复杂模型机设计与实现 班级: 学号: 姓名: 实验时间: 成绩: 指导教师:程旭辉附小晶 实验室名称:计算机专业实验中心 一、实验名称:复杂模型机的设计与实现 二、实验目的:

1.综合运用所学计算机原理知识,设计并实现较为完整的计算机。 2.设计指令系统。 3.编写简单程序,在所设计的复杂模型计算机上调试运行。 三、实验设备: GW-48CPP系列计算机组成原理实验系统。 四、实验原理: 1.数据格式 8位,其格式如下: 其中第7位为符号位,数值表示范围是:-1≤1。 2.指令格式 所设计的指令分为四大类共十六条,其中包括算术逻辑指令、I/O指令、访问、转移指令和停机指令。 (1)算术逻辑指令 设计9条算术逻辑指令并用单字节表示,采用寄存器直接寻址方式,其格式如下: 其中, (2)访问指令及转移指令 访问指令有2条,即存数(STA)、取数(LDA);2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC) 其中,OP-CODE指令)。D为位移量(正负均可),M为寻址模式,其定义如下: 在本模型机中规定变址寄存器RI为寄存器R2。 (3)I/O指令 输入(IN)和输出( 其中,addr=01时,选中“OUTPUT DEVICE”中的LCD

点阵液晶屏作为输出设备。 (4)停机指令 指令格式如下: 3.指令系统 共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入/输出指令2条,其

本模型机的数据通路框图如图7-1。根据机器指令系统要求,设计微程序流程图及确定微地址,如图7-2。 图7-2 微程序流程图 五、实验内容: 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。 微代码定义如表7-1所示。

8位CISC计算机设计

8位CISC计算机设计 班级:09电子信息工程C班 学号:091524**** 姓名:*** 日期:2012年4月26日

一.实验目的 1.深入理解基本模型计算机的功能、组成知识; 2.深入学习计算机各类典型指令的执行流程; 3.学习微程序控制器的设计过程和相关技术,掌握LPM_RO M的配置方法。 4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。 5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微程序的设计方法,学会编写二进制微指令代码表。 6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。 二.实验原理 1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。实验中,计算机数据通路的控制将由微过程控制器来完成,C PU 从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 2.指令格式 (1)指令格式 采用寄存器直接寻址方式,其格式如下: 其中,OP-CODE 为操作码,r s为源寄存器,rd 为目的寄存器,并规定: 其中IN 为单字长(8位二进制),其余为双字长指令,XX H 为addr 对应的十六进制地址码。为了向R AM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

8位CISC 计算机设计 1,存储器读操作(KRD):下载实验程序后按总清除按键(CLR)后,控制台S WA 、SWB 为“0 0”时,可对RAM 连续手动读入操作。 2,存储器写操作(KWE):下载实验程序后按总清除按键(CLR )后,控制台SW A 、SWB 为“0 1”时,可对R AM 连续手动写操作。 3、启动程序(RP):下载实验程序后按总清除按键(C LR)后,控制台SWA 、S WB 为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。 根据以上 要求设计 数据通路 框图,如 图5-1所 示。 表6-1 24位微代码定义: 24 23 22 21 2 14 13 12 11 10 987 6 5 4 3 2 1 S3 S2 S 1 S0 M Cn WE A9 A8 A B C uA5 u A4 uA 3 uA2 uA 1 uA 0 表6-2 A 、B 、C各字段功能说明:A 字段 B 字段 C字段 15 14 13 选择 12 11 10 选择 9 8 7 选择 0 0 0 0 0 0 0 0 0 0 0 1 LDRi 0 0 1 RS-B 0 0 1 P(1) 0 1 0 L DDR1 0 1 0 0 1 0 0 1 1 LDD R 2 0 1 1 0 1 1 1 0 0 L DIR 1 0 0 1 0 0 P(4) 1 0 1 LOA D 1 0 1 ALU-B 1 0 1 LD AR 1 1 0 LDAR 1 1 0 P C-B 1 1 0 LDPC 24位微代码中各信号的功能 (1) uA5—uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。 (2) S 3、S2、Sl、S0:由微程序控制器输出的ALU 操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。 (3) M :微程序控制输出的ALU 操作方式选择信号端。M=0执行算术操作;M=l 执行逻辑操作。 (4) Cn :微程序控制器输出的进位标志信号,C n=0表示A LU 运算时最低位有进位,Cn=1则表示无进位。 (5)WE :微程序控制器输出的RAM 控制信号。当/C E=0时,如WE=0为存储器读;如WE =1为存储器写。 (6) A9、A8——译码后产生CS0、CS1、CS2信号,分别作为SW_B 、RAM 、LE D的选通控制信号。 (7) A 字段(15、14、13)——译码后产生与总线相连接的各单元的输入选通信号(见表6-1)。 (8) B字段(12、11、10)——译码后产生与总线相连接的各单元的输出选通信号。 (9) C 字段(9、8、7) ——译码后产生分支判断测试信号P (1)~P(4)和LD PC信号。 系统涉及到的微程序流程见图6-2。当执行“取指令”微指令时,该微指令的判断测试字段为P (1)测试。由于“取指令”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支(见图6-2左图)。用指令寄存器的高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。 控制台操作为P(4)测试(见图6-2右图),它以控制台信号SW B、S WA 作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控制存储器的一个微地址单元,随意填 SWB SWA 控制台指令 0 0 1 0 1 1 读内存(KRD) 写内存(K WE ) 启动程序(RP ) 图6-1 数据通路框图

实验六 复杂模型机的设计与实现

实验五 复杂模型机的设计与实现 一、实验目的 综合运用所学计算机原理知识,设计并实现较为完整的计算机。 二、实验设备 Dais-CMX16+计算机组成原理教学实验系统一台,实验用导线若干。 三、数据格式及指令系统 1. 数据格式 8 其中第7位为符号位,数值表示范围是:≤<。2. 指令格式 模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。 ⑴ 算术逻辑指令 设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 其中,OP-CODE 为操作码,Rs 为源寄存器, Rd 为目的寄存器,并规定: 其中9条算术逻辑指令的名称、功能和具体格式见表5-1。 ⑵ 访问指令及转移指令 模型机设计2条访问指令,即存数(STA )、取数(LDA ),2条转移指令,即无条件转移(JMP )、 结果为零或有进 位转移指令(BZC ),指令格式为: 其中“0 0 M ”为源码段,2OP-CODE 为目的码段(LDA 、STA 指令使用)。D 为十六位地址段(低八在前,高八随后),M ⑶ I/O 指令

输入(IN)和输出(OUT ⑷停机指令 指令格式如下: HALT指令,用于实现停机操作。 3.指令系统 本模型机共有16条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。下表列出了各条指令的格式、汇编符号、指令功能。 图5-1复杂模型机微程序流程图 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。 源编码目的编码

模型计算机系统的设计与实现

题目:模型计算机系统的设计与实现学生姓名: 学院: 班级: 指导教师: 2010年1 月8 日

内蒙古工业大学课程设计(论文)任务书 课程名称:计算机组成与结构课程设计学院:信息工程学院班级:计07-_3班__ 学生姓名:武宝全 _ 学号: 200710210023 指导教师:董志学王晓荣邢红梅

摘要 本次课程设计要求设计实现一个简单8位模型计算机系统,包括用可编程器件实现的运算器,微程序控制器,存储器,简单输入/输出接口和设备,时序和启停控制等电路。通过自己定义的一套指令系统,主要实现算术A加B,A+/B运算,逻辑A·B,置B运算,输入指令,输出指令和存储器存数指令。由微程序控制器按照微指令格式给出下地址,并将结果存入存储器。用Protel电路设计软件画出所设计的模型机系统的电路原理图,包括运算器,微程序控制器,存储器、简单输入/输出设备、时序和启停等电路。用可编程器件EPM7123实现运算器,并借助MAXPLUSII软件实现其功能。在QDKJ-CMH-CPLD试验平台上调试并进行验证。 关键字:微程序、控制器、存储器、

引言 通过俩周的组成与结构设计,设计一个8位模型计算机系统,包括用可编程器件实现的运算器,微程序控制器,存储器,简单输入/输出接口和设备,时序和启停控制等电路。设计工作是在之前的验证实验基础之上完成的,通过自己的思维,实现微程序机的一些基本的逻辑运算。根据现有的二进制指令系统,条件为模型计算机系统为8位模型机,运算器为8位运算器,数据总线和地址总线都为8位,输入设备为8位开关,输出设备为8位发光二级管指示灯。在现有的芯片内烧制自行设计的微指令,达到在输入一个数据后自加,减一,实现自行跳转。 在设计完成后,再输入数据04后得出07的结果,并实现跳转。

基本模型机设计及实现

基本模型机设计及实现文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

课程设计任务书课程名称:计算机组成原理 设计题目:(共3个课题,最多3人一组,每组任选一题) 1.基本模型机设计与实现; 2.带移位运算的模型机的设计与实现; 3.复杂模型机的设计与实现。 已知技术参数和设计要求: 内容和技术参数: 利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。设计环境为TDN-CM+计算机组成原理教学实验系统,微机,虚拟软件。将所设计的微程序在此环境中进行调试,并给出测试思路和具体程序段。最后撰写出符合要求的课程设计说明书、完成答辩。 1.基本模型机设计与实现 指令系统至少要包括六条不同类型指令:如一条输入指令,一条减法指令,一条加法指令,一条存数指令,一条输出指令和一条无条件转移指令。 2. 带移位运算的模型机的设计与实现 在基本模型机的基础上增加左、右循环和左、右带进位循环四条指令 3. 设计不少于10条指令的指令系统。其中,包含算术逻辑指令,访问内存指令,程序控制指令,输入输出指令,停机指令。重点是要包括直接、间接、变址和相对寻址等多种寻址方式。 以上数据字长为8位,采用定点补码表示。指令字长为8的整数倍。微指令字长为24位。

具体要求: 1、确定设计目标 确定所设计计算机的功能和用途。 2、确定指令系统 确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。确定相对应指令所包含的微操作。 3、总体结构与数据通路 总体结构设计包括确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。 综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。 4、设计指令执行流程 数据通路确定后,就可以设计指令系统中每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。 5、确定微程序地址 根据后续微地址的形成方法,确定每个微程序地址及分支转移地址。 6、微指令代码化 根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码写入到控制存储器中的相应单元中。

计算机组成原理-简单模型机设计课设

目录 摘要 (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设计目的 融会贯通计算机组成原理课程中各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对硬连线控制器的认识,建立清晰的整机概念。对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。 1.2设计原理 (1)运算器 设计中所用的运算器数据通路,其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,测试时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 算术逻辑运算功能发生器 74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,测试时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、

8位模型计算机的设计

石家庄经济学院 华信学院 计算机组成原理课程设计报告 题目 8位模型计算机的设计 姓名 学号 班号 4064170801 指导老师关文革尹立洁赵洋 成绩 2009年1月 目录 1. 课程设计目的 52 2. 开发工具选择 52 3. 方案选择 52 4.指令系统设计 52 5. 模型机框图设计 52 6. 指令流程图 52 7. 指令操作时间表(组合逻辑控制器)或者微指令格式(微程序控制器)设计 52 8. 微操作信号综合与优化(组合逻辑控制器)或者微程序(微程序控制器)设计 52 9. VHDL实现 52 10. 调试仿真 52 11. 课程设计回顾总结 52 参考文献 52 附录 52 一、课程设计目的 1、计算机组成原理课程设计的主要任务是让学生通过动脑和动手解决计算机设计中的实际问题。综合运用所学计算机组成原理知识,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本的模型计算机,掌握整机概念,并设计机器指令系统,编写程序,在所设计的模型计算机上调试运行。

2、通过一台模型机的设计过程,明确计算机的控制原理与控制过程,巩固和灵活应用所学的理论知识,掌握计算机组成的一般设计方法,提高学生设计能力和实践操作技能,为从事计算机研制与设计打下基础。 二、开发工具选择 以TEC-CA教学实验系统为平台,采用硬件描述语言 VHDL为设计工具,应用QUARTUSⅡ5.1环境进行大规模集成电路的功能设计仿真。 三、方案选择 应用微程序控制器来实现8位模型计算机的设计。 四、指令系统设计 所要设计的微程序控制器是由七条指令来完成的,即:load,sta,add,sub,and1,nop,jmp。实现功能分别如下:load指令是公操作,实现取数据的功能;sta指令实现存操作;add指令实现加法操作;sub指令实现减法操作;and指令实现与操作; nop指令实现空操作;jmp指令实现无条件跳转操作。 其中add,sub,and1,属于双操作数指令,其指令格式如下图: 目的 源 其中jmp属于转移指令,其指令格式如下图: 转移条件 转移地址 五、模型机框图设计 I/O 六、指令流程图 Addr_bus load_MAR CS R_NW 3 OP

实验七基本模型机的设计与实现

实验七 基本模型机的设计与实现 一、实验目的 ⒈在掌握部件单元电路实验的基础上,进一步将其组成系统地构造 一台基本模型计算机。 ⒉为其定义5条机器指令,并编写相应的微程序,上机调试掌握整机 概念。 二、实验设备 Dais-CMH+/CMH 计算器组成原理教学实验系统一台,实验用扁平 线、导线若干。 三、实验原理 部件实验过程中,各部件单元的控制信号是以人为模拟产生为主,而 本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特 定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完 成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全 部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、 STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下 (前三位为操作码): ==========================================================助记符 机器指令码 说 明 -------------------------------------------------- ------------- IN R0,SW 0010 0000 数据开关状态 →R0 ADD R0,[addr] 0100 0000 XXXXXXXX R0+[addr]→R0 STA [addr],R0 0110 0000 XXXXXXXX R0→[addr] OUT [addr],LED 1000 0000 XXXXXXXX [addr]→LED JMP addr 1010 0000 XXXXXXXX addr→PC ==========================================================其中IN为单字节(8位),其余为双字节指令,XXXXXXXX为addr对 应的二进制地址码。 根据以上要求设计数据通路框图,如图7-10-1所示。系统涉及到的 微程序流程见图7-7-3,当拟定“取指”微指令时,该微指令的判别测试 字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指 令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前3位 (IR7~IR5)作为测试条件,出现8路分支,占用8个固定微地址单元。 当全部微程序设计完毕后,应将每条微指令代码化,表7-10-1即为 将图7-10-2的微程序流程图按微指令格式转化而成的“二进制微代码

计算机组成原理课程设计基本模型机设计与实现

课程设计(大作业)报告课程名称:计算机组成原理 设计题目:基本模型机设计与实现 院系:信息技术学院 班级:计算机科学与技术3班 设计者: 学号: 指导教师: 设计时间: 昆明学院 信息技术学院 课程设计(大作业)任务书

目录 课程设计(大作业)报告 一、课程设计的教学目的 1. 在“微程序控制器的组成与微程序设计实验”的基础上,进一步将其中各单元组成系统构造一台模型计算机。 2. 本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。 课程设计内容设计一台基本模型机,并实现相关的指令。 二、课程设计任务和基本要求 本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。 1.按给定的数据格式和指令系统,设计一个微程序控制器。 2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微 程序的为指令代码。

3.连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运 行过程及结果。 4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台 模型计算机。 5.用微程序控制器控制模型机的数据通路。 6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令 与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。 7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的 机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在 PC机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。 三、设计任务及分析 (1)设计任务: 从输入设备读取数据X并将其存入以A为间接地址的 内存单元,将X与R 0. 寄存器中的内容Y执行X ⊕,结果送到以B为直接地址的内存单元保存。 (2)分析: A:给R 寄存器直接置入01H. B:从数据开关给间接地址为0CH的内存单元置数,(03H). C:给R 0中的内容取反,结果存在R 中. D:将间接地址0CH中直接地址0EH中的内容(03H)放入DR1中, R 中的内容 放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R 中. E:将R 中的内容存在直接地址为0DH的内存单元中. 四、设计原理 模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。 本实验采用五条机器指令: IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):

基本模型机设计与实现.

课程设计 课程名称:计算机组成原理 设计题目:基本模型机设计与实现 学院:信息工程与自动化 专业:计算机科学与技术 年级: 学生姓名: 指导教师:王海瑞 日期: 教务处制

课程设计任务书 信息工程与自动化学院计算机专业年级 学生姓名: 课程设计题目:基本模型机设计与实现 课程设计主要内容: 利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微 程序。将所设计的微程序在计算机组成原理教学实验系统环境中进行测试,并给出测试思路和具体程序段。最后撰写出符合要求的课程设计报告。 首先要确定所设计计算机的功能和用途,设计中根据功能和用途确定指令系统, 数据的表示格式,位数,指令的编码,类型,需要设计那些指令和寻址方式。确定相 对应指令所包含的微操作以及总体结构设计之间的数据通路结构,在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微指令。 设计指导教师(签字): 教学基层组织负责人(签字): 年月日

目录 一、基本模型机的设计,,,,,,,,,,,,,,,, 4 1、程序设计目的,,,,,,,,,,,,,,,, 4 2、程序设计任务和基本要求,,,,,,,,,,,, 4 3、实验原理,,,,,,,,,,,,,,,,,,,,,,, 5 二、实验内容及步骤,,,,,,,,,,,,,,,8 1.实验内容,,,,,,,,,,,,,,,,,,,8 2.实验步骤,,,,,,,,,,,,,,,,,10 3.实验情况及记录,,,,,,,,,,,,,,,14 三、总结体会,,,,,,,,,,,,,,,,,,15 四、参考文献,,,,,,,,,,,,,,,,,,16 一、基本模型机的设计 1、程序设计目的 (1)掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,

计算机组成原理-简单模型机设计课设

兰州理工大学技术工程学院 计算机组成原理课程设计任务书(09级)题目:模型机设计—1 学生姓名:学号: 班级:计算机科学与技术(2)班指导老师: 一、计算机组成原理课程设计题目简介 该设计要求学成根据计算机组成原理课程所学知识,设计、开发一套简单的模型就算计。 通过对一个简单计算机的设计,以达到对计算机的基本组成、部件的功能与设计、微程序控制器的设计,微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整体概念,加深计算机时间与空间概念的理解。 二、计算机组成原理课程设计任务 1、查阅文献资料,一般在5篇以上; 2、以教学实验用模型机为背景,通过调研、分析现有的模型机,建立带有带8位自增、自减指令的整机模型; 3、完成系统编程与测试工作; 4、撰写设计说明书; 5、做好答辩工作。 三、计算机组成原理课设设计的主要内容、功能及指标 1、根据任务要求设计整体系统的方案。 2、存储系统:使用模型机的存储模块,说明存储器的输入输出时序,模块连接方式等。 3、运算器:使用模型机的器件,组成带有片间串行进位8位移位运算功能的运算器。 4、微程序控制器模块:使用教学机的系统,设计微程序控制器。 5、设计模型机指令系统:(含设计微指令格式,微程序流程图,每条指令所对

应的微程序等)。指令系统包括下列指令:IN、OUT、STA、LDA、JMP、BZC、CLR、MOV、 ADD、SUB、ADC、ADT、INC、DEC、SBT、SBC 6、了解并说明教学模型机的输入输出模块。 7、在自己设计的指令系统基础上,编制一个汇编语言小程序并进行调试通过。 8、整机设计分模块进行,说明模块中数据和控制信号的来源、去向、功能、时序、以及模块间数据和控制信号的来源、去向、功能、时序等。 四、完成课程设计报告 1、设计题目、设计任务、实验设备与器材; 2、整体设计方案,设计原理与内容; 3、画出模型机数据通路图; 4、画出设计的模型机微程序流程图和微程序; 5、说明指令系统的格式; 6、说明模块中数据和控制信号的来源、去向、功能、时序、以及模块间数据和控制信号的来源、去向、功能、时序等。 7、调试情况,调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等; [1]计算机组成原理课程设计提交的成果 1.设计说明书一份,内容包括: 1)中文摘要100字;关键词3-5个; 2)前言; 3) 设计的目的及设计原理; 4)模型机的逻辑结构及框架; 5) 运算器的物理结构; 6)存储器系统的组成与说明; 7)指令系统的设计与指令格式分析; 8) 微程序控制器的逻辑结构及功能; 9)微程序的设计与实现(含微指令格式、后续地址产生方法以及微程序入口地址的形式)

八位模型机设计

八位模型机设计 | | 实验名称八位模型机设计 课程名称计算机组成原理程序设计 | | 专业班级:计算计科学与技术 学生姓名: 实验日期:2015年5月 验证性、综合性实验报告应含的主要内容: 一、实验目的及要求 二、所用仪器、设备

三、实验原理 四、实验方法与步骤 五、实验结果与数据处理 六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见) 七、所附实验输出的结果或数据 设计性实验报告应含的主要内容: 一、设计要求 二、选择的方案 三、所用仪器、设备 四、实验方法与步骤 五、实验结果与数据处理 六、结论(依据“设计要求”) 七、所附实验输出的结果或数据

目录 一、摘要....................................................................................................... 错误!未定义书签。 二、前言....................................................................................................... 错误!未定义书签。 三、设计目的、任务与内容....................................................................... 错误!未定义书签。 3.1设计目的.......................................................................................... 错误!未定义书签。根据计算机组成原理课程所学知识,设计一个8位的模型计算机。 .. 错误!未定义书签。 3.2设计任务.......................................................................................... 错误!未定义书签。 3.3设计内容.......................................................................................... 错误!未定义书签。 四、八位模型机整体设计........................................................................... 错误!未定义书签。 4.1总体结构.......................................................................................... 错误!未定义书签。 4.2指令系统 (9) 4.3运算器 (10) 4.4存储器 (11) 4.5控制器 (12) 4.6指令流程图和操作时间表 (15) 4.7微指令码 (15) 五、实验感想与讨论 (21) 六、参考文献 (22)

相关主题
文本预览
相关文档 最新文档