L3 1 Elementos constitutivos de un computador

L3 1 Elementos constitutivos de un computador

Concetti di base e elementi costitutivi di un processore

Introduzione alla struttura dei computer

  • Inizio del tema 3 dedicato alla struttura dei computer, con focus sui concetti fondamentali e sugli elementi costitutivi di un processore.
  • Analisi del processo di esecuzione delle istruzioni e implementazione dei processori in forma integrata.

Programmazione a livello di linguaggio assembly

  • Tre lezioni dedicate alla programmazione a livello di linguaggio assembly per un computer didattico chiamato "code 2".
  • Riflessione sui diversi livelli di memoria in un computer, noto come gerarchia della memoria.

Struttura concettuale del computer

  • Discussione sui livelli concettuali nella descrizione di un computer, utilizzando l'analogia con un'automobile per spiegare la complessità.
  • Differenti punti di vista: dall'occupante al conducente fino all'analisi dettagliata del motore dell'automobile.

Complessità e astrazione nei sistemi informatici

  • La complessità aumenta man mano che si scende nei livelli analitici, mentre l'astrazione cresce salendo verso l'alto.
  • Importanza della conoscenza dei vari livelli senza necessità di comprendere i livelli inferiori; ad esempio, un passeggero non deve sapere guidare.

Livelli concettuali nel design del computer

Descrizione dei livelli concettuali

  • I computer sono tra i sistemi più complessi creati dall'uomo, con circuiti contenenti miliardi di componenti.
  • Studio e analisi del design del computer attraverso diversi livelli concettuali per facilitare la comprensione.

Piramide dei livelli di complessità

  • Presentazione della piramide dei livelli: dispositivi elettronici, logica digitale, micro-macchine, macchine operative e simboliche fino agli utenti finali.

Dispositivi elettronici e logica digitale

Dispositivi elettronici

  • Il livello inferiore è costituito da componenti come transistor e condensatori; informazioni rappresentate tramite tensione elettrica.

Logica digitale

  • Operazioni basilari descritte a livello logico digitale; utilizzo delle porte logiche per memorizzare e trasmettere dati in codici binari (0 e 1).

Micro-macchine

Struttura e Funzionamento di un Computer

Componenti della Logica Digitale

  • I circuiti digitali sono costruiti come circuiti integrati, con componenti come banchi di registri e registri multipli.
  • Il linguaggio macchina è l'unico comprensibile dal processore; il design del computer inizia dalla specifica delle istruzioni del linguaggio macchina.

Linguaggi di Programmazione

  • Il linguaggio assemblatore utilizza una terminologia diversa ma corrisponde al linguaggio macchina, definendo le istruzioni macchina.
  • Le istruzioni in linguaggio macchina sono rappresentate in forma binaria, mentre il codice assemblatore fornisce una notazione più leggibile.

Interfaccia tra Hardware e Software

  • Il livello operativo funge da interfaccia tra hardware e software, migliorando l'efficienza per gli utenti e i programmi applicativi.
  • Esempio: comandi del sistema operativo Microsoft Windows possono essere invocati direttamente dagli utenti o dai programmi.

Livelli di Astrazione nel Computer

  • Il livello simbolico è quello percepito dagli utenti finali, composto principalmente da programmi applicativi come Excel.
  • Gli utenti non devono conoscere i livelli inferiori (linguaggi macchina, micro-macchina), poiché interagiscono solo con il livello simbolico.

Complessità e Astrazione

  • La complessità aumenta passando dai livelli superiori a quelli inferiori; tuttavia, l'astrazione cresce spostandosi verso macchine simboliche.
  • I livelli elettronici (logica digitale, micro-macchina) si riferiscono all'hardware; i livelli di linguaggio macchina e operativi riguardano il software.

Tematiche Future nel Corso

  • I temi futuri del corso includeranno lo studio dei computer nei livelli di micro-macchina e convenzionale, seguiti dall'analisi dei sistemi operativi.

Unità Funzionali del Computer

  • Un computer è strutturato in unità funzionali che vanno dal processore alla memoria interna fino ai periferici.
  • La CPU comprende la unità aritmetica-logica (ALU), la quale esegue operazioni logiche ed aritmetiche sotto il controllo dell'unità di controllo.

