Architettura di un calcolatore

Slides:



Advertisements
Presentazioni simili
Architettura di un calcolatore
Advertisements

La struttura fisica e logica di un elaboratore
STRUTTURA DEL PERSONAL COMPUTER
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Elaboratore e Sistemi Operativo
Architettura di un sistema informatico Hardware
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
CdL Ingegneria Informatica n.o. Anno Accademico 2007/08 Fondamenti di Informatica I – corso A Giacomo Piscitellipag. 1/30 Architettura dei calcolatori.
2. Architettura di un calcolatore
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Architettura di un calcolatore Ing. Simona Colucci.
Il Linguaggio Macchina
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Architetture hardware e software dei calcolatori
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Strutture di controllo in C -- Flow Chart --
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
La macchina di von Neumann
La macchina di von Neumann
Architettura di un calcolatore
L’Architettura del Sistema di Elaborazione
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il Modello logico funzionale dell’elaboratore
Il Calcolatore Elettronico
STRUTTURA GENERALE DI UN ELABORATORE
Appunti di Informatica
L' ARCHITETTURA DI VON NEUMANN
Il computer: struttura fisica e struttura logica
Seconda Università degli Studi di Napoli Facoltà di Psicologia
INFORMATICA Universita' degli Studi di Brescia
Architettura del calcolatore
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
STRUTTURA DI UN COMPUTER
Architettura di una CPU
Architettura del calcolatore
INFORMATICA TECNOLOGIE INFORMATICHE INFORmazione autoMATICA
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corsi di Laurea in Biotecnologie
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Dalla macchina di Von Neumann …
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il modello di Von Neumann
Fondamenti di Informatica Il Calcolatore Monica Mordonini Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Architettura degli elaboratori
Transcript della presentazione:

Architettura di un calcolatore Corso di Informatica A Vito Perrone

Indice La macchina di Von Neumann Esempio Memoria CPU Bus Interfacce L’algoritmo Il programma Fasi di esecuzione di un’istruzione Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

La macchina di Von Neumann Unità di Elaborazione (CPU) Memoria Centrale (MM) Interfaccia Periferica P1 Interfaccia Periferica P2 Bus di sistema Collegamento Memoria di massa, stampante, terminale… Esecuzione istruzioni Memoria di lavoro Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

La macchina di Von Neumann Il processore estrae le istruzioni dalla memoria e le esegue Le istruzioni possono comportare operazioni di manipolazione dei dati Oppure operazioni di trasferimento dei dati I trasferimenti di dati attraverso elementi funzionali diversi avvengono attraverso il bus di sistema Le fasi di elaborazione si susseguono in modo sincrono rispetto ad un orologio di sistema Durante ogni intervallo di tempo l’unità di controllo (parte del processore) stabilisce la funzione da svolgere L’intera macchina opera in maniera sequenziale Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

La memoria centrale (MM) Registro indir. (AR) k = 10 bit Registro dati (DR) load store h = 16 bit 1 1023 Parola (word) RAM e ROM Volatile Dati e istruzioni Spazio di indirizzamento 210=1024 Indirizzo cella Dato da leggere/scrivere Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

La memoria centrale (MM) Il numero di bit che costituiscono l’indirizzo di un word all’interno della memoria è caratteristico del microprocessore e identifica lo spazio di indirizzamento del microprocessore Esempio: Pentium 32 bit Avendo a disposizione k bit è possibile indirizzare 2k byte Si ricorda che: 210 byte = 1Kilo Byte 220 byte = 1Mega Byte 230 byte = 1 Giga Byte 240 byte = 1Tera Byte Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

La memoria centrale (MM) La memoria centrale si chiama usualmente ram o memoria ad accesso casuale Viene cosi detta una memoria il cui tempo di accesso sia indipendente dall’indirizzo della parola alla quale si vuole accedere Si tratta di una memoria volatile Altri tipi di memoria presenti in un calcolatore sono le rom Hanno caratteristiche generali simili alle ram Un tempo di accesso notevolmente maggiore Si tratta di memorie permanenti Sono tipicamente utilizzate per memorizzare quei dati e programmi che servono al momento dell’accensione dell’elaboratore, prima del caricamento del S.O. Esempio: Il BIOS (Basic Input Output System) che carica in memoria il sistema operativo quando la macchina viene accesa Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

