2023年计算机组成原理大作业.pdf
计算机组成原理大作业院(系):物联网工程学院专 业:计算机科学与技术班 级:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学 号:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _姓 名:摘要1.计算机硬件系统:到目前为止,计算机仍沿用由冯.诺依曼一方面提出的基于总线的计算机硬件系统。其基本设计思想为:a.以二进制形式表达指令和数据。b.程序和数据事先存放在存储器中,计算机在工作时可以高速地从存储器中取出指令加以执行。c.由运算器、控制器、存储器、输入设备和输出设备等五大部件组成计算机硬件系统。2.计算机软件系统:所谓软件,就是为了管理、维护计算机以及为完毕用户的某种特定任务而编写的各种程序的总和。计算机的工作就是运营程序,通过逐条的从存储器中取出程序中的指令并执行指令所规定的操作而实现某种特定的功能。微型计算机的软件涉及系统软件和用户(应用)软件。关键词:计算机系统硬件存储器 控制器 运算器软件目录摘要.2实验环境.4软件介绍.4模块介绍.4实验目的.6实验内容.6第二章原理图.6第三章管脚分配.7第四章微程序设计.91.alu_74181.92.romc.11第一章总体设计问题描述从两个r e g.7 4 2 4 4中分别取出两数通过总线,各自分别到达两个寄存器r e g _ 7 4 3 7 3,再由两个寄存器到达运算器a l u _ 7 4 1 8 1,在运算器里通过运算得出结果,结果再由总线传输进入此外的一个寄存器r e g _ 7 4 3 7 3,输出。实验环境软件介绍I S E的 全 称 为I n t e g r a t e d S o f t w a r e E n v i r o n m e n t,即 集 成 软 件 环 境 ,是X i l i n x公司的硬件设计工具。它可以完毕F P G A开发的所有流程,涉及设计输入、仿真、综合、布局布线、生 成B I T文献、配置以及在线调试等,功能非常强大。I S E除了功能完整,使用方便外,它的设计性能也非常好,拿I S E 9.x来说,其设计性能比其他解决方案平均快3 0%,它集成的时序收敛流程整合了增强性物理综合优化,提供最佳的时钟布局、更好的封装和时序收敛映射,从而获得更高的设计性能。模块介绍微程序控制器微程序控制器是一种控制器,同组合逻辑控制器相比较,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了初期采用的组合逻辑控制器,并已被广泛地应用。在计算机系统中,微程序设计技术是运用软件方法来设计硬件的一门技术。微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。当机器运营时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往提成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一段微程序,相应一条机器指令。在设计CPU时,根据指令系统的需要,事先编制好各段微程序,且将它们存入一个专用存储器(称为控制存储器)中。微程序控制器由指令寄存器I R、程序计数器P C、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路、微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完毕。算术逻辑单元A L U算术逻辑单元A L U 集成了各种算术运算和逻辑运算部件的功能,涉及加、减、乘、除等数值运算、逻辑运算、移位运算等。把这些功能集成在一个逻辑部件ALU之中,使得ALU具有算术运算和逻辑运算功能。这种设计方法可以使得功能比较紧凑,简化对逻辑运算部件和算术运算部件的使用。同时还能最大限度的复用某些逻辑部件,从而减少逻辑电路的使用。某些解决器中,将 ALU切分为两部分,即 算 术 单 元(AU)与逻辑单元(LU)。某些解决器包含一个以上的A U,如,一个用来进行定点操作,另一个进行浮点操作。(个人计算机中,浮点操作有时由被称为数字协解决器的浮点单元完毕)。通常而言,A L U 具有对解决器控制器、内存及输入输出设备的直接读入读出权限。输入输出是通过总线进行的。输入指令包含一个指令字,有时被称为机器指令字,其中涉及操作码,单个或多个操作数,有时还会有格式码;操作码指示A L U 机要执行什么操作,在此操作中要执行多少个操作数。比如,两个操作数可以进行比较,也可以进行加法操作。格式码可与操作码结合,告知这是一个定点还是浮点指令;输出涉及存放在存储寄存器中的结果及显示操作是否成功的设立。如操作失败,则在机器状态字中会有相应的状态显不。实验目的1 .通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念。2 .培养综合实践及独立分析、解决问题的能力。实验内容整个过程由微程序控制,a 1 u _ 7 4 18 1由四位改成八位,而r om c 则由四位改为1 1位,它们分别代表:oe n l,oe n 2,w l,w 2,w 3,g w e l,g w e 2,g w e 3,o e n _ n l,o e n _ n 2,oe n _ n 3 o 当它们分别在相同时刻有效或无效时,表达一条微指令,则在不同时刻有不同微指令,而这些微指令则组成了实现程序过程的指令,从而实现程序。第二章原理图data_busalu 74181reg_74244alu 74181 2*r|9ZEreg_74373reg 74373F-J i,.J*P reg_74373romcCB4CEckx_divider第三章管脚分派#-A t 1 ys s witch inp u t-NET S3 LO C=P12;#A t I y s sw 4NET HS 2 LOC=R 5;#Atlys sw 5NET Sl LO CT5;#A tl y s sw6N E T H S 0 LOC=E4;#A tlys sw7EES261switc hi np utNET M LOC=U li;#S W20NET C_n LOC=RIO;#SW1 9NET rst LOC=UI 0#SW18NET CE LOC=R8 ;#S W 17#N E TD inl7 LOC=M 8#SW16NET D i nl6 LOC=U 8#SW15N E T D i nl 5 LOC=U7;#S W14NET Din 1 4 LOC=N 7;#S W13#NET Din 1 3 LOC=T 6 ;#SW12NET Dinl 2 LOC=R7 ;#S W 1 1NET D inl 1 LOC=N6 ;#SW10NET D in i 0 LOC=U 5#S W9#NET Din 7 LOC=V5 ;#SW8NET Din 6 L0C=P 7;#SW7NET Din 5 LOC=T7;#SW6NET Di n 4 LOC=V6;#SW5#NET Din3 LOC=P8;#SW4N E T Din 2 LOC=V7 ;#SW3NET DinlM LOC=V8 ;#S W2N ET D i n0 LOC=N8 ;#S W 1#井 ft-EES261 leds o u tput-NET Qout LOC=U16;#LED1N E T Qou t LO C=U 1 5;#LED2NET Qou t LOC=U 1 3;#LED3NET Q o ut LOC=M 1 1;#LED4NET Qout LOC=R 1 1;#LED5NET Qo ut LOC=T12;#LED 6NET Qo u t LOC=N10;#LE D7NET Qo ut LO C=MIO;#LED 8#_ _ _ _ E N D _第四章微程序设计1.alu_74 1 81en t i t y a lu_74 1 81_2 i sP ort(A:in STD_LOG IC_VECTOR(7 d o wnt o 4);B:i n STD_ L 0 GIC_V ECTO R(7 downto 4);S:in STD_LO GlC_VECTOR(3do w n to 0);M:in STD_LOGIC;C_n:in ST D_LOGIC;F:ou t STD _LOGI C _VECTOR(7 downto 4);C_ n_p 1 u s 4:out S TD_ LOGIC);e nd alu_7 4 181_ 2;a r ch i t ectu r e Beha v i o r a I of alu_7418 1 _ 2 issignal data_o_l o gic:STD_L0 G IC _ V ECTOR(3 dow n to 0);s i g n a I data_o_a rith:STD_LOGIC_V ECTOR(4 d ownto 0);s ignal data_s u b_tmp:STD_ L OGIC_VECTO R(4 do w n t o 0);si g n al C_n_ arit h:STD_ L 0 GIC_V E C T OR(4 downto 0);beg i nF =dat a _o_1 og i c w h en M=1 else0 data_o_ a r i th(3 d o w nto 0);团 一 c a r r y o u t0C_n_ p Ius4=no t dat a _ o _ ar i th(4)when M=O el s e 1;C_n_a r ith 回 0 data_ ojogic 团IMdata_o_l o g i c 团 Eld a ta_o_logi c 团 团 0 d ata_o_ 1 o gic O);团 团w h en“0100”=团 d a ta_o_ Io g i c 团 data_o_ lo g ic 团 团 data_ o_ 1 ogic 0 0data_ o _1 o gic data_ o_l o g i c 0 0 da t a_o_logic 000 d a ta_o_ logic Ma t a_o_ logic data_o_logic 团d ata_o_logi c 团 团data_ o _ 1 o gic 00 0 d a ta_ oog i c 团0国data_ o _ logic 1 O);0 end case;end pr o ce s s;en d Behavioral;2.romce n t it y ro m c j sP o rt(sO:in STD_LOGIC;s i:in STD_ LOGIC;团 团 s2:in STD_LOGIC;团 团 s3:in STD_LOG I C;团 团o e n l:out STD_LOG I C;oen2:o ut S TD_LOGIC;w l:out STD_LO G I C;团 团 w2:o u t STD_LOGIC;000 w 3:o u t STD _LO GIC;0 gwe 1 :o ut ST D_LOG I C;gw e 2:out STD_ LOGIC;团 团 gw e 3:out STD_ L O G IC;oen n l:out STD_LO G lC;00 o e n_ n 2:out STD LO G IC;o e n_n3:out STD_LOGIC0);end romc;a r chitecture Beha v ioral o f romc is0 s i gnal a dd r:s t d _ 1 og i c _ vecto r(3 dow n to 0);-i n putsi g nal rdata:st d _logic_ve c to r (10 d o wnto 0);-out p u tabegin0ad d r rdata rdat a rd a t a r d a ta rda t a r data rdata rd a ta =Send ca s e;end proc e ss;0 oe n 1 =r data(O);o e n2 =rd a t a(l);w e 1=rdat a(2);we2=rda t a(3);回 gwel=rdat a(3);gwe2=rd a t a(3);gw e 3=rd a ta(3);oen_l=rd a ta(3);0 o en_ 2 =rdata(3);团 o e n _ 3 =r d ata(3);e nd Behaviors 1 ;