您好、欢迎来到现金彩票网!
当前位置:大发体育在线 > 指令译码器 >

业大学硕士学位论文第二章龙腾微处理器译码器的设计 字节该域只

发布时间:2019-07-28 16:36 来源:未知 编辑:admin

  业大学硕士学位论文第二章龙腾微处理器译码器的设计 字节该域只用于 位寻址方式中“基址加变址”和“比例因子加变址”的寻址模式中。 域的构成指定比例因子 指定变址寄存器的寄存器号 指定基址寄存器的寄存器号。偏移量 域偏移量域在寻址方式字节之后 是一个计算有效地址或程序相对地址的常量。它有三种形式 有符号

  业大学硕士学位论文第二章龙腾微处理器译码器的设计 字节该域只用于 位寻址方式中“基址加变址”和“比例因子加变址”的寻址模式中。 域的构成指定比例因子 指定变址寄存器的寄存器号 指定基址寄存器的寄存器号。偏移量 域偏移量域在寻址方式字节之后 是一个计算有效地址或程序相对地址的常量。它有三种形式 有符号相对偏移量、无符号相对偏移量和绝对偏移量。有符号相对偏移量用于计算存储器地址或程序地址 无符号相对偏移量指定了 个相对段寄存器的偏移量 绝对偏移量指定了一个特定存储器单元的段和偏移量的值。立即数 域如果出现立即数 指令中将直接提供操作数的值。立即数可以是字节、字或双字。当 位立即数与 位操作数一起操作时处理器将 位操作数进行符号扩展。 ”微处理器的整体结构“龙腾”是基于 指令集的 微处理器。包括一个位的整数处理单元、一个浮点单元、一个 的指令数据混合 、存储器管理单元、总线接口单元、指令译码器和微程序控制器。其结构如图 所示。下面分别介绍“龙腾 ”微处理器中各组成单元的功能 整数处理单元 完成 位数据的算术和逻辑运算主要由寄存器堆、 、桶式移位器、乘法器和保护测试单元组成。浮点处理单元 支持 位的数据格式提供不同数据类型的算术运算指令 并且支持超越函数的运算功能。指令和数据混合 的大小为 采用 路组相联的组织结构 西北工业大学硕士学位论文第二章龙腾 微处理器译码器的设计行大小为 字节 采用写通策略及伪随机最少使用替换策略。存储器管理单元 同时支持分段和分页 它对地址的管理和存储空间的保护保证了在多任务和虚拟存储器环境下存储器的完整性。总线接口单元 负责进行数据传输。指令译码单元 从指令预取队列中取出指令 进行两级译码 经过译码得到硬连线的控制信号和微指令序列。微程序控制器 接收来自译码器的微程序入口地址 产生一组微指令 从而对执行单元进行控制。图“。龙腾 ”微处理器结构图 ”译码器的设计“龙腾”微处理器采用了退耦译码编码系统结构 来减少处理器设计的复杂度。在这种结构中 处理器将复杂的 指令翻译为简单的类似于 结构的微指令 然后对翻译后的这些可以一拍完成的 类微指令迸行流水 由于翻译后的微指令定长且格式很简单 流水线的控制也相应简单了很多。在微指令流水化的基础上依照指令的执行过程将“龙腾 ”微处理器划分为指令预取、长度译码、地址译码、物理地址计算、取操作数、执行和写回七级流水。流水线如图 所示 西北 业大学硕士学位论文第二章龙腾 微处理器译码器的设计图 ”的流水线结构其中指令译码逻辑包括指令预取、长度译码和地址译码三级 这三级流水段的功能如下 指令预取完成取指操作 填充指令预取队列 同时形成新的取指请求。 长度译码主要是译出指令的长度 确定指令的边界。因为 指令系统是一种典型的 指令 指令长度不固定 从而指令的字节组成方式及寻址方式也不固定 所以必须首先确定一条完整指令的长度 才能在此基础上对指令的操作数等信息进行进一步的译码。 地址译码要译出指令操作数的有效地址 同时产生微指令序列。在这一级 完成了 指令到类似 结构的微指令的转换。 指令预取逻辑指令预取部件起一个指令缓冲器的作用 主要是为了在指令译码过程中能将它条指令从 单元预取到译码队列里来。在预取逻辑中 我们设置了两个 舌峰节的指令队列 只要第一级指令队列为空就发出取指请求 若存储器 处于空闲状态 则从存储器 中取出指令装入指令队列以备译码。 指令预取逻辑的功能描述指令预取郝件作为一个指令缓冲 其主要功能为 存储管理单元发出预取指令请求和预取指令的线性地址 从而预取指令且在本次预取的指令数据没有返回时不会发出下一个预取请求。 接收预取的指令填充指令预取队列。跳转时 接收来自 的跳转信号 和目标地址 从目标地址处开始取指令预取线性地址变为跳转地址 向长度译码逻辑中的指令移位寄存器提供最大个字节的指令数据传输宽度 并给出有效字节数。同时支持由于跳转产生的非 字节对准的指令传西北 。业大学硕十学伊论文第二章龙腾 微处理器译码器的设计输方式。 指令预取的实现指令预取队列的设计按照两行 每行 个字节的方式来组织。这是为了配合 个字节一次预取操作可以将 的一行数据都取到预取队列的第一行。指令预取队列的电路如图 所示 指令预取队列电路实现图当接到译码器的请求时先将第二行预取队列前四个字节有效数据送到长度译码逻辑的指令移位寄存器 但是不用将同一行中剩余的有效数据进行移位操作 只需将数据对应的有效字节有效标志位清零。再次接到请求时 直接将紧接着的四个有效字节发送出去 以此类推 直到发送完毕这一行的指令数据。第一行预取队列实际上是充当 与第二行预取队列的缓冲角色 当第二行预取队列发送最后 次指令数据的同时 即第二行为空时 第一行中的全部指令数据连同标志位将被移动到第二行中来 这样第一行数据为空可发出取指请求 又不耽搁现有指令数据的译码。每个字节的有效指令数据均对应一个标志位。写进数据时将标志位置为 标识数据有效 读出数据将标志位清零。读写操作同时有效时将标志位置为有效 这种情况发生在第二行发送最后一次有效数据 同时第一行向第二行中写有效数据。加标志位有两个原因 一是使这种不用移位的指令数据发送策略更容易实现 另一个原因是在发生跳转的时候取出的指令大部分情况下并不能填满一行 业大学硕士学位论文第二章龙腾微处理器译码器的设计节 这将导致发送指令数据时会出现送出的数据少于 个字节 在这种情况下标志位将指出哪些字节是有效的。第一行队列为空或者发生跳转的时侯 跳转时将清空现有数据 发出一拍取指令请求由于 可能出现不命中的情况 所以要用一个标志位来记录是否已经发出取指令请求 间的一个握手信号。如果向发出取指请求就将标志位置 直到发现 响应一个指令数据有效信号 就将标志位清 表示可以再次发出一个取指请求。在发生跳转的时候 除了向 发送取指令请求之外还要发送由 计算出来的线性地址 用来取指。 长度译码逻辑长度译码最重要的功能就是计算指令的长度。因为 指令系统是一种典型的 指令 指令长度不周定。从而指令的字节组成方式及寻址方式也不固定 所以必须首先确定一条完整指令的长度 才能在此基础上对指令的操作数等进行进一步的译码。此外 本译码段还要对指令数据进行译码 译出以下信息 当前指令是简单指令还是复杂指令 当前指令的前缀及其相应标志位 当前指令的操作码 如果需要计算地址 译出所使用的段 如果是复杂指令 译出复杂指令对应的微指令在微程序控制器中的入口地址 如果指令带有偏移量 译出这个偏移量 如果指令带有立即数 译出这个立即数。 指令长度的计算方法指令长度的计算 主要是根据以下信息进行 首先 由于指令编码的唯一性 我们依据头两个字节就可以区分指令是单操作码指令还是双操作码指令。同时 指令的操作码还决定该指令是否包含有 寻址方式 字段 是否含有立即数字段及其长度。’其次 如果由操作码确定指令含有 删寻址方式字段 就可决定本条指令中偏移量的情况 时不带偏移量时带一个 位的偏移量 指令还西北工业大学硕士学位论文第二章龙腾微处理器译码器的设计会带有一 字节。因此 对一条单操作码指令 我们只需三个字节就可以计算出指令的长度 对双操作码指令也仅需要四个字节就可以得到指令长度。因此对一条 指令至多只要四个字节就可以计算出指令的长度 在不含前缀的情况下 。指令长度的计算流程见图 表示立即数域的长度表示偏移量域的长度图 指令长度计算流程图由图 可以看出 计算 条指令长度时 首先对前缀进行译码 每译出一个前缀 指令长度加一 然后再根据 判断是单字节操作码还是双字节操作码 如果是双字节操作码 指令长度计数器加一 如果是单字节操作码则继续向下判断 在操作码译出后就可根据操作码判断是否带有 字节 若带有 府讧字节 指令长度计数器加一 否则继续判断 根据 字节可判断是否有字节 从而决定指令中是否带有偏移量 如果有偏移量。则指令长度计数器需要再加上偏移量的长度 同样根据指令操作码确定是否有立即数 最后计数器加上立即数长度 如果有 就可以得到 条完整指令的长度。例如 用十六进制表示的一条指令 。首先取第一字节 经分析知其不是前缀 向下判断知该字节为一单字节操作码 计数器 以订字节和位立即数的加法操作 由于带有 西北丁业大学硕士学位论文第二章龙腾微处理器译码器的设计字节 计数器加一 查表知该指令不带字节。不带偏移量 所以 加上立即数长度即为该指令长度 因此该指令长度为 个字节。 指令移位模块指令移位模块负责从预取队列读入指令数据 根据长度译码计算出的指令长度移进一条完整的指令并送给地址译码级。通过设置移位寄存器 结合控制状态机和计数器就可以实现指令数据的读入和移出操作。其电路见图 指令移位模块电路幽移位寄存器设计移位寄存器和预取队列的数据接口设计为个字节 这是因为 指令最多四个字节 不算前缀 就可以确定一条指令的长度 因此在每次得到一条完整的指令后 可以在下一拍内读入下一次计算指令长度所需的 个字节的指令数据。如果数据接口的宽度低于 个字节 则启动一次指令长度的译码将需要 拍以上 而这种情况完全是可以避免的 如果数据接口的宽度大于 个字节 那么随着宽度的增加 控制电路的复杂度将会增加。移位寄存器的长度设计为 个字节 其原因是 指令 不算前缀 的长度最多为 个字节 因此移位寄存器最少要能存储一条完整的指令 即移位寄存器最少要有 个字节。假设已经完成了一条指令的长度译码 发现长度为 个字节 如果此时移位寄存器中只有 个字节的指令数据 这种情况下要暂停长度译码 用两拍读入剩余的指令数据 一般为偏移量和立即数 那么这两拍读入的 个字节和先前的 个字节将占用移位寄存器的 字节 然后将 个字节的完整指令数据译码并将信息送到 模块的寄存器 同时将剩余的指令数据移到移位 西北丁业大学硕士学位论文第二章龙腾 微处理器译码器的设计寄存器的顶端。如果此时移位寄存器中已经有 个字节的指令数据 那还要从预取缓冲中再读进至少一个字节的指令数据才能进行正确的指令信息拆分 由于指令移位寄存器与预取缓冲的接口为四个字节 即一次接收四个字节指令数据 因此容量至少要设计为 个字节才具备读入指令数据的能力 否则剩余不到 个空闲字节 不具备读入指令的能力 那么这条指令的长度译码永远也不会完成 形成死锁。当然 超过 个字节也可以 但是指令中执行频率最多的都是一些短指令 因而没有必要浪费硬件资源。计数器设计计算指令长度 进行长度译码 关键是如何控制移位寄存器中指令数据的读入和移出。我们采用状态机实现 使用两个计数器来对当前移位寄存器的状态进行标示。如图 所示 计数器指示了当前移位寄存器中存放的指令字节数。它的值根据当前状态计算出的剩余指令字节数和读指令数据使能信号来改变。 计数器指示了当前移位寄存器中空闲的字节数 它的值根据每个状态计算出的剩余空闲字节数和读指令数据使能信号来改变。 指令移位寄存器的指示计数器示意图另外设置指示信号记录当前指令的字节数 即指令长度 。在系统处于空闲状态时 指令长度为零。当读入 个指令数据后就可以译出一条完整指令的长度 指示信号表示下一次移位操作将要移出的这条指令字节数 但是这时的移位使能信号可能是无效的 因为这时移位寄存器中可能不包含有一条完整的指令。直到移位寄存器中的有效字节数大于等于 指令长度 移位使能信号才有效表明下一拍将进行移位操作 移出整个指令。移位控制状态机指令移位控制状态机状态转换图 如下 西北工业大学硕士学位论文第二章龙腾 微处理器译码器的设计图 指令移位控制状态机状态转换图其中各状态意义如下 系统上电后状态机将处于空闲状态。 在条件满足的情况下 读指令数据并进行相应的移位操作。如果移位寄存器中的空闲字节数不满 个字节 就停留在本状态继续读数据 但不进行移位操作。 指令数据包含有指令前缀 在这个状态下对指令前缀以一拍一个前缀的速度译码 直到所有的前缀被译码。前缀译码的同时 只要移位寄存器满足读入指令数据的条件就每拍读入 字节的指令数据。 虽然一条完整的指令已经译码完毕 但是由于访存或者 不命中导致后继流水线被阻塞所以需要进入等待状态 直到阻塞被解除。表 给出了状态图中各条件表示的含义。表 中各条件表示的意义条件意义在状态进行读指令数据操作 如果这时指令预取缓冲为空。就要在 状态中循环 直到指令预取缓 申不为空 并向移位寄存器中读入了至少 个字节 果经过长度译码发现当前移位寄存器中不包含一条完整指令就要停留在本状态继续读数据 但不进行移位操作。 移位寄存器最高字节包含指令前缀 进入 状态进行指令前缀的译码 如果有多个指令前缀 拍一个的速率进行前缀译码。流水线阻塞多于一拍 状态在自身循环。前缀译码完成 进入 状态进行读指令数据操作和移位操作。 流水线阻塞撤销 进入 状态。西北工业大学硕士学位论文第二章龙腾 微处理器译码器的设计 读入一条完整指令后 如果流水线阻塞 就进入、 状态 移位寄存器的读入和移出操作 两种情况下移位寄存器可以读入指令数据 一种是当前状态下 的值大于 这说明空闲字节数大于 可以进行一次读指令数据操作 另一 种情况是 的值小于 但是下一拍经过移位操作后的空闲字节数将会大于或者等于 那么在下一拍也可以进行一次读操作。另外要说明的是无论是何种原因引起的下级流水线阻塞 只要是满足上述的指令数据读入条件 那么指令数据就可以从指令预取缓冲中读入移位寄存器 两种情况下移位寄存器可以移出指令数据 一种是移位寄存器的最高字节是指令前缀 这种情况下 控制状态机将对移位寄存器中的数据左移一个字节 把这个指令前缀移出移位寄存器 另一种情况是当前状态下移位寄存器中已经含有一条完整的指令 则可根据 指示信号将这条完整的指令移出送给下一个流水级进行地址译码。同时剩余的指令数据进行相应的移位操作 保证下一条指令数据的最高有效字节位于移位寄存器的最高字节。 指令长度译码在没有指令前缀的情况下 一条 指令最多对前 个字节进行译码就能得到一条完整指令的长度。为了提高译码效率 我们采用一种并行译码的策略 在长度译码单元并行的设置 个长度译码电路 分别对一个字节、两个字节、三个字节和四个字节进行译码 四个长度译码电路分别对应的指令组合情况见图

  x86指令双发射译码控制部件的设计硕士论文,指令译码器,指令译码,指令处理部件,多指令发射,译码器,38译码器,138译码器,地址译码器,译码器实验报告

http://cajonbrush.com/zhilingyimaqi/279.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有