dbo:abstract
|
- A re-order buffer (ROB) is a hardware unit used in an extension to the Tomasulo algorithm to support out-of-order and speculative instruction execution. The extension forces instructions to be committed in-order. The buffer is a circular buffer (to provide a FIFO instruction ordering queue) implemented as an array/vector (which allows recording of results against instructions as they complete out of order). There are three stages to the Tomasulo algorithm: "Issue", "Execute", "Write Result". In an extension to the algorithm, there is an additional "Commit" stage. During the Commit stage, instruction results are stored in a register or memory. The "Write Result" stage is modified to place results in the re-order buffer. Each instruction is tagged in the reservation station with its index in the ROB for this purpose. The contents of the buffer are used for data dependencies of other instructions scheduled in the buffer. The head of the buffer will be committed once its result is valid. Its dependencies will have already been calculated and committed since they must be ahead of the instruction in the buffer though not necessarily adjacent to it. Data dependencies between instructions would normally stall the pipeline while an instruction waits for its dependent values. The ROB allows the pipeline to continue to process other instructions while ensuring results are committed in order to prevent data hazards such as read ahead of write (RAW), write ahead of read (WAR) and write ahead of write (WAW). There are additional fields in every entry of the buffer to support the extended algorithm:
* Instruction type (jump, store to memory, store to register)
* Destination (either memory address or register number)
* Result (value that goes to destination or indication of a (un)successful jump)
* Validity (does the result already exist?) The consequences of the re-order buffer include precise exceptions and easy rollback control of target address mis-predictions (branch or jump). When jump prediction is not correct or a nonrecoverable exception is encountered in the instruction stream, the ROB is cleared of all instructions (by setting the circular queue tail to the head) and reservation stations are re-initialized. (en)
- In informatica, il tampone di riordino (Re-order buffer o ROB in inglese) è un tampone usato dall'algoritmo di Tomasulo per implementare l'esecuzione fuori ordine delle istruzioni nei microprocessori moderni. Il buffer tiene traccia dell'ordine reale dell'esecuzione delle istruzioni e, a mano a mano che le istruzioni sono eseguite dalle unità funzionali, preleva i dati elaborati e li memorizza nei registri del processore seguendo l'ordine logico del programma. Dopo aver memorizzato nei registri il risultato dell'istruzione il sistema effettua il commit dell'istruzione cancellandola dal buffer ROB. Questo buffer permette di garantire che l'esecuzione logica dei programmi venga preservata anche nel caso di esecuzione fuori ordine. Inoltre il buffer permette di effettuare un veloce rollback nel caso di errori di predizione dell'unità di predizione dei salti permettendo di eliminare semplicemente le istruzioni eseguite erroneamente. (it)
- 在Tomasulo算法中,重排序缓冲区(英語:re-order buffer, ROB))可以使指令在乱序执行,之后按照原有顺序提交。 在最初的动态调度乱序执行机制中,主要分三个阶段:发射(issue)、执行(execute)和写结果(write Result)。Tomasulo算法则增加了一个被称为“提交(Commit)”的过程。在写结果阶段,指令的结果暂时被存储在重排序缓冲区中。随后,指令执行的结果再被储存在寄存器或主存储器中。如果其他指令急切需要此结果,那么重排序缓冲区可以直接为其传输所需的数据。 (zh)
|
dbo:wikiPageExternalLink
| |
dbo:wikiPageID
| |
dbo:wikiPageLength
|
- 2905 (xsd:nonNegativeInteger)
|
dbo:wikiPageRevisionID
| |
dbo:wikiPageWikiLink
| |
dbp:wikiPageUsesTemplate
| |
dcterms:subject
| |
rdfs:comment
|
- 在Tomasulo算法中,重排序缓冲区(英語:re-order buffer, ROB))可以使指令在乱序执行,之后按照原有顺序提交。 在最初的动态调度乱序执行机制中,主要分三个阶段:发射(issue)、执行(execute)和写结果(write Result)。Tomasulo算法则增加了一个被称为“提交(Commit)”的过程。在写结果阶段,指令的结果暂时被存储在重排序缓冲区中。随后,指令执行的结果再被储存在寄存器或主存储器中。如果其他指令急切需要此结果,那么重排序缓冲区可以直接为其传输所需的数据。 (zh)
- A re-order buffer (ROB) is a hardware unit used in an extension to the Tomasulo algorithm to support out-of-order and speculative instruction execution. The extension forces instructions to be committed in-order. The buffer is a circular buffer (to provide a FIFO instruction ordering queue) implemented as an array/vector (which allows recording of results against instructions as they complete out of order). There are additional fields in every entry of the buffer to support the extended algorithm: (en)
- In informatica, il tampone di riordino (Re-order buffer o ROB in inglese) è un tampone usato dall'algoritmo di Tomasulo per implementare l'esecuzione fuori ordine delle istruzioni nei microprocessori moderni. Il buffer tiene traccia dell'ordine reale dell'esecuzione delle istruzioni e, a mano a mano che le istruzioni sono eseguite dalle unità funzionali, preleva i dati elaborati e li memorizza nei registri del processore seguendo l'ordine logico del programma. Dopo aver memorizzato nei registri il risultato dell'istruzione il sistema effettua il commit dell'istruzione cancellandola dal buffer ROB. (it)
|
rdfs:label
|
- Buffer di riordino (it)
- Re-order buffer (en)
- 重排序缓冲区 (zh)
|
owl:sameAs
| |
prov:wasDerivedFrom
| |
foaf:isPrimaryTopicOf
| |
is dbo:wikiPageDisambiguates
of | |
is dbo:wikiPageRedirects
of | |
is dbo:wikiPageWikiLink
of | |
is foaf:primaryTopic
of | |