Elementi Costitutivi del Processore

Introduzione ai Beat Stabili e Registri

Cos'è un Beat Stabile?

  • Un beat stabile è un elemento di memoria che memorizza informazioni, rappresentato da un quadrato con una entrata, una uscita e una segnale di controllo. Internamente, mantiene un valore (in questo caso 0) che appare sempre in uscita.

Funzionamento del Beat Stabile

  • Se il beat stabile ha 0 memorizzato e riceve 1 in ingresso, l'uscita non cambia finché la segnale di controllo non diventa 1. Quando ciò accade, il valore in ingresso viene memorizzato.
  • Anche se l'ingresso cambia (ad esempio a 10), il beat stabile mantiene il valore memorizzato fino a quando la segnale di controllo non si attiva nuovamente.

Registri: Memoria Temporanea

  • Un registro è una memoria temporanea per dati o indirizzi individuali. I registri possono essere di diverse dimensioni (8, 16, 32, 64 o 128 bit) e sono composti da più beat stabili connessi in parallelo.
  • La carica di un registro avviene tramite segnali di controllo comuni; ad esempio, RM carica i dati nel registro R7.

Esempio Pratico dei Registri

  • In un registro a 8 bit possono essere memorizzati valori come "10100101". L'uscita corrisponde ai valori immagazzinati fino all'attivazione della segnale di controllo.
  • Quando la segnale del clock si attiva, i valori presenti all'ingresso vengono memorizzati e appaiono anche in uscita dal registro.

Contatori: Circuiti con Sequenze Ripetitive

Definizione e Funzionamento dei Contatori

  • Un contatore è un circuito le cui uscite mostrano una sequenza ripetitiva. Al cambio della segnale di controllo, i valori cambiano secondo una sequenza predeterminata.
  • Ad esempio, un contatore binario discendente a 8 bit segue la sequenza da 0 a 255 prima di ricominciare da zero.

Incremento del Contatore

  • Il contatore può essere incrementato; ad esempio PC = PC + 1 indica che il valore del programma aumenta di uno unità.
  • La figura mostra come due segnali controllano il caricamento e l'avanzamento del contatore; quando si attiva la segnale A passa a uno nuovo stato incrementando il valore corrente.

Unità Logico-Aritmetiche: Operazioni sui Dati

Struttura dell'Unità Logico-Aritmetica (ALU)

  • L'ALU esegue operazioni su due ingressi (A e B), producendo risultati su un'uscita S. Le operazioni sono determinate dalle segnali di controllo provenienti dall'unità di controllo.
  • Ad esempio, se le segnali indicano somma (001), l'ALU somma i dati A e B restituendo il risultato sull'uscita S.

Esempio Concreto dell’Operazione ALU

  • Se A = "1000" e B = "0101", al ricevere la segnale per sommare apparirà in uscita "1101".

Porte d’Ingresso ed Uscita: Interfacce con Periferiche

Funzione delle Porte d’Ingresso

  • Le porte d’ingresso (input ports - IP), come tastiere o mouse, sono registri che ricevono dati dai dispositivi periferici associati a codici identificativi specifici per ciascun dispositivo.

Funzione delle Porte d’Uscita

Struttura e Funzionamento della Memoria Interna

Organizzazione della Memoria Interna

  • La memoria interna, o memoria centrale, è rappresentata con una "M" maiuscola ed è organizzata in parole di informazione. Ogni riga dell'immagine rappresenta una parola di memoria composta da 16 bit.

Accesso alla Memoria

  • Per leggere o scrivere in ogni parola di memoria, si utilizza un bus di ingresso che ha tante connessioni quanti sono i bit della parola. In questo caso, il bus avrà 16 linee per 16 bit.

Basi dei Bus

  • Esiste anche un bus di indirizzi (address bus), composto da "m" bit, che determina la capacità totale della memoria in parole. Se la memoria è completamente implementata, avrà una capacità totale di 2^m parole.

