计算机体系结构实验2008

上传人:kms****20 文档编号:57134293 上传时间:2018-10-19 格式:PPT 页数:85 大小:1.70MB
返回 下载 相关 举报
计算机体系结构实验2008_第1页
第1页 / 共85页
计算机体系结构实验2008_第2页
第2页 / 共85页
计算机体系结构实验2008_第3页
第3页 / 共85页
计算机体系结构实验2008_第4页
第4页 / 共85页
计算机体系结构实验2008_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《计算机体系结构实验2008》由会员分享,可在线阅读,更多相关《计算机体系结构实验2008(85页珍藏版)》请在金锄头文库上搜索。

1、Welcome to SOC world !,Computer Architecture Experiment,Class IV,By Charlie Chen March 5, 2007 Shanghai China Fudan University,Hardware,Software,Contents,计算机系统实验仪结构 软件使用方法 8位微程序控制计算机设计 16位微程序控制计算机设计 ARM架构16位RISC计算机设计 DLX架构16位RISC计算机设计,Schedule for CPU Designs,指令测试及最终结果,理解实验仪结构,Cpu的Vhdl实现,微程序及程序设计,实验

2、步骤,设计cpu结构,Documents for CPU Designs,实验指导书,初期试验报告,最终实验报告,相关文档资料,Cpu框图,Vhdl代码 微程序编码 指令编码,电子文档,计算机结构和组成原理,冯诺依曼计算机设计思想,存储程序概念 计算机硬件基本上由运算器、控制器、存储器、输入设备和输出设备五大部件构成 采用二进制来表示信息(数据和指令),运算器,多累加器结构 单累加器多寄存器结构,多累加器结构,多累加器结构中两个操作数分别在寄存器堆中的两个寄存器中,(Ai) OP (Aj) Ai,第一拍:寄存器堆中的第一操作数经总线送累加器暂存器ACT; 第二拍: ACT中的第一操作数送ALU

3、的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) 微

4、操作控制部件(uOP) 中断逻辑等组成,微操作控制部件,常规逻辑控制器 微程序控制器 微周期: 从控制存储器中取出并执行一条微指令所需的时间。,微程序控制器的工作原理,uIR为微指令寄存器,用于寄存从控制存储器中读出的微指令。 微指令中的控制字段经微指令译码器(uID)译码后产生微命令,发至各执行部分执行相应的微操作; 其后续地址段与IR中的指令经指令译码器(ID)译出的指令码以及状态标志一起由后续微指令地址形成逻辑产生下一条微指令地址。 计算机启动后,在uAR中自动形成“取指令微程序”的起始地址M(一般为0地址),即启动后就自动执行取指令微程序。 每条指令所对应的微程序执行完毕,其最后一条微

5、指令中的后续地址必然是取指令微程序的起始地址即M。,微命令的编码方式,直接控制法 :每一位对应一个微命令 全译码法 :每条微指令仅能发一个微命令 分组直接译码法:相斥性微命令 ,相容性微命令,后续微指令地址的产生,增量方式 断定方式,堆栈,向上生长型 向下生长型,输入输出设备,统一编址方式 独立编址方式 查询方式 中断方式 DMA方式,总线,计算机系统实验仪结构,总体框图,说明1 U1和U2和U3,U1和U2采用XC2S50芯片,它们用于控制实验仪的工作方式,提供实验芯片与存贮器和微程序存贮器的接口,控制实验计算机的运行,采集实验计算机的运行数据。 实验设计的CPU可通过串行的下载线装入U3中

6、,以实现指定的各种功能 控制单片机为MC68HC908GP32,它控制实验仪的全部工作包括设置工作方式、运行控制、数据采集。,说明2 U3,32根输出线(CI310),同时接至32个LED发光管,显示输出状态 32根输入/输出线(CO310) 16根地址总线(输出)(AB150) 16根数据总线(DB150),可设置为8位方式,这时只使用DB70,说明3 U3的16根控制线,存贮器读(MRD),写(MWR) 打印机输出(IOW),键盘输入(IOR) 打印机状态(PRIX),键盘状态(KRIX) 运行(RUN)、复位(RESET) 时钟输入(CLK和GCLK),主时钟输出(MCLK) 四根备用控

7、制线(CTRL1CTRL4) 三根MUX线,用于在单拍时选择观察的内容,说明4U1,U2,实验CPU与存贮器和微程序存贮器的接口 控制实验计算机的运行 采集实验计算机的运行数据 存贮器为32Kx16,微程序存贮器为1Kx32 它们接有24个开关,在数字逻辑部件实验中,可接至CO230作为输入信号,说明5控制单片机,RS-232串行口,可与主机(PC机)进行通讯 小型字轮打印机提供给实验计算机作打印机输出设备 接用4X6键盘,提供给实验计算机作键盘输入设备 接有8位七段LED显示,在计算机实验时,可显示存贮器和调试信息,在数字逻辑实验时,它的高四位接至CI310,以七段方式显示输出信息。,存贮器

8、接口,32Kx16的存贮器,用作实验计算机的存贮器。 地址线为AB150,数据线为DB150 读出控制线为MRD(0有效),写入控制线为MWR(0有效),8位方式存贮器访问,存贮器为32Kx8 数据总线为DB70,地址总线仅AB140有效,存贮器地址为00007FFFH AB15应用于控制读、写信号 设CPU的读写输出信号为CRD、CWR(均为0有效),如,则: MRD = CRD or AB15; MWR = CWR or AB15;,全 16位方式存贮器访问,存贮器为32Kx16 它只支持字(16位)操作,即只能读出或写入16位 每个地址单元为一个字(字编址方式 ) 设CPU的读写输出信号

