CALCOLATORI ELETTRONICI



Похожие документы
Struttura del calcolatore

Architettura del calcolatore

CPU. Maurizio Palesi

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

C. P. U. MEMORIA CENTRALE

Architettura hardware

La macchina programmata Instruction Set Architecture (1)

Ing. Paolo Domenici PREFAZIONE

Lezione 3: Architettura del calcolatore

Calcolo numerico e programmazione Architettura dei calcolatori

Laboratorio di Informatica

Architettura degli Elaboratori e delle Reti

Architettura di un calcolatore: introduzione

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Dispensa di Informatica I.1

L architettura di riferimento

Architettura di un computer

L architettura del calcolatore (Prima parte)

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Esame di INFORMATICA

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Introduzione all'architettura dei Calcolatori

Il Processore: i registri

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Fondamenti di informatica: un po di storia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

La Macchina Virtuale

Architettura di un calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

CALCOLATORI ELETTRONICI 29 giugno 2011

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Architettura dei calcolatori I parte Introduzione, CPU

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Calcolatori Elettronici

Calcolatori Elettronici B a.a. 2008/2009

Organizzazione della memoria

Funzionalità di un calcolatore

Architettura dei computer

Lezione n.19 Processori RISC e CISC

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

introduzione I MICROCONTROLLORI

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

Vari tipi di computer

Architettura degli elaboratori (A)

Anatomia e fisiologia del computer: l architettura del calcolatore

Hardware di un Computer

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Parte II.2 Elaboratore

FONDAMENTI di INFORMATICA L. Mezzalira

Calcolatori Elettronici

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

ARCHITETTURA DEL CALCOLATORE

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Sistema operativo: Gestione della memoria

Informatica - A.A. 2010/11

Laboratorio di Informatica

INFORMATICA 1 L. Mezzalira

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Hazard sul controllo. Sommario

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Architettura dei calcolatori

ARCHITETTURA DELL ELABORATORE

Il processore - CPU (CENTRAL PROCESSING UNIT)

Architettura di un Elaboratore

CALCOLATORI ELETTRONICI 29 giugno 2010

Informatica Generale

PROGRAMMAZIONE MODULARE

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03

Il processore - CPU. PDF created with pdffactory trial version

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

I componenti di un Sistema di elaborazione. CPU (central process unit)

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270)

Richiami di informatica e programmazione

La memoria centrale (RAM)

LABORATORIO DI SISTEMI

Componenti di base di un computer

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti

RETI E SISTEMI INFORMATIVI

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

STRUTTURE DEI SISTEMI DI CALCOLO

Corso di Laurea in Ingegneria Informatica e Biomedica. Fondamenti di Informatica II A.A. ( )

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Lezione n.9. Introduzione al linguaggio macchina

Транскрипт:

CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Calendario delle lezioni e degli esami Periodi di lezione 1) 18/2 19/3 2) 26/3 5/4 3) 14/4 7/6 Prima prova in itinere 7/4 12/4 Seconda prova in itinere 9/6 14/6 Sessione d esame 2 appelli nel periodo 16/6 19/7 2 appelli nel periodo 25/8 13/9 1 appello a febbraio 2009 2

Esame (1) Prova scritta di valutazione di argomenti teorici Prova di programmazione Prove degli appelli d esame Prova scritta di teoria + prova di programmazione nel linguaggio MIPS2000. L esame viene superato se è stata conseguita una valutazione sufficiente in entrambe le prove. In caso di esito non sufficiente, anche in una sola prova, il candidato dovrà ripetere l intero esame. E prevista una prova orale facoltativa con due finalità differenti: 1. nel caso in cui la prova scritta di teoria e la prova di programmazione siano sufficienti, per permettere la modifica della valutazione globale risultante; 2. nel caso in cui una delle due prove suddette sia valutata insufficiente, ma almeno 15/30, per raggiungere una valutazione sufficiente. 3

Esame (2) Prove in itinere 1 a prova: argomenti trattati nel corso delle lezioni del periodo 1 e 2 2 a prova: argomenti trattati nel periodo 3 + prova di programmazione nel linguaggio MIPS2000, da sostenere nell apposita sessione riservata. L accesso a questa prova è vincolato dal superamento della prima prova in itinere. La valutazione globale è la media pesata delle tre prove sostenute, con il vincolo che tutte siano sufficienti. 4

