桂电计组课设报告

桂电计组课设报告
桂电计组课设报告

目录

一、课程设计题目 (1)

二、嵌入式CISC模型机数据通路框图 (1)

三、操作控制器的逻辑框图 (1)

四、模型机的指令系统和所有指令的指令格式 (2)

五、设计时序产生器电路 (3)

六、机器指令的微程序流程图 (4)

七、嵌入式CISC模型计算机的顶层电路图 (4)

八、汇编语言源程序 (5)

九、机器语言源程序 (5)

十、机器语言源程序的功能仿真波形图及结果分析 (5)

十一、微命令格式和微指令代码表 (7)

十二、故障现象与故障分析 (8)

十三、心得体会 (8)

十四、软件清单 (9)

计算机组成原理课程设计

说明书

一、课程设计题目

输入5个整数(有符号数),输出所有正数的平方和。

二、嵌入式CISC模型机数据通路框图

三、操作控制器的逻辑框图

说明:

在T4内形成微指令的微地址,并访问控制存储器,在T2的上边沿到来时,将读出的微指令打入微指令寄存器,即图中的微命令寄存器和微地址寄存器。

四、模型机的指令系统和所有指令的指令格式

本课设采用13条共计9类机器指令:MOV、IN、CMP、JS、MUL、ADD、DEC、JMP、OUT

(1)MOV指令

7 6 5 4 3 2 1 0

Rd

操作码 X X

数据

(2)IN指令

7 6 5 4 3 2 1 0

操作码 XX Rd

(3)CMP指令

1 0

7 6 5 4 3 2

操作码 Rs Rd

(4)JS指令

7 6 5 4 3 2 1 0

操作码X X X X

地址

(5)MUL指令

7 6 5 4 3 2 1 0

操作码 Rs Rd

(6)ADD指令

7 6 5 4 3 2 1 0

操作码 Rs Rd

(7)DEC指令

7 6 5 4 3 2 1 0

操作码XX Rd

(8)JMP指令

7 6 5 4 3 2 1 0

操作码X X X X

地址

(9)OUT指令

7 6 5 4 3 2 1 0

操作码Rs XX

(10)

指令助记符

指令格式

功能15--12 11 10 9 8 7-----------0

IN Rd 0001 ××Rd ××××××××输入设备→Rd

MOV Rd,im 0010 ××Rd im 立即数→Rd

ADD Rs,Rd 0100 Rs Rd ××××××××(Rs)+(Rd)→Rd,锁存标志位DEC Rd 0110 ××Rd ××××××××(Rd)-1→Rd,锁存标志位JMP addr 1001 ××××addr addr→PC

OUT Rs 1010 Rs ××××××××××(Rs)→输出设备

MUL Rd,Rd 1100 Rd Rd ××××××××(Rd) *(Rd)→Rd CMP Rs,Rd 1101 Rs Rd ××××××××(Rs)-(Rd),锁存SF和CF JS addr 1110 ××××addr 若小于,则addr→PC

(11)其中对Rs和Rd的规定

Rs 或 Rd 选定寄存器

0 0 R0

0 1 R1

1 0 R2

1 1 R3

(12)模型计算机规定数据的表示采用定点整数补码表示,单字长8位,其

格式如下:

7 6 5 4 3 2 1 0

符号位尾数

五、设计时序产生器电路

六、机器指令的微程序流程图

注:以结尾的后继微地址都是00 七、嵌入式CISC模型计算机的顶层电路图

八、汇编语言源程序

指令功能

MOV R1,0 --R1置为0,用于判断正数;

MOV R2,0 --R2置为0,用于存放平方和;

MOV R3,4 --R3置为4,计输入次数;

L1:IN R0 --输入数据存到R0;

CMP R1,R0 —将R0与R1比较,判断正负;

JS L2 --若为负数,跳到L2执行;

MUL R0,R0 --若为正数,作平方运算存到R0;

ADD R0,R2 --R0+R2结果存到R2;

L2:DEC R3 --每输入一次,R3由4自减到0;

CMP R3,R1 --判断次数;

JS L1 --次数不到5次,返回L1继续输入数据;

L3:OUT R2 --满5次,输出结果;

JMP L3 --结束

九、机器语言源程序

地址汇编语言源程序机器语言

00 MOV R1,0 0010000100000000

01 MOV R2,0 0010001000000000

02 MOV R3,4 0010001100000100

03 L1:IN R0 0001000000000000

04 CMP R1,R0 1101010000000000

05 JS L2 1110000000001000

06 MUL R0,R0 1100000000000000

07 ADD R0,R2 0100001000000000

08 L2:DEC R3 0110001100000000

09 CMP R3,R1 1101110100000000 0A JS L1 1110000000000011 0B L3:OUT R2 1010100000000000 0C JMP L3 1001000000001011

十、机器语言源程序的功能仿真波形图及结果分析

输入5个数据: 01,FF(-1),02,FE(-2),03

结果应为: 0E

最后的仿真图中,R2与OUTBUS 上数据均为0E,仿真测试成功。

下面来分析下输入01后的仿真图:

输入01,R0由00变为01,01为正数,PC从05->06->07->08,R0进行自乘,结果为01,R0与R2相加,R2变为01,R3自减一,由04变为03,PC从0A->0B->03,继续输入。

输入FF后的仿真图:

输入FF,R0由01变为FF,FF为负数,PC从05->06->08,R2的值不变,R3自减一,由03变为02。

输入最后一个数03后的仿真图:

输入03,R0由FE变为03,03为正数,PC从05->06->07->08,R0进行自乘,与R2进行加法运算,R2变为0E,R3自减一,由00变为FF,FF为负数,PC由0A->0B->0C->0D->0B,R2输出,OUTBUS循环显示。

十一、微命令格式和微指令代码表

(1)设计微指令格式和微指令代码表

CISC模型机系统使用的微指令采用全水平型微指令,字长为26位,其中微命令字段为18位,P字段为2位,后继微地址为6位,其格式如下:

微地址LOAD LDPC LDAR LDIR LDRi LDPSW Rs_B S2 S1 S0 ALU_B SW_B LED_B RD_D CS_D RAM_B CS_I ADDR_B P1 P2 uA5~uA0

微地址LOA

D

LDP

C

LDA

R

LDI

R

LDR

i

LDP

SW

Rs_

B

S2 S1 S0

