Sistemi a microprocessore

Sistemi a microprocessoreL'uso di sistemi a microprocessore in quasi tutti i dispositivi elettrici è la caratteristica più importante dell'infrastruttura tecnica della società moderna. L'elettricità, l'industria, i trasporti, i sistemi di comunicazione dipendono fortemente dai sistemi di controllo del computer. I sistemi a microprocessore sono incorporati in strumenti di misura, dispositivi elettrici, impianti di illuminazione, ecc.

Tutto ciò obbliga l'ingegnere elettrico a conoscere almeno le basi della tecnologia dei microprocessori.

I sistemi a microprocessore sono progettati per automatizzare l'elaborazione delle informazioni e controllare vari processi.

Il termine "sistema a microprocessore" è molto ampio e include concetti come "macchina informatica elettronica (ECM)", "computer di controllo", "computer" e altri.

Il sistema a microprocessore include Hardware o in inglese — hardware e software (Software) — software.

Informazioni digitali

Il sistema a microprocessore funziona con informazioni digitali, che sono una serie di codici numerici.

Al centro di qualsiasi sistema a microprocessore c'è un microprocessore che può accettare solo numeri binari (composti da 0 e 1).I numeri binari sono scritti usando il sistema numerico binario. Ad esempio, nella vita di tutti i giorni utilizziamo un sistema numerico decimale che utilizza dieci caratteri o cifre per scrivere numeri, 0,1,2,3,4,5,6,7,8,9. Di conseguenza, nel sistema binario ci sono solo due di questi simboli (o cifre): 0 e 1.

È necessario capire che il sistema numerico è solo le regole per scrivere i numeri e la scelta del tipo di sistema sarà determinata dalla facilità d'uso. La scelta di un sistema binario è dovuta alla sua semplicità, il che significa l'affidabilità dei dispositivi digitali e la facilità della loro implementazione tecnica.

Consideriamo le unità di misura delle informazioni digitali:

