8位CPU的设计与实现_第1页
8位CPU的设计与实现_第2页
8位CPU的设计与实现_第3页
8位CPU的设计与实现_第4页
8位CPU的设计与实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 计算机组成原理 实验题目 位CP得系统设计 学 号 姓 名 魏忠淋 班 级 11电子B 班 指导老师 凌朝东 华侨大学电子工程系8位C得系统设计1、 实验要求与任务完成从指令系统到U得设计,编写测试程序,通过运行测试程序对CPU设计进行正确性评定。具体内容包括:典型指令系统(包括运算类、转移类、访存类)设计;CU结构设计;规则文件与调试程序设计;CU调试及测试程序运行。 1。1设计指标能实现加减法、左右移位、逻辑运算、数据存取、有无条件跳转、内存访问等指令;1、2设计要求 画出电路原理图、仿真波形图;二、CP得组成结构3、 元器件得选择 1.运算部件(ALU) A181得程序代码:LIBRA

2、RY EEE;US EEE、TD_LGC_164。ALL;US IEEE、TLOGI_UIGND.L;ENTY LU181 S POR( S: IN STDLICVECTR(3 NTO0 ); A :N STD_LOGIC_VCTO(7 OWN 0); B : ISTDOGICVETOR(7DWNO ); F : OUT ST_LOGIC_ECTOR(7 DOWTO 0);COU :U STD_IC_ECTOR(3 DOO0); M :I T_LOGC; CN : IN SD_LOGI; C,Z:OUTST_LOGIC );ENDAU81;ACHICTRE bhav OF AL181 SSIG

