计算机组成原理课程设计习题Word格式文档下载.docx
《计算机组成原理课程设计习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计习题Word格式文档下载.docx(40页珍藏版)》请在冰点文库上搜索。
outstd_logic);
endand2;
architectureBehavioralofand2is
begin
process(a)
begin
ifa='
0'
then
b<
='
______⑴_____'
;
else
______⑵_____'
endif;
endprocess;
endBehavioral;
27.下面两个分别描述了一个电平驱动的D触发器和一个脉冲驱动的D触发器
区别一个信号在什么情况下是电平?
什么情况下是脉冲?
这两个例题还说明了ELSE可以不出现在IF结构中。
28.下面VHDL包含了一个IF嵌套结构,说明它描述的电路的功能
29.上面VHDL描述语句
elsif是否应为elseif?
30.分析下面的电路描述,体会多分支结构,说明电路的功能
Port(a,b:
c:
--c<
=aandb;
process(a,b)
variabletmp:
std_logic_vector(1downto0);
tmp:
=a&
b;
casetmpis
when"
00"
=>
c<
01"
10"
11"
1'
whenothers=>
X'
endcase;
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:
out1,out2:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
END;
ARCHITECTUREbhvOFaxampIS
FUNCTIONmax(a,b:
INSTD_LOGIC_VECTOR)--定义函数体
RETURNSTD_LOGIC_VECTORIS
BEGIN
IFa>
bTHENRETURNa;
ELSERETURNb;
ENDIF;
ENDFUNCTIONmax;
--结束FUNCTION语句
out1<
=max(dat1,dat2);
PROCESS(dat3,dat4)
out2<
=max(dat3,dat4);
ENDPROCESS;
说明语句out1<
和语句out2<
调用函数后out1、out2的结果是什么?
34.下面是一个过程应用实例
--主程序
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYEXIS
PORT(e,f,g,h:
INSTD_LOGIC;
x:
OUTSTD_LOGIC);
ARCHITECTUREbhvOFEXIS
PROCEDUREnand4a(SIGNALa,b,c,d:
过程
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指令流程定义
编号
汇编码
指令流程
取指令(所有指令的最后一步)
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
(ACT)S=010>
ALUMB=00>
DBWRE=0>
Ri;
3
MOVA,@Ri
(Ri)MA=1S=011>
DBGA2=0>
ADRL;
T2:
7EHS=111>
DBGA1=0>
ADRH;
T3:
(ADR)MC=01>
4
MOV@Ri,A
T2:
(ACT)S=010>
DBCWRX=0>
M;
5
MOVA,#data
(PC)+1PINC=0>
6
MOVRi,#data
7
ADDA,Ri
(ACT)+(Ri)MA=1S=000>
COUTCP=0ME=0>
CY;
8
SUBA,Ri
(ACT)-(Ri)MA=1S=001>
9
SUBA,addr
DBGT=0>
TMP;
T4:
(PC)MC=00>
(ACT)-(TEMP)MA=1S=001>
10
LDAaddr
11
STAaddr
12
JCaddr
ABPLD2,1,0=001>
13
JMPaddr
ABPLD2,1,0=010>
14
JNKBaddr
ABPLD2,1,0=011>
15
JNPBaddr
ABPLD2,1,0=100>
16
JNZaddr
17
RSP
7FFFHSSP=11>
SP;
18
PUSHA
(SP)MC=10>
(SP)-1SSP=01>
19
POPA
(SP)+1SSP=10>
A
20
CMPA,#data
TEMP;
A-TEMPCP=0,ZP=0>
置位
21
RRCA
A与CY循环右移
22
CPL@Ri
T4:
/(TMP)S=100>
23
CALLaddr
(SP)MC=10>
(PCH)MB=01>
(PCL)MB=10>
(SP)-1SSP=01>
T5:
24
RET
(SP)+1SSP=10>
(SP)MC=11>
(ADR)MC=01>
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:
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:
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:
signalGI,CIR,CA1,CA2,GA1,GA2,PINC,PCK,PLD,PRST,MXA1:
signalMCLR,MPCK,MPINC,MPLD,MICK,RUNX:
signalS,PL:
std_logic_vector(2downto0);
constantbz:
std_logic_vector:
="
ZZZZZZZZ"
constantwz:
ZZZZZZZZZZZZZZZZ"
constanthz:
ZZZZZZZZZZZZZZZZZZZZZZZZ"
DBL<
=DB(7downto0);
DB(15downto8)<
=bzwhenCRD='
else"
00000000"
process(M