Il 0% ha trovato utile questo documento (0 voti)
82 visualizzazioni13 pagine

Calcolatori 01 Introduzione

Il documento introduce il corso di Calcolatori fornendo informazioni sul docente, gli orari, i prerequisiti, i libri di testo e il programma. Viene spiegata la struttura di base di un calcolatore elettronico secondo il modello di Von Neumann e vengono introdotti i concetti di linguaggio macchina e assembler.

Caricato da

uomoputrefatto
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
82 visualizzazioni13 pagine

Calcolatori 01 Introduzione

Il documento introduce il corso di Calcolatori fornendo informazioni sul docente, gli orari, i prerequisiti, i libri di testo e il programma. Viene spiegata la struttura di base di un calcolatore elettronico secondo il modello di Von Neumann e vengono introdotti i concetti di linguaggio macchina e assembler.

Caricato da

uomoputrefatto
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Università degli Studi di Messina

Dipartimento di Ingegneria Elettronica, Chimica e Ingegneria Industriale

Corso di Laurea
Ingegneria Elettronica e Informatica
Anno Accademico 2013/2014

Calcolatori

Introduzione al corso

Dario Bruneo

1
Logistica

Docente: Orario delle lezioni:

Dario Bruneo lunedì



09:00 - 11:30

Studio: venerdì
09:00 - 11:30

Dipartimento DICIEAMA - Blocco Dipartimenti 2 -


7° piano (scala C)
Aula
e-mail:
325
dbruneo@[Link]

tel:
Orario di Ricevimento:
090 397 7343
martedì dalle 15:00 alle 17:00
(nel mio studio)

Calcolatori a.a. 13/14 Dario Bruneo


2
Pre-requisiti

Sono richieste conoscenze di:

Sistemi numerici posizionali

Informatica di base

Programmazione procedurale

Un linguaggio di programmazione ad alto livello (ad es. il linguaggio C)

Precedenze consigliate:

Fondamenti di Informatica

Calcolatori a.a. 13/14 Dario Bruneo


3
Materiale didattico

Libri di testo:

Mano, Kime
“Reti Logiche”
Addison-Wesley
ISBN:88-7192-142-9

Patterson, Hennessy
“Struttura e progetto dei calcolatori. L'interfaccia hardware-software”
Zanichelli



ISBN: 8808091457

Libri per la consultazione:

Katz, Borriello
“Contemporary Logic Design”
Pearson Education
ISBN:0-13-127830-4

Bolchini, Brandolese, Salice, Sciuto


“Reti Logiche”

Apogeo
ISBN:88-503-2229-1

Tanenbaum
“Architettura dei calcolatori, un approccio strutturale”

Pearson Education Italia
ISBN:88-7192-271-9

Stallings
“Architettura ed organizzazione dei calcolatori”
Pearson Education Italia
ISBN:88-7192-201-8

Calcolatori a.a. 13/14 Dario Bruneo


4
Sito internet

[Link]
Slide presentate a lezione

Dispense aggiuntive

Esercizi

Compiti passati

Necessaria la registrazione !!!


Forum

Iscrizione esami

Risultati esami

Comunicazioni

...

Calcolatori a.a. 13/14 Dario Bruneo


5
Programma di massima del corso

Obiettivo:

L'obiettivo principale del corso è l’insegnamento delle conoscenze di base relative alle metodologie per l'analisi ed il progetto dei
circuiti logici e lo studio degli elementi fondamentali di architettura dei sistemi di calcolo.

Argomenti principali (possono subire lievi modifiche)

0000)
La rappresentazione delle informazioni 0101)
Il linguaggio assembler MIPS32

0001)
Algebra di boole e dei circuiti di commutazione 0110)
Il processore MIPS32

0010)
Circuiti logici combinatori 0111)
La memoria

0011)
Circuiti logici sequenziali 1110)
Il sistema I/O

0100)
Architettura dei calcolatori 0110)
I sistemi multicore

Modalità d’esame:

prova scritta + prova orale

Calcolatori a.a. 13/14 Dario Bruneo


6
Calcolatori elettronici

Sistema elettronico digitale programmabile in grado di elaborare informazioni

Struttura semplice

Macchina di Von Neumann (anni ’50)

Computer
Control

Input

Memory

Datapath

Output
Processor

Calcolatori a.a. 13/14 Dario Bruneo


7
Calcolatori elettronici (cont.)

Nonostante la semplicità della struttura di base di un calcolatore, i calcolatori moderni raggiungono un


grado di complessità molto elevato per le numerose tecnologie coinvolte nella loro progettazione

Applicazioni

Compilatori
Sistemi Operativi
Assemblatori

Memoria Processore Sistema di I/O

Reti Logiche (datapath e controllo)

Progettazione chip

Circuiti (elettronica digitale)

Microelettronica

Calcolatori a.a. 13/14 Dario Bruneo


8
Linguaggi e macchine virtuali

I calcolatori sono in grado di eseguire istruzioni in “linguaggio macchina”, un linguaggio poco espressivo ed
abbastanza difficile da comprendere:
10001101001010000000010010110000
linguaggio macchina del processore MIPS32 00000010010010000100000000
100000
10101101001010000000010010110000