ALU

_B

SW_

B

LED

_B

RD_

D

CS_

D

RAM

_B

CS_

I

ADD

R_B

P1 P2

uA5

uA0

00 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 00

01 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 0 00

02 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 00 04 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 00 06 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 00 09 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 00 0A 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 00 0C 1 0 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 00 0D 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 00 0E 1 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 00 10 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 00

(2)设计地址转移逻辑电路

地址转移逻辑电路是根据微程序流程图中的棱形框部分及多个分支微地址,利用微地址寄存器的异步置“1”端,实现微地址的多路转移。

由于微地址寄存器中的触发器异步置“1”端低电平有效,与μA4~μA0对应的异步置“1”控制信号SE4~SE0的逻辑表达式为:(μA5的异步置“1”端SE5实际未使用)

SE4=SF·P(2)·T4

SE3=I15·P(1)·T4

SE2=I14·P(1)·T4

SE1=I13·P(1)·T4

SE0=I12·P(1)·T4

需要注意的是:地址转移逻辑电路中异步置“1”信号SE4~SE0表达式的确定与P字段测试时转移微地址的确定密切相关。

十二、故障现象与故障分析

在这次课程设计,虽然最终顺利的完成了,但是在前期的分析以及调试过程发现了不少问题。

第一个问题是关于JS指令的问题,设计JS是在判断数为负数的时候跳转,如何设置标志位SF,这是首先需要解决的问题。运算结果的第七位为1时SF=1,否则SF=0,这就需要修改ALU单元,PSW单元以及ADDR单元当中的标志位,在ADDR中,SE4<=NOT((NOT SF)AND P2 AND T4)。

第二个问题是运行仿真图置数的问题,前几次检查运行结果均发现不对,于是检查各个寄存器的值,发现有一个数没有打入R0中,而是直接跳过了,询问同学才知道,在INTBUS上置数的长度应该达到下一个IN指令的地方。

第三个问题是判断正负出错的问题,通过前面的仔细检查,数据已经全部置入进去,但是运行结果不对,检查发现在汇编转换为机器语言的时候有两个寄存器写反了,修改后重新编译,最终得到正确结果。

十三、心得体会

对于计算机组成原理课设,周日上第一节课的时候还听得一头雾水,完全不知道如何下手。后来跑去图书馆去借了《计算机原理课程设计》。没开始做设计时,看到课程设计那本书,脑子里没有任何想法。因为根本不知道自己设计指令是什么意思。于是去图书馆借了很多关于这方面的书籍进行阅读,在明白之后大致原理之后才开始动手做课设。在开始编写汇编的时候,由于对之前学习过的汇编语言的遗忘,找出了汇编的课本又重新温习了一边,最后写出了汇编程序。

计组课设的最重要的就是微指令流程图的设计以及微指令的设计,这需要用到这个学期学习的《计算机组成原理》的相关知识,通过边阅读课本以及对照老师给的样例,最终设计出来了属于自己的流程图,设计微指令的时候,必须要懂得哪些是高电平有效,低电平有效或是上边沿有效,这样才能完成自己的设计。

我觉得做课设最关键的其实就是认真和细心,特别是在汇编语言转换成机器

语言的时候,不小心弄错寄存器就是一个很大的问题,还有在之后将自己设计的微指令输入到CONTROM中,机器指令输入到ROM中的时候要特别的小心,不能输错一位,否则运行结果就会出现很大的偏差。

通过本次计组课程设计,对CPU的工作原理有了更好的理解,最后也设计出来一个CISC模型机,发现自己对于基础知识的掌握不太牢固,并且学习到如何运用这些知识来处理一些比较实际的问题。让自己知晓了要多学习,多实践,只有自己亲自去做了才知道事实是怎么样的。能够完成本次课设还要感谢陈老师的耐心指导。

十四、软件清单

各个部件的VHDL源程序(.vhd)或图形描述文件(.gdf)

1.MMM

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY MMM IS

PORT(

SE:IN STD_LOGIC;

CLK:IN STD_LOGIC;

D:IN STD_LOGIC;

CLR:IN STD_LOGIC;

UA:OUT STD_LOGIC

);

END MMM;

ARCHITECTURE A OF MMM IS

BEGIN

PROCESS(CLR,SE,CLK)

BEGIN

IF(CLR='0') THEN

UA<='0';

ELSIF(SE='0')THEN

UA<='1';

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

UA<=D;

END IF;

END PROCESS;

END A;

2.AA电路图

3.CONTROM 控制寄存器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CONTROM IS

PORT(ADDR: IN STD_LOGIC_VECTOR(5 DOWNTO 0);

UA:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);

O:OUT STD_LOGIC_VECTOR(19 DOWNTO 0)

);

END CONTROM;

ARCHITECTURE A OF CONTROM IS

SIGNAL DATAOUT: STD_LOGIC_VECTOR(25 DOWNTO 0); BEGIN

PROCESS

BEGIN

CASE ADDR IS

WHEN "000000" => DATAOUT<="11010010001111110110000000"; WHEN "000001" => DATAOUT<="10001010001011111100000000"; WHEN "000010" => DATAOUT<="10001010001111111000000000"; WHEN "000100" => DATAOUT<="10001110000111111100000000"; WHEN "000110" => DATAOUT<="10001110110111111100000000"; WHEN "001001" => DATAOUT<="01000010001111111000000000"; WHEN "001010" => DATAOUT<="10000000001101111100000000"; WHEN "001100" => DATAOUT<="10001110100111111100000000"; WHEN "001101" => DATAOUT<="10000110010111111100000000"; WHEN "001110" => DATAOUT<="10000010001111111101000000"; WHEN "010000" => DATAOUT<="01000010001111111000000000"; WHEN OTHERS => DATAOUT<="10000010001111111100000000"; END CASE;

UA(5 DOWNTO 0)<=DATAOUT(5 DOWNTO 0);

O(19 DOWNTO 0)<=DATAOUT(25 DOWNTO 6);

END PROCESS;

END A;

4.ADDR 地址寄存器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY ADDR IS

PORT(

I15,I14,I13,I12:IN STD_LOGIC;

SF,CF,T4,P1,P2:IN STD_LOGIC;

SE5,SE4,SE3,SE2,SE1,SE0:OUT STD_LOGIC

);

END ADDR;

ARCHITECTURE A OF ADDR IS