L’unità di elaborazione (CPU) Stato CPU Flag: C, Z, S, V Operazioni aritmetiche e logiche Indirizzo prox istruzione Registro di stato (SR) Registro contatore di programma (PC) Registri operandi A Unità aritmetico logica (ALU) Registro interruzioni (INTR) B Registri generali Registro istruzione corrente (CIR) Unità di controllo (CU) Istruzione in elaborazione Clock Sincronizzazione Controllo: -Prelievo -Decodifica -Esecuzione Registro indirizzi (AR) Registro dati (DR) Parola letta/da scrivere in MM Indirizzo cella MM Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Il bus di sistema Il bus di sistema collega tra loro i vari elementi del calcolatore In ogni istante il bus è dedicato a collegare due unità, una trasmette ed una riceve Il processore seleziona la connessione da attivare e indica l’operazione da svolgere (bus mastering) Il bus è suddiviso in tre insiemi di linee: Bus dati Bus indirizzi Linee di controllo: trasportano informazioni relative alla modalità di trasferimento e alla temporizzazione Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Il bus di sistema CPU Master/slave Registro istruzione corrente (CIR) Registro dati (DR) Registro indirizzi (AR) Registro contatore di programma (PC) Registro di stato (SR) Registro interruzioni (INTR) A B Unità di controllo (CU) Clock Unità aritmetico logica (ALU) CPU Bus di sistema Master/slave Bus dati, Bus indirizzi, Bus controlli Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Sequenza di lettura Passo 3 Passo 1 Passo 4 Passo 2 1023 123 42 CU 42 1023 123 42 123 Passo 1 CIR DR AR PC SR INTR A B CU Ck ALU OK Passo 4 READ Passo 2 123 Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Sequenza di scrittura Passo 2 Passo 1 Passo 3 Passo 5 Passo 4 1023 123 70 Passo 2 1023 123 42 123 Passo 1 CIR DR AR PC SR INTR A B CU Ck ALU WRITE Passo 3 OK Passo 5 123 70 Passo 4 Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Le interfacce delle periferiche Si occupa della gestione dello scambio di dati tra processore e periferiche E’ possibile avere una interfaccia diversa per ogni periferica... ...ma è più logico avere delle interfacce standard per periferiche simili Esempi di interfacce standard: Interfaccia seriale RS-232-C (mouse, modem, ...) Interfaccia PS2 (mouse, tastiera, ...) Interfaccia USB (mouse, telecamere, stampanti, scanner, ...) Interfaccia parallela Centronix (stampante, scanner, ...) Interfaccia ISA (modem, schede audio, ...) Interfaccia SCSI (hard-disk, CD-ROM, scanner, ...) Interfaccia EIDE (hard-disk, CD_ROM, ...) Ogni interfaccia contiene registri per: Inviare comandi alla periferica Scambiare dati Controllare il funzionamento della periferica Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Le interfacce delle periferiche Interfacccia periferica 1 Interfacccia periferica 2 Peripheral Data Register (PDR) Peripheral Data Register (PDR) Dato da leggere/scrivere Peripheral Command Register (PCR) Peripheral Command Register (PCR) Comando da eseguire Peripheral State Register (PSR) Peripheral State Register (PSR) Stato della periferica Bus di sistema Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Le interruzioni Al fine di gestire richieste provenienti dalle periferiche può essere necessario interrompere la normale esecuzione di un programma La periferica segnala sue particolari necessità attraverso una interruzione Ad ogni passo di esecuzione la UC verifica lo stato del registro delle interruzioni Se si è verificata una interruzione: Lo stato del processore (registri) viene salvato in memoria Viene attivata una speciale procedura di gestione delle interruzioni (parte del S.O.) Quando la procedura di gestione delle interruzioni termina lo stato del processore viene ripristinato ed il programma viene ripreso Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Es.: valutazione di espressione Vogliamo calcolare il valore dell’espressione: (a+b)·(c+d) leggendo i valori delle variabili a, b, c, d dal dispositivo di ingresso e scrivendo il risultato della valutazione sul dispositivo di uscita. Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Un algoritmo generale Leggi dal dispositivo di ingresso il valore delle variabili a, b, c, d Somma il valore di a al valore di b Salva il risultato parziale ottenuto Somma il valore di c al valore di d Moltiplica il risultato parziale appena ottenuto con quello precedentemente salvato Scrivi sul dispositivo di uscita il risultato della valutazione complessiva Termina l’esecuzione del programma. Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

