您好,欢迎访问三七文档
ClassIV•ByCharlieChen•March5,2007•ShanghaiChina•FudanUniversityHardwareSoftwareContents•计算机系统实验仪结构•软件使用方法•8位微程序控制计算机设计•16位微程序控制计算机设计•ARM架构16位RISC计算机设计•DLX架构16位RISC计算机设计ScheduleforCPUDesigns指令测试及最终结果理解实验仪结构Cpu的Vhdl实现微程序及程序设计实验步骤设计cpu结构DocumentsforCPUDesigns实验指导书初期试验报告最终实验报告相关文档资料Cpu框图电子文档计算机结构和组成原理冯﹒诺依曼计算机设计思想•存储程序概念•计算机硬件基本上由运算器、控制器、存储器、输入设备和输出设备五大部件构成•采用二进制来表示信息(数据和指令)运算器•多累加器结构•单累加器多寄存器结构多累加器结构•多累加器结构中两个操作数分别在寄存器堆中的两个寄存器中(Ai)OP(Aj)→Ai•第一拍:寄存器堆中的第一操作数经总线送累加器暂存器ACT;•第二拍:ACT中的第一操作数送ALU的A口;寄存器堆中的第二操作数经总线由TMP(此时74373设置成透明即直通状态)送ALU的B口,ALU的运算结果送累加器A;•第三拍:累加器A中的结果经BUFFER由总线送寄存器堆中。单累加器多寄存器结构•单累加器多寄存器结构中一个操作数在累加器A中,另一个在寄存器堆中(A)OP(Ri)→A)•第一拍:累加器A中的第一操作数送累加器暂存器ACT;•第二拍:ACT中的第一操作数送ALU的A口;寄存器堆中的第二操作数经总线送ALU的B口,ALU的运算结果经BUFFER由总线送累加器A。控制器•控制器主要由程序计数器(PC)•指令寄存器(IR)•指令译码器(ID)•时序部件(T)•微操作控制部件(uOP)•中断逻辑等组成微操作控制部件•常规逻辑控制器•微程序控制器•微周期:从控制存储器中取出并执行一条微指令所需的时间。微程序控制器的工作原理•uIR为微指令寄存器,用于寄存从控制存储器中读出的微指令。•微指令中的控制字段经微指令译码器(uID)译码后产生微命令,发至各执行部分执行相应的微操作;•其后续地址段与IR中的指令经指令译码器(ID)译出的指令码以及状态标志一起由后续微指令地址形成逻辑产生下一条微指令地址。•计算机启动后,在uAR中自动形成“取指令微程序”的起始地址M(一般为0地址),即启动后就自动执行取指令微程序。•每条指令所对应的微程序执行完毕,其最后一条微指令中的后续地址必然是取指令微程序的起始地址即M。微命令的编码方式•直接控制法:每一位对应一个微命令•全译码法:每条微指令仅能发一个微命令•分组直接译码法:相斥性微命令,相容性微命令后续微指令地址的产生•增量方式•断定方式堆栈•向上生长型•向下生长型输入输出设备•统一编址方式•独立编址方式•查询方式•中断方式•DMA方式总线计算机系统实验仪结构总体框图8位八段显示控制单片机1K×32RAM32K×16RAMU1U2控制及数据采样电路U3XC2S150-PQ208实验芯片16AB16DB16CB32CO32CI32位LED24个开关KX1KX2控制接口串行装入地址线数据线地址线10321615数据线控制线MUXRS-232打印机4×6键盘MWROMWROMRDOMRDOIOWOIOWOIORIOROOCTRLCTRL11--44OOPRIXIPRIXIKRIXIKRIXIRUNIRUNIRESETIRESETICLK(CLKG)ICLK(CLKG)IMCLKOMCLKOCBCB::名称名称I/OI/OFDFD--MCESMCES复旦大学多功能计算机实验系统复旦大学多功能计算机实验系统说明1---U1和U2和U3•U1和U2采用XC2S50芯片,它们用于控制实验仪的工作方式,提供实验芯片与存贮器和微程序存贮器的接口,控制实验计算机的运行,采集实验计算机的运行数据。•实验设计的CPU可通过串行的下载线装入U3中,以实现指定的各种功能•控制单片机为MC68HC908GP32,它控制实验仪的全部工作包括设置工作方式、运行控制、数据采集。说明2---U3•32根输出线(CI31~0),同时接至32个LED发光管,显示输出状态•32根输入/输出线(CO31~0)•16根地址总线(输出)(AB15~0)•16根数据总线(DB15~0),可设置为8位方式,这时只使用DB7~0说明3---U3的16根控制线•存贮器读(MRD),写(MWR)•打印机输出(IOW),键盘输入(IOR)•打印机状态(PRIX),键盘状态(KRIX)•运行(RUN)、复位(RESET)•时钟输入(CLK和GCLK),主时钟输出(MCLK)•四根备用控制线(CTRL1—CTRL4)•三根MUX线,用于在单拍时选择观察的内容说明4---U1,U2•实验CPU与存贮器和微程序存贮器的接口•控制实验计算机的运行•采集实验计算机的运行数据•存贮器为32Kx16,微程序存贮器为1Kx32•它们接有24个开关,在数字逻辑部件实验中,可接至CO23~0作为输入信号说明5---控制单片机•RS-232串行口,可与主机(PC机)进行通讯•小型字轮打印机提供给实验计算机作打印机输出设备•接用4X6键盘,提供给实验计算机作键盘输入设备•接有8位七段LED显示,在计算机实验时,可显示存贮器和调试信息,在数字逻辑实验时,它的高四位接至CI31~0,以七段方式显示输出信息。存贮器接口•32Kx16的存贮器,用作实验计算机的存贮器。•地址线为AB15~0,数据线为DB15~0•读出控制线为MRD(0有效),写入控制线为MWR(0有效)8位方式存贮器访问•存贮器为32Kx8•数据总线为DB7~0,地址总线仅AB14~0有效,存贮器地址为0000~7FFFH•AB15应用于控制读、写信号•设CPU的读写输出信号为CRD、CWR(均为0有效),如,则:–MRD=CRDorAB15;–MWR=CWRorAB15;全16位方式存贮器访问•存贮器为32Kx16•它只支持字(16位)操作,即只能读出或写入16位•每个地址单元为一个字(字编址方式)•设CPU的读写输出信号为CRD、CWR(均为0有效),如,则:–MRD=CRDorAB15;–MWR=CWRorAB15;16位/8位方式存贮器访问1•每个地址单元为一个字节,为字节编址方式。•地址线AB15~1寻址字地址,AB0决定访问高位字节还时低位字节•在需读出一个字节时,由CPU按地址为奇数(AB0=1)或偶数(AB0=0)来读取DB15~8或DB7~0上的数据•写入时,需增加一个写高位字节允许信号((0有效),它使用CTRL1)•在字写入时,AB0=0,CTRL1=0;在写入低位字节时,AB0=0,CTRL1=1;在写入高位字节时,AB0=1,CTRL1=0。16位/8位方式存贮器访问2•存贮器的写入信号有两根,一根为写低位字节(使用MWR),另一根为写高位字节(使用CTRL1(0有效))•如果CPU内部有一根16位写入允许信号(WAL(0有效)),则可如下得出控制信号:•MWR=CWRorAB0•CTRL1=CWRor(notAB0andWAL)微程序存贮器•实验仪配有1Kx32的微程序存贮器(又称为控存)•它在实验计算机处于停机状态下可由主机访问,包括写入、读出,可直接从主机把微程序装入该存贮器中•在运行时,该存贮器的地址来自U3的CI9~0,它的数据(32位)直接输出至CO31~0微程序控制方法•一条指令是通过一段微程序的执行来实现的。微程序控制模块实现微指令的取指、执行功能。微指令编码格式•全水平编码:控制场每一位直接对应一种微操作。若控制场长m位,则至多可表示m个不同的微操作。•分段编码:控制场分成若干段,如某段长i位,则可表示2i-1个互斥的即不能同时有效的微操作信号。微程序顺序控制方法•计数增量方法:用微地址计数器MPC来产生微指令地址。•断定方式:微指令中设有“下地址场”,它指出下条微指令的地址•微指令寄存器MIR•控存CM•微程序计算器MPC•微程序首址形成线路•指令操作码•微操作控制信号•微指令•微地址•微程序首址•加1•计算增量方式微程序控制部件•微操作控制信号•控制场•下地址场•微指令寄存器MIR•控存•CM•微指令•微地址•状态条件•微地址•形成线路•指令操作码•断定方式微程序控制部件示意图•微程序存贮器(控存CM)在实验芯片(XC2S150)外部,其它控制部件均应在实验芯片内•如采用计数增量的微程序控制方法,则微程序首地址形成线路(可直接接至指令的操作码):微程序计数器MPC、微指令寄存器MIR等均在CPU中实现•而控存CM在外部,它的地址CI9~0来自MPC的输出;它的微指令数据输出CO31~0接至MIR的输入•MPC、MIR等的控制和时钟信号由实验CPU控制键盘使用方法•IOR为键盘读出信号(0有效)。•KRIX为键盘有数据输入标志(1有效)•初始状态,KRIX=0,表示键盘无数据输入。按下‘0’~‘F’任一键后,数据打入键盘数据缓冲器中(高4位为0),并置位KRIX,表示有键输入。•CPU发出IOR信号,把数据读至数据总线的低8位,并清零KRIX•IOR可由CPU的读信号和片选信号产生,对于IO与存贮器统一编址的情况,可置键盘地址为8001H,这时IOR信号可如下得出:•IOR=notAB15ornotAB0orCRD;打印机使用方法•IOW为打印机输出信号(0有效)•PRIX为打印机空闲标志(1有效),初始状态,PRIX为1,允许打印•在需要输出数据打印时,IOW发一个写脉冲(低有效),把数据总线低8位(DB7~0)上的数据打入打印机数据缓冲器中,并启动打印机从缓冲器取出数据开始打印,同时使PRIX=0(这时不允许再向打印机输出数据)•打印完成后,打印机状态PRIX置1,CPU可再次向打印机输出数据。•有键输入•键盘•8•键盘•数据•缓冲器•DB7~0•KRIX•S•R•Q•IOR•键盘等效框图JNKBaddrKRIX=0转移JNPAaddrPRIX=0转移•PRIX•打印完成•打印启动•打印机•数据•缓冲器•DB7~0•打印机•S•R•Q•IOW•打印机等效框图打印机•打印机共有三个字轮,右边两个字轮为字符和符号,左边一个字符为数字。•打印机开始位置在最右边。打印时,从右到左,先打印一个右边字轮的字符,第二个中轮的字符,以后打印的均为左轮的字符。•如输出的数据的高4位不等于0,则在打印完低4位的数字后自动回车换行(这也是使打印机回车的唯一方法)。所以要输出某数字后回车换行,可以输出此数字加10H。例如要输出“3”后回车,只要输出“13H”即可。对于只需回车换行,不打印数据时,可输出1AH。三轮打印机字符编码•编码左中右•00G+•11KX•22√÷•33P◇•44D*•55%S•66MT•77⊿M•88+C•99—=•A—•B,R—•C。‡%•D#AE观察信号•观察信号用于监视实验计算机的运行状态,以便于调试。•两大类观察信号:外部信号,扩展信号外部信号•地址总线:AB15~0•数据总线:DB15~0•控制信号:MWR、MRD、IOW、IOR、CTRL1~4•I/O信号:包括CI31~CI0和CO31~CO0•在微程序控制计算机实验中CI9~CI0为实验计算机的微程序地址输出,CO31~CO0为微程序存贮器的微指令数据输出。•CI31~CI10可由实验者任意控制,接至CPU的各个寄存器或控制信号。扩展信号•用于观察内部信号•输入:接各个内部信号•多路选择信号:来自外部的MUX2~0,它的控制由主机自动完成•输出:至CI31~CI0(可按需使用少于32位)•CI(31downto24)=AwhenMUX=“000”else•PC(15downto8)whenMUX=“001”else•ADRHwhenMUX=“010”else•R0whenMUX=“011”else•R2whe
本文标题:计算机体系结构实验
链接地址:https://www.777doc.com/doc-3975785 .html