Delay slot (original) (raw)

About DBpedia

In computer architecture, a delay slot is an instruction slot being executed without the effects of a preceding instruction. The most common form is a single arbitrary instruction located immediately after a branch instruction on a RISC or DSP architecture; this instruction will execute even if the preceding branch is taken. Thus, by design, the instructions appear to execute in an illogical or incorrect order. It is typical for assemblers to automatically reorder instructions by default, hiding the awkwardness from assembly developers and compilers.

Property Value
dbo:abstract In computer architecture, a delay slot is an instruction slot being executed without the effects of a preceding instruction. The most common form is a single arbitrary instruction located immediately after a branch instruction on a RISC or DSP architecture; this instruction will execute even if the preceding branch is taken. Thus, by design, the instructions appear to execute in an illogical or incorrect order. It is typical for assemblers to automatically reorder instructions by default, hiding the awkwardness from assembly developers and compilers. (en) In der Rechnerarchitektur ist eine Branch Delay Instruction ein Maschinenbefehl, der direkt einem bedingten Verzweigungsbefehl folgt und unabhängig davon, ob die Verzweigung genommen wurde oder nicht, immer ausgeführt wird. Die Position eines solchen Maschinenbefehls in der Pipeline heißt Branch Delay Slot (Warteplatz). Branch Delay Slots werden verwendet, um die Pipeline besser auszulasten. Sie können sowohl in verschiedenen RISC-Architekturen wie MIPS, PA-RISC, SPARC und SuperH als auch in DSP-Architekturen wie und / gefunden werden. (de) En arquitectura de computadores, un hueco de retardo (Delay Slot en inglés) contiene una instrucción que es ejecutada sin tener en cuenta los efectos de la instrucción precedente. La forma más común consiste en una instrucción arbitraria sencilla colocada inmediatamente después de una instrucción de salto en las arquitecturas RISC o DSP; esta instrucción se ejecutará incluso si el salto precedente es efectivo. De este modo las instrucciones parecen ejecutarse de un modo ilógico o incorrecto. Es típico de los lenguajes ensambladores reordenar automáticamente las instrucciones, cubriendo de este modo las carencias de algunos compiladores. (es) 遅延スロット(ちえんスロット)またはディレイスロット(英: Delay slot)は、直前の命令が効力を発揮する前に実行される命令のスロット(位置)を指す。最も典型的な形態としては、RISCやDSPアーキテクチャでの分岐命令(遅延分岐)の直後の位置の命令がある。この命令は分岐が実際に行われる前に実行される。従って、その命令は(その場所が遅延スロットであることを理解していないと)無意味な位置にあるように見える。アセンブラは一般に自動的な命令の並べ替えを行い、コンパイラやプログラマが遅延スロットを気にせずにコードを書けるようにしている。 (ja) Nell'architettura dei microprocessori la branch delay instruction è l'istruzione immediatamente successiva ad una condizione di salto condizionato che viene eseguita indipendentemente dal fatto che il salto vada eseguito oppure no. Nelle classiche architetture pipeline la posizione di questa istruzione è definita branch delay slot. La Branch delay slot è presente in molte architetture RISC come l'architettura MIPS, SPARC, PA RISC e in diversi DSP come il e il . L'obiettivo dell'architettura RISC è mantenere sempre piena la pipeline in modo da massimizzare il numero di istruzioni eseguite dal processore. Il branch delay slot è un effetto indesiderato della pipeline, che non può sapere se un'istruzione di salto sia eseguita fino a quando l'istruzione di salto non sia stata realmente valutata. La pipeline deve decidere come gestire le istruzioni successive al salto che attraversano la pipeline. Un modello semplice per risolvere il problema dei salti è introdurre degli stalli nella pipeline quando si valuta un salto in modo da poter eseguire l'istruzione corretta. Una soluzione migliore ma più complessa prevede che il processore esegua delle istruzioni non dipendenti dal salto mentre il salto viene valutato. Questa ottimizzazione può essere realizzata dal compilatore che segnala le istruzioni indipendenti al processore. Un altro effetto indesiderato lo si ha durante l'esecuzione dei debug dato che le istruzioni eseguite dal processore non coincidono con le istruzioni realmente eseguite dalla pipeline. Il numero di branch delay slot dipende dalla particolare implementazione della pipeline. Il numero di stadi presenti, la presenza di forwarding e di altre ottimizzazioni del flusso delle pipeline aumentano il numero di branch delay slot. Con l'esecuzione della predizione delle diramazioni e dell'esecuzione speculativa molti degli slot presenti nelle pipeline sono utilizzati in modo efficiente riducendo le penalizzazioni dovute alle istruzioni di salto. (it) 延迟间隙,是计算机体系结构中一个指令间隙,在前一条指令没有执行完毕的情况下,处理器内部指令流水线上该指令间隙的执行不会修改处理器的状态。这种技术常用于DSP与早期的RISC体系结构。最常见的是下文描述的分支延迟间隙。另外还有过存储延迟间隙,即在存储内存的指令之后跟一个延迟间隙,现在已经基本不用了。 当一个分支指令之后的延迟间隙指令,在指令流水线中被称作分支延迟间隙(branch delay slot)。常见于DSP体系结构与老式的RISC体系结构。MIPS、PA-RISC、、SuperH、SPARC等RISC体系结构在分支后有一个延迟间隙。PowerPC、ARM、DEC Alpha没有采用分支延迟间隙。DSP具有单个分支延迟间隙的有、、。 DSP与使用两个分支延迟间隙。 采用指令流水线的处理器的目标是每个时钟周期完成一条指令。为此,在任何时刻流水线都应该充满了处于不同执行阶段的指令。分支指令会导致分支冒险,也就是不到分支指令执行完毕被退休(retired),是不能确定哪些后继指令应该继续执行。一个简单办法是在分支指令后面插入流水线迟延(stall),直到新的分支目标地址被求出,并把新的指令地址装入IP寄存器。流水线延迟的每个周期都是分支延迟间隙。更为复杂的设计是在分支指令后面执行那些不依赖于分支结果的指令。这可以由编译器自动优化。 (zh)
dbo:wikiPageExternalLink http://web.cs.iastate.edu/~prabhu/Tutorial/PIPELINE/branchPred.html https://web.archive.org/web/20200807053823/http:/web.cs.iastate.edu/~prabhu/Tutorial/PIPELINE/branchPred.html https://dl.acm.org/doi/pdf/10.1145/30350.30352
dbo:wikiPageID 352818 (xsd:integer)
dbo:wikiPageLength 6653 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1092926584 (xsd:integer)
dbo:wikiPageWikiLink dbr:PowerPC dbr:Branch_predication dbr:Branch_target_buffer dbr:Debugging dbr:ETRAX_CRIS dbr:SPARC dbr:R3000 dbr:Branch_(computer_science) dbr:Control_flow dbr:Bubble_(computing) dbr:MIPS-X dbr:MIPS_architecture dbr:Compile_time dbr:Computer_architecture dbr:Program_counter dbc:Instruction_processing dbr:Hazard_(computer_architecture) dbr:ARM_architecture dbr:DEC_Alpha dbr:Breakpoint dbr:PA-RISC dbr:Assembly_language dbr:Digital_signal_processor dbr:Classic_RISC_pipeline dbr:Instruction_(computer_science) dbr:Instruction_pipeline dbr:R2000_(microprocessor) dbr:RISC-V dbr:SuperH dbr:Software dbr:Super_Harvard_Architecture_Single-Chip_Computer dbr:Texas_Instruments_TMS320 dbr:RISC dbr:MIPS_I dbr:NEC_μPD77230 dbr:VS_DSP
dbp:wikiPageUsesTemplate dbt:Citation_needed dbt:Cite_book dbt:Cite_web dbt:Refbegin dbt:Refend dbt:Unreferenced
dcterms:subject dbc:Instruction_processing
gold:hypernym dbr:Slot
rdf:type dbo:Work yago:WikicatMicroprocessors yago:Artifact100021939 yago:Chip103020034 yago:Conductor103088707 yago:Device103183080 yago:Instrumentality103575240 yago:Microprocessor103760310 yago:Object100002684 yago:PhysicalEntity100001930 yago:SemiconductorDevice104171831 yago:Whole100003553
rdfs:comment In computer architecture, a delay slot is an instruction slot being executed without the effects of a preceding instruction. The most common form is a single arbitrary instruction located immediately after a branch instruction on a RISC or DSP architecture; this instruction will execute even if the preceding branch is taken. Thus, by design, the instructions appear to execute in an illogical or incorrect order. It is typical for assemblers to automatically reorder instructions by default, hiding the awkwardness from assembly developers and compilers. (en) In der Rechnerarchitektur ist eine Branch Delay Instruction ein Maschinenbefehl, der direkt einem bedingten Verzweigungsbefehl folgt und unabhängig davon, ob die Verzweigung genommen wurde oder nicht, immer ausgeführt wird. Die Position eines solchen Maschinenbefehls in der Pipeline heißt Branch Delay Slot (Warteplatz). Branch Delay Slots werden verwendet, um die Pipeline besser auszulasten. Sie können sowohl in verschiedenen RISC-Architekturen wie MIPS, PA-RISC, SPARC und SuperH als auch in DSP-Architekturen wie und / gefunden werden. (de) En arquitectura de computadores, un hueco de retardo (Delay Slot en inglés) contiene una instrucción que es ejecutada sin tener en cuenta los efectos de la instrucción precedente. La forma más común consiste en una instrucción arbitraria sencilla colocada inmediatamente después de una instrucción de salto en las arquitecturas RISC o DSP; esta instrucción se ejecutará incluso si el salto precedente es efectivo. De este modo las instrucciones parecen ejecutarse de un modo ilógico o incorrecto. Es típico de los lenguajes ensambladores reordenar automáticamente las instrucciones, cubriendo de este modo las carencias de algunos compiladores. (es) 遅延スロット(ちえんスロット)またはディレイスロット(英: Delay slot)は、直前の命令が効力を発揮する前に実行される命令のスロット(位置)を指す。最も典型的な形態としては、RISCやDSPアーキテクチャでの分岐命令(遅延分岐)の直後の位置の命令がある。この命令は分岐が実際に行われる前に実行される。従って、その命令は(その場所が遅延スロットであることを理解していないと)無意味な位置にあるように見える。アセンブラは一般に自動的な命令の並べ替えを行い、コンパイラやプログラマが遅延スロットを気にせずにコードを書けるようにしている。 (ja) 延迟间隙,是计算机体系结构中一个指令间隙,在前一条指令没有执行完毕的情况下,处理器内部指令流水线上该指令间隙的执行不会修改处理器的状态。这种技术常用于DSP与早期的RISC体系结构。最常见的是下文描述的分支延迟间隙。另外还有过存储延迟间隙,即在存储内存的指令之后跟一个延迟间隙,现在已经基本不用了。 当一个分支指令之后的延迟间隙指令,在指令流水线中被称作分支延迟间隙(branch delay slot)。常见于DSP体系结构与老式的RISC体系结构。MIPS、PA-RISC、、SuperH、SPARC等RISC体系结构在分支后有一个延迟间隙。PowerPC、ARM、DEC Alpha没有采用分支延迟间隙。DSP具有单个分支延迟间隙的有、、。 DSP与使用两个分支延迟间隙。 采用指令流水线的处理器的目标是每个时钟周期完成一条指令。为此,在任何时刻流水线都应该充满了处于不同执行阶段的指令。分支指令会导致分支冒险,也就是不到分支指令执行完毕被退休(retired),是不能确定哪些后继指令应该继续执行。一个简单办法是在分支指令后面插入流水线迟延(stall),直到新的分支目标地址被求出,并把新的指令地址装入IP寄存器。流水线延迟的每个周期都是分支延迟间隙。更为复杂的设计是在分支指令后面执行那些不依赖于分支结果的指令。这可以由编译器自动优化。 (zh) Nell'architettura dei microprocessori la branch delay instruction è l'istruzione immediatamente successiva ad una condizione di salto condizionato che viene eseguita indipendentemente dal fatto che il salto vada eseguito oppure no. Nelle classiche architetture pipeline la posizione di questa istruzione è definita branch delay slot. La Branch delay slot è presente in molte architetture RISC come l'architettura MIPS, SPARC, PA RISC e in diversi DSP come il e il . (it)
rdfs:label Branch Delay Slot (de) Hueco de retardo (es) Delay slot (en) Branch delay slot (it) 遅延スロット (ja) 延迟间隙 (zh)
owl:sameAs freebase:Delay slot wikidata:Delay slot dbpedia-de:Delay slot dbpedia-es:Delay slot dbpedia-it:Delay slot dbpedia-ja:Delay slot dbpedia-zh:Delay slot https://global.dbpedia.org/id/53btW
prov:wasDerivedFrom wikipedia-en:Delay_slot?oldid=1092926584&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Delay_slot
is dbo:wikiPageDisambiguates of dbr:Delay
is dbo:wikiPageRedirects of dbr:Branch_delay_slot dbr:Delayed_branch_logic dbr:Load_delay_slot
is dbo:wikiPageWikiLink of dbr:Predication_(computer_architecture) dbr:V850 dbr:Instruction_pipelining dbr:Compiler dbr:Branch_(computer_science) dbr:Branch_predictor dbr:Stanford_MIPS dbr:Program_counter dbr:Pipeline_stall dbr:Transport_triggered_architecture dbr:DSI dbr:Delay dbr:Kendall_Square_Research dbr:Itanium dbr:Instruction_set_architecture dbr:Loongson dbr:Super_Harvard_Architecture_Single-Chip_Computer dbr:Branch_delay_slot dbr:Delayed_branch_logic dbr:Load_delay_slot
is foaf:primaryTopic of wikipedia-en:Delay_slot