Un bit (dall'inglese «BInary digiT» — cifra binaria) assume solo due valori: 0 o 1. È possibile codificare il valore logico «yes» o «no», lo stato «on» o «off», lo stato « aperto» «o» chiuso «ecc.

Un gruppo di otto bit è chiamato byte, ad esempio 10010111. Un byte consente di codificare 256 valori: 00000000 — 0, 11111111 — 255.

Un bit è la più piccola unità di informazione.

Byte: la più piccola unità di elaborazione delle informazioni. Byte - parte di una parola macchina, solitamente composta da 8 bit e utilizzata come unità per la quantità di informazioni durante la sua memorizzazione, trasmissione ed elaborazione su un computer. Un byte serve a rappresentare lettere, sillabe e caratteri speciali (di solito occupano tutti gli 8 bit) o ​​cifre decimali (ogni 2 cifre in 1 byte).

Due byte contigui sono chiamati word, 4 byte double word, 8 byte quad word.

Quasi tutte le informazioni che ci circondano sono analogiche. Pertanto, prima che le informazioni entrino nel processore per l'elaborazione, vengono convertite utilizzando un ADC (convertitore da analogico a digitale).Inoltre, le informazioni sono codificate in un determinato formato e possono essere digitali, logiche, testuali (simboliche), grafiche, video, ecc.

Ad esempio, una tabella di codici ASCII (dall'inglese americano Standard Code for Information Interchange) viene utilizzata per codificare le informazioni testuali. Un carattere è scritto in un byte, che può assumere 256 valori. Le informazioni grafiche sono suddivise in punti (pixel) e il colore e la posizione di ciascun punto sono codificati orizzontalmente e verticalmente.

Oltre ai sistemi binario e decimale, MS utilizza un sistema esadecimale in cui per scrivere i numeri vengono utilizzati i simboli 0...9 e A...F.Il suo utilizzo è dovuto al fatto che un byte è descritto da due -digit numero esadecimale, che riduce notevolmente la registrazione del codice numerico e lo rende più leggibile (11111111 — FF).

Tabella 1 — Scrivere numeri in diversi sistemi numerici

Scrivere numeri in diversi sistemi numerici

Per determinare il valore del numero (ad esempio, il valore del numero 100 per diversi sistemi di numerazione può essere 42, 10010, 25616), alla fine del numero aggiungere una lettera latina che indica il sistema di numerazione: per i numeri binari la lettera b, per numeri esadecimali — h , per numeri decimali — d. Un numero senza una designazione aggiuntiva è considerato un decimale.

La conversione di numeri da un sistema all'altro e le operazioni aritmetiche e logiche di base con i numeri consentono di creare una calcolatrice ingegneristica (applicazione standard del sistema operativo Windows).

Struttura di un sistema a microprocessore

Il sistema a microprocessore si basa su un microprocessore (processore) che esegue funzioni di elaborazione e controllo delle informazioni. Il resto dei dispositivi che compongono il sistema a microprocessore servono il processore aiutandolo a funzionare.

I dispositivi obbligatori per la creazione di un sistema a microprocessore sono porte di input / output e in parte memoria... Le porte di input - output collegano il processore al mondo esterno fornendo informazioni per l'elaborazione e l'output dei risultati dell'elaborazione o delle azioni di controllo. Pulsanti (tastiera), vari sensori sono collegati alle porte di ingresso; alle porte di uscita - dispositivi che consentono il controllo elettrico: indicatori, display, contattori, elettrovalvole, motori elettrici, ecc.

La memoria è principalmente necessaria per memorizzare un programma (o un insieme di programmi) necessario al funzionamento del processore. Un programma è una sequenza di comandi che il processore comprende, scritta da un essere umano (di solito un programmatore).

La struttura di un sistema a microprocessore è mostrata nella Figura 1. In una forma semplificata, il processore è costituito da un'unità logica aritmetica (ALU) che elabora le informazioni digitali e un'unità di controllo (CU).

La memoria in genere include la memoria di sola lettura (ROM), che è non volatile e destinata alla memorizzazione a lungo termine di informazioni (ad esempio, programmi) e la memoria ad accesso casuale (RAM), destinata alla memorizzazione temporanea dei dati.

Struttura di un sistema a microprocessore

Figura 1 — La struttura del sistema a microprocessore

Il processore, le porte e la memoria comunicano tra loro tramite bus. Un autobus è un insieme di fili funzionalmente uniti. Un singolo insieme di bus di sistema è chiamato bus intrasystem, in cui sono presenti:

  • DB data bus (Data Bus), attraverso il quale i dati vengono scambiati tra il processore, la memoria e le porte;

  • bus indirizzi AB (Address Bus), utilizzato per indirizzare le celle di memoria e le porte del processore;

  • bus di controllo CB (Control Bus), un insieme di linee che trasmettono vari segnali di controllo dal processore ai dispositivi esterni e viceversa.

Microprocessori

Microprocessore: un dispositivo controllato da software progettato per elaborare informazioni digitali e controllare il processo di questa elaborazione, realizzato sotto forma di uno (o più) circuiti integrati con un alto grado di integrazione di elementi elettronici.

Un microprocessore è caratterizzato da un gran numero di parametri, in quanto è sia un complesso dispositivo controllato da software che un dispositivo elettronico (microcircuito). Pertanto, per un microprocessore, sia il tipo di custodia che il set di istruzioni per il processore... Le capacità di un microprocessore sono definite dal concetto di architettura del microprocessore.

Il prefisso «micro» nel nome del processore significa che è implementato utilizzando la tecnologia micron.

Aspetto del microprocessore Intel Pentium 4

Figura 2 — Vista esterna del microprocessore Intel Pentium 4

Durante il funzionamento, il microprocessore legge i comandi del programma dalla memoria o da una porta di ingresso e li esegue. Il significato di ciascun comando è determinato dal set di istruzioni del processore, che è incorporato nell'architettura del microprocessore e l'esecuzione del codice di comando è espressa nell'esecuzione di determinate micro-operazioni da parte degli elementi interni del processore.

Architettura del microprocessore: questa è la sua organizzazione logica; definisce le capacità del microprocessore in termini di implementazione hardware e software delle funzioni necessarie per costruire un sistema a microprocessore.

Principali caratteristiche dei microprocessori:

1) Frequenza di clock (unità di misura MHz o GHz): il numero di impulsi di clock in 1 secondo.Gli impulsi di clock sono generati da un generatore di clock, che di solito si trova all'interno del processore. Poiché tutte le operazioni (istruzioni) vengono eseguite in cicli di clock, la prestazione lavorativa (il numero di operazioni eseguite per unità di tempo) dipende dalla frequenza di clock. La frequenza del processore può variare entro certi limiti.

2) Processore di bit (8, 16, 32, 64 bit, ecc.): specifica il numero di byte di dati elaborati in un ciclo di clock. La larghezza di bit di un processore è determinata dalla larghezza di bit dei suoi registri interni. Un processore può essere a 8 bit, 16 bit, 32 bit, 64 bit, ecc. i dati vengono elaborati in blocchi di 1, 2, 4, 8 byte. È chiaro che maggiore è la profondità di bit, maggiore è la produttività del lavoro.

