计算机组成原理大作业.docx
- 文档编号:11853407
- 上传时间:2023-04-06
- 格式:DOCX
- 页数:10
- 大小:197.02KB
计算机组成原理大作业.docx
《计算机组成原理大作业.docx》由会员分享,可在线阅读,更多相关《计算机组成原理大作业.docx(10页珍藏版)》请在冰豆网上搜索。
计算机组成原理大作业
计算机组成原理大作业
计算机组成原理
大作业
院(系):
物联网工程学院
专业:
计算机科学与技术
班级:
学号:
姓名:
摘要
1.计算机硬件系统:
到目前为止,计算机仍沿用由冯.诺依曼首先提出的基于总线的计算机硬件系统。
其基本设计思想为:
a.以二进制形式表示指令和数据。
b.程序和数据事先存放在存储器中,计算机在工作时能够高速地从存储器中取出指令加以执行。
c.由运算器、控制器、存储器、输入设备和输出设备等五大部件组成计算机硬件系统。
2.计算机软件系统:
所谓软件,就是为了管理、维护计算机以及为完成用户的某种特定任务而编写的各种程序的总和。
计算机的工作就是运行程序,通过逐条的从存储器中取出程序中的指令并执行指令所规定的操作而实现某种特定的功能。
微型计算机的软件包括系统软件和用户(应用)软件。
关键词:
计算机系统硬件存储器控制器运算器软件
第一章总体设计
问题描述
从两个reg_74244中分别取出两数经过总线,各自分别到达两个寄存器reg_74373,再由两个寄存器到达运算器alu_74181,在运算器里经过运算得出结果,结果再由总线传输进入另外的一个寄存器reg_74373,输出。
实验环境
软件介绍
ISE的全称为IntegratedSoftwareEnvironment,即“集成软件环境”,是Xilinx公司的硬件设计工具。
它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
ISE除了功能完整,使用方便外,它的设计性能也非常好,拿ISE9.x来说,其设计性能比其他解决方案平均快30%,它集成的时序收敛流程整合了增强性物理综合优化,提供最佳的时钟布局、更好的封装和时序收敛映射,从而获得更高的设计性能。
模块介绍
微程序控制器
微程序控制器是一种控制器,同组合逻辑控制器相比较,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的组合逻辑控制器,并已被广泛地应用。
在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术。
微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。
当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。
采用微程序控制方式的控制器称为微程序控制器。
所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。
一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。
在设计CPU时,根据指令系统的需要,事先编制好各段微程序,且将它们存入一个专用存储器(称为控制存储器)中。
微程序控制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路、微地址寄存器等部件组成。
执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完成。
算术逻辑单元ALU
算术逻辑单元ALU集成了各种算术运算和逻辑运算部件的功能,包括加、减、乘、除等数值运算、逻辑运算、移位运算等。
把这些功能集成在一个逻辑部件ALU之中,使得ALU具有算术运算和逻辑运算功能。
这种设计方法可以使得功能比较紧凑,简化对逻辑运算部件和算术运算部件的使用。
同时还能最大限度的复用某些逻辑部件,从而减少逻辑电路的使用。
某些处理器中,将ALU切分为两部分,即算术单元(AU)与逻辑单元(LU)。
某些处理器包含一个以上的AU,如,一个用来进行定点操作,另一个进行浮点操作。
(个人计算机中,浮点操作有时由被称为数字协处理器的浮点单元完成)。
通常而言,ALU具有对处理器控制器、内存及输入输出设备的直接读入读出权限。
输入输出是通过总线进行的。
输入指令包含一个指令字,有时被称为机器指令字,其中包括操作码,单个或多个操作数,有时还会有格式码;操作码指示ALU机要执行什么操作,在此操作中要执行多少个操作数。
比如,两个操作数可以进行比较,也可以进行加法操作。
格式码可与操作码结合,告知这是一个定点还是浮点指令;输出包括存放在存储寄存器中的结果及显示操作是否成功的设置。
如操作失败,则在机器状态字中会有相应的状态显示。
实验目的
1.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念。
2.培养综合实践及独立分析、解决问题的能力。
实验内容
整个过程由微程序控制,alu_74181由四位改成八位,而romc则由四位改为11位,它们分别代表:
oen1,oen2,w1,w2,w3,gwe1,gwe2,gwe3,oen_n1,oen_n2,oen_n3。
当它们分别在相同时刻有效或无效时,表示一条微指令,则在不同时刻有不同微指令,而这些微指令则组成了实现程序过程的指令,从而实现程序。
第二章原理图
第三章管脚分配
###------------Atlysswitchinput----------
NET"S[3]"LOC=P12;#Atlyssw4
NET"S[2]"LOC=R5;#Atlyssw5
NET"S[1]"LOC=T5;#Atlyssw6
NET"S[0]"LOC=E4;#Atlyssw7
###------------EES261switchinput----------
NET"M"LOC="U11";#SW20
NET"C_n"LOC="R10";#SW19
NET"rst"LOC="U10";#SW18
NET"CE"LOC="R8";#SW17
#
NET"Din1[7]"LOC="M8";#SW16
NET"Din1[6]"LOC="U8";#SW15
NET"Din1[5]"LOC="U7";#SW14
NET"Din1[4]"LOC="N7";#SW13
#
NET"Din1[3]"LOC="T6";#SW12
NET"Din1[2]"LOC="R7";#SW11
NET"Din1[1]"LOC="N6";#SW10
NET"Din1[0]"LOC="U5";#SW9
#
NET"Din[7]"LOC="V5";#SW8
NET"Din[6]"LOC="P7";#SW7
NET"Din[5]"LOC="T7";#SW6
NET"Din[4]"LOC="V6";#SW5
#
NET"Din[3]"LOC="P8";#SW4
NET"Din[2]"LOC="V7";#SW3
NET"Din[1]"LOC="V8";#SW2
NET"Din[0]"LOC="N8";#SW1
#
##----------EES261ledsoutput------------
NET"Qout<0>"LOC="U16";#LED1
NET"Qout<1>"LOC="U15";#LED2
NET"Qout<2>"LOC="U13";#LED3
NET"Qout<3>"LOC="M11";#LED4
NET"Qout<4>"LOC="R11";#LED5
NET"Qout<5>"LOC="T12";#LED6
NET"Qout<6>"LOC="N10";#LED7
NET"Qout<7>"LOC="M10";#LED8
###--------------END----------
第四章微程序设计
1.alu_74181
entityalu_74181_2is
Port(A:
inSTD_LOGIC_VECTOR(7downto4);
B:
inSTD_LOGIC_VECTOR(7downto4);
S:
inSTD_LOGIC_VECTOR(3downto0);
M:
inSTD_LOGIC;
C_n:
inSTD_LOGIC;
F:
outSTD_LOGIC_VECTOR(7downto4);
C_n_plus4:
outSTD_LOGIC);
endalu_74181_2;
architectureBehavioralofalu_74181_2is
signaldata_o_logic:
STD_LOGIC_VECTOR(3downto0);
signaldata_o_arith:
STD_LOGIC_VECTOR(4downto0);
signaldata_sub_tmp:
STD_LOGIC_VECTOR(4downto0);
signalC_n_arith:
STD_LOGIC_VECTOR(4downto0);
begin
F<=data_o_logicwhenM='1'else
data_o_arith(3downto0);
--carryout
C_n_plus4<=notdata_o_arith(4)whenM='0'else'1';
C_n_arith<="0000"&(notC_n);
--74181logicoperation
process(A,B,S,M)
begin
case(S)is
when"0000"=>
data_o_logic<=notA;
when"0001"=>
data_o_logic<=not(AorB);
when"0010"=>
data_o_logic<=(notA)andB;
when"0011"=>
data_o_logic<=(others=>'0');
when"0100"=>
data_o_logic<=not(AandB);
when"0101"=>
data_o_logic<=notB;
when"0110"=>
data_o_logic<=(AxorB);
when"0111"=>
data_o_logic<=Aand(notB);
when"1000"=>
data_o_logic<=(notA)orB;
when"1001"=>
data_o_logic<=(AxnorB);
when"1010"=>
data_o_logic<=B;
when"1011"=>
data_o_logic<=AandB;
when"1100"=>
data_o_logic<="0001";
when"1101"=>
data_o_logic<=Aor(notB);
when"1110"=>
data_o_logic<=AorB;
when"1111"=>
data_o_logic<=A;
whenothers=>
data_o_logic<=(others=>'0');
endcase;
endprocess;
endBehavioral;
2.romc
entityromcis
Port(s0:
inSTD_LOGIC;
s1:
inSTD_LOGIC;
s2:
inSTD_LOGIC;
s3:
inSTD_LOGIC;
oen1:
outSTD_LOGIC;
oen2:
outSTD_LOGIC;
w1:
outSTD_LOGIC;
w2:
outSTD_LOGIC;
w3:
outSTD_LOGIC;
gwe1:
outSTD_LOGIC;
gwe2:
outSTD_LOGIC;
gwe3:
outSTD_LOGIC;
oen_n1:
outSTD_LOGIC;
oen_n2:
outSTD_LOGIC;
oen_n3:
outSTD_LOGIC
);
endromc;
architectureBehavioralofromcis
signaladdr:
std_logic_vector(3downto0);--input
signalrdata:
std_logic_vector(10downto0);--output
begin
addr<=s3&s2&s1&s0;
process(addr)
begin
case(addr)is
when"0000"=>rdata<="10101000011";
when"0001"=>rdata<="10101100110";
when"0011"=>rdata<="10101000110";
when"0010"=>rdata<="10111001001";
when"0110"=>rdata<="10101001001";
when"0111"=>rdata<="11000010011";
when"1111"=>rdata<="10000010011";
whenothers=>rdata<="00000000000";
endcase;
endprocess;
oen1<=rdata(0);
oen2<=rdata
(1);
we1<=rdata
(2);
we2<=rdata(3);
gwe1<=rdata(3);
gwe2<=rdata(3);
gwe3<=rdata(3);
oen_1<=rdata(3);
oen_2<=rdata(3);
oen_3<=rdata(3);
endBehavioral;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)