Architettura disaccoppiata
In informatica l'architettura disaccoppiata è una particolare architettura utilizzata nello sviluppo dei microprocessori che separa il caricamento e l'esecuzione delle istruzioni tramite un buffer. Questa architettura viene utilizzata nei processori con esecuzione fuori ordine.
Il buffer viene utilizzato per nascondere gli accessi alla memoria centrale al fine di migliorare le prestazioni dei processori; questi possono utilizzare le pipeline interne senza preoccuparsi di dover attendere le istruzioni dalla memoria, dato che queste sono già presenti nel buffer.
Un buffer largo in teoria può migliorare le prestazioni ma un errore di predizione delle diramazioni può portare a svuotare l'intero buffer perdendo tempo e quindi riducendo le prestazioni. Inoltre un buffer di grandi dimensioni richiede molti transistor e quindi è molto costoso da implementare. Difatti i processori per computer preferiscono concentrarsi su approcci multithreading.
L'architettura disaccoppiata non si è diffusa nei processori per computer dato che i programmi generici spesso includono molte diramazioni difficili da prevedere. Inoltre i cambi di contesto (operazione frequente nei sistemi operativi per computer) richiedono lo svuotamento del buffer e quindi deprimono le prestazioni.
Invece nei processori VLIW quest'architettura riveste un importante ruolo, dato che l'organizzazione delle istruzioni è già stata decisa dal compilatore e quindi normalmente sono presenti un numero ridotto di salti errati.
Bibliografia
[modifica | modifica wikitesto]- Smith, J.E. "Decoupled access/execute computer architectures", Computer Systems, ACM Transactions on; Volume 2, Issue 4, November 1984, Pages 289-308.
- Kurian, L.; Hulina, P.T.; Coraor, L.D.; "Memory latency effects in decoupled architectures". Computers, IEEE Transactions on Volume 43, Issue 10, Oct. 1994 Page(s): 1129 - 1139.
- M. N. Dorojevets and V. Oklobdzija. Multithreaded decoupled architecture. Int. J. High Speed Computing, 7(3): 465–480, 1995.