《计算机综合课程设计 - 东南大学.ppt》由会员分享,可在线阅读,更多相关《计算机综合课程设计 - 东南大学.ppt(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、http:/ P.1http:/ 指令系统介绍指令系统介绍nMiniSys 的设计的设计n外围电路及控制系统设计外围电路及控制系统设计n软件的设计软件的设计1/23/2023 P.2http:/ Core进行设计。进行设计。1/23/2023 P.3http:/ n以微处理器为核心以微处理器为核心,外围集成各种存,外围集成各种存储器、控制电路、输入输出、储器、控制电路、输入输出、A/D、D/A等功能于一个芯片上等功能于一个芯片上n n以数字信号处理器以数字信号处理器(DSP)为核心为核心,多个,多个A/D、D/A,大容量存储器等集成大容量存储器等集成n n上述两种类型的混合上述两种类型的混合,
2、或者把系统算,或者把系统算法和芯片结构有机地集成在一起法和芯片结构有机地集成在一起1/23/2023 P.4http:/ n设计中的关键技术设计中的关键技术n n设计描述技术设计描述技术n nVerilogVerilog HDL/VHDL/AHDL HDL/VHDL/AHDLn nSystem CSystem C、C-VHDLC-VHDL混合描述混合描述混合描述混合描述n n软硬件协同设计软硬件协同设计n n电路的设计、综合、布局布线电路的设计、综合、布局布线电路的设计、综合、布局布线电路的设计、综合、布局布线n n软件与硬件的划分、协同设计、协同仿真软件与硬件的划分、协同设计、协同仿真软件与
3、硬件的划分、协同设计、协同仿真软件与硬件的划分、协同设计、协同仿真n n嵌入式操作系统、嵌入式系统程序和应用程序嵌入式操作系统、嵌入式系统程序和应用程序嵌入式操作系统、嵌入式系统程序和应用程序嵌入式操作系统、嵌入式系统程序和应用程序的开发的开发的开发的开发n nIP集成复用技术及设计环境集成复用技术及设计环境1/23/2023 P.5http:/ Reuse)是指在集成电路设是指在集成电路设计过程中,通过继承、共享或购买所需的部计过程中,通过继承、共享或购买所需的部分或全部知识产权内核分或全部知识产权内核(IP Core),进行设进行设计、综合和验证,从而加速流片设计过程的计、综合和验证,从而
4、加速流片设计过程的设计方法设计方法nIP Core是一种商品,是一种商品,SOPC的技术核心:的技术核心:是可编程逻辑器件设计工程师价值体现的主是可编程逻辑器件设计工程师价值体现的主要途径要途径1/23/2023 P.6http:/ 或或 Verilog HDL)n原理图(可移植性差)原理图(可移植性差)n网表网表n符合某种符合某种EDA工具的特定格式工具的特定格式n如:如:Xilinx的的IP Capture和和Core Generator等等1/23/2023 P.7http:/ CorenSDRAM 控制器、控制器、LCD 控制器、总线控制器等控制器、总线控制器等nDSP算法算法IP C
5、orenFIR滤波器、滤波器、DES加密、音视频编码和解码等加密、音视频编码和解码等n通信控制器通信控制器IP CorenMAC、Gbit收发器、收发器、CAM、协议转换等协议转换等n其它类型其它类型IP Core1/23/2023 P.8http:/ Core设计:编码风格设计:编码风格n编码风格(编码风格(Coding Style)是基于是基于HDL的的IP Core源码编写的指导性文档,关系到源码编写的指导性文档,关系到IP Core的可读性、易于集成性及其质量的可读性、易于集成性及其质量n编码风格一般包含几个方面的约定:文件头编码风格一般包含几个方面的约定:文件头和版本说明、联机注释、
6、命名规则、可综合和版本说明、联机注释、命名规则、可综合编码(编码(UCF)等等 nhttp:/www.opencores.org nhttp:/www.IP 1/23/2023 P.9http:/ P.10http:/ P.11http:/ P.12http:/ P.13http:/ 0000 0000 10101/23/2023 P.14http:/ 0000 0000 10101/23/2023 P.15http:/ P.16http:/ P.17http:/ P.18http:/ P.19http:/ P.20http:/ P.21http:/ P.22http:/ P.23http:/
7、 P.24http:/ P.25http:/ P.26http:/ CPU设计架构设计架构nMiniSys CPU中各个单元中各个单元n指令执行的分析指令执行的分析n设计流水线处理器的考虑设计流水线处理器的考虑n设计多核处理器的考虑设计多核处理器的考虑1/23/2023 P.27http:/ P.28PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtrdreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWriteDataM
8、emdata数据RAM10WE1 0jalRegwriteMemtoRegMemWriteSftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addressPC+410jrnMIPS instruction formatopI-formatJ-formatR-formatrs rtrdfuncop rs rtimmediateopaddress1/23/2023 P.29http:/ P.30immediaterdPCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtreadR1readR2writeRwriteDC
9、lockreadD1readD2RegdstWEAlusrc符号扩展01ABZeroAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrn取指单元取指单元的设计的设计1/23/2023 P.31http:/ 2 2101010241024WIDTH=32;WIDTH=32;-数据宽度数据宽度数据宽度数据宽度3232位位位位ADDRESS_RAD
10、IX=HEX;ADDRESS_RADIX=HEX;-地址采用地址采用地址采用地址采用1616进制描述进制描述进制描述进制描述DATA_RADIX=HEX;DATA_RADIX=HEX;-数据采用数据采用数据采用数据采用1616进制描述进制描述进制描述进制描述CONTENTCONTENTBEGINBEGIN0:8c020000;-0:8c020000;-lwlw$20($0)$20($0)1:8c030002;-1:8c030002;-lwlw$32($0)$32($0)19.3FD:00000000;19.3FD:00000000;3FE:03400008;-3FE:03400008;-jrj
11、r$1A$1A中断中断中断中断0 0返回返回返回返回3FF:03600008;-3FF:03600008;-jrjr$1B$1B中断中断中断中断1 1返回返回返回返回END;END;1/23/2023 P.32http:/ 4的结果,因为的结果,因为的结果,因为的结果,因为MIFMIF文件按文件按文件按文件按0 0、1 1、2 2、/3/3排列的排列的排列的排列的defparamprgrom.lpm_width=32;/数据(指令)宽度数据(指令)宽度数据(指令)宽度数据(指令)宽度3232位位位位defparamprgrom.lpm_widthad=10;/地址线宽度地址线宽度地址线宽度地址
12、线宽度9 9位位位位defparamprgrom.lpm_file=prgmip32.mif;defparamprgrom.lpm_outdata=UNREGISTERED;defparamprgrom.lpm_address_control=REGISTERED;1/23/2023 P.33http:/ P.34rdPCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWri
13、teDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrn译码单元译码单元的设计的设计1/23/2023 P.35http:/ P.36rdPCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultA
14、LUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrn控制单元控制单元的设计的设计1/23/2023 P.37http:/ P.38rdPCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZer
15、oAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrn执行单元执行单元的设计的设计1/23/2023 P.39http:/ P.40rdPCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展imme
16、diate01ABZeroAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrn存储单元存储单元的设计的设计1/23/2023 P.41http:/ P.42http:/ P.43http:/ P.44http:/ cpu 的的5大部件的大部件的设计,最后需要将这设计,最后需要将这5大部件组合成一个完大部件组合成一个完整的整的CPU,可以用,可
17、以用GDT图,也可以用图,也可以用Verilog的元件例化的方法来完成。的元件例化的方法来完成。n在元件例化的时候特别注意字母大小写一定在元件例化的时候特别注意字母大小写一定要一致。要一致。1/23/2023 P.45http:/ pc,alu_result_out,read_data_1_out;output15:0 read_data_2_out,write_data_out;output31:0 instruction_out;outputbranch_out,zero_out,memwrite_out,regwrite_out;outputi_format_out;1/23/2023
18、P.46http:/ P.47http:/ P.48http:/ P.49http:/ P.50PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtrdreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal
19、左移2位addresstPC+410jrnMIPS instruction formatopI-formatJ-formatR-formatrs rtrdfuncop rs rtimmediateopaddress除jr指令之外的其他16条R-format指令1/23/2023 P.51PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtrdreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWriteDataMemdata数
20、据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrnMIPS instruction formatopI-formatJ-formatR-formatrs 00funcop rs rtimmediateopaddressjr01/23/2023 P.52PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtrdreadR1readR2writeRwriteDClockreadD1read
21、D2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrnMIPS instruction formatopI-formatJ-formatR-formatrs rtrdfuncop rs rtimmediateopaddressaddi,addiu,andi,ori,xor
22、i,lui,slti,sltiu1/23/2023 P.53PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtrdreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410
23、jrnMIPS instruction formatopI-formatJ-formatR-formatrs rtrdfuncop rs rtimmediateopaddresslw1/23/2023 P.54PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtrdreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteA
24、luctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrnMIPS instruction formatopI-formatJ-formatR-formatrs rtrdfuncop rs rtimmediateopaddresssw1/23/2023 P.55PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtrdreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroA
25、lu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrnMIPS instruction formatopI-formatJ-formatR-formatrs rtrdfuncop rs rtimmediateopaddressbeq,bne1/23/2023 P.56PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsr
26、trdreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC+410jrnMIPS instruction formatopI-formatJ-formatR-formatrs rtrdfuncop rs r
27、timmediateopaddressj1/23/2023 P.57PCClock程序ROM读地址指令31-04控制单元op寄存器01funcrsrtrdreadR1readR2writeRwriteDClockreadD1readD2RegdstWEAlusrc符号扩展immediate01ABZeroAlu resultALUAddressWriteDataMemdata数据RAM10WE1 0jalRegwriteMemtoregMemwriteAluctl/slt/sftmd/sftm/I_format左移2位nBranchBranch0101jmp|jal左移2位addresstPC
28、+410jrnMIPS instruction formatopI-formatJ-formatR-formatrs rtrdfuncop rs rtimmediateopaddressjal311/23/2023 P.58http:/ P.59http:/ P.60http:/ 1/23/2023 P.61http:/ P.62http:/ P.63http:/ n尽早算出分支条件满足时的转移地址(尽早算出分支条件满足时的转移地址(PC的新值)的新值)1/23/2023 P.64http:/ P.65http:/ CORE DUOnEach with its own execution re
29、sourcesnEach with its own L1 cachen32K instruction and 32K datanBoth cores share the L2 cachen2MB 8-way set associative;64-byte line size n10 clock cycles latency;Write Back update policy 1/23/2023 P.66http:/ OpteronnSeparate 1Mbyte L2 cachesnCPU0 and CPU1 communicate through the SRQ and Crossbar1/2
30、3/2023 P.67http:/ P.68http:/ T1 from SUNn8 CPU corenEach core can run 4 thread simultaneitynAll cores connected throughhigh bandwidth(134.4GB/s)crossbar switch1/23/2023 P.69http:/ from IBM,Toshiba and Sonyn1 PPE(Power Processor Element)n8 SPE(Synergistic Processor Element)nAll cores connected throug
31、h EIB1/23/2023 P.70http:/ from Tilera Co.n64 CoresnRISCn19.2WnAll cores connected through MESHn500Gb/s for one core,32Tb/s for all.nEvery core can run OS1/23/2023 P.71http:/ from IntelnMultiple in-order x86 CPU cores that are augmented by a wide vector processor unitnA coherent on-die 2nd level cachenAll cores connected through Interprocessor Ring Network1/23/2023 P.72