L’algoritmo dettagliato (1) Scrivi nella cella di memoria centrale riservata al valore della variabile a il valore letto dal dispositivo di ingresso (disponibile nel registro dati della periferica). Fai la stessa cosa per b, c, d Somma il valore di a al valore di b 2.1 Copia il contenuto della cella di memoria riservata ad a nel registro A 2.2 Copia il contenuto della cella di memoria riservata a b nel registro B 2.3 Somma il contenuto dei registri A e B Salva il risultato parziale, contenuto nel registro A, in una cella di memoria predisposta per il risultato (z). Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

L’algoritmo dettagliato (2) Somma il valore di c al valore di d 4.1 Copia il contenuto della cella di memoria riservata a c nel registro A 4.2 Copia il contenuto della cella di memoria riservata a b nel registro B 4.3 Somma il contenuto dei registri A e B Moltiplica il risultato parziale appena ottenuto con quello precedentemente salvato 5.1 Copia il contenuto della cella riservata a z nel registro B (z e B contengono ora a+b, mentre A contiene c+d) 5.2 Moltiplica il contenuto dei registri A e B. Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

L’algoritmo dettagliato (3) Scrivi sul dispositivo di uscita il risultato della valutazione complessiva 6.1 Memorizza il risultato appena calcolato (e disponibile nel registro A) nella cella di memoria riservata a z 6.2 Copia il contenuto della cella di memoria riservata a z nel registro dati della periferica di uscita Termina l’esecuzione del programma. Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Tipologia delle operazioni svolte Operazioni di manipolazione Somma: 2.3, 4.3 Moltiplicazione: 5.2 Operazioni di trasferimento Da periferica-input a MM: 1 Da MM a CPU: 2.1, 2.2, 4.1, 4.2, 5.1 Da CPU a MM: 3, 6.1 Da MM a periferica-output: 6.2 Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Le istruzioni macchina Un programma scritto in linguaggio macchina è formato da una sequenza di istruzioni appartenenti al set di istruzioni del particolare processore Ogni istruzione è formata da: Un codice operativo Zero o più operandi Tanto il codice operativo quanto gli operandi sono rappresentati nella memoria del calcolatore sotto forma di numeri binari Data la difficoltà per l’uomo di interpretare numeri binari si usa l’assembler al posto del linguaggio macchina codice operativo operando(i) Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Le istruzioni macchina Il set di istruzioni di un qualsiasi linguaggio macchina può essere diviso in quattro classi principali di istruzioni: Istruzioni per il trasferimento dati tra memoria e registri del processore e viceversa Operazioni aritmetiche e logiche sui dati Istruzioni per il controllo del flusso di programma Istruzioni per la gestione dell’I/ O Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Forma binaria del programma 0100000000010000 Leggi un valore dall’input e mettilo nella cella 16 (a) 0100000000010001 Leggi un valore dall’input e mettilo nella cella 17 (b) 0100000000010010 Leggi un valore dall’input e mettilo nella cella 18 (c) 0100000000010011 Leggi un valore dall’input e mettilo nella cella 19 (d) 0000000000010000 Carica il contenuto della cella 16 (a) nel registro A 0001000000010001 Carica il contenuto della cella 17 (b) nel registro B 0110000000000000 Somma i registri A e B 0010000000010100 Scarica il contenuto di A nella cella 20 (z) (ris.parziale) 0000000000010010 Carica il contenito della cella 18 (c) nel registro A 0001000000010011 Carica il contenito della cella 19 (d) nel registro B 0110000000000000 Somma i registri A e B 0001000000010011 Carica il contenuto della cella 20 (z) (ris. parziale) in B 1000000000000000 Moltiplica i registri A e B 0010000000010100 Scarica il contenuto di A nella cella 20 (z) (ris. totale) 0101000000010100 Scrivi il contenuto della cella 20 (z) (ris. totale) in output 1101000000000000 Halt Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Programma in memoria centrale Cella 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Spazio riservato per a 16 Spazio riservato per b 17 Spazio riservato per c 18 Spazio riservato per d 19 Spazio riservato per z 20 0100000000010000 0100000000010001 0100000000010010 0100000000010011 0000000000010000 0001000000010001 0110000000000000 0010000000010100 0000000000010010 0001000000010011 0110000000000000 0001000000010011 1000000000000000 0010000000010100 0101000000010100 1101000000000000 Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Fase di fetch 1a istruzione Memoria centrale (MM) Passo 1 Passo 2 0100000000010000 0100000000010000 PC 0000000001 0000000000 0000000000 Passo 4 AR 1023 DR 0100000000010000 Passo 3 CIR Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Fase di interpretazione 1a istruzione CIR 0100000000010000 Codice operativo 0100 = leggi da input Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Fase di esecuzione 1a istruzione Memoria centrale (MM) Indirizzo operando 00000010000 = cella 16 0000010000 Passo 3 0001000000011111 16 CIR 0100000000010000 Passo 1 AR 1023 DR 0001000000011111 Passo 2 Valore di a letto dall’input (es. 4127) PDR 0001000000011111 Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Il linguaggio assembler Un esempio (didattico) di assembler potrebbe contenere le seguenti istruzioni: Le istruzioni loada e loadb servono per spostare il contenuto di una cella di memoria nei registri A e B rispettivamente Esempio: loada ind1 Le istruzioni storea e storeb servono per spostare il contenuto dei registri A e B rispettivamente in una cella di memoria il cui indirizzo è indicato come parametro Esempio: storea ind1 Le istruzioni per lo svolgimento delle operazioni aritmetiche di base Operazioni su interi: add, dif, mul, div Operazioni su reali: addr, difr, mulr, divr Le istruzioni operano sui registri A e B e pongono il risultato nel registro A Nel caso di divisione tra interi il registro B viene usato per contenere il resto dell’operazione Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Il linguaggio assembler Le istruzioni per lo svolgimento delle operazioni logiche di base and, or, not Le istruzioni operano sui registri A e B e pongono il risultato nel registro A Nel caso di operazione not viene usato il solo registro A Le istruzioni per leggere/scrivere su periferiche L’istruzione read legge un dato dalla periferica di input e pone il dato letto nella cella di memoria il cui indirizzo viene passato come parametro Esempio: read ind1 L’istruzione write scrive il dato presente nella cella di memoria il cui indirizzo viene passato come parametro sulla periferica di output Esempio: write ind1 Le istruzioni per il controllo di flusso L’istruzione di salto incondizionato jump salta all’indirizzo specificato come parametro L’istruzione di salto condizionato jumpz salta all’indirizzo specificato come parametro se l’ultima operazione matematica ha dato risultato nullo Il processore controlla il valore del registro di stato del processore Il salto viene effettuato solo se il bit di zero vale 1 Altre istruzioni L’istruzione halt termina l’esecuzione del programma Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Linguaggio Macchina, Assembler e C Linguaggio Assembler Linguaggio C READ A READ B READ C READ D LOADA A LOADB B ADD STOREA RIS LOADA C LOADB D LOADB RIS MUL WRITE RIS HALT INT A INT B INT C INT D INT RIS int a, b, c, d, ris; scanf("%d%d%d%d", &a, &b, &c, &d); ris = (a+b)*(c+d); printf("ecco il risultato %d", ris); 0100000000010000 0100000000010001 0100000000010010 0100000000010011 0000000000010000 0001000000010001 0110000000000000 0010000000010100 0000000000010010 0001000000010011 0110000000000000 0001000000010011 1000000000000000 0010000000010100 0101000000010100 1101000000000000 Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone

Esercizi 1) Si usi il linguaggio assembler presentato per scrivere un programma che legge due numeri A e B e scrive a video B volte il primo numero A 2) Si usi il linguaggio precedente per scrivere un programma che legge due numeri A e B e scrive a video il prodotto di A per B Non si faccia uso dell’istruzione mul ma delle sole istruzioni add e dif Copyright © 2004 - The McGraw-Hill Companies, srl Architettura di un Calcolatore Informatica A – V. Perrone