Architettura interna del microprocessore

Un'architettura interna semplificata di un tipico microprocessore a 8 bit è mostrata nella Figura 3. La struttura del microprocessore può essere suddivisa in tre parti principali:

1) Registri per la memorizzazione temporanea di comandi, dati e indirizzi;

2) Unità logica aritmetica (ALU) che esegue operazioni aritmetiche e logiche;

3) Circuito di controllo e temporizzazione: fornisce la selezione dei comandi, organizza il funzionamento dell'ALU, fornisce l'accesso a tutti i registri del microprocessore, percepisce e genera segnali di controllo esterni.

Architettura interna semplificata di un microprocessore a 8 bit

Figura 3 — Architettura interna semplificata di un microprocessore a 8 bit

Come puoi vedere dal diagramma, il processore si basa su registri, che sono divisi in registri speciali (con uno scopo specifico) e registri generali.

Contatore di programma (computer): un registro contenente l'indirizzo del successivo byte di comando. Il processore deve sapere quale comando verrà eseguito successivamente.

Batteria: un registro utilizzato nella maggior parte delle istruzioni per l'elaborazione logica e aritmetica; è sia l'origine di uno dei byte di dati richiesti per l'operazione ALU sia il luogo in cui viene collocato il risultato dell'operazione ALU.

Un registro funzione (o registro flag) contiene informazioni sullo stato interno del microprocessore, in particolare il risultato dell'ultima operazione ALU. Un registro flag non è un registro nel senso comune, ma semplicemente un insieme di flip flop (flag su o giù. Di solito ci sono flag zero, overflow, negativi e carry).

Stack Pointer (SP): tiene traccia della posizione dello stack, ovvero contiene l'indirizzo dell'ultima cella utilizzata. Stack: un modo per organizzare l'archiviazione dei dati.

Un registro di comando contiene il byte di comando corrente che viene decodificato dal decodificatore di comando.

Le linee bus esterne sono isolate dalle linee bus interne mediante buffer e i principali elementi interni sono collegati da un bus dati interno ad alta velocità.

Per migliorare le prestazioni di un sistema multiprocessore, le funzioni del processore centrale possono essere distribuite tra più processori. Per aiutare il processore centrale, il computer introduce spesso coprocessori, focalizzati sull'esecuzione efficiente di qualsiasi funzione specifica. Diffusi coprocessori matematici e grafici, input e output che sgravano il processore centrale da semplici ma numerose operazioni di interazione con dispositivi esterni.

Allo stato attuale, la direzione principale per aumentare la produttività è lo sviluppo di processori multi-core, ad es. combinando due o più processori in un caso per eseguire diverse operazioni in parallelo (contemporaneamente).

Intel e AMD sono le aziende leader nella progettazione e produzione di processori.

Algoritmo del sistema a microprocessore

Algoritmo — una prescrizione precisa che imposta in modo univoco il processo di trasformazione delle informazioni iniziali in una sequenza di operazioni che consentono di risolvere una serie di compiti di una certa classe e ottenere il risultato desiderato.

L'elemento di controllo principale dell'intero sistema a microprocessore è un processore... Esso, ad eccezione di alcuni casi speciali, controlla tutti gli altri dispositivi. I restanti dispositivi, come RAM, ROM e porte I/O, sono subordinati.

Non appena viene acceso, il processore inizia a leggere i codici digitali dall'area di memoria riservata alla memorizzazione dei programmi. La lettura avviene in sequenza cella per cella, partendo dalla primissima. Una cella contiene dati, indirizzi e comandi. Un'istruzione è una delle azioni elementari che un microprocessore può eseguire. Tutto il lavoro del microprocessore è ridotto alla lettura sequenziale e all'esecuzione di comandi.

Considera la sequenza di azioni del microprocessore durante l'esecuzione dei comandi del programma:

