Virtual CPU (Eniac): parte 1
|
|
- Diana Romeo
- 7 anni fa
- Visualizzazioni
Transcript
1 Architettura dei Calcolatori Prof. Enrico Nardelli Università degli Studi di Roma Tor Vergata Virtual CPU (Eniac): parte 1 1
2 Overview Vantaggi e svantaggi della programmazione a basso livello; Conoscere la struttura (lo schema circuitale) della Virtual CPU (Eniac) che adotteremo per programmare; Acquisire i concetti di base della programmazione utilizzando la Virtual CPU (Eniac); Acquisire il set di istruzioni disponibile; Comprendere il funzionamento di piccoli programmi esistenti; Imparare a programmare a basso livello usando un emulatore della Virtual CPU (Eniac). 2
3 Vantaggi e svantaggi della programmazione di basso livello 3
4 Programmazione a basso livello Svantaggi Assenza quasi totale della gestione dei tipi di dato nei compilatori: è infatti il programmatore che si deve far carico del cor rretto utilizzo dei tipi; Portabilità ridotta rispetto ai linguaggi più moderni; Difficoltà nel comprendere programmi già scritti; Difficoltà anche nello scrivere programmi. Non è più utilizzato dalla maggior parte delle aziende che sviluppano software. 4
5 Programmazione a basso livello Vantaggi Si percepisce effettivam mente cosa fa un calcolatore quando esegue un pro ogramma Si ha la giusta percezio one di cosa può e cosa non può fare un calcolatore Si possono ottimizzare particolari routine di un applicativo, specialmente se scritto in C o in C++; Fornisce la possibilità di ricostruire il codice sorgente a monte di un eseguibile preesistente (Reverse Engineering). 5
6 Conoscere la struttura (lo schema circuitale) della CPU virtuale Eniac che adotteremo per programmare 6
7 Un po' di terminologia Assembly: (definizionee tratta dal sito di Wikipedia) è il linguaggio di programmazione più vicino al linguaggio macchina vero e proprio. Infatti, esiste una corrispondenza pressoché biunivoca tra gli mnemonici del linguaggio assembly ed i corrispondenti codici macchina corrispondenti ai bitfields (campi di bit) che compongono le istruzioni direttamente eseguibili dal dispositivo elettronico (in genere una CPU) che si sta programmando. 7
8 Un po' di terminologia Assembler: (definizione tratta dal sito di Wikipedia) è un programma compilatore che si occupa di tradurre in linguaggio macchina (ossia una serie di bit 0 e 1 che costituiscono l'unico modo per comunicare con dispositivi elettronici), una serie di comandi scritti in linguaggio Assembly. Oltre a questo compito base, un Assembler si occupa spesso di ausiliare il programmatore, ad esempio consentendo l'utilizzo nel codice sorgente del programma di nomi mnemonici al posto di indirizzi esadecimali che costituiscono l'esatta collocazione di una variabile o di una porzione di programma nella memoria centrale del computer. 8
9 Conoscere gli strumenti Durante queste lezioni prenderemo in considerazione una CPU virtuale progettata e realizzata, mediante la costruzione di un suo emulatore, dal Dott. Mauro Codella e Dott. Dario Dussoni nell ambito del lle loro tesi di laurea triennali col Prof. Enrico Nardelli; Attualmente il software è reperibile alla seguente URL : 9
10 Un po' di terminologia Emulatore: è un software che ricrea l'hardware di un sistema, solitamente differente da quello di cui si dispone, permettendo di far eseguire programmi di vario genere come se fossero eseguiti nell'hardware emulato. Simulatore: è un software che imita l'hardware di un sistema. La differenza tra i due concetti risiede nel fatto che mentre il primo ha come obiettivo primario il funzionamento del software, per il secondo tale obiettivo è secondario: l'attenzione è infatti principalmente rivolta alla rappresentazione degli aspetti architetturali e funzionali dell'hardware emulato. 10
11 Conoscere gli strumenti E.N.I.A.C., è l'acronimoo di Electronic Numerical Integrator And Computer, il primo computer elettronico della storia (1946). Nel 2006 si è celebrato il 60 anniversario, non solo di ENIAC ma della storia della intera programmazione; Poiché tale emulatoree è stato realizzato proprio nel 2006 gli è stato dato questo nome come tributo. 11
12 Conoscere gli strumenti Lo scopo dell emulatore è quello di rendere possibile sia l esecuzione di programmi, che di rendere comprensibilee tutto ciò che accade all interno di un calcolatore. Esso mette a disposizione un interfaccia grafica semplice e funzionale, che permetta di gestire agevolmente tutte quelle risorse coinvolte nell esecuzione di un programma,quali memoria, porte, registri, flags, ma non solo: la GUI di ENIAC è stata pensata mirandola, in modo particolare, a scopo didattico 12
13 Conoscere gli strumenti Dispone di un editor di testo sensibile alla sintassi dell assembly, per gestire tutte le celle di memoria, le porte, i registri, i flags. E inoltre contemplato un campo per visualizzare eventuali errori. 13
14 Il perché della scelta Perché utilizzare un emulatore e non un assembler? L'emulatore permette di analizzare le componenti salienti della CPU in modalità real-timeistruzioni sono infatti visibili immediatamente le modifiche durante l'esecuzione delle ai registri e ai flag; Possiamo eseguire il nostroo codice su un qualunque calcolatore in grado di eseguire l'emulatore; Non vi è la necessità di ricompilare il programma ad ogni minima modifica al codice; I vantaggi offerti dall assembler (velocità ed ottimizzazione del codice) non sono pertinenti allo scopo di queste lezioni. 14
15 Acquisire i concetti di base della programmazione assembly 15
16 I numeri in notazione decimale, binaria e esadecimale DEC BIN HEX A B C D E F 16
17 Rappresentazione in base 2 di un numero in base 10 Ricordiamo l algoritmo per convertire la rappresentazione di un numero in base 10 nella rappresentazione in base 2: 1. Indichiamo con x la variabile che rappresenta il numero da convertire 2. Dividiamo il valore in x per 2; 3. Memorizziamo il resto della divisione in una pila P; 4. Se il risultato della divisione è uguale a 0 allora saltiamo al passo 7, altrimenti procediamo con il passo successivo; 5. Salviamo il risultato della divisione in x; 6. Ritorniamo al passo 2; 7. FINE: nella pila troviamo il numero convertito in binario, con la cifra più significativa (MSB) sulla cima. 17
18 Rappresentazione in base 16 di un numero in base 10 Ricordiamo l algoritmo per convertire la rappresentazione di un numero in base 10 nella rappresentazionee in base 16: 1. Indichiamo con x la variabile che rappresenta il numero da convertire 2. Dividiamo il valore in x per 16; 3. Memorizziamo il resto della divisione in una pila P; 4. Se il risultato della divisione è uguale a 0 allora saltiamo al passo 7, altrimenti procediamo con il passo successivo; 5. Salviamo il risultato della divisione in x; 6. Ritorniamo al passo 2; 7. FINE: nella pila troviamo il numero convertito in esadecimale, con la cifra più significativa sulla cima. 18
19 Rappresentazione in base 16 di un numero in base 10 19
20 Conversioni dalla base 2 o 16 alla base 10 Da base 2 a base 10: Da base 16 a base 10: 20
21 La rappresentazione in base 16 è una rappresentazionee binaria compatta Questo è il motivo chiave che ha spinto ad adottare la rappresentazione in base 16: permette infatti di rappresentare in forma compatta e facilmente leggibile i numeri binari di grande dimensione; Convertire un numero binario in un'operazione banale. Infatti: uno esadecimale e viceversa è 21
22 Convenzioni Per indicare un numero in base 10, ad esempio x, si utilizzerà (x) 10, o più semplicemente x; Per indicare un numero in base 16, si utilizzerà la sintassi (x) 16, o più semplicemente xh; Per indicare un numero in base 2, si utilizzerà la sintassi (x) 2, o più semplicemente xb; Sia x un carattere: di seguito si intenderà con 'x' il codice numerico associato alla codifica di x. 22
23 Concludendo: perché tre basi diverse? Le ragioni che hanno spinto i programmatori a basso livello ad adottare tre basi diversee per indicare un numero sono le seguenti: La base 10 permette di rappresentare i numeri nella forma che meglio conosciamo: sin dagli albori dell'umanità l'uomo ha contato utilizzando le dieci dita; La base 2 permette di rappresentare i numeri nella forma canonica dei calcolatori in cui il segnale di base è l assenza o la presenza di una tensione o corrente (o un livello alto/basso); Spesso, le cifre binarie che si vogliono rappresentare sono molto lunghe: l'utilizzo della base 16 permette di rendere quattro volte più compatta la loro rappresentazione. 23
24 Ecco come l emulatore ci assiste in task di conversione di base Disponiamo di un Sottomenu Address Format. Permette di cambiare le modalità di visualizzazione dei dati 24
25 Come è fatto il nostro calcolatore 25
26 Un po' di terminologia 26
27 Formato delle istruzioni di Virtual CPU A 24 bit e con struttura fissa 8 bit dedicati al codice operativo (b 23 b 16 ). 3 bit per il tipo dell argomento (b 15 b 13 ). 13 per l argomento (b 12 b 0 0). 27
28 Visione d insieme MBR, MAR, PBR, PAR, sono registri che rappresentano i punti di contatto tra Virtual CPU e le risorse esterne. MBR, MAR : memorizzano il dato in transito da o verso la memoria (MBR) e contengono l indirizzo della cella in questione (MAR); PBR, PAR : memorizzano il dato in transito da o verso le porte (PBR) e contengono il numero di porta allaa quale ci si riferisce (PAR); Control Unit : decodifica l istruzione ed esegue l operazione associata ad essa. ALU (Arithmetic and Logic Unit) : permette di effettuare operazioni logiche e matematiche. Può effettuare 10 operazioni differenti Le componenti comunicanoo mediante connessioni dirette e NON mediante bus. 28
29 Visione d insieme AX, l accumulatore; BX, CX, DX, registri general purpose; PSW (Processor Status Word) : il registro dei flags; PC (il Program Counter) : contiene l indirizzo della cella contenente l istruzione successiva da eseguire (non utilizzabile direttamente dal programmatore ). IR ( il Registro delle Istruzioni) : contiene l istruzione appena prelevata dalla memoria (non utilizzabile direttamente dal programmatore). Ognuno di questi registri ha la dimensione del formato delle istruzioni (24 bit). 29
30 Struttura della Virtual CPU (vcpu) OpCode 30
31 Flags I flag, cioè i bit del registro PSW, sono essenziali per prendere decisioni in merito all esito delle istruzioni eseguite precedentemente, per poter cambiare il flusso del programma. Il valore dei flag dopo una computazione rappresentano una parte dello stato finale in cui è arrivata la ALU. I flag si distinguono in semplici e complessi. I flag semplici sono così chiamati in quanto il meccanismo che ne calcola il valore prescinde dal tipo di operazione effettuata. I flag complessi, invece, vengono calcolati con meccanismi che oltre al risultato si basano anche sull operazione effettuata. 31
32 Memoria Le celle di memoria hanno una dimensione pari a quella del formato di istruzioni adottato (24 bit). Le celle sono associate univocamente a dei valori numerici contigui, crescenti a partire da zero, chiamati indirizzi. 12 La memoria contiene 2 celle, poiché abbiamo adottato la codifica del complemento a 2 per rappresentare gli interi e nel formato delle istruzioni abbiamo assegnato 13 bit all argomento per contenere l indirizzo. 32
33 Tipologia di argomenti L argomento di una istruzione può essere di vari tipi: ad esempio: Indirizzo della cella di memoria contenente l operando necessario all istruzione; L operando, direttamente fruibile dall istruzione. Il codice del registro contenente l operando. Altro ancora Il tipo viene determinato dal valore dei bit b 15 b 13 Alcune istruzioni gestiscono argomenti di diversi tipi, mentre altre ancora usano sempre la stesso. Questa differenza divide le istruzioni in due classi: Istruzioni che usano argomenti di diverso tipo. Istruzioni che usano un argomento sempre dello stesso tipo. 33
34 Classi di istruzioni La differenza tra le due categorie viene formalizzata per mezzo della specifica di due classi di istruzioni: la classe α e la classe β. Le due classi si distinguono per mezzo dell MSB dell istruzione: il bit b 23. Nella classe β i bit b 15 b 13 sono sempre assegnati a zero in quanto inutilizzati. La tipologia dell argomento è insita nel codice operativo. 34
35 Nella prossima lezione Architettura interna della ALU 35
Virtual CPU Eniac parte 1
Virtual CPU Eniac parte 1 Università degli Studi di Roma Tor Vergata Dr.ssa Veronica Marchetti Overview Capire perché è utile imparare a programmare a basso livello; Conoscere la struttura (lo schema circuitale)
AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
Sistemi di numerazione
SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica
Componenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
La codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
Il Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
Linguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
PROGRAMMA SVOLTO Materia: Informatica Docentte:: PERAZZOLO GIANTONIO
ISTITUTO D ISTRUZIONE SUPERIORE "G. VERONESE - G. MARCONI" SEDE CENTRALE G. VERONESE Via P. Togliatti, 833-30015 CHIOGGIA (VE) Tel. 041/5542997-5543371 - Fax 041/5548665 e-mail: veis00200g@pec.istruzione.it
Struttura hw del computer
Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l esecuzione dei programmi 1 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti:
Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
Linguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
Decimale, binaria,esadecimale
Decimale, binaria,esadecimale Introduzione Tutti i sistemi di numerazione sono posizionali nel senso che le cifre assumono un determinato valore a seconda della posizione occupata all interno del numero
Seconda lezione. Rivediamo un po di definizioni principali Proseguiremo con nuovi codici
Seconda lezione Rivediamo un po di definizioni principali Proseguiremo con nuovi codici 1 Libri di testo Struttura, Organizzazione e progetto dei calcolatori, Patterson e Hennessy, (Jackson Libri) consigliato
Il calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
Architettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori
Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Codifica dell informazione Il calcolatore memorizza ed elabora
; programma MOV AX, DATO_1. ; somma al contenuto dell' accumulatore il contenuto del registro B
Linguaggi di programmazione Il linguaggio base di un elaboratore è il linguaggio macchina. Linguaggio macchina: insieme di istruzioni espresse nel formato numerico (binario) di un particolare processore.
Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale
Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer
Architetture degli Elaboratori I I Compito di Esonero (A) - 14/11/1996
1 Architetture degli Elaboratori I I Compito di Esonero (A) - 14/11/1996 Riportare le soluzioni su questi fogli utilizzando eventualmente il retro come brutta. Non è ammessa la consultazione di nessun
Sistemi di numerazione
Sistemi di numerazione Introduzione Un sistema di numerazione è un sistema utilizzato per esprimere i numeri e possibilmente alcune operazioni che si possono effettuare su di essi. Storicamente i sistemi
Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.
Trasferimento Ambiente esterno Controllo Informatica Mario Pavone - Dept. Mathematics & Computer Science - University of Catania mpavone@dmi.unict.it Cos è l Informatica La scienza della rappresentazione
modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base
Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero
(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B
Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3
Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale
Lezione 6 Notazione posizionale Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente
Programmazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)
Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi
Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi
Codifica dei Numeri Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi giacomo.boracchi@polimi.it Rappresentazione dei Numeri Codifica dei Numeri in Base 10 Le cifre che abbiamo a disposizione sono
La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2
La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri
LINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Tipi di dati Informatica Facoltà di Medicina Veterinaria La Rappresentazione e la Codifica delle
Lezioni di Informarica. Prof. Giovanni Occhipinti
Lezioni di Informarica Prof. Giovanni Occhipinti 23 settembre 2010 2 Indice 1 La codifica delle Informazioni 5 1.1 Il sistema binario........................... 5 1.1.1 Conversione da binario a decimale.............
LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin)
LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE (Prof. Daniele Baldissin) L'uomo usa normalmente il sistema di numerazione decimale, probabilmente perché ha dieci dita. Il sistema decimale è collegato direttamente
Elementi di Architettura
Elementi di Architettura Fondamenti di Informatica Roberto BASILI Marzo, 2007 Classi di Istruzioni Istruzioni di assegnamento/modifica Istruzioni di controllo delle sequenze Istruzioni di I/O Classi di
Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
Il linguaggio assembly
Il linguaggio assembly Introduzione al linguaggio macchina Indice Che cos è l assembly Elementi del linguaggio Memoria di programma Registri interni e di I/O Registri particolari Rappresentazione dell
Informatica di Base 1 Linea 1
Informatica di Base 1 Linea 1 Jianyi Lin Dipp. di Matematica e Scienze dell Informazione Università degli Studi di Milano, Italia jianyi.lin@unimi.it a.a. 2011/12 1 c 2011 J.Lin, M. Monga. Creative Commons
Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario I sistemi di numerazione Il sistema binario Altri sistemi di numerazione Algoritmi di conversione Esercizi 07/03/2012 2 Sistemi
Programmazione modulare
Programmazione modulare 2016 2017 Indirizzo: 1 BIENNIO Informatica e Telecomunicazioni Disciplina: SCIENZE E TECNOLOGIE APPLICATE Classi: 2 C - 2 D - 2 F Ore settimanali: 3 ore Prerequisiti per l'accesso
RELAZIONE di INFORMATICA
RELAZIONE di INFORMATICA Codice ascii La sigla "ASCII" sta per: "American Standard Code for Information Interchange", cioe' "Standard americano per lo scambio di informazioni". Un codice ASCII e' la rappresentazione
Codifica di informazioni numeriche
Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Codifica di informazioni numeriche Fondamenti di Informatica - Ingegneria Elettronica Leonardo Querzoni querzoni@dis.uniroma1.it
Rapida Nota sulla Rappresentazione dei Caratteri
TECNOLOGIA DIGITALE TECNOLOGIA DIGITALE (segue) CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati tramite sequenze di bit 8 bit
I sistemi di numerazione e la numerazione binaria
Ci sono solamente 10 tipi di persone nel mondo: chi comprende il sistema binario e chi no. Anonimo I sistemi di numerazione e la numerazione binaria 1 Sistema additivo e sistema posizionale Contare per
Somma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
Algebra di Boole e porte logiche
Algebra di Boole e porte logiche Dott.ssa Isabella D'Alba Corso PENTEST MIND PROJECT 2016 Algebra di Boole e porte logiche (I parte) Algebra di Boole I Sistemi di Numerazione (Posizionali, Non posizionali)
Architettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003
Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program
Capitolo 5 Elementi architetturali di base
Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo
ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n PONTEDERA (PI) DIPARTIMENTO: Informatica
PROGRAMMAZIONE COORDINATA TEMPORALMENTE pag. 1 PROGRAMMAZIONE COORDINATA TEMPORALMENTE A.S. 2016/2017 Monte ore annuo 99 E-book dal sito www.matematicamente.it. Pettarin ECDL Modulo 1- Computer Essential
Linguaggi, compilatori e interpreti
Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011
Rappresentazione dell Informazione
5 Giorgio Porcu - Aggiornamennto 5 Giorgio Porcu - Aggiornamennto ISTITUTO TECNICO SECONDO BIENNIO Rappresentazione dell Informazione GIORGIO PORCU www.thegiorgio.it Sommario Sistemi posizionali Sistema
Il Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
Corso di Architettura (Prof. Scarano) 09/04/2002
Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno
Codifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
Architettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control
Lezione 15. L elaboratore Elettronico
Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente
Architettura degli elaboratori - 2 -
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori La rappresentazione dell informazione nei calcolatori Marco Tarini Dipartimento di Scienze
DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di
Lecture 2: Prime Istruzioni
[http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 2: Prime Istruzioni
MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie
MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it
Rappresentazione e Codifica dell Informazione
Rappresentazione e Codifica dell Informazione Capitolo 1 Chianese, Moscato, Picariello, Alla scoperta dei fondamenti dell informatica un viaggio nel mondo dei BIT, Liguori editore. Sistema di numerazione
A B C D E F
Il sistema di numerazione binario Il sistema di numerazione binario è di tipo posizionale (le cifre valgono secondo la posizione occupata) e a base 2 (le cifre usate sono due: lo zero, 0, e l uno, 1).
Linguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
INFORMATICA GENERALE
INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Silvano Antonelli -Ricevimento : durante il corso: Martedì ore 15.30 presso Dipartimento di Informatica, Largo Pontecorvo 2 Stanza 394 negli altri periodi:
Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1
Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di
Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.
< < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte
Rappresentazione dei dati in memoria
Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare
LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1
LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1 La rappresentazione dei numeri con la virgola 1 Conversione da decimale in altre basi di numeri con virgola 2 La moltiplicazione in binario 9 Divisione
Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)
Cognome e Nome: Matr.: Architettura degli Elaboratori Inf A 14 febbraio 2013 Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti)
Lezione4: MIPS e Istruzioni (1 Parte)
Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi mnappi@unisa.it http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA
Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:
Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema
Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
Corso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Codifica dell'informazione: Numeri Binari (lucidi originali della Prof.ssa Zacchi e del Prof. Balossino, rivisti dal Prof. Baldoni) 1 Codifica dell'informazione?
Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3 - indirizzo MERCURIO A.S. 2009/2010 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
FONDAMENTI DI INFORMATICA Lezione n. 11
FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di
PROGRAMMAZIONE COORDINATA TEMPORALMENTE A.S. 2015/ CLASSI: 1AE 1AM 1BI 1BM 1CM
1AE 1AM 1BI PROGRAMMAZIONE COORDINATA TEMPORALMENTE A.S. 2015/2016 - CLASSI: 1AE 1AM 1BI DISCIPLINA: SETTEMBRE OTTOBRE Monte ore annuo Libro di Testo 99 ore di cui 66 di laboratorio E-book dal sito www.matematicamente.it.
3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
Il processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
APPUNTI DI INFORMATICA
APPUNTI DI INFORMATICA Per il biennio di liceo scientifico scienze applicate Sommario Il calcolo binario... 2 Numerazione Decimale... 2 Numerazione Binaria... 2 Conversione Binario -> Decimale... 2 Conversione
I.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
Programmazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
PROGRAMMAZIONE COORDINATA TEMPORALMENTE CLASSI: 1AIT-1BIT-1CIT-1AE-1BE-1CE/EM-1AME-1BME TECNOLOGIE INFORMATICHE. 3 ore settimanali (1 + 2 lab)
PROGRAMMAZIONE COORDINATA TEMPORALMENTE pag. 1 PROGRAMMAZIONE COORDINATA TEMPORALMENTE CLASSI: 1AIT-1BIT-1CIT-1AE-1BE-1CE/EM-1AME-1BME Monte ore annuo 99 E-book dal sito www.matematicamente.it. Pettarin
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche
Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2
Lez. 4 L hardware 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli pasquale.demichele@unina.it
Linguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
Architettura di un processore basato su registri generali.
Architettura di un processore basato su registri generali. M. Esposito (mesposit@unina.it) 26 febbraio 2007 In Fig. 1 è riportato uno schema di principio che raffigura l architettura di un processore basato
Esercizi per il recupero del debito formativo:
ANNO SCOLASTICO 2005/2006 CLASSE 4 ISC Esercizi per il recupero del debito formativo: Facendo esclusivamente uso delle istruzioni del linguaggio macchina mnemonico del microprocessore INTEL 8086 viste
Architettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
PROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
Aritmetica dei Calcolatori Elettronici
Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo
Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
Orario del corso. Contenuti del corso. Modalità d esame. Analisi Numerica 1 a.a. 2011/2012
Analisi Numerica 1 a.a. 2011/2012 Dott.ssa Silvia Bonettini Orario del corso Lunedì 10:30-13:30 Aula2 Mercoledì 14:00-16:00 Aula2/Laboratorio Ricevimento: mercoledì 10:30-12:30 E-mail docente: silvia.bonettini@unife.it