欢迎来到天天文库
浏览记录
ID:37764956
大小:641.31 KB
页数:31页
时间:2019-05-30
《微处理器体系结构及关键技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1微处理器的功能与构成2指令系统(格式、类型、寻址方式)3几种典型微处理器体系结构第三章微处理器体系结构及关键技术CPU简化模型Temp寄存器组控制部件IRABbufferDBbufferPCALU3.1CPU功能和构成处理器的基本功能取指令根据程序计数器PC中的值,从存储器读出现行指令,送到指令寄存器IR,然后PC自动加1指向下一条指令。分析指令(译码/解码)将IR中的指令操作码译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。执行指令取出操作数,执行指令规定的操作。根据指令不同还可能写入操作
2、结果。协调和控制计算机各部件,执行指令序列指令译码、执行算数和逻辑运算与存储器和外设交换数据提供系统所需控制CPU功能数据通路控制器CPU主存储器输入/输出处理器基本功能结构数据通路通用寄存器R累加器ACC程序计数器PC指令寄存器IR状态标志寄存器FR地址寄存器MAR数据缓冲器MBRALUALU总线基本的二进制算术、逻辑及移位运算;根据运算结果设置状态标志(进/借位、溢出等)控制器指令译码微命令序列控制逻辑时序+控制电平指令地址计算取指令指令译码计算操作数地址取操作数运算计算操作数地址存操作数3.2处理
3、器设计指令系统硬件软件硬件功能设置相应指令(格式、类型、寻址方式)配置译码逻辑(安排时序、微命令序列)配置数据通路(ALU、寄存器)确定总体结构(总线设计)指令系统控制器设计设计步骤生成中央时钟信号生成执行基本指令周期所需的控制信号响应中断或异常事件请求控制器设计时序控制部件:脉冲源+分频逻辑;用以产生各种系统所需的、满足时序要求的时钟信号现代控制器设计趋势:采用非集中控制模式,I/O和M拥有各自的控制器,从而变为自主的功能部件。I/O和M采用异步控制。按照微控制命令的形成方式,控制器可分为随机逻辑和微
4、程序两种基本类型。随机逻辑体系——针对CPU中控制器逻辑由硬件逻辑实现指令集结构优化指令结构,以减小硬件逻辑复杂度可通过简化指令减少所使用的门电路总数从而减少制造费用。指令集结构与硬件逻辑方程之间存在着密切联系,设计过程复杂。重用性差,设计成果很少能再利用到以后的新CPU设计中。适用于较简单的指令集结构。①程序计数器的值经MUX送到存储器;②存储器送回的指令写入指令寄存器;③程序计数器加1后回写;①寄存器堆中的某个地址寄存器通过MUX寻址存储器,获得ALU的一个操作数;②另一个操作数来自于寄存器堆中的数
5、据寄存器;③ALU的结果值被回写入寄存器堆。指令集结构驱动硬件的逻辑方程定义所需的指令集结构;根据指令集决定硬件逻辑及状态机;硬件逻辑方程反馈到指令集结构对指令集结构做必要的修改和优化;最大限度地减少逻辑复杂度;随机逻辑CPU的设计步骤指令集结构硬件逻辑方程微码体系指令由若干微指令组成,每条指令对应一组微指令(微码),对指令的译码从硬件逻辑设计变成设计微指令(软件)。指令微码控制逻辑由于在指令和控制逻辑中间增加“微码”对指令的解释更灵活——修改指令集不需要重新设计硬件芯片的纰漏可能通过微码修复——“微码
6、补丁”适用复杂指令,减少指令数,提高读取指令速度指令集与硬件逻辑设计分离μpcdecode微码ROMμIR每个指令周期开始将存储器中的指令写入IR指令译码,确定执行这条指令的微码程序在微码ROM的起始地址,将这个地址写入μpcμpc通过寻址微码ROM,得到微码,写入μIRμIR译码后通过控制线向机器提供控制信号μpc地址加1得到下一条微指令地址,重复上述过程,直到该指令的整个微码程序结束IR指令微控制μ译码+1μpcdecodeMicrocodeROMμIRμdecodeRegisterFileTemp
7、ALUResultPCMemoryIR基本时钟周期存储器读寄存器读存储器写寄存器写数据通路微指令涉及的控制信息微操作所需的数/地址微操作执行的算术逻辑功能存储器读写操作控制多路分支的逻辑条件下一个微地址微码结构与随机逻辑结构比较随机逻辑结构微码结构硬件设计与指令集同步设计、优化指令集设计不影响硬件性能比较逻辑硬布线,速度快,缺乏灵活性;适用于简单指令集需微码控制逻辑,开销大;灵活好,适应复杂类型指令,减少指令数量一条指令一个微程序(一组微指令)多个微操作(微控制)IR译码μIR译码3.3指令系统设计机器
8、指令要素操作码(operationcode,opcode):需要完成的操作源操作数(sourceoperandreference):操作所需的输入结果操作数(resultoperandreference):操作产生的结果下一条指令引用(nextinstructionreference):告诉CPU到哪里取下一条指令。操作数可以位于指令(常量)寄存器(提供寄存器编号)主存或虚存(提供地址)I/O设备(提供接口地址)操作数指令类型数据传送数据从
此文档下载收益归作者所有