如何在寄存器15程序计数器暴露管道?

问题描述 投票:0回答:2

我有一个分配给了我一个问题,指出:

“ARM的把程序计数器寄存器R15,使其可见的程序员。有人写关于A​​RM指出,这暴露了ARM的管道。他是什么意思,为什么?”

我们还没有谈到类管道尚未所以我不知道那是什么,我有一个很难理解网上的材料。有人可以帮助我与任何回答问题或帮助我了解这样我就可以形成我自己的答案?

谢谢!

arm microprocessors
2个回答
1
投票

一个exposed pipeline是指一个地方的程序员需要考虑的管道,我会不同意的是,R15值偏移以外的任何其他的编码不变。

通过使PC可见的程序员,是的,早期的实现细节的一些片段已经被“暴露”为需要由未来实现保持一个建筑奇迹。

这不会是值得评论的,如果偏移量已经设计到架构是零 - 那里本来是没有可能的优化为简单的3条管线,大家就一直不明白。

没有什么“出口”从管道中,而不是在方式跟踪或调试让你窥探的代码时序行为正在运行 - 这个功能仅仅是幻觉的一部分,该处理器的硬件呈现给程序员(类似于每个指令按照程序顺序执行)。

像这样的小说技巧的问题是,人们喜欢写关于他们的问题,而这些问题可以很容易地措辞不当。他们还忽略了一个事实,即使管道3阶段,只需要一个单一的“特殊情况”,要求为偏移计算闸(即使这些门不消耗为典型的操作功率)。

有相对于​​PC的指令是相当常见的。具有用于偏移的计算结果怎么也普遍实现优化的编码 - 例如qazxsw POI

Retrocomputing.SE是了解一些的,涉及到现代计算机的发展事一个有趣的地方。


1
投票

它不真的,他们很可能讲的是程序计数器是超前正在执行的指令的两个指令。但是,这并不意味着它的两个或三个深管,如果它曾经是。它暴露了什么在这一点上,中,在MIPS分支阴影暴露出什么一样。还有就是教科书MIPS和有现实。

什么魔力管道是装配线的电脑版。您可以在地方建立了一辆汽车,使发动机的大门,车轮等的车。或者你可以通过组装线动车和有门的一个站,车轮站等。你有很多车正在兴建一次,和汽车的从楼里出来的数量每隔几分钟,但是,这并不意味着新车需要几分钟的时间来建立。这只是意味着最慢的一步需要几分钟的时间,前后大概它花费的时间是相同的量。

一个指令有几个应该是显而易见的步骤,一个附加要求,你得到的指令,对其进行解码,聚集了操作数它们提供给加法器(ALU)和拍摄效果和存储结果。其他指令也有类似的步骤和类似的号码。

你的课本将使用像取指,译码,执行条款。所以,如果你是在为0x1000取指令,那么一个在西班牙语 - 多米尼加共和国,然后一个在0x1008希望该代码是线性没有分支,则当西班牙语 - 多米尼加共和国被取为0x1000被解码,当0x1008被获取,然后西班牙语 - 多米尼加共和国是运行被解码和为0x1000最多可能会执行,要看情况。这样的话可能会觉得很好时为0x1000正在执行的程序计数器获取0x1008,这样告诉我怎么管道工程。那么它不我能有一个10000深度流水线和具有该指令看到是我喜欢相对于该指令的地址的任何地址的程序计数器,我可以说,它是为0x1000的指令位于0x1000,并有12345深度流水线。它只是一个定义,它可能会在历史上某一点已经到位,因为一个真正的设计和真正的管道或它可能永远只是被定义的方式。

什么事情确实是该定义是说,如果他们说,电脑是指令加上一些偏移,然后它需要永远是或者需要记录异常,并匹配这些定义可以通过指令集的支持。完成。程序员可以那么程序员的编译器可写,等等。

与管线(不是说它不是真实的)是说,我们用完了V8引擎,我们在组装线12辆卡车组成的教科书问题,我们建立卡车上线一段时间,然后我们建立与V6发动机的汽车。该发动机由慢船来了,一旦他们完成建造他们,但我们已经准备好汽车部件了,所以让我们继续前进的卡车下线,并开始行了,N个数量的在流水线步骤没有汽车的另一端出来建筑,一旦第一辆车,使得它末尾,则一个新的汽车每隔几分钟。我们必须冲洗装配线。当您运行指令为0x1000,西班牙语 - 多米尼加共和国,0x1008,等等。如果你能保持管道移动它的更有效,但的西班牙语 - 多米尼加共和国什么是从0x1100一个分支,我们可能有0x1008的指令和0x100c在管,所以我们要刷新管从开始获取到0x1100,它需要的时钟周期数的一些我们所完成的指令之前再然后我们的理想之后,直到另一个分支完成每个时钟。所以,如果你阅读在使用MIPS或教育的前身主题的经典教材,他们有这个概念的一个分支阴影或其他一些类似的术语,分支后的指令总是执行。所以不是冲洗N个指令出管你冲洗N-1的指示,你会得到一个额外的时钟分支进入管道后获得下一个指令。和多数民众MIPS是如何工作的默认情况下,但是当你买一个真正的核心,你可以把它们关掉,并有分支后,不执行指令。它是一种伟大的教科书插图和可能是真实的,可能是真正的让计算机工程构建MIPS类。但目前使用的管道不等待那么久地看到,管将是空的,可以提早开始取,有时获得多于一个时钟,而不是整个管道冲洗。如果做过,目前它没有给出任何MIPS样的优势比其它设计也没有让我们接触到他们的管道。

© www.soinside.com 2019 - 2024. All rights reserved.