BEGIN

SE5<='1';

SE4<=NOT((NOT SF)AND P2 AND T4);

SE3<=NOT(I15 AND P1 AND T4);

SE2<=NOT(I14 AND P1 AND T4);

SE1<=NOT(I13 AND P1 AND T4);

SE0<=NOT(I12 AND P1 AND T4);

END A;

5.MCOMMAND 微命令寄存器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY MCOMMAND IS

PORT(

T2,T3,T4:IN STD_LOGIC;

D:IN STD_LOGIC_VECTOR(19 DOWNTO 0);

LOAD,LDPC,LDAR,LDIR,LDRI,LDPSW,RS_B,S2,S1,S0:OUT STD_LOGIC;

ALU_B,SW_B,LED_B,RD_D,CS_D,RAM_B,CS_I,ADDR_B,P1,P2:OUT STD_LOGIC );

END MCOMMAND;

ARCHITECTURE A OF MCOMMAND IS

SIGNAL DATAOUT:STD_LOGIC_VECTOR(19 DOWNTO 0);

BEGIN

PROCESS(T2)

BEGIN

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

DATAOUT(19 DOWNTO 0)<=D(19 DOWNTO 0); END IF;

LOAD<=DATAOUT(19);

LDPC<=DATAOUT(18) AND T4;

LDAR<=DATAOUT(17) AND T3;

LDIR<=DATAOUT(16) AND T3;

LDRI<=DATAOUT(15) AND T4;

LDPSW<=DATAOUT(14) AND T4;

RS_B<=DATAOUT(13);

S2<=DATAOUT(12);

S1<=DATAOUT(11);

S0<=DATAOUT(10);

ALU_B<=DATAOUT(9);

SW_B<=DATAOUT(8);

LED_B<=DATAOUT(7);

RD_D<=NOT(NOT DATAOUT(6) AND (T2 OR T3)); CS_D<=NOT(NOT DATAOUT(5) AND T3);

RAM_B<=DATAOUT(4);

CS_I<=DATAOUT(3);

ADDR_B<=DATAOUT(2);

P1<=DATAOUT(1);

P2<=DATAOUT(0);

END PROCESS;

END A;

6.F1 F2 F3

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY F1 IS

PORT(

UA5,UA4,UA3,UA2,UA1,UA0: IN STD_LOGIC;

D:OUT STD_LOGIC_VECTOR(5 DOWNTO 0)

);

END F1;

ARCHITECTURE A OF F1 IS

BEGIN

D(5)<=UA5;

D(4)<=UA4;

D(3)<=UA3;

D(2)<=UA2;

D(1)<=UA1;

D(0)<=UA0;

END A;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY F2 IS

PORT(

D:IN STD_LOGIC_VECTOR(5 DOWNTO 0);

UA5,UA4,UA3,UA2,UA1,UA0: OUT STD_LOGIC );

END F2;

ARCHITECTURE A OF F2 IS

BEGIN

UA5<=D(5);

UA4<=D(4);

UA3<=D(3);

UA2<=D(2);

UA1<=D(1);

UA0<=D(0);

END A;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY F3 IS

PORT(

D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

UA3,UA2,UA1,UA0: OUT STD_LOGIC

);

END F3;

ARCHITECTURE A OF F3 IS

BEGIN

UA3<=D(3);

UA2<=D(2);

UA1<=D(1);

UA0<=D(0);

END A;

7.微程序控制器CROM

8.ALU逻辑单元

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_SIGNED.all;

ENTITY ALU IS

PORT(

X: IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

S2,S1,S0: IN STD_LOGIC;

ALUOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ;

CF,SF: OUT STD_LOGIC

);

END ALU;

ARCHITECTURE A OF ALU IS

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

SIGNAL TEMP1:STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

PROCESS

BEGIN

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

AA<='0'&X;

BB<='0'&Y;

TEMP<=AA+BB;

ALUOUT<=TEMP(7 DOWNTO 0);

CF<=TEMP(8);

SF<=TEMP(7);

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

ALUOUT<=X-Y;

