当前位置: 首页 > news >正文

南宁有做门户网站的公司吗链友之家

南宁有做门户网站的公司吗,链友之家,有网站怎么做企业邮箱,如何承接网站建设外包1.1异常处理 处理器中很多事情都会导致异常控制流,此时,程序执行的正常流程被破坏掉。异常可以由程序执行从内部产生,也可以由某个外部信号从外部产 生。 我们的指令集体系结构包括三种不同的内部产生的异常: l)halt指令&#…

1.1异常处理

处理器中很多事情都会导致异常控制流,此时,程序执行的正常流程被破坏掉。异常可以由程序执行从内部产生,也可以由某个外部信号从外部产 生。

我们的指令集体系结构包括三种不同的内部产生的异常:

l)halt指令,

2)有非法指令和功能码组合的指令,

3)取指或数据读写试图访问一个非法地址。

我们把导致异常的指令称为异常指令。

通常在一个流水线化的系统中,异常处理包括一些细节问题。

首先,可能同时有多条指令会引起异常。例如,在一个流水线操作的周期内,取指阶段中有 halt指令,而数据内存会报告访存阶段中的指令数据地址越界。我们必须确定处理器应该向操作系统报告 哪个异常。基本原则是:由流水线中最深的指令引起的异常,优先级最高。

第二个细节问题是,当首先取出一条指令,开始执行时,导致了一个异常,而后来由于分支预测错误,取消了该指令。

第三个细节问题的产生是因为流水线化的处理器会在不同的阶段更新系统状态的不同部分。有可能会出现这样的情况,一条指令导致了一个异常,它后面的指令在异常指令完成之前改变了部分状态。

一般地,通过在流水线结构中加人异常处理逻辑,我们既能够从各个异常中做出正确的选择,也能够避免出现由于分支预测错误取出的指令造成的异常。

1.2PIPE 各阶段的实现

1. PC 选择和取指阶段

这个阶段必须选择程序计数器的当前值,并且预测下一个PC值。用于从内存中读取指令和抽取不 同指令字段的硬件单元与SEQ中考虑的那些一样。

2. 译码和写回阶段

这个阶段的复杂性主要是跟转发逻辑相关。它为后面的阶段将valP信号合并到valA信号,这样可以减少流水线寄存器中状态的数量。它还实现了源操作数valA的转发逻辑。合并信号valA和valP的依据是,只有 call和跳转指令在后面的阶段中需要 valP 的值,而这些指令并不需要从寄存器文件 A端口中读出的值。这个选择是由该阶段的 icode 信号来控制的。

3. 执行阶段

图中展现的是PIPE 执行阶段的逻辑。这些硬件单元和逻辑块同SEQ中的相同, 使用的信号做适当的重命名。我们可以看到信号e _valE和e _dstE作为转发源,指向译码阶段。一个区别是标号为 “Set CC” 的逻辑以信号:m_stat和W _stat 作为输人,这个 逻辑决定了是否要更新条件码。

1.3流水线控制逻辑

在准备创建流水线控制逻辑,完成PIPE设计。这个逻辑必须处理下面4种控制情况.

加载/使用冒险:在一条从内存中读出一个值的指令和一条使用该值的指令之间,流水线必须暂停一个周期。

处理ret: 流水线必须暂停直到ret指令到达写回阶段。

预测错误的分支:在分支逻辑发现不应该选择分支之前,分支目标处的几条指令已经进人流水线了。必须取消这些指令,并从跳转指令后面的那条指令开始取指。

异常:当一条指令导致异常,我们想要禁止后面的指令更新程序员可见的状态,并且在异常指令到达写回阶段时,停止执行。

1. 特殊控制情况所期望的处理

在这个阶段设计中,每个流水线寄存器中会包含一个状态码 stat,随着每条指令经过流水线阶段,它会记录指令的状态。当异常发生时,将这个信息作为指令状态的一部分记录下来,并且继续取指、译码和执行指令,就好像什么都没有出错似的。当异常指令到达访存阶段时,会采取措施防止后面的指令修改程序员可见的状态。

2. 发现特殊控制条件

一些低级机制使得流水线控制逻辑能将指令阻塞在流水线寄存器中,或是往流水线中插入一个气泡。

假设每个流水线寄存器有两个控制输入:暂停(stall)和气泡(bubble)。这些信号的设置决定了当时钟上升时该如何更新流水线寄存器。

在正常操作下,这两个输入都设为 0,使得寄存器加载它的输入作为新的状态。

当暂停信号设为 1 时,禁止更新状态。相反,寄存器会保持它以前的状态。这使得它可以将指令阻塞在某个流水线阶段中。

当气泡信号设置为 1 时,寄存器状态会设置成某个固定的复位配置(configuration),得到一个等效于 nop 指令的状态。

3. 流水线控制机制

图4-中的表给出了各个流水线寄存器在三种特殊情况下应该采取的行动。对每种情况的处理都是对流水线寄存器正常、暂停和气泡操作的某个组合。在时序方面,流水线寄存器的暂停和气泡控制信号是由组合逻辑块产生的。当时钟上升时,这些值必须是合法的,使得当下一个时钟周期开始时,每个流水线寄存器要么加载,要么暂停,要么产生气泡。

4. 控制条件的组合

从这些图中我们可以看出,大多数控制条件是互斥的。例如,不可能同时既有加载/ 使用冒险又有预测错误的分支,因为加载/使用冒险要求执行阶段中是加载指令(mrmovq 或popq),而预测错误的分支要求执行阶段中是一条跳转指令。

5. 控制逻辑实现

图中是流水线控制逻辑的整体结构。根据来自流水线寄存器和流水线阶段的信号,控制逻辑产生流水线寄存器的暂停和气泡控制信号,同时也决定是否要更新条件码寄存器。

http://www.hrbkazy.com/news/53313.html

相关文章:

  • axure中继器做网站qq引流推广平台
  • 建设银行关闭网站查询信用卡账单搜索引擎关键词seo优化公司
  • 源码做微信电影网站幽默广告软文案例
  • win7做系统网站哪个好谷歌海外广告投放
  • 深圳网站建设在哪里找市场调研方法
  • 服装网站建设的规模和类别网站降权查询工具
  • 广州天拓做网站吗国内新闻最新消息10条
  • 网站建设难么产品推广广告
  • 温州网站建设怎么样aso优化排名
  • 手机网站怎么放到桌面上搜索引擎关键词怎么优化
  • 寻找企业网站建设网络营销图片素材
  • 外卖网站的建设与推广网络营销服务企业
  • 专门做nba评论的网站百度官方app免费下载
  • 怎么做自己网站大数据网站
  • 网站搜索引擎优化方案站长工具seo源码
  • 做特殊任务的网站官网建站多少钱
  • b2b网站产品群发工具网推app怎么推广
  • 网加商学院网站怎么做如何去除痘痘有效果
  • 网站建设可用性的五个标准抖音代运营大概多少钱一个月
  • 网站建设文化传播有限公司推广seo公司
  • 丽水做网站的公司抖音搜索优化
  • 专业的做网站的中央新闻频道直播今天
  • 网站开发流程相关知识长春seo按天计费
  • 丰浩网站建设中心搜索引擎优化与关键词的关系
  • 商标logo在线生成优化设计答案六年级上册
  • 美妆网站制作教程最近发生的新闻大事
  • 海口有哪几家是做网站的有没有购买链接
  • 网站子站怎么做的网页制作app手机版
  • wordpress 限制上传大小唐山seo快速排名
  • 企业网站做备案百度浏览器网址大全