9、为CRD、CWR(均为0有效),如,则: MRD = CRD or AB15; MWR = CWR or AB15;,16位/8位方式存贮器访问1,每个地址单元为一个字节,为字节编址方式。 地址线AB151寻址字地址,AB0决定访问高位字节还时低位字节 在需读出一个字节时,由CPU按地址为奇数(AB0=1)或偶数(AB0=0)来读取DB158或DB70上的数据 写入时,需增加一个写高位字节允许信号(0有效),它使用CTRL1) 在字写入时,AB0=0, CTRL1 =0;在写入低位字节时,AB0=0, CTRL1 =1;在写入高位字节时,AB0=1, CTRL1 =0。,16位/8位方式存贮器

10、访问2,存贮器的写入信号有两根,一根为写低位字节(使用MWR),另一根为写高位字节(使用CTRL1(0有效) 如果CPU内部有一根16位写入允许信号(WAL(0有效),则可如下得出控制信号: MWR = CWR or AB0 CTRL1 = CWR or (not AB0 and WAL),微程序存贮器,实验仪配有1Kx32的微程序存贮器(又称为控存) 它在实验计算机处于停机状态下可由主机访问,包括写入、读出,可直接从主机把微程序装入该存贮器中 在运行时,该存贮器的地址来自U3的CI90,它的数据(32位)直接输出至CO310,微程序控制方法,一条指令是通过一段微程序的执行来实现的。微程序控制

11、模块实现微指令的取指、执行功能。,微指令编码格式,全水平编码 :控制场每一位直接对应一种微操作。若控制场长m位,则至多可表示m个不同的微操作。 分段编码:控制场分成若干段,如某段长i位,则可表示2i-1个互斥的即不能同时有效的微操作信号。,微程序顺序控制方法,计数增量方法:用微地址计数器MPC来产生微指令地址。 断定方式:微指令中设有“下地址场”,它指出下条微指令的地址,微程序存贮器(控存CM)在实验芯片(XC2S150)外部,其它控制部件均应在实验芯片内 如采用计数增量的微程序控制方法,则微程序首地址形成线路(可直接接至指令的操作码):微程序计数器MPC、微指令寄存器MIR等均在CPU中实现

12、 而控存CM在外部,它的地址CI90来自MPC的输出;它的微指令数据输出CO310接至MIR的输入 MPC、MIR等的控制和时钟信号由实验CPU控制,键盘使用方法,IOR为键盘读出信号(0有效)。 KRIX为键盘有数据输入标志(1有效) 初始状态,KRIX=0,表示键盘无数据输入。按下0F任一键后,数据打入键盘数据缓冲器中(高4位为0),并置位KRIX,表示有键输入。 CPU发出IOR信号,把数据读至数据总线的低8位,并清零KRIX IOR可由CPU的读信号和片选信号产生,对于IO与存贮器统一编址的情况,可置键盘地址为8001H,这时IOR信号可如下得出: IOR =not AB15 or n

13、ot AB0 or CRD;,打印机使用方法,IOW为打印机输出信号(0有效) PRIX为打印机空闲标志(1有效),初始状态,PRIX为1,允许打印 在需要输出数据打印时,IOW发一个写脉冲(低有效),把数据总线低8位(DB70)上的数据打入打印机数据缓冲器中,并启动打印机从缓冲器取出数据开始打印,同时使PRIX=0(这时不允许再向打印机输出数据) 打印完成后,打印机状态PRIX置1,CPU可再次向打印机输出数据。,JNKB addr KRIX=0 转移 JNPA addr PRIX=0 转移,打印机,打印机共有三个字轮,右边两个字轮为字符和符号,左边一个字符为数字。 打印机开始位置在最右边。

14、打印时,从右到左,先打印一个右边字轮的字符,第二个中轮的字符,以后打印的均为左轮的字符。 如输出的数据的高4位不等于0,则在打印完低4位的数字后自动回车换行(这也是使打印机回车的唯一方法)。所以要输出某数字后回车换行,可以输出此数字加10H。例如要输出“3”后回车,只要输出“13H”即可。对于只需回车换行,不打印数据时,可输出1AH。,三轮打印机字符编码,编码 左 中 右 0 0 G 1 1 K X 2 2 3 3 P 4 4 D * 5 5 % S 6 6 M T 7 7 M 8 8 + C 9 9 = A B , R C 。 % D # A E,观察信号,观察信号用于监视实验计算机的运行状

15、态,以便于调试。 两大类观察信号:外部信号, 扩展信号,外部信号,地址总线:AB150 数据总线:DB150 控制信号:MWR、MRD、IOW、IOR、CTRL14 I/O信号:包括CI31CI0和CO31CO0 在微程序控制计算机实验中CI9CI0为实验计算机的微程序地址输出,CO31CO0为微程序存贮器的微指令数据输出。 CI31CI10可由实验者任意控制,接至CPU的各个寄存器或控制信号。,扩展信号,用于观察内部信号 输入:接各个内部信号 多路选择信号:来自外部的MUX20,它的控制由主机自动完成 输出:至CI31CI0(可按需使用少于32位),CI(31 down to 24)= A

16、when MUX= “000” else PC(15 down to 8)when MUX= “001” else ADRH when MUX = “ 010” else R0 when MUX = “011” else R2 when MUX = “100” else R4 when MUX = “101” else R6; CI (23 down to 16 ) = IR when MUX= “000” else PC (7 down to 0)when MUX= “001” else ADRL when MUX = “ 010” else R1 when MUX = “011” else R3 when MUX = “100” else R5 when MUX = “101” else R7;,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号