Che cos’è la microarchitettura?

La progettazione di computer cerca di organizzare le capacità di un processore in una struttura strutturale in modo tale che un’architettura di set di strumenti (ISA) possa eseguire le sue istruzioni programmate nel modo più efficiente e veloce possibile. La microarchitettura è la struttura informatica decisiva che concepisce l’implementazione dei componenti del percorso di controllo per interagire con gli elementi del percorso dati in modo che i componenti del computer possano funzionare nella configurazione ideale per l’ISA. Più unità di elaborazione centrale (CPU) e multithreading, che consentono il recupero della memoria di sistema lenta e contemporaneamente il passaggio delle funzioni della CPU a un altro thread di programma fino al completamento della ricezione della memoria, stanno avvicinando efficienza e velocità all’allineamento per evitare la latenza tra il controllo della memoria e le velocità di elaborazione della CPU

Le microarchitetture progettate sono costituite da una serie di decisioni a livello di sistema che considerano il consumo energetico, la complessità della logica, la connettività, la verificabilità e la facilità di debug insieme ai costi dei chip e alla producibilità per arrivare a un design ottimale. Migliori progetti di microarchitettura sono ciò che consente ai nuovi progressi tecnologici nei semiconduttori di ottenere prestazioni migliori utilizzando lo stesso ISA su più piattaforme. I progetti di microarchitettura possono fare uso di pipeline di istruzioni che gestiscono più di un semplice set di istruzioni alla volta come negli anni passati.

Diversi set di istruzioni possono utilizzare la CPU contemporaneamente e il pipelining e la gestione della cache che tiene il passo con i chip migliorati che contengono più memoria cache per il recupero, la lettura e la scrittura istantanei possono ora tenere il passo con le pipeline che non devono fermarsi e aspettare recupero della memoria più. Inoltre, la previsione delle diramazioni, che effettua ipotesi plausibili in cui potrebbe essere necessaria la diramazione della pipeline, e modelli di esecuzione speculativi che avviano calcoli matematici prima che vengano richiesti, possono anche accelerare l’elaborazione dei dati nel relativo percorso. Un altro miglioramento della tecnica nella progettazione della microarchitettura utilizza l’esecuzione fuori ordine, consentendo alle istruzioni pronte per essere eseguite di avere la precedenza sulle istruzioni precedenti in attesa della cache. Mentre il disco rigido è più lento nell’esecuzione, una CPU non deve essere tenuta in attesa, ma può lavorare su altri elementi del set di istruzioni.

Un tipo di microarchitettura specializzata è nota come architettura del flusso di dati. I progetti del flusso di dati non seguono i metodi tradizionali del flusso di controllo; l’esecuzione delle istruzioni avviene in base alla disponibilità degli argomenti di input e queste istruzioni guidano l’elaborazione per il routing di rete, l’elaborazione del segnale digitale dello streaming audio o video e l’elaborazione grafica. I motori software del database utilizzano l’architettura del flusso di dati per sincronizzare i dati per l’inoltro dei pacchetti a velocità cablata in tempo reale e la loro natura dedicata consente il bilanciamento del carico dei processori e gli accessi alle risorse comuni. Questa pacchettizzazione significa che le istruzioni ei risultati consentono il calcolo parallelo su larga scala per le reti di flusso di dati.

Nell’hardware, la microarchitettura consente ai componenti di essere integrati all’interno di un’architettura di sistema in comprensibili principi di ingegneria elettrica e meccanica per facilitare lo sviluppo di software per vari dispositivi hardware come tablet e computer desktop, telefoni cellulari, satelliti, strumentazione chirurgica e sistemi di navigazione. Poiché viene utilizzata in un’ampia varietà di strumenti e dispositivi, la microarchitettura hardware è in realtà la costruzione di sistemi hardware elettromeccanici ed elettronici ingegnerizzati. La microarchitettura nei progetti hardware è un processo di rappresentazione di componenti correlati che si relazionano mediante regole e principi di progetti meccanici ed elettrici incorporati nei componenti stessi. Insiemi realizzabili di sottosistemi limitati sono organizzati con sensori e attuatori in un sistema esclusivo e inclusivo per usi specifici.