IF(X

CF<='1';

SF<='0';

ELSIF(X=Y) THEN

CF<='0';

SF<='0';

ELSE

CF<='0';

SF<='1';

END IF;

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

TEMP<=AA*BB;

ALUOUT<=TEMP(7 DOWNTO 0);

CF<=TEMP(8);

SF<=TEMP(7);

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

AA<='0'&Y;

TEMP<=AA-1;

ALUOUT<=TEMP(7 DOWNTO 0);

CF<=TEMP(8);

SF<=TEMP(7);

ELSE

ALUOUT<="00000000" ;

CF<='0';

SF<='0';

END IF;

END PROCESS;

END A;

9.PSW状态条件寄存器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY PSW IS

PORT(

C,S,LDPSW: IN STD_LOGIC;

CF,SF: OUT STD_LOGIC

);

END PSW;

ARCHITECTURE A OF PSW IS

BEGIN

PROCESS(LDPSW)

BEGIN

IF(LDPSW'EVENT AND LDPSW='1') THEN CF<=C;

SF<=S;

END IF;

END PROCESS;

END A;

10.LS273

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY LS273 IS

PORT(

D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

CLK: IN STD_LOGIC;

Q: 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

Q<=D;

END IF;

END PROCESS;

END A;

11.FEN2

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY FEN2 IS

PORT(

LED_B:IN STD_LOGIC;

DBUS:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

FENOUT,OUTBUS:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

END FEN2;

ARCHITECTURE A OF FEN2 IS

BEGIN

PROCESS

BEGIN

IF(LED_B='0') THEN

OUTBUS<=DBUS;

ELSE

FENOUT<=DBUS;

END IF;

END PROCESS;

END A;

12.MUX4_1

计算机组成原理阵列乘法器课程设计报告

. 课程设计

. 教学院计算机学院 课程名称计算机组成原理题目4位乘法整列设计专业计算机科学与技术班级2014级计本非师班姓名唐健峰 同组人员黄亚军 指导教师 2016 年10 月 5 日

1 课程设计概述 1.1 课设目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。 1.2 设计任务 设计一个4位的二进制乘法器: 输入信号:4位被乘数A(A1,A2,A3,A4), 4位乘数B(B1,B2,B3,B4), 输出信号:8位乘积q(q1,q2,q3,q4,q5,q6,q7,q8). 1.3 设计要求 根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。 (1)制定设计方案: 我们小组做的是4位阵列乘法器,4位阵列乘法器主要由求补器和阵列全加器组成。 (2)客观要求 要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。

2 实验原理与环境 2.1 1.实验原理 计算机组成原理,数字逻辑,maxplus2是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分积求和得到最终的对应数位的权值。 2.2 2.实验环境 2.2.1双击maxplu2II软件图标,启动软件 (1).新建工程,flie->new project ....,出现存储路径的选项框,指定项目保存路径并且为工程命名,第三行设置实体名,保持与工程名一致。点击OK

计组实验报告

计算机组成原理实验报告 实验1:VERILOG 设计基础 专业班级:14级计算机二班 学号:14048001 姓名:杨娜 学号:14048003 姓名:周蓉 实验地点:理工楼901 实验时间:2016年5月14日

实验十VGA显示控制器的设计 一、实验目的 1、学习VERILOG的基本语法和编程规则 2、掌握通用寄存器等常用基本数字模块的VERILOG描述和基本设计方法 3、理解带使能控制和异步清零的8位寄存器的设计原理 4、掌握使用VERILOG设计和验证带使能控制和异步清零的8位寄存器的方法 5、掌握移位寄存器的设计方法 二、实验任务 1、设计一个带使能控制和异步清零的8位寄存器REG8X,实现8位输入的锁存,在时钟的上升沿处得到一个8位的输出和一个8位的反向输出,将结果显示在发光二极管。 模块的端口描述如下: 模块的参考物理结构如下: R7 R6 R i R 0 7 6 i 0 带使能控制和异步清零的8位寄存器 模块的使用注意事项

1.数据源D(7..0)一直加在寄存器的数据输入端; 2.周期性的时钟信号Clock一直加在寄存器的时钟输入端 3.使能信号Enable控制寄存器是否接受数据。当Enable = '0'时,寄存器不 接受数据,保持原来的状态不变;当Enable = '1'时,在时钟信号Clock正 跳变时,寄存器接受并保存当时D(7..0)的数据; 4.本寄存器其它方面的功能与上述的寄存器相同。 完成的参考电路图如下:dout=q 2、设计一个有左、右移位功能的8位寄存器REGSHIFT8,并仿真验证。

三、实验内容 1、通过输入数据先进行计算,并通过实验进行验证REG8X。 (1)、将清零信号Resetn(sw17)设为0,将输入信号D(sw7~sw0)设为10101010,观察输出信号Q(ledr7~ledr0)和Qb(ledg7~ledg0),观察并记录输出。 (2)、将清零信号Resetn(sw17)设为1,在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (3)、将输入信号D(sw7~sw0)设为01010101,观察并记录输出。 (4)、在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (5)、自行完善设计表格,观察并记录测试输出。 实验数据表 2、通过输入数据先进行计算,并通过实验进行验证REGSHIFT8。 (1)、测试清零信号Resetn (2)、测试移位功能 (3)、测试寄存功能 (4)、自行设计表格观察并记录测试输出。 实验数据表

计组课后

7. 什么叫系统的并行性?粗粒度并行和细粒度并行有何区别? 答:所谓并行性包含同时性和并发性。同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或多个事件在同一时间段发生。即在同一时刻或同一时间段内完成两个或两个以上性质相同或性质不同的功能,只要在时间上存在相互重叠,就存在并行性。 并行性又分为粗粒度并行和细粒度并行两类。粗粒度并行是指在多个处理机上分别运行多个进程,由多台处理机合作完成一个程序,一般用算法实现。细粒度并行是指在处理机的指令级和操作级的并行性。 8. 什么是指令流水?画出指令二级流水和四级流水的示意图,它们中哪个更能提高处理机速度,为什么? 答:指令流水是指将一条指令的执行过程分为n 个操作时间大致相等的阶段,每个阶段由一个独立的功能部件来完成,这样n 个部件就可以同时执行n 条指令的不同阶段,从而大大提高CPU 的吞吐率。 指令二级流水和四级流水示意图如下: IF ,ID EX ,WR IF ,ID EX ,WR IF ,ID EX ,WR 二级指令流水示意图四级指令流水示意图IF ID EX WR IF ID EX WR EX WR IF ID 四级流水更能提高处理机的速度。分析如下: 假设IF 、ID 、EX 、WR 每个阶段耗时为t ,则连续执行n 条指令 采用二级流水线时,耗时为:4t+(n-1)2t=(2n+2)t 采用四级流水线时,耗时为:4t+(n-1)t=(n+3)t

在n>1时,n+3<2n+2,可见四级流水线耗时比二级流水线耗时短,因此更能提高处理机速度。 17. 在中断系统中INTR、INT、EINT三个触发器各有何作用? 解:INTR——中断请求触发器,用来登记中断源发出的随机性中断请求信号,以便为CPU查询中断及中断排队判优线路提供稳定的中断请求信号。 EINT——中断允许触发器,CPU中的中断总开关。当EINT=1时,表示允许中断(开中断),当EINT=0时,表示禁止中断(关中断)。其状态可由开、关中断等指令设置。 INT——中断标记触发器,控制器时序系统中周期状态分配电路的一部分,表示中断周期标记。当INT=1时,进入中断周期,执行中断隐指令的操作。 24. 现有A、B、C、D四个中断源,其优先级由高向低按A、B、C、D 顺序排列。若中断服务程序的执行时间为20μs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。解:A、B、C、D的响优先级即处理优先级。CPU执行程序的轨迹图如下:

计算机组成原理课程设计报告

计算机组成原理课程设计报告JUC2模型机的微程序设计 姓名沈钰城 学号3140604029 专业信息安全 指导教师肖铁军 江苏大学计算机学院 2016年1 月 6 日

一.实验环境 1.使用的硬件实验板 (1)品牌,型号 实验板品牌:Altera 实验板型号:DE2-115 FPGA芯片品牌:Cyclone IV E FPGA芯片型号:EP4CE115 (2)FPGA在现代工业中的应用 FPGA令系统开发商的产品更快速地推向市场;更长的生命周期;灵活性,可支持各种标准和网络协议;低成本,低功耗。 在工业应用中,FPGA可取代旧的ASIC技术,提供更具成本有效性的解决方案;FPGA作为通信协处理器负责连接到以太网的工作,灵活的解决方案可以通过一个硬件平台支持多种协议;用FPGA控制马达,通过它的嵌入式处理器,实时特性和数字编码器轻松实现。 另一个典型应用是马达控制。目前世界工业电力的2/3都用来驱动电机,但只有2%的电机使用了可变速的驱动,如果使用变速电机控制每年将节约10个发电厂的能量。使用电机控制芯片技术将把工业应用的能耗效率提升到88%。系统有这样的需求:在增加以太网连接能力同时不想增加额外的器件;想要灵活的方法去控制多个马达和差异化的产品;想要一个支持马达控制和现场总线连接能力的单芯片方案。基于Cylone III的马达驱动方案通过集成了不同的算法和I/O接口可满足不同的特性需求。Altera与第三方伙伴合作,将他们提供的优化算法整合到FPGA中,一个平台可实现多个电机控制,大大提高能源利用效率 2.使用的设计软件 (1)品牌、名称、版本、发布年份 软件品牌:Altera 名称:quartus ii 版本:12.0 发布年份:2012 (2)行业对该软件的评价 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。支持MAX7000/MAX3000等乘积项器件 Quartus II设计套装的其他特性包括:DSP Builder 12.0新的数字信号处理(DSP)支持——通过系统控制台,与MATLAB的DDR存储器进行通信,并具有新的浮点功能,提高了设计效能,以及DSP效率。经过改进的视频和图像处理(VIP)套装以及视频接口IP——通过具有边缘自适应算法的Scaler II MegaCore功能以及新的Avalon-Streaming (Avalon-ST)视频监视和跟踪系统IP内核,简化了视频处理应用的开发。增强收发器设计和验证——更新了Arria V FPGA的收发器工具包支持,进一步提高收发器数据速率(对于Stratix V FPGA,高达14.1 Gbps)。 3.使用的调试工具 硬件:JUPOD调试适配器 软件:JULAB实验系统软件 江苏大学计算机学院研发

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

计算机组成原理课设

计算机组成原理课程设计报告 班级:09计算机03 班姓名:** 学号:******** 完成时间:2012年1月3日 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、课程设计使用的设备(环境) 1.硬件 ●COP2000实验仪 ●PC机 2.软件 ●COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现 (1)该模型机指令系统的特点: ①总体概述 COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。 模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。相比而言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。

计算机组成原理课程设计报告完整版

计算机组成原理课程设计报告 班级:06计算机 6 班姓名:李凯学号:20063007 完成时间:2009年1月3日 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、课程设计使用的设备(环境) 1.硬件 ●COP2000实验仪 ●PC机 2.软件 ●COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点: COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、

累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。 模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。相比而言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。 模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

计组课设-微指令的设计实验

计算机组成原理课程设计报告 班级:计算机/物联网班姓名:学号: 完成时间:2016.1.14 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、课程设计使用的设备(环境) 1.硬件 ●COP2000实验仪 ●PC机 2.软件 ●COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点: 从指令字长来看该模型机指令系统包含单字长和双字长两种格式的指令,字长为8位,对于需要访问内存的指令都是双字长的,指令系统中大多数指令是单字长;从指令操作码是定长和变长来看,这里认为,虽然ADD A, R?和ADD A, @R?都是执行加法操作,但他们是不同的指令,将指令格式中寻址寄存器的两位也认为是操作码的一部分,这两条指令的操作码不同。因此,指令系统的指令格式是定长操作码的,操作码为6位。 1)双字长的指令格式如下:

2)单字长的指令格式如下: 举例: 该模型机微指令系统的特点(包括其微指令格式的说明等): 该模型机微指令系统的微指令格式是水平型微指令,微指令的字长为24位,是机器字长的3倍,每条微指令仅包含微操作控制字段,无顺序控制字段。操作控制字段的每一位对应一个微操作,采用字段直接译码的方式对系统进行控 举例:微指令CBFFFF:取指令

桂林电子科技大学暑期社会实践报告

桂林电子科技大学暑期社会实践报告

前言 在注重素质教育的今天,大学生社会实践活动是高等教育不可或缺的有机组成部分,是推进素质教育进程的重要手段,也是课外教育的一个重要方面。通过参加一些实践性活动巩固所学的理论,增长一些书本上学不到的知识和技能。大学生社会实践活动是引导学生走出校门、接触社会,使理论与实践相结合,培养学生分析问题与解决问题能力的重要途径。通过社会实践活动,既能锻炼大学生的社会活动能力、人际交往能力、创新能力与组织能力,也可提高大学生的思想觉悟,增强大学生服务社会的意识,促进大学生的健康成长,同时对于帮助大学生树立正确的世界观、人生观、价值观也有重要的现实意义。 因此,为了更好的了解社会,锻炼自己,感受社会就业的现状,体验一下工作的乐趣,在大二结束的这个暑期,我参与了我们学校图书馆搬迁工作,主要负责对图书进行下架、打包、上架和整理。在为期一个月工作过程中,我遇到了图书馆搬迁工作中的常见问题,比如怎样高效的进行图书下架、打包以及怎样合理的上书、分配架位等。在近一个月的实践活动中,我学习到了许多在课堂上学不到的东西,自己在各方面都有所提高,丰富了自己的一些社会实践经历。

哈哈,今天活更少了。上午早早干完了,而下午花了一个小时去东区图书馆吃西瓜。 7.25晚 今天我们来到了东区图书馆,由于离山里太远,所以中午也不方便回了。刚吃完中午饭,下了一阵雨。然后大家就在图书馆里自己找地方休息了,而我在电扇下,放了四张凳子,头下垫一本书躺在凳上就睡着了,后来竟被电扇吹得冷醒了。休息完后我们中午一点就开始干了,趁有三台机子争取多干一些,这样后面任务就少了。 明后天是周末,没有活干。 7.26晚 今天小组把下架打包任务完成了,可以休息几天,接下来等待上架的通知。 7.27晚 今天图书馆搬迁工作基本完成了,图书上完架了,在修整几次后,终于通过了领导的检查,大家都很开心,也想着马上就可以领导工资了。充实的暑假也就这样结束了,新学期马上就要开始了,加油! 8.31晚 工作日记还有很多,在这里我就不一一抄在这里了。看到这些日记,记忆越来越清晰了,想想工作过程也越加明了了。 二、收获体会 首先,通过最初的培训和后面的实习工作,我了解了图书的分类和编号。 图书的分类:按照《中国图书馆图书分类法》,藏书可分为22类,分别用A、B、C、D、E、F、G、H、I、J、K、N、O、P、Q、I、S、T、U、V、X、Z、字母表示,它们分别代表:A 马克思主义、列宁主义、毛泽东思想 B 哲学 C 社会科学总论 D 政治、法律 E 军事 F 经济 G 文化、科学、教育、体育 H 语言、文字 I 文学 J 艺术 K 历史、地理 N 自然科学总论O 数理科学和化学 P 天文学、地理科学 Q 生物科学 R 医学、卫生 S 农业科学 T 工业技术 U 交通运输 V 航空、航天 X 环境科学、劳动保护科学(安全科学) Z 综合性图书。为什么会没有L、M、W、Y这几种分类?那是因为:从A到K基本是文科类,L和M是为文科类的扩展预留的。N到V为理工科类,后来增加X 为环境和安全类,剩下W和Y为理工科类预留。最后Z为综合类。 图书编号:大致规则是字母分类后面的数字大小,按照从上到下,同列的为从左到右,不同书架呈S型地从小到大的顺序排列。当然没有这么简单,其中还有很多细致的规则,我就不详说了。 其次,图书馆的搬迁工作是一项系统工作,科学、全面、系统的规划是搬迁工作成功与否、效率高低的关键。如何在最短的时间内,以最快的速度、最好的质量、最少的费用圆满地完成图书馆的搬迁任务,成为很多新建和扩建高校图书馆面临的一项重要课题。搬迁工作需组织者立足全局,周密细致地做好新馆规划和搬迁准备工作,并要求每一位工作者倾力合作,这样才能保证有效的完成任务。下面分别谈谈大致的三个阶段:

计算机组成原理课程设计微程序报告

微程序控制器的设计与实现

目录 1设计目的 (3) 2设计内容 (3) 3具体要求 (3) 4设计方案 (3) 5 调试过程 (11) 6 心得体会 (12)

微程序控制器的设计与实现 一、设计目的 1)巩固和深刻理解“计算机组成原理”课程所讲解的原理,加 深对计算机各模块协同工作的认识 2)掌握微程序设计的思想和具体流程、操作方法。 3)培养学生独立工作和创新思维的能力,取得设计与调试的实 践经验。 4)尝试利用编程实现微程序指令的识别和解释的工作流程 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计要求 1)仔细复习所学过的理论知识,掌握微程序设计的思想,并根 据掌握的理论写出要设计的指令系统的微程序流程。指令系 统至少要包括六条指令,具有上述功能和寻址方式。 2)根据微操作流程及给定的微指令格式写出相应的微程序 3)将所设计的微程序在虚拟环境中运行调试程序,并给出测试 思路和具体程序段 4)尝试用C或者Java语言实现所设计的指令系统的加载、识 别和解释功能。 5)撰写课程设计报告。 四、设计方案 1)设计思路 按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出