3、 A9 :ST_LGIC_VECTOR( DOWNTO 0);SINAL B9 : STDLOGIC_VCTOR(8 OWNT );IGNAL9: STD_LOGICVECO(8 DWNTO0);BGIN = 0 & A; B9 = 0&B; PRCESS(M,C,A9,B) BEGIN ASE S IS WHEN 00 = IF M=0THENF9=A9 +CN ; LSE F9=OT ; E IF; WHEN 001 F M=0 THEN F IF M=0 THENF9=(A9 (OT B9)+C ; ELSE F9=(NOTA9) AND9; EN IF; WN 1 = IFM=0 HE

4、N 9= ”CN ;ELS F9 IM=0 THE 9A9+(A9 OT B9)+C ; ELSE F9=NT(A9 NB9); NDI; WHEN ”011” = I M0 THN9=(A oB9)+(A9 AD NO B)+CN ; F9=NOT 9; EDIF; WHEN0110 = I =0 HEN 9=(- 9) CN ;ELE F99OR B; N IF; WHE ”111= IF M=0 ENF9=(9 (NT B9) CN ;SE 9 IFM=HENF9=+ B9 + CN ; LSE F9=NOT(9 OR 9); E IF; WEN ”010= FM=0 THEN F(A9

5、or(NOT9)+(AAND B9)CN ; L F=9; ED ; HEN 11” = IFM=0TE F9=(A9 AND 9)- C ; ELSE F9=A9 ANB; EN IF; HEN ”1100” = F M=0 H 9=(A9 +9) + CN ; LS F9=; END F; HEN 101”= IF M=0 THEN (A r B)+ A9 + CN ;ES 9=A9 OR ( B9); END F; WHN 10= IFMTHE F9=(A9 or ( B9)+A9) + CN ; LSE FA9OR B9; D IF; WE”111” = I=HE F99 CN ;ES

6、E F9 9= ” ; ENASE; I(A=B) TN=0;END IF;ED ROCSS;=F9( DOWNO0) ; = F9(8) ;OUT=00 WHEN F9()=0ES 001;EDbehav; ALU得原理图: 2、微控制器实现信息传送要靠微命令得控制,因此在CPU 中设置微命令产生部件,根据控制信息产生微命令序列,对指令功能所要求得数据传送进行控制,同时在数据传送至运算部件时控制完成运算处理。微命令产生部件可由若干组合逻辑电路组成,也可以由专门得存储逻辑组成、产生微命令得方式可分为组合逻辑控制方式与微程序控制方式两种。在本章所介绍得8 位模型CU 设计中,采用微程序控制方式通

7、过微程序控制器与微指令存储器产生微命令,因此此PU 属于复杂指令CISCCPU、 微控制器得原理图: 3、寄存器组计算机工作时,PU需要处理大量得控制信息与数据信息。例如对指令信息进行译码,以便产生相应控制命令对操作数进行算术或逻辑运算加工,并且根据运算结果决定后续操作等。因此,在CPU 中需要设置若干寄存器,暂时存放这些信息。在模型C中,寄存器组由R0、1、R2所组成、 寄存器组得原理图:3、地址寄存器PU 访问存储器,首先要找到需要访问得存储单元,因此设置地址寄存器(AR)来存放被访单元得地址。当需要读取指令时,PU 先将 得内容送入R,再由AR将指令地址送往存储器、当需要读取或存放数据时

8、,也要先将该数据得有效地址送入AR,再对存储器进行读写操作。 地址寄存器得原理图: 。指令寄存器指令寄存器(R)用来存放当前正在执行得指令,它得输出包括操作码信息、地址信息等,就是产生微命令得主要逻辑依据。 指令寄存器得原理图: 5、程序计数器程序计数器(P)也称指令指针,用来指示指令在存储器中得存放位置。当程序顺序执行时,每次从主存取出一条指令,PC 内容就增量计数,指向下一条指令得地址。增量值取决于现行指令所占得存储单元数。如果现行指令只占一个存储单元,则PC 内容加1;若现行指令占了两个存储单元,那么PC内容就要加2。当程序需要转移时,将转移地址送入C,使P指向新得指令地址、因此,当现行

9、指令执行完,中存放得总就是后续指令得地址;将该地址送往主存得地址寄存器AR,便可从存储器读取下一条指令、 程序计数器得原理图:4、 系统总电路图及原理 系统原理:该CU 主要由算术逻辑单元ALU,数据暂存寄存器R1、DR2,数据寄存器R0R2,程序计数器P,地址寄存器AR,程序/数据存储器MEMORAY,指令寄存器,微控制器uC,输入单元IPUT 与输出单元OUTUT 所组成。图中虚线框内部分包括运算器、控制器、程序存储器、数据存储器与微程序存储器等,实测时,它们都可以在单片FPG 中实现。虚线框外部分主要就是输入输出装置,包括键盘、数码管、LCD 显示器等,用于向PU 输入数据,或CU 向外

10、输出数据,以及观察CU 内部工作情况及运算结果。5、 波形仿真 仿真波形图: 分析:(1)M输出微指令0180,控制台执行P(4),进行“读、写、运行”功能判断、检测到SWA、SW=后,进入程序运行R(1)方式。(2)执行微地址为得微指令,输出微指令为,后续微地址uA为1.然后进入程序运行得流程。()执行微地址为0得M微指令,执行得操作为A=0,C1=01H,AR指向RA存储器地址00,后续地址uA为、()执行微地址为2得微指令01D82,执行取指令操作,取出第一条指令得操作码,经过分支判断P(1),这就是一条输入指令IN、(5)执行微地址为得M微指令0C0,将RAM中得指令0通过内部总线BU

11、S,送指令寄存器R:AM(00H)00BUSI00H。(6)执行微地址为01得M微指令,SW_B为高电平,允许SW得数据送往数据总线US,由此接收数据56H。所以R=56。()执行微地址为02得M微指令0ED82,执行取指令操作:PCAR01H,1=02,AR指向RA存储器地址01,后续微地址uA为2、(8)执行微地址0得M微指令00C4,取指令,并经过分支判断(1),读出地址为1H单元得内容10,经过BUS送到指令寄存器IR:RAM(01)=10HBSR=0H。()执行微地址为03得M微指令01ED8,进入加法运算微程序、通过间接寻址获得另一个操作数,地址寄存器R指向取数得间接地址:CAR0

12、H,PC1=03H,A指向RAM得02单元。(10)执行微地址为4得M微指令00E004,AM_B为高电平,RAM得(0)单元得内容通过BS送A,取数地址(R)=0A,RM(2)=AHBUSR=0H。(1)执行微地址为得M微指令005,RM_B为高电平,RAM得(0A)单元得内容34送到BU,此时LDR2为高电平,BUS上得数据就送给了DR2,执行结果:RA(0AH)34BUSD=34H。(12)执行微地址为06得M微指令0A206,将0得数据送DR1。R0_B=1,允许R0得内容5H送往S,此时LDR1为高电平,S上得数据56H写入LU得数据缓冲期DR,执行结果:(R0)=5HBUS1=56

13、H、(3)执行微地址为0得M微指令101,完成加法运算:(DR1)(DR2)R0,56+34H=8AHR=8A。(1)执行微地址为02得微指令0ED82,执行取指令操作:CAR=03H,PC04,A指向RAM存储器地址0,执行第三条指令,存储STA。(15)执行微地址2得微指令0C048,取指令,并经过分支判断P(1),读出地址为0H单元得内容H,经过BUS送到指令寄存器IR:RAM(0)=20HBSIR=20H。(6)执行微地址为7得微指令01D8,通过间接寻址获得另一个操作数,地址寄存器AR指向取数得间接地址:PCAR=04H,PC1=05,AR指向A得4单元。(1)执行微地址为15得M微

14、指令000D,RAM为高电平,得(4)单元得内容通过BUS送AR,取数地址(AR)=BH,RAM(0)=0BBUSR=0BH。(18)执行01微地址为01得M微指令,A_B为高电平,R0得内容存入AM(0B)单元,BUS上得数据就送给了DR2,执行结果:R(0BH)=8AHBSRM(0BH)=8H。(1)执行微地址为02得M微指令01ED82,执行取指令操作:AR=5,P+06H,AR指向RAM存储器地址5H,执行第四条指令,输出OUT。(20)执行微地址13得微指令C048,取指令,并经过分支判断P(1),读出地址为05H单元得内容30H,经过BUS送到指令寄存器:RAM(05H)0HBUS

15、IR=3。(21)执行微地址为16得M微指令01D8,通过间接寻址获得另一个操作数,地址寄存器R指向取数得间接地址:PAR=06H,P+1=H,AR指向RAM得06单元。(22)执行微地址为7得M微指令00E00F,RA_B为高电平,RAM得(06)单元得内容通过BUS送AR,取数地址(AR)BH,RAM(6)0BBUSAR=0BH。()执行微地址为25得微指令00A05,RAMB为高电平,RA得(0BH)单元得内容8AH送到BUS,此时DDR2为高电平,S上得数据就送给了DR2,执行结果:RA(B)=8AHBSR=8AH。(24) 执行微地址为0得M微指令010A01,将R1得数据送输出单元OUT,允许1得内容8A送往BUS,BUS上得数据8H送输出单元OUT,执行结果:DR1=8AHBSOT=8AH。(5)执行微地址为02得M微指令01ED8,执行取指令操作:CR=07H,P+1=8H,AR指向R存储器地址07H。(26)执行微地址4得微指令00C48,取指令,并经过分支判断(1),读出地址为7H单元得内容40H,经过BU送到指令寄存器IR:RAM(07H)4BUIR=4、()执行微地址为2得M微指令01ED9,进入转移JMP运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论