Il linguaggio assembler rende la vita “un pò più semplice” ai programmatori

linguaggio assembler MIPS32 lw


$t0, 1200($t1)
add
$t0, $s2, $t0
sw
$t0, 1200($t1)

I linguaggi ad alto livello raggiungono un livello espressivo elevato

linguaggio C
A[300] = h + A[300];

Calcolatori a.a. 13/14 Dario Bruneo


9
Linguaggi e macchine virtuali (cont.)

Com’è possibile eseguire un programma scritto in un linguaggio L1 diverso dal linguaggio L0 “parlato” dal
calcolatore?

Esistono due metodi principali: traduzione e interpretazione

Il primo metodo si basa sulla sostituzione, in una fase iniziale, di ogni istruzione del programma in linguaggio L1 in un insieme di
istruzioni nel linguaggio L0

Il secondo metodo consiste nello scrivere un programma in linguaggio L0 (interprete) che preso in ingresso un programma in linguaggio
L1 lo esegue esaminando un’istruzione alla volta e sostituendola con il corrispondente insieme di istruzioni in L0

Si può estendere questo concetto considerando l’esistenza di un ipotetico calcolatore M1 (macchina


virtuale) il cui linguaggio macchina sia il linguaggio L1.

M0 sarà la macchina virtuale corrispondente al linguaggio L0

Se la macchina M1 potesse essere costruita in modo economico, non ci sarebbe bisogno del linguaggio L0 nè della macchina M0 capace
di eseguire programmi scritti in L0.

Calcolatori a.a. 13/14 Dario Bruneo


10
Linguaggi e macchine virtuali (cont.)

Per rendere efficienti la traduzione e/o Utilizzando tale approccio a livelli si possono
l’interpretazione i due linguaggi L0 e L1 non costruire macchine virtuali sempre più vicine al
devono essere troppo differenti linguaggio orientato agli utenti

Il linguaggio L1 potrebbe risultare ancora lontano


I programmi in Ln sono interpretati
dal linguaggio desiderato Macchina virtuale Mn, da un interprete eseguito da una
macchina inferiore oppure sono
con linguaggio macchina Ln tradotti nel linguaggio macchina di
una macchina inferiore

Si potrebbe allora inventare un nuovo linguaggio


L2 ed una nuova macchina virtuale M2
I programmi in L2 sono interpretati
Macchina virtuale M2, da un interprete eseguito da M1 o
con linguaggio macchina L2 direttamente da M0 oppure sono
I programmi scritti in L2 saranno eseguiti dalla macchina tradotti in L1 o in L0

M2 che li tradurrà o li interpreterà nel linguaggio L1 che a


sua volta verrà eseguito dalla macchina M1 fino ad Macchina virtuale M1, I programmi in L1 sono interpretati
da un interprete eseguito da M0
arrivare alla macchina M0 con linguaggio macchina L1 oppure sono tradotti in L0

Calcolatore reale M0, I programmi in L0 possono essere


eseguiti direttamente dai circuiti
con linguaggio macchina L0 digitali

Calcolatori a.a. 13/14 Dario Bruneo


11
Attuali calcolatori multilivello
Linguaggio: linguaggi ad alto livello C, Java, ecc.
Una macchina il cui linguaggio sia il C o Java
Livello del linguaggio orientato al tipo di problema
sarebbe realizzabile con la tecnologia moderna
sebbene economicamente non conveniente Linguaggio: assembler Traduzione (compilatore)

Livello del linguaggio assemblativo


Lo studio dei calcolatori elettronici moderni può
Linguaggio: chiamate di sistema Traduzione (assemblatore)
essere affrontato mediante un approccio a livelli
Livello del Sistema Operativo

Ogni livello fornisce servizi al livello superiore astraendo i


Linguaggio: linguaggio macchina Interpretazione parziale
dettagli dei livelli più bassi
Livello di architettura dell’insieme di istruzioni (ISA)
Concetti di architettura e organizzazione
Interpretazione (microprogramma)
Linguaggio: datapath, control unit
o esecuzione diretta (hardware)

Il confine tra hardware e software è molto sottile!


Livello di microarchitettura

Nonostante l’indipendenza tra i livelli, è Linguaggio: porte logiche, registri, ... progettazione hardware

necessaria la conoscenza globale del sistema per Livello logico digitale

aumentarne le prestazioni Linguaggio: elettronica, transistor, ... progettazione chip

Livello dei dispositivi


Calcolatori a.a. 13/14 Dario Bruneo
12
Organizzazione del corso

Nella prima parte del corso si inizierà con:

studio delle reti logiche (2 lezioni a settimana)


Livello del linguaggio orientato al tipo di problema

studio della programmazione assembler


(1 lezione a settimana)
Livello del linguaggio assemblativo

Nella seconda parte del corso i due


argomenti confluiranno: Livello del Sistema Operativo

Modulo B
Modulo A
studio dell’architettura del processore
(datapath, unità di controllo)
Livello di architettura dell’insieme di istruzioni (ISA)

Livello di microarchitettura
Esercitazioni verranno svolte
periodicamente durante il corso
Livello logico digitale

Calcolatori a.a. 13/14 Dario Bruneo


13

Potrebbero piacerti anche