architettura

Le macchine presenti nelle nostre case al giorno d’oggi sono l'evoluzione di diverse tipologie di architetture ideate nel 20º secolo, che si dividono in due grandi gruppi: la macchina di Von Neumann e le architetture non Von Neumann. La macchina di Von Neumann è composta dalla CPU, dalla memoria e dai dispositivi di Input/Output. Queste componenti sono unite da tre collegamenti che permettono la comunicazione tra gli elementi della macchina, cioè i BUS. I BUS della macchina di Von Neumann sono il BUS di controllo, il BUS degli indirizzi e il BUS dei dati.
•    La CPU è la parte principale della macchina di Von Neumann ed è la sezione nella quale vengono elaborati i dati e dettate le operazioni da eseguire
•    La memoria è il reparto dove vengono memorizzati i dati da elaborare
•    I Dispositivi di input/output servono per comunicare con la CPU, infatti i dispositivi di input inviano dati ed informazioni esterni alla macchina alla CPU, mentre i dispositivi di output ricevono informazioni dalla CPU e le trasmettono all’esecutore
•    Il BUS indirizzi è un insieme di fili conduttori che trasportano gli indirizzi delle sezioni della memoria relativi a una certa operazione
•    Il BUS dati è un insieme di fili che trasportano i dati dalla memoria o dai dispositivi input/output alla CPU e viceversa
•    Il BUS di controllo non è un vero e proprio BUS, infatti non è composto da fili, ma da porte logiche. La sua funzione è quella di consentire alla CPU di coordinare tutte le attività da svolgere
Questo tipo di architettura nella realtà si traduce in: un microprocessore che svolge il compito della CPU, al suo interno sono presenti la CU (Control Unit), parte predisposta a compiere le istruzioni da eseguire, la ALU (Arithmetic-Logic Unit), reparto con la quale vengono svolti i calcoli matematici e logici tramite le porte logiche e le 4 operazioni elementari, la memoria Cache, una memoria SRAM molto veloce nella quale vengono copiati i dati presenti della memoria centrale per ridurre i tempi di attesa, e i registri: piccole sezioni di memoria nelle quali vengono memorizzati gli indirizzi e i dati della relativa operazione da svolgere.
 La memoria, invece, corrisponde alla memoria RAM (Random Access Memory), una memoria di tipo volatile (cioè che in assenza di corrente tutti i dati all'interno vengono persi), e il suo compito è quello di memorizzare i dati che sono attualmente in uso. Oltre alla RAM è presente una memoria di massa nella quale vengono immagazzinate le applicazioni e i file. Questo tipo di memoria non è volatile, infatti i dati vengono conservati finché non vengono cancellati dall'utente. L’ultimo tipo di memoria è la memoria ROM (Read Only Memory) nella quale è salvato il programma che viene eseguito per primo all’accensione del PC: il BIOS (Basic Input Output System), questo tipo di memoria è, una memoria di sola lettura.
I dispositivi di Input-Output sono tutti i dispositivi esterni al computer che comunicano con la CPU, per esempio la tastiera e il mouse.
Con il passare degli anni i computer si sono evoluti e le tipologie di architetture hanno dovuto adattarsi implementando nuovi metodi con i quali eseguire le operazioni, questo ha dato origine alle architetture non di Von Neumann. Queste tipologie di macchine si possono classificare in quattro categorie:
•    SISD (Single Instruction Single Data): sono le macchine che operano con un’istruzione alla volta manipolando un solo dato alla volta. In questo tipo di macchine si può inserire anche la macchina di Von Neumann.
•    SIMD (Single Instruction Multiple Data): le macchine che sono in grado di eseguire un’istruzione alla volta ma su più dati contemporaneamente, un esempio sono i processori vettoriali.
•    MISD (Multiple Instruction Single Data): in questa categoria rientrano tutte le macchine che possono svolgere più istruzioni contemporaneamente ma solo su un unico dato, questo tipo di tecnologia non ha avuto un grande successo.
•    MIMD (Multiple Instruction Multiple Data): macchine in grado di svolgere istruzioni diverse su più dati.
Federico Danda