此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR 和EMRD决定是将DBUS数据写到EM中,还是 从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR 和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT 里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。 FEN:将标志位存入ALU内部的标志寄存器。 X2:X1:X0: X2、X1、X0三位组合来译码选择将数据送到DBUS

桂林电子科技大学-通信原理复习(终极)

1、 数字通信系统模型的构成及各部分主要功能? 信 源 信源编码 信道编码 调 制 信 道 解 调 信道译码 信源译码 信 宿 噪声 干扰 加 密 解 密 2、 相比较与模拟通信,数字通信有哪些优缺点? ● 数字通信相对于模拟通信具有如下一些优点: 1)抗干扰能力强,可消除噪声积累;2)采用差错控制技术,改善传输质量;3)便于与各种数字终端借口,4)利用现代计算技术对信息进行处理存储、变换;5)便于加密处理,保密性强;6)便于集成化,使通信设备微型化 ● 缺点 占据系统频带宽,频带利用率不高;对同步要求高,系统设备比较复杂 3、 衡量一个通信系统的性能指标有哪些? 主要性能指标是有效性和可靠性。 有效性包括传输速率或频带利用率。 模拟通信有效性:有效传输带宽,占用的频带越小,有效性越高。 可靠性:输出信噪比 数字通信有效性:传输速率/频带利用率 可靠性:误码率,错误码元数/总码元数 误信率,错误比特数/总比特数 4、 写出香农公式及其含义?提高信道容量的方法有哪些? 系统的最高信息传输速率即信道容量 2log (1/) c W S N =+ 提高信道容量的方法:1)提高信噪比;2)增加带宽,有极限;3)降低干扰功率 5、 模拟信号转换为数字信号的过程包含几个部分?每个过程有无误差有无逆过程? 将模拟信号转换成数字信号的过程主要分为3部分:采样、量化、编码 采样:把连续时间模拟信号转换成离散时间连续幅度的信号(可以无失真,有逆过程) 当抽样频率fs 大于或等于2fH,则可以无失真的重建回复原始信号。 量化:将离散时间连续幅度的信号转换成离散时间离散幅度的信号的数字信号(有误差, 无逆过程) 编码:将量化后的信号编码形成一个二进制码输出。(无误差,有逆过程译码) 在满足抽样定理的前提下,抽样过程是可逆的。而量化过程是不可逆的,经量化得到的数字信号不可能不失真地恢复原信号,它必定要引入量化误差或量化噪声。 6、 求PCM 带宽、压缩编码的方法? 压缩方法:差分编码调制(DPCM)、自适应差分编码调制(ADPCM)、线性预测编码(LPC)、子带编码(SBC)等 7、 造成错误判决的原因? 误码是由接收端抽样判决器的错误判断造成的 原因:码间串扰,信道加信噪声

