欢迎来到天天文库
浏览记录
ID:27076578
大小:4.40 MB
页数:148页
时间:2018-12-01
《单周期数据通路的设计单周期控制器的设计第》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一讲单周期数据通路的设计第二讲单周期控制器的设计第三讲多周期处理器的设计第四讲微程序控制器设计与异常处理Ch6:CPU-DatapathandControl中央处理器:数据通路和控制器第一讲单周期数据通路的设计CPU的功能及其与计算机性能的关系数据通路的位置单周期数据通路的设计数据通路的功能和实现操作元件(组合逻辑部件)状态/存储元件(时序逻辑部件)数据通路的定时选择MIPS指令集的一个子集作为CPU的实现目标下条指令地址计算与取指令部件R型指令的数据通路访存指令的数据通路立即数运算指令的数据通路分支和跳转指令的数据通路综合所有指令的数据通路主要内容回顾:CPU功能及其与计算
2、机性能的关系与或门等(逻辑运算)移位器寄存器运算控制逻辑(大家都需要:多路选择器和传输线路等)加法器ALU运算部件ALU以加法器为核心运算部件以ALU/加法器为核心指令执行控制逻辑更多寄存器等CPU计算机性能(程序执行快慢)由三个关键因素决定(回顾)指令数目、CPI、时钟周期指令数目由编译器和ISA决定时钟周期和CPI由CPU的实现来决定因此,CPU的设计与实现非常重要!它直接影响计算机的性能。CPU基本组成原理图执行部件控制部件CPU由执行部件和控制部件组成指令寄存器----IR程序计数器---PC控制器主要由指令译码器和控制信号形成部件组成CPU的工作:取指令,指令译码,取
3、操作数,运算,存结果(每步都需检测“异常”“中断”)数据通路(执行部件)的位置计算机的五大组成部分:什么是数据通路(DataPath)?指令执行过程中,数据所经过的路径,包括路径中的部件。它是指令的执行部件。进行数据存储、处理、传送控制器(Control)的功能是什么?对指令进行译码,生成指令对应的控制信号,控制数据通路的动作。能对执行部件发出控制信号,是指令的控制部件。ControlMemoryCPUInputOutputDatapathDatapath注意以下层次结构:CPU执行部件(数据通路)操作元件存储(状态)元件寄存器控制部件(控制器)操作元件:组合逻辑电路加法器(A
4、dder)多路选择器(MUX)算逻部件(ALU)32AB32Y32SelectMUX3232AB32ResultZeroOPALU3232AB32SumCarryAdderCarryIn3Decoderout0out1out7out2译码器(Decoder)控制信号组合逻辑元件的特点:其输出只取决于当前的输入。即:若输入一样,则其输出也一样定时:所有输入到达后,经过一定的逻辑门延时,输出端改变,并保持到下次改变,不需要时钟信号来定时状态元件:时序逻辑电路状态(存储)元件的特点:具有存储功能,在时钟控制下输入被写到电路中,直到下个时钟到达输入端状态由时钟决定何时被写入,输出端状态
5、随时可以读出定时方式:规定信号何时写入状态元件或何时从状态元件读出边沿触发(edge-triggered)方式:状态单元中的值只在时钟边沿改变。每个时钟周期改变一次。上升沿(risingedge)触发:在时钟正跳变时进行读/写。下降沿(fallingedge)触发:在时钟负跳变时进行读/写。cycletimerisingedgefallingedge状态元件中何时状态被改变?切记:状态单元的输入信息总是在一个时钟边沿到达后的“Clk-to-Q”时才被写入到单元中,此时的输出才反映新的状态值数据通路中的状态元件:寄存器(组)(LatchProp-锁存延迟)Q总是在clock-to
6、-Q后跟着D变化这期间D的变化不影响Q状态元件:寄存器和寄存器组寄存器(Register)有一个写使能(WriteEnable-WE)信号0:时钟边沿到来时,输出不变1:时钟边沿到来时,输出开始变为输入若每个时钟边沿都写入,则不需WE信号寄存器组(RegisterFile)两个读口(组合逻辑操作):busA和busB分别由RA和RB给出地址。地址RA或RB有效后,经一个“取数时间(AccessTime)”,busA和busB有效。一个写口(时序逻辑操作):写使能为1的情况下,时钟边沿到来时,busW传来的值开始被写入RW指定的寄存器中。ClkDataInWriteEnableN
7、NDataOutClkbusWWriteEnable3232busA32busB555RWRARB3232-bitRegisters寄存器组的内部结构busWCD031MUXMXURegister0Register1Register30Register31WriteEnableRW32-to-1DecoderRARBbusAbusBClkCDCDCD每个寄存器由32个触发器组成;输入数据来自busW,读出数据分别送busA和busB;WriteEnable信号控制是否写入新值。Backtoa
此文档下载收益归作者所有