Esame (3) Prove in itinere (2) In caso di esito non sufficiente nella seconda prova in itinere, il candidato può ripetere la prova suddetta nell ultimo appello della sessione di luglio. In caso di esito non sufficiente nella prima prova in itinere, il candidato dovrà sostenere l esame intero nelle rimanenti sessioni. La valutazione conseguita nelle prove in itinere cessa la sua validità al termine della sessione di luglio. 5

Materiale didattico (1) Testi consigliati: David A. Patterson, John L. Hennessy, Computer Organization & Design. The hardware/software interface (third edition) Morgan Kaufmann Publishers. David A. Patterson, John L. Hennessy, Struttura e progetto dei calcolatori. L interfaccia hardware-software seconda edizione Zanichelli condotta sulla terza edizione americana Zanichelli, 2006, Bologna. 6

Materiale didattico (2) Testi consultabili: David A. Patterson, John L. Hennessy, Computer Organization & Design. The hardware/software interface (second edition) Morgan Kaufmann Publishers. David A. Patterson, John L. Hennessy, Struttura, organizzazione e progetto dei calcolatori Jackson libri, 1999, Milano. Documentazione varia è reperibile ai siti: http://www.mkp.com http://www.unibg.it 7

Argomenti del corso 1. Architettura dei calcolatori 2. Architettura di una CPU 3. Linguaggio assemblativo 4. L aritmetica dei calcolatori 5. L ambiente di sviluppo dei progetti 8

Architettura di un computer Application Operating System Compiler Instr. Set Proc. Firmware I/O system Instruction Set Datapath & Control Digital Design Circuit Design Layout Diversi livelli di astrazione 9

Rappresentazione delle istruzioni Linguaggio ad alto livello (HLL) Compilatore Linguaggio Assembly Assemblatore Linguaggio Macchina temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Segnali di controllo Interpretazione macchina 10

Struttura del software (1) I linguaggi HLL permettono progettazione in linguaggio ~ a quello naturale una maggior concisione rispetto al linguaggio macchina indipendenza dal calcolatore Riutilizzo routine frequentemente impiegate librerie di subroutine Un programma separato che supervisiona l utilizzo della macchina da parte dei programmi utente sistema operativo Software di sistema= insieme di programmi che forniscono servizi (Sistema Operativo, compilatori, assemblatori) Software applicativo=programmi utente o mirati all utente (editors, spreadsheet) 11

Struttura del software (2) Sw applicativo SOFTWARE Software appl. Software sistema HW Word Compilatori Sist. Op. Assembl. Sw sistema Memoria File I/O virtuale System drivers 12

Architettura del Set di Istruzioni Un importante livello di astrazione interfaccia fra hardware e software di basso livello standardizza il formato delle istruzioni e i pattern di bit a livello di linguaggio macchina vantaggi: differenti implementazioni della stessa architettura svantaggi: talora impossibilità di avvalersi di innovazioni tecnologiche Architetture moderne di set di istruzioni Digital Alpha (v1, v3) 1992-97 HP PA-RISC (v1.1, v2.0) 1986-96 Sun Sparc (v8, v9) 1987-95 SGI MIPS (MIPS I, II, III, IV, V) 1986-96 Intel (8086,80286,80386, 1978-96 80486, Pentium, MMX,...) 13

Di cosa ci occuperemo Le istruzioni: il linguaggio dei calcolatori L aritmetica dei calcolatori Il processore: unità aritmetica ed unità di controllo Assemblatori, linker ed il simulatore SPIM Fondamenti sulla progettazione di reti logiche Realizzazione dell unità di controllo 14

Architettura della macchina di Von Neumann Unità di ingresso Memoria Unità di uscita Programmi e dati ALU Unità di controllo CPU Unità centrale Risultati 15

Unità Centrale A D D R E S S B U S MAR MAR ALU CPU Unità di controllo MBR Memoria ROM MBR Memoria RAM D A T A B U S C O N T R O L B U S 16

Microprocessori e Bus I microprocessori sono dispositivi elettronici che implementano in un unico circuito integrato le funzioni di una intera CPU. I microprocessori attuali hanno bus dati a 8, 16, 32, 64 bit. Il bus dati (data bus) esprime la capacità di elaborazione del processore (quanti bit possono essere elaborati in parallelo) Il bus indirizzi (address bus) esprime la capacità di memorizzazione del processore (2 m celle di memoria, se m è il numero dei bit del bus) La capacità di indirizzamento indica il numero di celle diverse cui si può accedere: 2 10 Byte = 1024 byte = 1 KByte 2 20 Byte = 1048576 byte = 1 Mbyte 2 30 Byte = 1073741824 byte = 1 GByte 17

