计算机组成原理报告.doc_第1页
计算机组成原理报告.doc_第2页
计算机组成原理报告.doc_第3页
计算机组成原理报告.doc_第4页
计算机组成原理报告.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

实验一 一实验内容 条指令组合逻辑控制的CPU 二实验目的:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、另外可以提出算法的改进方法;对T周期要有深刻理解,这样才能懂得指令与微指令关系。三实验分析:1存储结构:input reset ck; input 2:0 t; reg7:0 pc,ir,acc,tmp; reg cy; reg7:0 sram250:0;Ck 时钟脉冲信号ir7:0 8位的指令寄存器 指令寄存器分操作码和地址码: ir7:6 存放操作码 ir5:0为地址码,操作码两位,地址码六位 pc7:0 8位计数器 acc7:0 8位累加寄存器tmp7:0 8位中间变量寄存器reg cy;进位位sram250:0 内存,有251个内存单元2.基本算法:alwasy (negedge reset)/一直循环,遇到条件及下降沿就执行下面文件 begin if (reset) pc=0;/如果有重置信号,则令pc=0; else pc=8bxxxxxxxx;/否则令pc为八位二进制数,可取0或1; end alwasy (posedge clk or t or ir7:6,cy )/一直循环,直到判断条件发生,即上升沿作用或周期变化或操作码变化或进位变化; case (t,ir7:6,cy)6b001xxx: /TO 取指令 begin ir= srampc; /以pc为下标从主存中取出指令 pc= pc+1;/pc加1,下一次即取下条指令; End 6b01000x: tmp = sramir5:0; /T1 加法的取数 6b10000x: cy,acc = 1b0,acc + 1b0,tmp; /T2 加法指令 6b01001x: acc = sramir5:0; /T1 取数指令 6b01010x: sramir5:0 = acc; /T1 送存指令 6b010110: pc = 2b00,ir5:0; /T1 转移指令end case周期T共占3位, 因为刚好有3个周期T ,故需要把3位周期表示进行编码001 为T0 单独表示为取指令的微指令010 为T1 执行加法取数 取数指令 送存指令 转移指令100 为T2 执行加法指令用001 010 100而不用001 010 011是为了方便操作实验总结: 通过本次实验,使我对verilog HDL语言有了初步的了解,并且从中掌握了一些基础电子器件的设计思路和方法。实验二C081计算机系统结构分析一实验内容:分析C081实验开发平台用户手册的模块图1-5;要求用visio绘图二实验目的:(1)分别叙述32数据流,24位地址;(2)8051作用;(3)各FPGA,CPLD作用。三实验框图如下:模块框图4:主存结构与地/数通路-通常设计8位1M/16位2M/32位4MMD7:0IODMAEX_MR,MR,IOW,IOR,EX_CSD_7:0D_SEL0_D7:0_D7:0A15:0,FA8:0_D7:0MA23:03双向 缓冲32450123457:07:015:815:823:1623:16D_SEL0D_SEL2D_SEL3_D7:0_D7:0_D7:0_D7:0MD7:0MD15:8MD23:16MD31:24MA19:00-70-190-7MEM_W, R 8片SRAM0-180-180-180-1816-2324-318-154,83,72,61,5Face_CPLD模块MD31:0CS8:1 512K-1024KCS8 D31:24 0-512KCS4 D31:240-512KCS1 D7:00-512KCS2 D15:8 512K-1024KCS7 D23:16 0-512 KCS3 D23:16 512K-1024KCS6 D15:8 512K-1024KCS5 D7:0USB 8051的WR,RD,CS,GPIF的读写控制信号CPU的命令总线(包括读写,字节选择等)RYBYFlash:1MBD7:0Flash_WFlash_R Flash_CSF_RSTD3245_3D3245_2D3245_1D3245_0D_3245GF3245D_SEL3:0 MD7:0 _D7:0 Face_CPLDEN_MA5:06跳针JP_A见32高位地址扩充 MA23:0CS D7:0 FD7:0USB_8051,GPIFA15:0, FA8:0A_23:0 ALE MD31:0CPU_FPGAA373_3A373_2A373_1A15_8A23_16A7_0MA23:0Face_CPLD来输入为设置首址CPU来地址数据是IO通讯需要IO_CPLDMD15:0DMAIOMD31.30A_31,30 加1M Flash24位地址:A_23:0的意思即为:由于内存是4M的SRAM加上1M的Flash,则需要至少23位 的地址线,由于外部的接口地址比较多,必须添加一位二进制位用来标识外部接口的地址,共有24位,即023。32数据流:24位地址包括在内,还要考虑到片选信号控制的八根地址线,最后也就组成了系统的总的字长为32位。8051作用:负责向cpu发送指令,并将处理后的数据送回主机输出显示。8051访问主存,为方便控制仅使用8051的8000-BFFF空间,低位地址AM13:0直接用A13:0高位地址AM23:14用8051存贮器I/O或端口扩充。设置首地址 4000-5FFF(14位)。CS【8:1】片选信号,内存由八片SRAM芯片组成,在进行数据的输入和输出时需要选择进行相应芯片的选择(即数据在哪个芯片存放着)。CPU_FPGA即可编程cpu控制逻辑器件。将汇编语言或verilog HDL语言下载到该器件中,并将其解释成由底层硬件直接执行的微指令。IO_CPLD即可编程I/O控制逻辑器件,此处对于I/O的交互操作起到一种缓冲和转换的作用。Face_CPLD的作用是解决单片机与cpu之间无法直接交互的问题,从而实现控制管理的作用。 实验三 四条指令2周期的CPU执行双字节加一实验内容:1分析清楚所用指令文件具体实现的方法; 2. 要求在指令文件上标注中文说明; 二实验目的对cpu的工作过程有一定的了解,能够分析代码的执行过程及对Verilog HDL语言的基本语法有一定程度的了解,能够调试一些语法和逻辑错误,进而成功编译。3 实验分析:存储结构IRH7:0-8位指令寄存器,其中高两位为操作码,低六位为操作数,本次实验中 共用了四组操作码。对应表示如下所示: irh7 irh6 instruction operation 0 0ADD A_d, addr A_d = (A_d) + (addr) 0 1LDA A_d, addr A_d = (addr) 1 0STA add, A_d addr = (A_d) 1 1JNC addr pc = addr, when Cy=0A_d7.0-8位累加寄存器PC7.0 - 8位程序计数器Cy-进位T2.0-3个时钟周期CK-时钟脉冲信号3.3.3基本算法本次实验与实验一4条指令组合逻辑控制的CPU所用存储结构基本一样,且指令条数一样都为四条。则操作码需要两位,操作数需要六位。确要实行双字加。所以代码的实现相对复杂了。在实现上仍是通过监听各信号的变化来实现不同的操作。相对上次实验,本实验对信号的监听的分为两部分,第一部分监听指令寄存器指令、时钟周期、暂存寄存器、进位、累加寄存器来实现将需要的指令、数据地址和相关数据打入到内部地址线和数据线上以供以后使用。同时通过监听脉冲信号和上升沿的重置信号来实现从数据线和地址线上取数据和相关指令地址进行处理。 (1)6bxx001x: 通过001三位判断在第一周期执行,i_a = pc_o;rc = 1b1;wc = 1b0;(将程序计数器上的指令地址打入到地址总线上,同时标明此时为读状态)。 (2)6b00010x: 通过010三位判断在第二周期执行,同时在第二周期又分为三种状态分别为ADD fetch data、LDA fetch data、STA write data即将需要加入的数据的地址打到地址总线上,将数据地址打到地址线上供存入寄存器中、将数据地址打到地址线上供转入到内存中这三项同时表明正在进行的读写状态。(3)6bxx000x: 表明没有工作可作此时将数据初始化如地址总线( i_a = 8h00),读写状态信号(wc = 1b0;rc= 1b0)。四、实验总结通过这次的四条指令2周期的cpu执行双字节加的实验,使我对Verilog HDL语言有了一定的了解,这次实验大体结构是两个always (敏感信号表)的并行性执行,其中涉及到操作码的译码(取指令、取数据、内存的读写、加法、跳转等)。实验中也遇到了一些问题,通过查阅课本和与同学讨论得以解决。实验四1 实验内容: 对CPU_Core总线进行分析给出报告分析Cyclone EP1C12Q204C8的引脚设计定义与使用说明。2 实验目的: (1) 分析芯片Cyclone EP1C12Q204C8的引脚定义及其与cpu4t.v的对应关系; (2) 直接在分配设置文件QuartusII Settings File (*.qsf) 增添引脚中文说明段; 三.实验分析:CPU_FPGA-EP1C12QPQFP240C8,QFP PGA插座背版 到Face_CPLD的状态CK-周期Ti内时钟END_I-一条指令结束PC_BKT-程序计数器断点T3:0-指令的周期数STOP-停机指令从Face_CPLD来CLK-受控时钟 =CLK0/n或可倍频的OSC_CLK从Face_CPLD来S_RST软复位从Face_CPLD来RUN-CPU运行控制SET_CP-设置CPU启动首地址脉冲RESET手动复位OSC_CLK-不受控可倍频时钟F_FCLK-不受控时钟连接跳针JP_FCK为CLK0,不连可外部引入,通常用作内嵌逻辑分析仪时钟_WR-USB_8051的写WR作时钟.,用作设置本块内的寄存器或写SRAMOSC_CLK-不受控可2、4倍频时钟,仅用作组合。C_A9:0CLK0CLK3CLK2CLK1连Face_CPLDC_A9:0-命令请求应答等,信号功能和方向由设计者按需要确定(备用)AD23:0地/数复用总线或非复用数据,数据到存贮器,其中低16位到IO_CPLD;地址经锁存器到存贮器 到Face_CPLDAD31:30-数/地复用高2位地址A_31:30-非复用地高2位地址D_dir-数据方向控制ALE-复用地址锁存信号EN_A-复用地址锁存器允许输出C/BE3;0-命令/字节选择产生存贮器和外部片选,地址选择等IRQ4:1外部中断连IO_CPLDC_R11:0设计者自定义IO控制请求应答备用信号。S_INT-调试用软模拟中断从Face_CPLD来NMI外部非屏蔽中断,连跳针JP_NT,为开关模拟,否则可连外部。BUS_CLKA_23:0非复用地址, 经缓冲(3245)到存贮器。输入用作设置程序首地址PCUSB_8051访问空间:0x64xx-控制命令空间0x6Cxx-信息跟踪空间0xDxx访问EP1C12的寄存器与SRAM的空间译码由Face_CPLD产生EP1C12Q240C8命令控制总线数据地址总线_D7:0- -经3245缓冲连CY7C68013A两地址2选1:见32、34、35数据宽度双向逻辑及其相关地址右移逻辑均设计在CPU本端口CPU_FPGA地址译码0x6xxx0xDxxxUSB_8051总线访问信号_A11:0_CS, OE_RD, _WRFace_CPLD端口注意:信号同名引脚在描述文件内必须定义类似的不同名,分配相应引脚。INT5#-3态出,见Face.30个IO空脚, 供用户按设计需要自由连接各模块.或测试内部出内有sram约27Kbyte可作主存或微存或cache等到Face_CPLD的状态CK-周期Ti内时钟END_I-一条指令结束PC_BKT-程序计数器断点T3:0-指令的周期数从Face_CPLD来RUN-CPU运行控制SET_CP-设置CPU启动从Face_CPLD来S_RST软复位从Face_CPLD来CLK-受控时钟 =CLK0/n或可倍频USB_8051访问空间:0x64xx-控制命令空间0x6Cxx-信息跟踪空间0xDxx访问EP1C12的寄存器与SRAM的空间到Face_CPLDAD31:30-数/地复用高2位地址A_31:30-非复用地高2位地址D_dir-数据方向控制ALE-复用地址锁存信号EN_A-复用地址锁存器允许输出AD23:0地/数复用总线或非复用数据,数据到存贮器,其中低16位到IO_CPLD;地址经锁A_23:0非复用地址, 经缓冲(3245)到存贮器。输入用作设置程序首地NMI外部非屏蔽中断,连跳针JP_NT,为开关模拟,否则可set_location_assignment PIN_226 -to END_I/一条指令结束set_location_assignment PIN_233 -to STOP/停机指令set_location_assignment PIN_234 -to CK/周期内时钟set_location_assignment PIN_238 -to S_RST/软复位set_location_assignment PIN_239 -to S_INTset_location_assignment PIN_240 -to RUN/cpu运行控制set_location_assignment PIN_236 -to OSC_CLK/不可控可倍频时钟set_location_assignment PIN_237 -to

温馨提示

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

评论

0/150

提交评论