关闭

关闭

关闭

封号提示

内容

首页 微程序设计.pdf

微程序设计.pdf

微程序设计.pdf

上传者: hejinsome 2010-12-18 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《微程序设计pdf》,可适用于IT/计算机领域,主题内容包含微程序设计krsteAsanovicMIT计算机科学实验室指令集结构VS具体实现指令集结构是软件硬件接口定义程序员可见的状态集定义指令格式(位解码)符等。

微程序设计krsteAsanovicMIT计算机科学实验室指令集结构VS具体实现指令集结构是软件硬件接口定义程序员可见的状态集定义指令格式(位解码)和指令语义例如:DLXxIBMJVM一种指令集结构的多个可能的实现结构实现:model(c),z(c)x结构实现:(c),,,,,奔腾奔腾pro奔腾(c)AMDAthlon,TransmetaCrusoe,SoftPCDLX结构实现:微码,流水线,超标量JVM:HotSpot,PicoJava,ARMJazelle,指令集结构通常设计成特定的微结构模式例如:CISCISAs设计为微编码结构实现RISCISAs设计为硬连线流水结构实现。VLIWISAs设计为固定延时顺序流水线结构实现JVMISA设计为软件解释器但是指令集结构也可以以任何微结构模式实现奔腾:硬连线流水CISC(x)机器(部分微编码支持)这个讲座:一个微码RISC(DLX)机器Intel可能最终推出一款动态乱序调度超长指令集架构(IA)的处理器PicoJava:硬件JVM处理器指令集到微结构映射微码的微体系结构微码固化于微型控制器的ROM中内存保存着用微指令所写的用户程序(包括DLXX等等)DLX的基于总线的数据路径指令执行•DLX指令执行包括以下几个方面:•指令读取•译码和寄存器读取•ALU操作•内存操作(可选)•回写到寄存器方式(可选)•计算下一个指令的地址微程序分段指令读取可看作微指令符号扩展微程序分段(续)DLX微控制器:第一步锁存输入可能会引起一个周期的延时多大的ROM?“s”多大?ROM中的微程序工作表ROM中的微程序ROM中的微程序(续)控制存储器的大小•缩减控制存储器的大小控制存储器的速度快=>昂贵、缩减ROM的高度(=地址位)=>通过另外的外部逻辑缩减输入每一个输入位使控制存储器大小翻倍=>通过分组操作码来缩减状态寻找共同的动作序列=>压缩输入状态位把所有的异常情况结合成一个例如异常无异常、缩减ROM的宽度=>限制下一状态编码下一步根据操作码分派等待内存……=>编码控制信号(垂直微码)DLX控制器V通过对输入编码减小ROM的高度通过对下一状态编码减小ROM的宽度跳转逻辑•μPCSrc=CaseμJumpTypes•next=>μPC•spin=>if(busy)thenμPCelseμPC•fetch=>absolute•dispatch=>opgroup•feqz=>if(zero)thenabsoluteelseμPC•fnez=>if(zero)thenμPCelseabsolute指令读取ALUDLX控制器读写内存:DLX控制器转移:DLX控制器跳转:DLX控制器IBM中的微程序设计只有最快的机型(和)才用硬连线实现水平对垂直微码每条微指令的位数微指令数、水平微码的指令长度较长可以描述每个指令中的多个并行操作需要更少的步骤去完成每个微指令稀疏编码=>更多位、垂直微码有更多、更窄的微指令从限制来说每个微指令只有单数据路径操作微码转移需要独立的微指令需要更多的步骤去完成一条微指令更紧密=>更少的位数、毫微编码尝试将最优水平和垂直微码序组合起来毫微编码•使用微码中的循环控制信号模式例如:ALUARegrfALUiARegrf……MC有也位的微码含有位跳转指令或者含有位毫微指令指针•毫微指令是位宽译码后产生种控制信号复杂指令实现内存到内存的ALU指令DLX控制器在微程序实现中复杂指令通常不需要修改数据路径只是需要额外空间来存放控制程序若没有数据路径限制使用硬连线的控制器实现这些指令是困难的。微码仿真•IBM最初引进系列时错误估计了软件兼容的重要性。•Honeywell开始试图通过为HoneywellH系列机器提供翻译软件来争取IBM的客户。•IBM为系列另外提供可选的微码来反击这些微编码可仿真IBMISA后来又扩展到IBM系列。–一个流行的程序是模拟器所以有些客户在仿真的系列上运行很多程序(>>)年代的微程序设计繁荣的原因是•比DRAMs快得多的ROMs可用了。•对于复杂的指令集数据路径和控制器更加便宜而简单•新的指令例如浮点指令,可以在没有数据路径修改的情况下得到支持。•定位控制器中的错误更加容易。•在不同的机型上很容易、很便宜地实现了ISA指令的兼容性。除了最廉价、最快速的机器所有计算机都是微程序实现的。可写的控制存储器用SRAM而非ROM实现控制存储–MOSSRAM内存现在几乎和控制存储器同速(内核内存DRAMs比其慢了倍)–没有错误的微程序是难于编写的用户可写的控制存储器是很多小型机的选项。–允许使用者为每个进程改变微码用户可写的控制存储器的不足:–很少几乎没有编程工具支持–很难将软件放入小内存空间–微码控制针对原来的ISA设计对于其它的指令系统则没什么使用价值–大型用户可写的控制存储器是处理器状态的一部分断点交换开销很大–如果使用者能够改变微码微码保护就很困难了–虚拟内存需要可以重启的微码。性能问题•微程序控制=>每个指令消耗多个周期指令周期?对于复杂的控制tALUtRAM可以分解为多个周期。但是tμROM是不能分解的。因此tc>max(tregtreg,tμROM)假设*tμROM<tRAM相对与单周期、硬连线实现即使CPI为也可以获得好的性能。超大规模集成电路和微程序设计到了年代末•关于ROMRAM速度的技术假设不再成立。•微机器变的更加复杂为了解决慢速的ROM微机使用了流水技术复杂指令集导致在子程序和堆栈调用中使用微码中对于控制程序错误定位的需要与ROM的只读性相冲突。=>WCS(B,QMachine,Intel,…)•高速缓存和寄存器的引入特别是对指令来说寄存器到寄存器的多周期执行失去了吸引力现代用途微程序设计还远没有废弃在年代的微指令中发挥重大作用MotorolaK系列Inteland微码仍出现在大多数现代CISC微处理器中起辅助作用(例如AMDAthlon,IntelPentium)。•大多数指令可以直接执行例如用硬连线控制。•不常使用的或复杂指令才调用微码。可修复微码对结构化后错误定位非常通用例如。英特的奔腾系列加载代码插入到引导程序中微程序设计krsteAsanovicMIT计算机科学实验室指令集结构VS具体实现þÿ微码固化于微型控制器的ROM中内存保存着用微指令所写的用户程序(包括DLXX等等)þÿ指令执行微程序分段微程序分段(续)DLX微控制器:第一步ROM中的微程序工作表ROM中的微程序ROM中的微程序(续)控制存储器的大小缩减控制手段的存储大小控制手段存储必须迅速=>缩减ROM高度(=地址点)=>通过额外外部逻辑缩减输入缩减控制存储器的大小控制存储器的速度快=>昂贵、缩减ROM的高度(DLX控制器V跳转逻辑指令读取ALUDLX控制器读写内存:DLX控制器转移:DLX控制器跳转:DLX控制器IBM中的微程序设计水平对垂直微码毫微编码复杂指令实现内存到内存的ALU指令DLX控制器微码仿真年代的微程序设计可写的控制存储器性能问题超大规模集成电路和微程序设计现代用途

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/31
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部