
Cycles/Instruction Pipelining
Ahoj,
v dokumentaci k ATMega64 se na straně 10 píše:
Instructions in the program memory are
executed with a single level pipelining. While one instruction is being executed, the next instruction
is pre-fetched from the program memory. This concept enables instructions to be executed
in every clock cycle.
-resp. že využívá single level pipelining, a že je tudíž CPU schopen vykonat 1intrukci/takt(cyklus).
Myslel jsem, že vykonání instrukce s skládá ze 4 až 5 fází, přičemž na každou z nich je potřeba 1 cyklus. V takovém případě bychom tedy mohli postupně dosáhnout až na 1 instrukci/cycle, ale to bychom museli mít pipeling tolika vrstvý, kolik máme fází instrukce. To co je napsané v dokumentaci, mi nedává smysl.
+ jsem někde četl, že se používal i vícevrstvý pipelining, než bylo fází vykonání instrukce, je to technicky možné a jak se to může vyplatit(nemám na mysli superskalární(paralelní) vykonávání)?
Díky za objasnění
https://www.mouser.com/ds/2/268/atmel-2490-8-bit-avr-microcontroller-atmega64-l_da-1065502.pdf