计算机组成原理课程设计习题.docx
- 文档编号:10011159
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:40
- 大小:170.55KB
计算机组成原理课程设计习题.docx
《计算机组成原理课程设计习题.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计习题.docx(40页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计习题
第一部分VHDL习题
1.说明VHDL的英文含义或中文描述
2.VHDL是由那个组织提出的?
它有几个版本?
除了VHDL外,Verilog也是一种硬件描述语言,它的语法结构和那种高级语言基本相同?
3.说明FPGA的英文含义或中文描述
4.说明EDA的英文含义或中文描述
5.分别说明一个VHDL源文件包括那四部分,那一部分可以不需要?
6.VHDL源文件保存后的扩展名是什么?
7.实体的保留字是什么?
在实体中主要定义什么内容?
8.端口定义中的模式主要有那四种,分别说明它们的特点.
9.构造保留字是什么?
在构造中主要定义什么内容?
10.库引用说明文件类似于C中的哪个文件?
11.端口定义的信号如果赋初植,用哪个符号?
12.说出至少2个VHDL保留字
13.定义标识符时,可以使用英文字母(大小写都可以),可以使用数字字符0-9,可以使用下划线,但下划线不可以用在标识符的开始或结束,也不能连续使用。
下面列出了一些标识符,判断它们是否是合法的VHDL标识符.
14.VHDL标识符大小写英文字母是否做区分?
15.说明字符串和位串的区别
16.VHDL的注释符号和行分割符号分别是什么?
17.VHDL的数据对象是常量、变量和信号,它们的赋值符号分别是什么?
其中信号赋值符号有2个,分别用于什么位置?
18.说明变量和信号的区别
19.写出常量、变量和信号的保留字
20.变量和信号的赋值表达式里哪个可以到AFTER(时间延迟)?
21.在VHDL中已经预先定义了下面的一些类型,说明他们的名字
Integer,real,character,time,string,bit,std_logic,boolean
22.说明bit,std_logic的区别
23.Bit和std_logic的后面加VECTOR变化为什么类型?
24.说明各种运算符号的含义
25.在VHDL里,符号“<=”有两个含义,分别说明它们的含义以及它们使用的场合
26.下面是一个逻辑非门的VHDL描述,填空。
本题主要联系单分支结构
entityand2is
Port(a:
instd_logic;
b:
outstd_logic);
endand2;
architectureBehavioralofand2is
begin
process(a)
begin
ifa='0'then
b<='______⑴_____';
else
b<='______⑵_____';
endif;
endprocess;
endBehavioral;
27.下面两个分别描述了一个电平驱动的D触发器和一个脉冲驱动的D触发器
区别一个信号在什么情况下是电平?
什么情况下是脉冲?
这两个例题还说明了ELSE可以不出现在IF结构中。
28.下面VHDL包含了一个IF嵌套结构,说明它描述的电路的功能
29.上面VHDL描述语句
elsif是否应为elseif?
30.分析下面的电路描述,体会多分支结构,说明电路的功能
entityand2is
Port(a,b:
instd_logic;
c:
outstd_logic);
endand2;
architectureBehavioralofand2is
begin
--c<=aandb;
process(a,b)
variabletmp:
std_logic_vector(1downto0);
begin
tmp:
=a&b;
casetmpis
when"00"=>c<='0';
when"01"=>c<='0';
when"10"=>c<='0';
when"11"=>c<='1';
whenothers=>c<='X';
endcase;
endprocess;
endBehavioral;
31.说明循环控制结构中NEXT和EXIT分别类似于C中那两个语句?
32.下面VHDL描述包括了一个循环结构,说明电路的功能,将FOR结构改为WHILE实现
33.下面是一个函数应用实例
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYaxampIS
PORT(dat1,dat2:
INSTD_LOGIC_VECTOR(3DOWNTO0);
dat3,dat4:
INSTD_LOGIC_VECTOR(3DOWNTO0);
out1,out2:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
END;
ARCHITECTUREbhvOFaxampIS
FUNCTIONmax(a,b:
INSTD_LOGIC_VECTOR)--定义函数体
RETURNSTD_LOGIC_VECTORIS
BEGIN
IFa>bTHENRETURNa;ELSERETURNb;ENDIF;
ENDFUNCTIONmax;--结束FUNCTION语句
END;
BEGIN
out1<=max(dat1,dat2);
PROCESS(dat3,dat4)
BEGIN
out2<=max(dat3,dat4);
ENDPROCESS;
END;
说明语句out1<=max(dat1,dat2);和语句out2<=max(dat3,dat4);调用函数后out1、out2的结果是什么?
34.下面是一个过程应用实例
LIBRARYIEEE;--主程序
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYEXIS
PORT(e,f,g,h:
INSTD_LOGIC;
x:
OUTSTD_LOGIC);
END;
ARCHITECTUREbhvOFEXIS
PROCEDUREnand4a(SIGNALa,b,c,d:
INSTD_LOGIC;过程
SIGNALy:
OUTSTD_LOGIC)IS
BEGIN
y<=NOT(aANDbANDcANDd);
RETURN;
ENDnand4a;
BEGIN
nand4a(e,f,g,h,x);并行调用过程
END;
说明语句nand4a(e,f,g,h,x);调用过程后x的结果是什么?
35.说明过程和函数参数表的区别
36.进程PROCESS中和过程和函数一样,其中也包含了一段指令,但程序中无进程调用,问进程中的指令什么时候执行?
第二部分基本模块习题
下图是内存模块图(作者:
林德树)
1描述一下计算机存储器部件的工作流程。
2存储器要读取一个字节数据操作的信号有哪些及工作流程?
3存储器要写入一个字节数据到指定的地址操作的信号有哪些及工作流程?
下图是寄存器模块图
4寄存器部件实验中S10,S9,S8的作用?
5寄存器部件实验中74LS244A的作用是什么?
6寄存器部件实验中74LS244B的作用是什么?
7请写出寄存器部件实验中写寄存器的核心VHDL语句。
8请写出寄存器部件实验中读寄存器的核心VHDL语句。
9描述一下寄存器部件实验的原理图及工作过程。
10寄存器部件实验中写寄存器需要哪些控制信号?
11寄存器部件实验中读寄存器需要哪些控制信号?
下图是运算器模块图
12运算器部件实验中377的功能是什么?
13运算器部件实验中373的功能是什么?
14运算器A端送入数据的操作过程?
15运算器部件实验的流程图和工作流程?
16运算器部件实验中S10,S9,S8的作用?
第三部分软件设计部分习题
1.下表列出了本次课程设计使用的软件图标,在第二列中填写它们的功能
2.在本次课程设计中使用的文件有硬件电路描述文件和软件文件两类,分别说明每个文件的名称及作用
硬件电路描述文件
文件名.NPL
文件名.VHD
文件名.UCF
文件名.BIT
软件文件
文件名.ASM
文件名.DEF
文件名.S19
文件名.M19
3.本次课程设计使用的汇编语言应用源程序举例如下
ORG0
MOVA,#12H
MOVR0,#34H
ADDA,R0
STA0020H
L:
JMPL
(1)修改程序,用A的内容减去R0的内容,如果有借位将结果存0020H,否则将结果存0021H。
(2)修改程序,用A的内容减去R0的内容,如果为0,将0020H单元置1,否则置0
4.编写程序,用PUSH和POP指令交换A和R0的内容
5.假设,键盘地址为8001H,下面的程序段是当有键盘输入时扫描键盘,将键盘输入键的ASCII送A。
STRT:
JNKBSTRT
LDA8001H
编写程序,从键盘输入两个0~9之间的数,把它们加起来结果存0020H。
6.编写一个循环程序,求1+2+3+4+5+6+7+8+9+10,把结果存0020H。
7.编写一个用减法实现的除法程序,实现7/2,商存0020H,余数存0021H,如果余数为0,将0021H单元置0。
8.编写一个用减法实现的求两个正整数最大公约数的程序,将结果存0021H。
方法如下:
3224初值
82432-24=8
81624-8=16
8816-8=8结束,8为32和24的最大公约数
9.说明.DEF文件在汇编期间的作用
10.从第三题到第9题中任意选择一道,根据.DEF文件,写出汇编后的目标码。
11.本次课程设计中设计的计算机使用了几个寄存器,在指令系统中如何表示?
12.本次课程设计中设计的计算机的内存是多大?
内存和外设是单独编址还是统一编址?
说明内存和外设是怎样编址的。
13.本次课程设计中设计的计算机的堆栈在内存的什么位置?
有多大?
14.本次课程设计中设计的计算机的内存间接寻址区在内存的什么位置?
有多大?
15.指令系统设计中应该考虑的主要问题是什么?
16.指令怎样散转后得到其对应的微指令入口地址?
17.LDAaddr和STAaddr如何区别读/写内存和外设?
18.堆栈复位后SP的值是多少?
主机复位后PC的值是多少?
19.本次课程设计中设计的计算机使用的外设是什么?
在程序中怎样使用它们?
20.结合下面的整机框图,
在表4-2中选择你熟悉的指令,说明它的执行流程。
✧T0为取指令微指令,所有指令的T0拍均相同。
✧T1~T3为执行微指令。
✧T0中的(A)→ACT为节省以后从累加器A输出数据的时间而增设的,它把A预先送到暂存器ACT中,以后可直接传送到ALU中进行各种运算。
✧对于微程序控制的计算机指令流程与微指令一一对应。
表4-2指令流程定义
编号
汇编码
指令流程
0
取指令(所有指令的最后一步)
T0:
(PC)MC=00>AB;(M)CRDX=0>DBGI=0>IR;
(PC)+1PINC=0>PC;(A)GC=0>ACT;MPLD=0;
1
MOVA,Ri
T1:
(Ri)MA=0S=011>ALUMB=00>DBGA=0>A;
2
MOVRi,A
T1:
(ACT)S=010>ALUMB=00>DBWRE=0>Ri;
3
MOVA,@Ri
T1:
(Ri)MA=1S=011>ALUMB=00>DBGA2=0>ADRL;T2:
7EHS=111>ALUMB=00>DBGA1=0>ADRH;
T3:
(ADR)MC=01>AB;(M)CRDX=0>DBGA=0>A;
4
MOV@Ri,A
T1:
(Ri)MA=1S=011>ALUMB=00>DBGA2=0>ADRL;
T2:
7EHS=111>ALUMB=00>DBGA1=0>ADRH;
T3:
(ADR)MC=01>AB;(ACT)S=010>ALUMB=00>DBCWRX=0>M;
5
MOVA,#data
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA=0>A;(PC)+1PINC=0>PC;
6
MOVRi,#data
T1:
(PC)MC=00>AB;(M)CRDX=0>DBWRE=0>Ri;(PC)+1PINC=0>PC;
7
ADDA,Ri
T1:
(ACT)+(Ri)MA=1S=000>ALUMB=00>DBGA=0>A;COUTCP=0ME=0>CY;
8
SUBA,Ri
T1:
(ACT)-(Ri)MA=1S=001>ALUMB=00>DBGA=0>A;COUTCP=0ME=0>CY;
9
SUBA,addr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>AB;(M)CRDX=0>DBGT=0>TMP;
T4:
(PC)MC=00>AB;(ACT)-(TEMP)MA=1S=001>ALUMB=00>DBGA=0>A;COUTCP=0ME=0>CY;
10
LDAaddr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>AB;(M)CRDX=0>DBGA=0>A;
11
STAaddr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>AB;(ACT)S=010>ALUMB=00>DBCWRX=0>M;
12
JCaddr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>ABPLD2,1,0=001>PC;
13
JMPaddr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>ABPLD2,1,0=010>PC;
14
JNKBaddr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>ABPLD2,1,0=011>PC;
15
JNPBaddr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>ABPLD2,1,0=100>PC;
16
JNZaddr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>ABPLD2,1,0=010>PC;
17
RSP
T1:
7FFFHSSP=11>SP;
18
PUSHA
T1:
(SP)MC=10>AB;(ACT)S=010>ALUMB=00>DBCWRX=0>M;(SP)-1SSP=01>SP;
19
POPA
T1:
(PC)MC=00>AB;(SP)+1SSP=10>SP;
T2:
(SP)MC=10>AB;(M)CRDX=0>DBGA=0>A
20
CMPA,#data
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGT=0>TEMP;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;A-TEMPCP=0,ZP=0>置位
21
RRCA
T1:
A与CY循环右移
22
CPL@Ri
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(ADR)MC=01>AB;(M)CRDX=0>DBGT=0>TMP;T4:
(ADR)MC=01>AB;/(TMP)S=100>ALUMB=00>DBCWRX=0>M;
23
CALLaddr
T1:
(PC)MC=00>AB;(M)CRDX=0>DBGA1=0>ADRH;(PC)+1PINC=0>PC;
T2:
(PC)MC=00>AB;(M)CRDX=0>DBGA2=0>ADRL;(PC)+1PINC=0>PC;
T3:
(SP)MC=10>AB;(PCH)MB=01>DBCWRX=0>M;(SP)-1SSP=01>SP;
T4:
(SP)MC=10>AB;(PCL)MB=10>DBCWRX=0>M;(SP)-1SSP=01>SP;
T5:
(ADR)MC=01>ABPLD2,1,0=010>PC;
24
RET
T1:
(SP)+1SSP=10>SP;
T2:
(SP)MC=11>AB;(M)CRDX=0>DBGA2=0>ADRL;(SP)+1SSP=10>SP;
T3:
(SP)MC=11>AB;(M)CRDX=0>DBGA1=0>ADRH;
T4:
(ADR)MC=01>ABPLD2,1,0=010>PC;
21.结合整机框图,在CPU8B.VHD中找出下面部件的信号定义及描述
(1)寄存器
(2)运算器
(3)累加器A,暂存器ACT、TMP,指令指针PC,指令寄存器IR、ADRH、ADRL。
CPU8B.VHD的内容如下
LibraryIEEE;
useIEEE.std_logic_1164.all;
useIEEE.std_logic_unsigned.all;
useIEEE.std_logic_arith.all;
entitycpu8bv1is
Port(
DB:
inoutstd_logic_vector(15downto0);
AB:
bufferstd_logic_vector(15downto0);
MUX:
instd_logic_vector(0to2);
CLKG,CLK,RESET,RUN:
instd_logic;
CI:
bufferstd_logic_vector(31downto0);
CO:
instd_logic_vector(31downto0);
CWR,CRD,IOW,IOR,CTRL1,CTRL2,CTRL3,CTRL4,MCLK:
bufferstd_logic;
PRIX,KRIX:
instd_logic
);
endcpu8bv1;
architecturecpu8bv1_behavofcpu8bv1is
signalPC:
std_logic_vector(15downto0);
signalMPC,MD:
std_logic_vector(10downto0);
signalA,ACT,TMP,IR,ADRL,ADRH,DBL:
std_logic_vector(7downto0);
signalR0,R1,R2,R3,R4,R5,R6,R7,ROUT,FB:
std_logic_vector(7downto0);
signalFF:
std_logic_vector(8downto0);
signalMIR:
std_logic_vector(31downto0);
signalCC,CA,CG,SL,SR,X0,X1,CT,GT,MXB,ZD,COUT,CIN:
std_logic;
signalCP,CCK,CY,P0,P1,P2,RD,WRC,WRE,RA,RB,RC,OB:
std_logic;
signalGI,CIR,CA1,CA2,GA1,GA2,PINC,PCK,PLD,PRST,MXA1:
std_logic;
signalMCLR,MPCK,MPINC,MPLD,MICK,RUNX:
std_logic;
signalS,PL:
std_logic_vector(2downto0);
constantbz:
std_logic_vector:
="ZZZZZZZZ";
constantwz:
std_logic_vector:
="ZZZZZZZZZZZZZZZZ";
constanthz:
std_logic_vector:
="ZZZZZZZZZZZZZZZZZZZZZZZZ";
begin
DBL<=DB(7downto0);
DB(15downto8)<=bzwhenCRD='0'else"00000000";
process(M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 习题