1) Prima che venga eseguita l'istruzione successiva, il microprocessore memorizza il suo indirizzo nel contatore del programma del computer.

2) Il MP accede alla memoria all'indirizzo contenuto nel computer e legge dalla memoria il primo byte del comando successivo nel registro dei comandi.

3) Il decoder di comando decodifica (decifra) il codice di comando.

4) La centrale, in accordo con le informazioni ricevute dal decoder, genera una sequenza temporizzata di microoperazioni che eseguono le istruzioni di comando, tra cui:

— recupera gli operandi dai registri e dalla memoria;

— esegue su di essi operazioni aritmetiche, logiche o di altro tipo come prescritto dal codice di comando;

— a seconda della lunghezza del comando, cambia il contenuto del computer;

- trasferisce il controllo al comando successivo il cui indirizzo è di nuovo nel contatore del programma per computer.

Il set di istruzioni per un microprocessore può essere suddiviso in tre gruppi:

1) Comandi per spostare i dati

Il trasferimento avviene tra memoria, processore, porte I/O (ogni porta ha il suo indirizzo), tra registri del processore.

2) Comandi di trasformazione dei dati

Tutti i dati (testo, immagine, video, ecc.) sono numeri e con i numeri possono essere eseguite solo operazioni aritmetiche e logiche. Pertanto, i comandi di questo gruppo includono addizione, sottrazione, confronto, operazioni logiche, ecc.

3) Trasferimento del comando di controllo

È molto raro che un programma sia costituito da una singola istruzione sequenziale. La maggior parte degli algoritmi richiede la ramificazione del programma. Affinché il programma possa modificare l'algoritmo del suo lavoro, a seconda di qualsiasi condizione, vengono utilizzati i comandi di trasferimento del controllo. Questi comandi assicurano il flusso dell'esecuzione del programma lungo percorsi diversi e organizzano cicli.

Dispositivi esterni

I dispositivi esterni includono tutti i dispositivi esterni al processore (ad eccezione della RAM) e collegati tramite porte I/O. I dispositivi esterni possono essere classificati in tre gruppi:

1) dispositivi di comunicazione uomo-computer (tastiera, monitor, stampante, ecc.);

2) dispositivi per la comunicazione con oggetti di controllo (sensori, attuatori, ADC e DAC);

3) dispositivi di archiviazione esterni di grande capacità (hard disk, floppy disk).

I dispositivi esterni sono collegati al sistema a microprocessore fisicamente, tramite connettori e logicamente, tramite porte (controller).

Un sistema di interrupt (meccanismo) viene utilizzato per interfacciarsi tra il processore e dispositivi esterni.

Sistema di interruzione

Si tratta di uno speciale meccanismo che consente in qualsiasi momento, tramite un segnale esterno, di forzare il processore a interrompere l'esecuzione del programma principale, eseguire operazioni legate all'evento che ha provocato l'interruzione, per poi tornare all'esecuzione del programma principale .

Ogni microprocessore ha almeno un ingresso di richiesta di interrupt INT (dalla parola Interrupt).

Consideriamo un esempio dell'interazione di un processore di personal computer con una tastiera (Figura 4).

Tastiera — un dispositivo per inserire informazioni simboliche e comandi di controllo. Per collegare la tastiera, il computer dispone di una speciale porta per tastiera (chip).

Come funziona il processore con la tastiera

Figura 4 — Funzionamento della CPU con la tastiera

Algoritmo di lavoro:

1) Quando viene premuto un tasto, il controller della tastiera genera un codice numerico. Questo segnale va al chip della porta della tastiera.

2) La porta della tastiera invia un segnale di interrupt alla CPU. Ogni dispositivo esterno ha il proprio numero di interrupt in base al quale il processore lo riconosce.

3) Dopo aver ricevuto un'interruzione dalla tastiera, il processore interrompe l'esecuzione del programma (ad esempio, l'editor di Microsoft Office Word) e carica dalla memoria il programma per l'elaborazione dei codici della tastiera. Tale programma è chiamato driver.

4) Questo programma indirizza il processore alla porta della tastiera e il codice numerico viene caricato nel registro del processore.

5) Il codice digitale viene memorizzato e il processore continua a svolgere un'altra attività.

A causa dell'elevata velocità di funzionamento, il processore esegue un gran numero di processi contemporaneamente.

Ti consigliamo di leggere:

Perché la corrente elettrica è pericolosa?