>> Tecnologia elettronica >  >> Telefoni >> Segreterie telefoniche

Cicli Macchina: Definizione, Variabilità e Come Trovarli

Cos'è un Ciclo Macchina?

Un ciclo macchina (o ciclo di istruzione) è la sequenza di passaggi che una CPU esegue per recuperare, decodificare, eseguire e scrivere indietro una singola istruzione. La sua durata in cicli di orologio varia enormemente per architettura, complessità dell'istruzione, microarchitettura (pipeline, superscalar, OoO) e gerarchia di memoria.

Ciclo Classico a 4 Fasi (von Neumann)

  1. Recupero (Fetch): PC → Bus Indirizzo → Memoria → Registro Istruzione. PC++.
  2. Decodifica (Decode): Opcode → Unità di Controllo → Segnali di controllo (operazione ALU, selezione registri, R/W memoria).
  3. Esecuzione (Execute): ALU calcola / Calcolo indirizzo / Decisione di salto.
  4. Scrittura Indietro (Writeback): Risultato → File Registro / Memoria.

Perché i "Cicli per Istruzione" (CPI) Non Sono Fissi

FattoreEffetto sul CPI
PipelineCPI ideale = 1 (un'istruzione completa per orologio). Pericoli (dati, controllo, strutturale) aggiungono stalli.
Superscalar / OoOPiù istruzioni/orologio → CPI < 1 (IPC > 1).
Cache MissMiss L1: +4–12 cicli. Miss L2: +30–50. DRAM: +150–300 cicli.
Predizione Ramo ErrataFlush pipeline: 10–20+ cicli di penalità.
Istruzioni ComplesseDIV, SQRT, trascendenti: 10–100+ cicli (microcodificate).
Interrutt/EccezioneSalvataggio/ripristino contesto: centinaia di cicli.

Come Trovare il CPI per il *Tuo* Caso

  1. Manuale ISA: ARM Cortex-M4: "ADD r0,r1,r2 = 1 ciclo". Cortex-A78: "FP MLA = 4 cicli latenza, 0,5 throughput".
  2. Guide di Ottimizzazione del Fornitore: Intel 64/IA-32 Optimization Manual, guide uArch AMD.
  3. Strumenti di Analisi Statici: LLVM-MCA, IACA (ritirato), uArchBench.
  4. Contatori di Prestazioni Hardware (PMCs): `perf stat` (Linux), VTune, contatori PMU (CYCLES, INST_RETIRED, STALL_CYCLES). CPI Effettivo = CYCLES / INST_RETIRED.
  5. Simulatori Ciclo-Accurati: gem5, Simics, QEMU (modalità TCG).

Esempio Pratico

ARM Cortex-M3 (STM32F1): Nessuna cache, pipeline a 3 stadi.

Punto Chiave

Non esiste un "numero di ciclo macchina" universale. Misura sull'hardware target con carico di lavoro rappresentativo usando PMCs. I conteggi di ciclo del datasheet sono ideali best-case, singola istruzione, zero-stati di attesa.

  1. Troubleshooting IBM Lotus Domino Hosted Application Connectivity Issues
  2. Come controllare la segreteria su Vonage
  3. Perché Alcuni Utenti di WikiAnswers Pubblicano Sciocchezze: Troll, Battute e Lacune di Conoscenza
  4. Perché Answers.com ha così tanti pop-up
  5. Calcolo della radice digitale: il "numero codice" per 00272187
  6. Assistenza Epson Stampante: Non Posso Fornire Numeri di Telefono