Un Esempio Variazione nella precisione di misura di 1 Kg. in un sistema di pesatura basato su microprocessori con diversa dimensione del bus dati Numero di bit bus dati 4 8 16 Dati rappresentabili 2 4 =16 2 8 = 256 2 16 = 65536 Precisione relativa 6.25% ~3.9 ~0.015 Precisione max. 62.5 gr ~3.9 gr ~0.015 gr 18

Osservazioni I microprocessori a 8 bit di dato hanno tipicamente bus indirizzi a 16 bit con capacità di indirizzamento di 64 KB I microprocessori a 16 bit di dato hanno tipicamente bus indirizzi a 20-24 bit con capacità di indirizzamento di 1-16 MB I microprocessori a 64 bit di dato hanno bus indirizzi a 64 bit con capacità di indirizzamento fino a circa 10 19 byte I microprocessori Single Chip riuniscono in un unico circuito integrato più di uno dei blocchi costituenti un microcalcolatore (eventualmente tutti). 19

Architettura di una CPU BUS DATI ESTERNO BUS DATI INTERNO SP PC R e g 0. R e g N F L A G ACC ALU C O N T R. D E C O D. I N S T. R E BUS INDIRIZZI INTERNO BUS IND. ESTERNO G. 20

Ciclo di esecuzione di un istruzione FETCH (prelevamento dell istruzione) DECODIFICA ESECUZIONE La memoria (ROM e RAM) contiene il programma e i dati sui quali opera la CPU. Il Program Counter (PC) contiene l indirizzo della cella di memoria con la prossima istruzione da eseguire. FORMATO DELLE ISTRUZIONI Codice Operativo Operando 1 Operando 2 Campo che caratterizza le varie istruzioni Gli operandi possono essere 0, 1, 2 21

Sequenza di operazioni elementari per l esecuzione di ogni singola istruzione FETCH: vengono letti i campi che costituiscono l istruzione: 1) (PC) MAR 2) ((MAR)) MBR; (PC)+1 PC 3) (MBR) IR I passi 1, 2, 3 permettono di caricare in IR (instruction register) il codice operativo (OPCode) dell istruzione corrente. Passi analoghi permettono di caricare in opportuni registri della CPU gli operandi presenti nell istruzione. In tal caso, nel passo 3 la destinazione del dato proveniente dalla memoria non è più IR, ma opportuni registri. DECODE: viene identificata l istruzione corrente sulla base dell OPCode EXECUTE: è diversa a seconda del tipo di istruzione. In pratica consiste nell inviare comandi e dati alle unità interessate. MAR= Memory Address Register; MBR: Memory Buffer Register Notazione: (X) Y significa: Il contenuto del registro X viene trasferito nel registro Y 22

Formato delle istruzioni Le istruzioni sono codificate da stringhe di bit. Una volta caricata nell IR, un istruzione deve essere decodificata ed eseguita. A tal scopo l unità di controllo deve conoscere: codice operativo sorgente: dati su cui operare destinatario: dove porre il risultato e, se sorgente e destinazione sono in memoria, la modalità di indirizzamento Codice Operativo Sorgente Destinazione Mod. indirizzamento Esempio 1: Somma tra il contenuto del registro R2 e il contenuto dell accumulatore. Il risultato va nell accumulatore FORMATO FETCH ESECUZIONE codice operativo come in precedenza (R2)+(ACC) ACC 23

Esempio di esecuzione di istruzioni complete Esempio 2: somma tra il contenuto della cella di memoria il cui indirizzo è specificato nell istruzione ed il contenuto dell accumulatore; il risultato va nell accumulatore FORMATO: codice operativo+operando FETCH: 1) (PC) MAR 4) (PC) MAR 2) ((MAR)) MBR; (PC)+1 PC 5) ((MAR)) MBR; (PC)+1 PC 3) (MBR) IR 6) (MBR) Rn EXECUTE: 1) (Rn) MAR 3) (MBR) Rn 2) ((MAR)) MBR 4) (Rn)+(ACC) ACC 24

Esempio di esecuzione di istruzioni complete Esempio 3: saltare all istruzione che è memorizzata nella cella il cui indirizzo è specificato all interno dell istruzione corrente FORMATO: codice operativo+operando FETCH: 1) (PC) MAR 4) (PC) MAR 2) ((MAR)) MBR; (PC)+1 PC 5) ((MAR)) MBR; (PC)+1 PC 3) (MBR) IR 6) (MBR) Rn EXECUTE: 1) (Rn) PC 25