桂林电子科技大学各专业与对应学院一览表

桂林电子科技大学各专业与对应学院一览表学院专业名称 1院 机电工程学院机械设计制造及其自动化 机电工程学院电气工程及其自动化 机电工程学院机械电子工程 机电工程学院电子封装技术 2院 信息与通信学院通信工程 信息与通信学院电子信息工程 信息与通信学院电子科学与技术 信息与通信学院微电子科学与工程 信息与通信学院信息对抗技术 3院 计算机科学与工程学院计算机科学与技术 计算机科学与工程学院信息管理与信息系统 计算机科学与工程学院软件工程 计算机科学与工程学院信息安全 计算机科学与工程学院数字媒体技术 计算机科学与工程学院网络工程 计算机科学与工程学院物联网工程 4院 艺术与设计学院工业设计 艺术与设计学院产品设计 艺术与设计学院视觉传达设计 艺术与设计学院环境设计 艺术与设计学院服装与服饰设计 艺术与设计学院动画 艺术与设计学院书法学 5院 商学院会计学 商学院市场营销 商学院工业工程 商学院电子商务 商学院工商管理 商学院财务管理 商学院国际经济与贸易 商学院物流管理 商学院人力资源管理 6院 外国语学院英语

外国语学院日语 7院 数学与计算科学学院信息与计算科学 数学与计算科学学院统计学 数学与计算科学学院数学与应用数学 8院 电子工程与自动化学院测控技术与仪器 电子工程与自动化学院光电信息科学与工程电子工程与自动化学院电子信息科学与技术电子工程与自动化学院自动化 电子工程与自动化学院智能科学与技术 9院 法学院法学 法学院知识产权 10院 材料科学与工程学院材料科学与工程 材料科学与工程学院材料成型及控制工程 材料科学与工程学院应用物理学 材料科学与工程学院高分子材料与工程 11院 公共事务学院公共事业管理 公共事务学院行政管理 12院 生命与环境科学学院环境工程 生命与环境科学学院生物工程 生命与环境科学学院生物医学工程 13院 建筑与交通工程学院交通工程 建筑与交通工程学院建筑环境与能源应用工程建筑与交通工程学院土木工程 建筑与交通工程学院建筑电气与智能化 14院 国际学院汉语国际教育