Operazioni di Scrittura e Lettura

  • La scrittura nella memoria implica trasferire il contenuto dal bus d'ingresso all'indirizzo specificato nel bus degli indirizzi. La lettura prevede il trasferimento del contenuto dalla posizione indicata nel bus degli indirizzi al bus d'uscita.

Interconnessione delle Unità del Computer

  • Le diverse unità del computer sono interconnesse tramite un sistema di bus, che possono essere serie o paralleli. I bus paralleli hanno più linee e permettono il trasferimento simultaneo delle informazioni.

Tipologie e Strutture dei Bus

Caratteristiche Fisiche dei Bus

  • I bus possono avere forme diverse; ad esempio, possono essere costituiti da cavi uniti tramite materiale isolante. Nei circuiti stampati, i bus sono formati da piste conduttrici su una scheda isolante.

Funzione dei Vari Tipi di Bus

  • Il sistema comprende tre tipi principali di bus:
  • Bus degli indirizzi: trasporta le posizioni in memoria.
  • Bus dei dati: trasporta dati o istruzioni.
  • Bus di controllo: gestisce segnali di controllo tra le unità del computer.

Ruolo del Processore nella Comunicazione

Flusso Dati tra Componenti

  • Il processore invia indirizzi al bus degli indirizzi; questi vengono utilizzati dalla memoria centrale e dai porti per l'input/output. Tutti i dati viaggiano attraverso il bus dei dati mentre il controllo è gestito dal bus di controllo.

Interfaccia con Circuiti Integrati

  • I circuiti integrati come i microprocessori hanno pin elettrici che corrispondono alle linee del bus. Questi pin consentono l'interconnessione con altri elementi del sistema attraverso zoccoli saldati sulla scheda madre.

Prossimi Passaggi nell'Apprendimento

Elementi Interni e Esecuzione delle Istruzioni

Struttura e Funzionamento di un Computer

Registri e Indicatori di Condizione

  • La logica aritmetico-booleano opera con dati provenienti da un registro temporale, i risultati delle operazioni vengono memorizzati in uno dei registri del banco di registrazione.
  • Gli indicatori di condizione (flag) sono utilizzati per rappresentare lo stato delle operazioni: il flag di riporto si attiva quando c'è un riporto, il flag di segno indica se il risultato è negativo, e il flag zero si attiva se il risultato è zero.
  • Il flag di overflow si attiva quando l'operazione produce un overflow; esiste anche un indicatore di parità che segnala se il numero totale dei bit è pari.

Unità Esecutive e Registri

  • La unità logica include registri come quello degli indirizzi, che fornisce al processore le posizioni da accedere in memoria o nei porti I/O.
  • Il registro dati (R) gestisce lo scambio di informazioni tra il processore e la memoria o i dispositivi periferici; tutti i dati entranti ed uscenti passano attraverso questo registro.

Controllo e Sincronizzazione

  • La logica di controllo genera segnali per monitorare le operazioni del computer, sia interne che esterne, inclusa la gestione della memoria e dei porti I/O.
  • Il clock sincronizza tutte le operazioni elementari del computer; la sua frequenza influisce sulla velocità del processore.

Esecuzione delle Istruzioni

  • Il registro istruzioni memorizza l'istruzione corrente in esecuzione. Le istruzioni vengono caricate una alla volta dalla memoria principale nel registro.
  • Il contatore del programma (PC) tiene traccia dell'indirizzo della prossima istruzione da eseguire. Inoltre, il puntatore dello stack (ESP) gestisce le chiamate alle routine.

Riflessioni Finali

Video description

Más información acerca de mis videoclases sobre Fundamentos de Informática puede verse en: http://atc.ugr.es/pages/personal/propia/alberto_prieto/videoclases. Lección correspondiente a la serie Fundamentos de Informática realizada por Alberto Prieto Espinosa, catedrático del Dto. de Arquitectura y Tecnología de Computadores de la Universidad de Granada. El material básico procede de los textos "Introducción a la Informática", A.Prieto, A.Lloris, J.C.Torres, McGraw-Hill, 2006 y "Conceptos de Informática", A.Prieto, B.Prieto, Serie Schaum, McGrawHill, 2005. En estos textos se incluyen numerosos ejercicios y problemas, algunos de ellos resueltos.