计组课设实验报告

《计算机组成原理与系统结构》课程设计 实 验 报 告 课题:两个16位二进制数加法计算 班级: 成员: 完成日期:2013年10月11日

一:课程设计步骤 1.确定设计目标 综合考虑实验条件及自身能力水平,以及设计功能的可靠性和实用性,我们小组决定将设计目标定为“两个16位二进制数相加”。分两次分别输入两个加数的低八位和高八位,输出两个16位二进制数相加的结果。 2.确定指令系统 (1)数据格式 模型机规定数据采用定点整数补码表示,字长为8位,其格式如下: 7 6 5 4 3 2 1 0 符号尾数 (2)指令格式 模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。 ①算术逻辑指令 设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE RS RD 其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定: RS或RD 选定的寄存器 00 01 10 R0 R1 R2 ②I/O指令 输入(1N)和输入(OUT)指令采用单字节指令,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE addr RD 其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“INPUT DEVICE”中的数码块作为输入设备。 ③访问指令及转移指令 模型机设计两条访问指令,即存数(STA)、取数(LDA),两条颛臾指令,即无条件转移(JMP)、结果为零或有进位转移(BZC),指令格式如下: 7 6 5 4 3 2 1 0 00 M OP-CODE RD D 其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为位移量(正负均可),M为寻址模式,其定义如下: 寻址模式有效地址E 说明 00 E=D 直接寻址

计组实验报告.

武汉大学计算机学院计算机科学与技术专业 CPU设计实验报告 实验名称:开放式实验CPU设计课题名称: 计算机组成原理 班级: 指导教师:徐爱萍 组长: 组员: 二零一五年三月

目录 目录 (1) 1 实验环境 (2) 1.1 Quartus Ⅱ介绍 (2) 1.2 硬件描述语言(VHDL) (3) 1.3实验的主要成果 (3) 2 实验要求 (5) 2. 1 指令格式要求 (5) 2. 2 指令流程及微信号序列分析 (6) 2.2.1 ADD指令分析 (6) 2.2.2 ADC指令分析 (7) 2.2.3 SUB指令分析 (7) 2.2.4 SBC指令分析 (7) 2.2.5 INC指令分析 (7) 2.2.6 DEC指令分析 (8) 2.2.7 SHL指令分析 (8) 2.2.8 SHR指令分析 (8) 2.2.9 MOVR指令分析 (8) 2.2.10 MOVD指令分析 (9) 2.2.11 LDRR指令分析 (9) 2.2.12 STRR指令分析 (10) 2.2.13 JMP指令分析 (10) 2.2.14 JRC指令分析 (11) 2.2.15 JRZ指令分析 (11) 2.2.16 JRS指令分析 (11) 2.2.17 CLC指令分析 (11) 2.2.18 STC指令分析 (11) 3.部件仿真实验 (11) 3.1 八个通用寄存器设计与仿真 (11) 3.1.1 设计代码 (11) 3.1.2 RTL连接图 (17) 3.1.3 仿真过程 (17) 3.2算术逻辑单元设计与仿真 (18) 3.2.1 设计代码 (18) 3.2.2 RTL连接图 (21) 3.2.3 仿真过程 (22) 4. CPU设计 (23) 4.1取指设计 (23) 4.2指令译码的设计 (25) 4.3执行部分设计 (28) 4.4存储器部分设计 (31) 4.5通用寄存器组设计 (32)

计组实验报告--部分

2、设计报告 2、1实验方法 本实验要完成的工作主要包括: 1、指令系统的设计 2、利用VHDL语言完成实验CPU的设计,包括通用寄存器的设计、取值部分设计、指令译 码设计、执行设计、存储器设计、程序包设计和顶层设计设计 3、在Quatus II 平台上进行仿真,并下载到TEC-CA教学实验箱上进行调试。 这三大部分为并行关系,只有在完成上一部分的基础上才能继续进行下一步,而第二大部分可以同时并行进行。 实验的主要流程图为图2.1所示。 图2.1

在指令系统和CPU逻辑设计时,主要的方法是先根据老师给的指令要求,确定CPU所要实现的功能,根据寄存器等的情况划分指令格式,然后根据功能写出指令,根据不同指令的特点将它们分组并确定操作码;接下来设想每条指令的执行过程,需要哪些硬件支持,最后确定整个CPU的逻辑结构图。 2、2总体说明 2.2.1 CPU组成部件 实验CPU由5部分组成:取指部分instru_fetch、指令译码部分decoder_unit、执行部分exe_unit、存储器部分memory_unit和通用寄存器组fegile.另外,还有一个程序包exe_cpu_components,将各底层设计实体作为元件存储,供各设计实体使用。顶层设计实体exe_cpu完成5个组成部分的链接。 GR(8位,4个寄存器),ALU(8位),时序节拍发生器timer,AR(8位),IR(8位),PC(8位)、PC(8位),RAM(8位),组合期间T1,T2,T3。逻辑控制器件controller,地址总线(8位),数据总线(8位)。 2、2、2整机原理实验图

图2.2.1 图2.2.2

课程设计报告(计算机组成原理)

课程设计(大作业)报告 一、题目分析 本次课程设计课题是设计基于微程序控制器的简单计算机设计与实现,宏观上利用CPU、cache、存储器以及一些外设设备来组成一台简单计算机,微观上由运算器、译码电路、和存储器指令用的控制存储器构成。此次设计要求完成各个指令的格式以及编码的设计,实现各个机器指令的微代码。 本计算机实现的功能有:IN(输入),OUT(输出),ADD(加法),SUB(减法),STA(存数),JMP(跳转)。设计进行开始,在了解微程序的基本格式, 及各个字段值的作用后, 按微指令格式参照指令流程图,设计出程序以及微程序,将每条微指令代码化,译成二进制代码表,并将二进制代码转换为联机操作时的十六进制格式文件。根据机器指令系统要求,设计微程序流程图及确定微地址。设计的加法和减法中, 被加数和被减数都由调试人员输入, 而加数和减数都从存储器中读取. 最后上机调试,各个功能运行结果正确。 二、基本理论 计算机原理图 (一)、ALU 1、功能及组成 它是数据加工处理部。执行所有的算术运算执行所有的逻辑运算,并进行

逻辑测试,通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。 2、设计图 (二)、CPU 1、如何执行指令 (1)MOV指令 a. 程序计数器PC中装入第一条指令地址101 b. PC的内容被放到指令总线ABUS上,对指存进行译码,并启动读命令。 c. 从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR。 d. 程序计数器内容加1,变成102,为取下一条指令做好准备。 e. 指令寄存器中的操作码被译码。 f. CPU识别出是MOV指令。至此,取值周期结束。 g. 操作控制(OC)器送出控制信号到通用寄存器,选择R1作源寄存器,选择R0作目标寄存器。 h. OC送出控制信号到ALU,制定ALU做传送操作。 i. OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS 上。(任何时候DBUS上只能有一个数据) j. OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR。 k. OC送出控制信号,将DR中的数据打入到目标寄存器R0,R0的内容由00变为10。至此,MOV指令执行结束。 (2)LAD指令 a. 取指周期与MOV指令取指周期一样,只是PC提供的指命令地址为102,按此地址从指令存储器读出指令放入IR中,然后将PC+1,使PC内容变为103,为取下一条ADD指令做好准备。 b. 操作控制器OC发出控制命令打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上。 c. OC发出读命令,将地址码6装入数存地址寄存器AR。 d. OC发出命令,将数存6号单元中的数100读出到DBUS上。 e. OC发出命令,将DBUS上的数据100装入缓冲寄存器DR。 f. OC发出命令,将DR中的数100装入通用寄存器R,原来R1中的数10被冲掉,至此,LAD指令执行周期结束。

计算机组成原理课设论文

计算机组成原理课程设计 题目:计算机原理课程设计 学院:计算机科学与工程学院 专业:计算机科学与技术 姓名:孤狼 学号:1100310315 指导教师: 2014年03月20 日

目录 一.课程设计选题和完成内容 (2) 二、系统的总体设计 (2) 2.1 嵌入式CISC模型机的数据通路框图 (2) 2.2 系统的操作控制器的逻辑框图 (2) 2.3模型机的指令格式 (3) 2.4编写汇编源程序 (5) 2.5最终机器码 (5) 三、时序产生器 (5) 四、微程序控制器的设计 (6) 4.1设计微指令流程图 (6) 4.2 设计微指令格式和微指令代码表 (8) 4.3设计地址转移逻辑电路 (10) 五、单元电路设计 (10) 5.1模型机顶层电路设计 (11) 5.2模型机crom单元电路设计 (12) 六、设计过程所遇到的问题及解决记录136.1JNS无法完成循环跳转 (13) 6.2STO(STO R2 (R0) )存储位置每次都为00H (13) 七、测试及结果分析 ................................................................................... 错误!未定义书签。 八、心得体会总结 (16) 九、附录 (16) 各个单元的电路设计或VHDL源文件

一.课程设计选题和完成内容 选题:本设计选择题目为A类第一题 题目:设计一台嵌入式CISC模型计算机 采用定长CPU周期、联合控制方式,并运行能完成一定功能的机器语言源程序进行验证,机器语言源程序功能如下: A类(最高成绩为“优”): ●输入包含5个整数(有符号数)的数组M,输出所有负数的平方和。(非卓越班) ●输入包含5个整数(有符号数)的数组M,输出最大负数的绝对值。(非卓越班) ●输入包含10个整数(无符号数)的数组M,输出众数(出现次数最多的数)及其出现的次数。(卓越班) ●输入包含10个整数(无符号数)的数组M,输出中位数。(卓越班) 说明:A类题目的嵌入式模型计算机内必须设计和使用RAM存储器读写数据,相应地需要设计对RAM存储器数据的读写指令,以及对RAM中数组操作必须的寄存器间接寻址方式等。 B类(最高成绩为“良”): ●输入5个整数(有符号数),输出所有负数的平方和。(非卓越班) ●输入5个整数(有符号数),输出最大负数的绝对值。(非卓越班) ●输入5个整数(有符号数),输出它们的平均值,以及小于此平均值的数的个数。(卓越班) 要完成的内容: 1.完成系统的总体设计,画出模型机数据通路框图; 2.设计微程序控制器(CISC模型计算机)的逻辑结构框图; 3.设计机器指令格式和指令系统; 4.设计时序产生器电路; 5.设计所有机器指令的微程序流程图; 6.设计操作 7.的所有单元电路,并用VHDL语言(也可使用GDF文件--图形描述文件) 8. 对模型机中控制器单元; 设计模型机的各个部件进行编程,并使之成为一个统一的整体,即形成顶层电路。 9.由给出的题目和设计的指令系统编写相应的汇编语言源程序; 9.根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将其设计 到模型机中的ROM中去; 10.使用EDA软件进行功能仿真,要保证其结果满足题目的要求;(其中要利用EDA软

相关文档
最新文档