Che materia stai cercando?

Lezioni di Fondamenti di Informatica 1 Appunti scolastici Premium

Appunti completi delle lezioni di Fondamenti di Informatica 1 tenuto dal prof. Giovanni Danese all'Università di Pavia basati su appunti personali del publisher presi alle lezioni del prof. dell’università degli Studi di Pavia - Unipv. Scarica il file in formato PDF!

Esame di Fondamenti di informatica 1 docente Prof. G. Danese

Anteprima

ESTRATTO DOCUMENTO

SINGLE CHIP: unità che contiene CPU, RAM, ROM,BUS(tutti). È un’unità centrale in un solo chip. Il problema

del single chip è che non sono espandibili essendo fatti da microscopici collegamenti in silicio e sigillati. Un

vantaggio è che sono economici dal punto di vista energetico e dello spazio occupato. Avendo pochi e piccoli

bus consumano meno energia poiché l’utilizzo di bus più grandi e numerosi comporta in una macchina reale

un certo assorbimento di energia da parte dei dispositivi. Avendone solo di interni però un single chip non può

essere affiancato da altre memorie per un’espansione.

DSP (Digital Signal Processor): è un elaboratore di segnali digitali, è un processore che manipola e comprime i

segnali digitali generalmente ottenuti da un ADC e li invia in memoria.

ADC (Analogic Digital Converter: converte un segnale analogico variabile in un segnale digitale. Esso converte

la tensione in livelli (precisione approssimata)ad ogni livello associa un segnale digitale, quindi avrà una

gamma come limite e un limite alla precisione. Poiché il valore fornito dal trasduttore può cambiare

velocemente nel tempo non permettendo al convertitore di operare correttamente si introduce il SAMPLE

AND HOLD, un dispositivo in grado di “trattenere a intervalli le tensioni in arrivo per l’ ADC 4

TRASDUTTORE: converte una grandezza fisica in un segnale analogico.

ALU (Arithmetic Logic Unit): è l’unità che svolge le operazioni aritmetiche e logiche, deve sapere il tipo di

operazione e avere gli operandi.

ACCUMULATORE: un dispositivo a cellette nelle quali passa corrente per mantenere temporaneamente gli zeri

e gli uni utili alle operazioni. È a doppia direzione, cioè può ricevere dati dalla memoria per l’ALU o dati

dall’ALU per la memoria. Ha un numero finito di celle, quindi l’ALU potrà operare direttamente su numeri con

un massimo numero di cifre definito. Attualmente un accumulatore ha in genere 32\64 caselle (anche se i

processori attuali hanno più di una ALU). Ad ogni modo se vengono ordinate operazioni tra numeri più lunghi,

gli operandi vengono spezzati e l’operazione viene fatta a parti.

FLAGS : dispositivo associato all’ALU, contiene diversi indicatori finalizzato soprattutto alla segnalazione di

particolari eventi legati alle operazioni dell’ALU.

Esempio riporto: se un ACC ha 4 celle e la somma di due numeri da 4 cifre dà un riporto, questo non viene

visualizzato perché l’ACC è troppo piccolo e si rischia un risultato sbagliato. In questo caso nel FLAG si attiva il

segnale di riporto, di cui si terrà conto sia che il risultato venga salvato in memoria perché definitivo, sia che

fosse un risultato parziale. La CPU sommerà quindi il riporto alla somma delle cifre rimanenti del numero.

(altri: riporto , prestito, overflow).

CONTROLLORE: decide chi deve ricevere un’informazione e ,dopo il tempo necessario perché l’informazione

sia ricevuta, decide chi deve operare. Lo “sa” perché ha ricevuto il codice operativo dopo che è stata raccolta

dall’IR e decodificata dal DECODIFICATORE.

IR (Istruction Register): riceve il codice operativo, l’istruzione da eseguire dal programma. ha una funzione di

contenimento e conservazione temporanea del codice perché non vada perduto con il segnale( è comunque

un registro).

DECODIFICATORE: legge i bit del codice operativo e capta quale istruzione vada eseguita, il tipo di istruzione,

gli operandi, ecc….

REGISTRI: la memoria RAM è molto grande ma è esterna e richiede un certo tempo per essere consultata,

perciò ci sono dei registri all’interno della CPU dove ,tra pochi dispositivi posizionati vicini le consultazioni

risultano più rapide. Questi dispositivi sono i registri, piccole memorie che “vanno alla stessa velocità” della

CPU. I registri possono essere generici, e allora sono semplici circuiti che mantengono temporaneamente

diversi tipi di informazioni in zeri e uni derivate dalla memoria o dalla CPU (conservano l’informazione dalla

dispersione del segnale), oppure possono essere specializzati, cioè registri con specifiche funzioni.

PC (Program Counter): è il registro che contiene sempre in cima l’indirizzo che porta alla successiva istruzione

del programma eseguente. Tiene segno del punto in cui la CPU si trova nel programma.

STACK POINTER: è un registro di una sola cella associato allo STACK PILA, è un dispositivo di memoria che

punta sempre all’indirizzo dove si trova la cima della pila, cioè contiene sempre l’indirizzo della cima della pila.

STACK PILA: una pila in RAM composta da una serie di cellette in colonna. Segue l’andamento di un

programma ogni volta che esso passa ad un sottoprogramma o un sottoprogramma passa ad un ulteriore

sottoprogramma. Esso salva nella sua prima cella l’indirizzo a cui l’esecuzione del MAIN PROGRAM o del sotto

programma di partenza si è interrotto. Segue il principio del LIFO (Last In First Out) il che è molto utile per

tornare al main program e concludere l’esecuzione. Lo stack pointer contiene sempre l’indirizzo utile al

momento perché viene aggiornato. Alla stack pila viene riservata un certo numero di celle contigue che va

ben ragionato perché non sia ne troppo piccolo, ne uno spreco.

Quando un indirizzo viene salvato, occupa la base dello stack e esso è puntato sull’indirizzo della cella

corrispondente (contiene quell’indirizzo). A seconda che vengano aggiunti o tolti (per un return) indirizzi alla

5

pila si sposta avanti o indietro(o sale e scende a seconda di come si vuole vederla) e lo stack pointer indicherà

ogni volta il nuovo indirizzo ( cioè la nuova cella di memoria) in cui è la cima della pila.

N.B. nel caso in cui altri dati arrivino al PC durante l’esecuzione di un’operazione, che possono essere perduti,

esiste un PC HOLD, cioè un piccolo PC di riserva, ma non potendo prevedere dati imprevisti, vengono salvati in

memoria per non sprecare spazio nella CPU.

CICLO MACCHINA

Una volta caricato un programma in memoria, dove le istruzioni vengono salvate, la CPU lo esegue, copiando

di volta in volta le istruzioni nell’istruction register, prelevandole dalla memoria nell’ordine con cui sono state

salvate ( a meno di un comando Jump), le istruzioni vengono poi decodificate ed eseguite. L’esecuzione di un

programma, caricato in memoria, prevede da parte dell’unità di controllo la ripetizione di un algoritmo detto

ciclo della macchina, che consiste in tre fasi:

1. FETCH (riempimento)

2. DECODE (decodifica)

3. EXECUTE (esecuzione)

FASE DI FETCH:

il program counter contiene l’indirizzo dove viene salvata la 1° istruzione, quindi l’unità di controllo richiede il

contenuto dell’indirizzo presente nel program counter e….

1° istruzione:

1. L’indirizzo contenuto nel PC va al MAR: (PC)→MAR

2. Il “contenuto” del “contenuto” del MAR, cioè il contenuto dell’indirizzo presente nel MAR (l’istruzione) va al

MBR: ((MAR))→MBR

3. Il contenuto del MBR, cioè l’istruzione va all’IR: (MBR)→IR 6

2° fase di decodifica:

una volta che il registro di istruzioni ha ricevuto l’istruzione il decodificatore ne legge i bit che è diversa in

CAMPO OPERANDI e CODICE OPERATIVO ( che definisce il tipo di operazione), a seconda del quale scomporrà

il CAMPO OPERANDI nei due operandi.

3° fase di esecuzione:

una volta che l’istruzione è stata decodificata, il controllore attiva i circuiti idonei a svolgere l’operazione e

fornisce gli operandi perché la svolgano.

AUTOINCREMENTO:

ogni volta che un’istruzione è stata copiata, il PC va aggiornato perché nell’IR non arrivi sempre la stessa

istruzione contenuta nella stessa cella di memoria.

Procedimento :

1. (PC)→MAR nuova istruzione:

2. ((MAR))→MBR→(PC)+1 * 1. (PC)→MAR

3. (MBR)→IR 2. ((MAR))→MBR

3. (MBR)→IR

*Il contenuto del program counter ( ovvero l’indirizzo) viene incrementato di uno ( anche se essendo di due

byte le istruzioni occupano due celle, è più corretto scrivere PC+2).

L’autoincremento avviene in contemporanea al 2° passo del FETCH dell’istruzione precedente per ragioni di

tempo: −8

1. (PC)→MAR ordine di tempo: s

10

−7

2. ((MAR))→MBR ordine di tempo: s ← ( è 10 volte più lento degli altri per

10

3. −8

(MBR)→IR ordine di tempo: s via del ritardo della memoria)

10 −8

Il tempo di incremento invece: (PC)+1 ordine di tempo: s, un tempo paragonabile ai passi 1 e 3.

10

Quindi se l’autoincremento avvenisse durante uno degli altri passi potrebbero verificarsi dei problemi. Se

fosse contemporaneo al passo 1 troverebbe ancora il pc impegnato ad essere consultato per trovare

l’istruzione in ram ed un autoincremento potrebbe modificare il primo indirizzo trasmesso. Se fosse

contemporaneo al punto 3 rimarrebbe il problema che i due processi han tempi paragonabili quindi c’è la

probabilità che( se la codifica e l’esecuzione sono sufficientemente rapide) il nuovo fetch cominci con un PC

non ancora del tutto aggiornato. Se è contemporaneo al punto 2, notoriamente più lento, c’è la garanzia che la

procedura di autoincremento abbia successo.

1. (PC)→MAR

2. ((MAR))→MBR→(PC)+1 T

3. (MBR)→IR E

4. DECODIFICA M

5. ESECUZIONE P

6. (PC)→MAR O

7. ((MAR))→MBR→(PC)+1

8. ……. cod. Op Op1 Op2

B 2 58

ISTRUZIONE DI JUMP:

è un caso di istruzione particolare: esempio 7

B dice di saltare all’istruzione contenuta all’indirizzo 58 se (reg2)=(reg0)

(le parentesi indicano ciò che è contenuto). La fase di esecuzione comincia quindi con il confronto dei contenuti dei

registri 2 e 0. Se le configurazioni di bit in essi contenute son diverse ( cioè (reg2)≠(reg0) ) allora l’esecuzione

termina e si procede semplicemente con un autoincremento regolare (PC)+1. Se in vece (reg2)=(reg0) nel PC viene

messo l’indirizzo 58 durante la fase di esecuzione, che poi termina. La prossima operazione di FETCH incomincerà

quindi con (PC)=58. Se l’istruzione fosse stata del tipo B 0 58 cioè un confronto tra il (reg0) con se stesso, il salto

sarebbe avvenuto senza condizioni.

LINGUAGGIO MACCHINA:

una CPU deve saper decodificare un limitato numero di istruzioni fondamentali per cimentarsi in tutte le operazioni

che un computer è in grado di fare. Queste istruzioni si possono scrivere in un linguaggio detto ASSEMBLY

LANGUAGE (una rappresentazione simbolica di codici mnemonici) che vengono tradotte da un programma

chiamato ASSEMBLATORE in codice binario comprensibile alla CPU. Le istruzioni essenziali decodificabili dalla CPU

si possono dividere in 3 gruppi:

1. TRASFERIMENTO DATI

2. LOGICO/ARITMETICHE

3. DI CONTROLLO

1) Trasferimento dati: istruzioni che eseguono la copia di informazioni da celle di memoria ad altre, ai registri e

viceversa. I dati vengono copiati e non ”spostati”, perché quando si preleva un dato da una posizione non lo si

cancella dalla posizione originale. A seconda che il dato provenga dalla memoria alla CPU o viceversa,

l’istruzione si chiama:

a. LOAD (memoria)→CPU

b. STORE (CPU)→memoria

Siano A e B due registri generici:

ADA<indirizzo> (indirizzo)→A

STB<indirizzo> (B)→indirizzo

MOV A B (A)→B

INP<porta> (PORTA)→B

OUT<porta> (A)→porta

Le ultime due istruzioni appartengono al particolare sottogruppo di istruzioni che coinvolgono le periferiche,

( ad esempio stampanti, fax, ecc,…) le istruzioni di I/O

(input ,output).

2) Logico-aritmetiche: chiedono alla CPU di effettuare operazioni che sono proprie dell’ALU.

Aritmetiche: permettono di eseguire operazioni elementari sui numeri interi.

es: A e B registri, Cy valore del flag di riporto (carry)

ADD <indirizzo> (indirizzo)+(A)→A

ADC <indirizzo> (indirizzo)+(A)-(Cy)→A

SUB A <indirizzo> (indirizzo)-(A)→A

SBC B <indirizzo> (indirizzo)-(B)-(Cy)→A

Ci sono diversi indicatori nel flag legati alle operazioni aritmetiche che possono essere “accesi” o “spenti”.

 CARRY (C): c’è stato o meno riporto

 OVERFLOW (W): c’è stato o meno overflow (traboccamento della rappresentazione del complemento

a due) 8

 ZERO (Z): il risultato è o non è zero.

 NEGATIVE (N): il risultato è o non è negativo.

Logiche: permettono di eseguire operazioni logiche su stringhe di bit, memorizzate nei registri A e B. Le

operazioni logiche sono AND, OR, NOT, EX-OR, che operano su coppie di bit.

Es:

AND <indirizzo> A (indirizzo)*(A)→A

OR <indirizzo> B (indirizzo)+(B)→B

EXOR <indirizzo> A (indirizzo) Exor (A)→A

NOT B (B)→A

Vengono usati anche per svolgere operazioni aritmetiche più in fretta che non con la semplice somma.

ROTAZIONE E SHIFT sono un sottogruppo delle logico-aritmetiche, servono ad operare su un singolo bit di una

fila di celle senza cambiare il contenuto delle altre. In generale operano sul contenuto dei registri:

SRL A: shift logico a destra di (A), è uno shift quindi non fa la rotazione ma ”butta” i bit che escono in fondo.

SLA A: shift logico a sinistra

Gli shift logici vengono usati per stringhe di bit in valore assoluto, quella verso destra opera una divisione per

potenze di 2 a seconda del numero di caselle di cui ci si sposta e mette il resto nel CARRY. Lo shift verso sinistra

invece opera una moltiplicazione per potenze di 2 e mette nel CARRY il riporto

SRA A: shift aritmetico a destra

Lo shift aritmetico viene usato per le stringhe in complemento a due, infatti il bit più significativo viene

traslato e poi riconfermato nella sua casella, o meglio viene eseguita la divisione per potenze di due e il bit più

significativo viene riconfermato nella sua cella, perché è il bit che indica il segno..

SLL A: shift aritmetico a sinistra 9

La posizione vuota viene riempita con uno zero I bit che escono vengono reinseriti nelle celle di

memoria

RR: rotazione a destra RL: rotazione a sinistra

Controllo programma: sono istruzioni che servono a cambiare l’ordine della sequenza di istruzioni da eseguire

3) di un programma. Si dividono in due categorie:

 Istruzioni di salto (diretto o relativo)

 Istruzioni di ritorno

Ognuna delle quali si divide in 2 sottocategorie:

 Condizionato

 Non condizionato

In generale si parla solo di istruzioni di salto condizionato o non, con o senza ritorno, anch’esso condizionato o

non.

Esempio: salto senza ritorno

1) JP <indirizzo> indirizzo → PC salto diretto incondizionato

2) JP <condizione><indirizzo> indirizzo → PC salto diretto condizionato

3) JR <spostamento> PC+spost. → PC salto relativo incondizionato

JR <cond.><spost> PC+spost. → PC salto relativo condizionato

4) Abbiamo già visto un esempio dei primi due casi: B 0 58 e B 2 58, il primo incondizionato, il secondo

condizionato. La condizione era: se (REG2)=(REG0)→JUMP, cioè indirizzo →PC altrimenti continua, ovvero (PC)

+1→PC. Generalmente le condizioni di questi salti si riferiscono a degli eventi riguardanti i FLAG e avvengono

se l’evento si è verificato, altrimenti l’autoincremento del PC continua normalmente.

Il DISPLACEMENT è uno spostamento in avanti o indietro di un certo numero di indirizzi rispetto a quello

attualmente presente nel PC. Il numero di indirizzi di cui spostarsi è rappresentato da una configurazione in bit

in complemento a 2,così che un numero positivo permetta un incremento del PC, invece un numero negativo

permetta un decremento. 10

Salto (con ritorno): utili per richiamare un sottoprogramma (subroutine), finita l’esecuzione dei quali si deve

tornare e continuare l’esecuzione del MAIN PROGRAM. Prima di effettuare il salto, essendo necessario

tornare, prima che venga caricato nel PC l’indirizzo a cui bisogna saltare, (PC) viene salvato nello STACK PILA, e

lo STACK POINTER sarà puntato sull’indirizzo corrispondente dello STACK PILA.

Esempio:

1) CALL <indirizzo> salto con ritorno incondizionato

2) CALL <condizione><indirizzo> salto con ritorno condizionato

Nei dettagli:

sono coinvolti in questa fase lo STACK POINTER e fuori dalla CPU lo STACK PILA: consideriamo che

generalmente lo STACK PILA viene riempito con indirizzi decrescenti e svuotata con indirizzi crescenti, quindi:

1A SP-1 vorrà dire: spostamento dello stack pointer su un

A0 Nuovo indirizzo della pila dove verrà salvato il prossimo

2A indirizzo della pila, per esempio da 1A a 2A. Il prossimo

indirizzo di ritorno sarà quindi B0 e non A0.

B0 3A

C0 4A

Considerando quindi che nell’aggiornamento della struttura STACK, prima viene

D0 incrementato (o decrementato) lo stack pointer, poi viene salvato nella nuova

“cima” il nuovo indirizzo ( o viene cancellato il vecchio indirizzo dalla vecchia cima), ora i passi di un CALL

saranno più chiari:

1) (SP)-1→SP lo STACK POINTER viene incrementato.

2) (SP)→MAR l’indirizzo della nuova cima della pila va nel MAR.

3) (PC)→MBR quell’indirizzo contenuto nel PC prima che venga caricato

l’indirizzo del CALL va nel MBR (attenzione il PC contiene già

l’indirizzo dell’istruzione successiva al CALL, cioè PC+1 ,ma verrà sostituita

con quella indicata per il salto).

4) (MBR)→((MAR)) quell’indirizzo del PC, che è quello a cui si deve tornare una volta finito il

sottoprogramma viene salvato all’indirizzo contenuto nel MAR, cioè nella

cima della PILA.

5)nuovo indirizzo →PC l’indirizzo della prima istruzione del sottoprogramma viene salvato nel PC,

cosicché la fase di FETCH successiva trovi la prima istruzione del

sottoprogramma.

Se il CALL è condizionato, questo procedimento si svolgerà in caso si verifichi l’evento (FLAG), altrimenti

l’autoincremento del PC avverrà normalmente.

Istruzioni di ritorno:

1) RET ritorno incondizionato 11

2) RET <condizione> ritorno condizionato

NEI DETTAGLI:

1) (SP)→MAR il contenuto del pointer, ossia l’indirizzo della cima della PILA

va nel MAR

2) ((MAR))→MBR il contenuto del contenuto del MAR, ossia il contenuto della

cima della PILA (l’indirizzo dell’istruzione successiva al CALL, cioè il

contenuto del PC salvato prima del caricamento dell’indirizzo per il salto)

va in MBR. ( ricordiamo che la PILA è una parte della RAM).

3) (MBR)→PC l’indirizzo dell’istruzione successiva al CALL va nel PC, pronto

per il prossimo FETCH.

4) (SP)+1→SP lo STACK POINTER viene decrementato, conterrà ora l’indirizzo della “cima

della PILA” precedente, mentre il contenuto dell’ultima “cima” , che è già

servito al suo scopo, viene in seguito cancellato.

Nel caso di ritorno condizionato il procedimento avviene solo se la condizione si è verificata, altrimenti si

continua ad eseguire il sottoprogramma.

CONTROLLO MACCHINA:

non eseguono operazioni su dati o trasferimenti, ne salti da un punto all’altro del programma o dei

sottoprogrammi, agiscono direttamente sullo stato della CPU.

esempi:

 HALT il computer arresta il suo funzionamento e congela i dati su cui stava

Lavorando.

 NOP “no operation”, mantiene inalterato lo stato della CPU, utile quando

bisogna creare dei piccoli ritardi per permettere il completamento di

certe operazioni.

 RESET azzera lo stato della CPU che poi può ripartire da capo

 DI disable interrupt

 EI enable interrupt

Queste istruzioni sono esempi di linguaggio ASSEMBLY, come anche ADD, SUB, SRA, RLA, JP, JR, CALL, RET….

Ma dato che l’architettura di una CPU influisce sull’ASSEMBLY “accettato”, diverse CPU avranno bisogno di

diversi modi di rappresentare le medesime istruzioni in ASSEMBLY. Questa è la cosiddetta “NON PORTABILITÀ

DEI PROGRAMMI”.

L’INTERRUPT è un segnale, è il segnale analogico creato da un trasduttore quand’esso avverte la pressione di

un tasto, che viene convertito il segnale in digitale da un ADC con tanto di indirizzo relativo ad una cella della

TABELLA DEGLI INTERRUPT.

EI e DI sono istruzioni che influiscono sul segnale di interrupt per gestire eventi imprevisti, un buon

programma è infatti provvisto di sottoprogrammi progettati per avere a che fare con situazioni inaspettate. A

seconda della priorità della situazione imprevista interverranno le istruzioni EI oppure DI le quali

permetteranno o meno al segnale di interrompere l’esecuzione.

Lo STAND BY: quando mettiamo il computer nella modalità stand by l’istruzione HALT congela dati, lo stato

della CPU e la funzione HALT resta attiva (il computer resta così in stand by) finché un segnale di interrupt (il

12

tasto di accensione o l’apertura dello schermo) non gli mette termine. Questo sistema è energeticamente

economico rispetto alla ripetizione continua di un NOP in concomitanza con un segnale di POLLING.

METODI DI INDIRIZZAMENTO

la memoria è divisibile in byte (8bit), l’indirizzo corrisponde all’i-esimo byte della memoria, non si può dare un

indirizzo al singolo bit. Un’istruzione può fornire in diversi modi gli operandi, con indirizzamento:

 IMMEDIATO: l’operando compare nell’istruzione come costante

 ASSOLUTO: l’istruzione fornisce l’indirizzo di memoria dove trovare l’operando

 RELATIVO: nell’istruzione compare un DIPLACEMENT da effettuare sul contenuto del PC per

trovare l’indirizzo con l’operando. Questo permette ad un programma di non dipendere dagli indirizzi salvati

nelle sue istruzioni e quindi di essere salvato in qualunque parte della memoria.

 DIRETTO A REGISTRO: nell’istruzione è specificato l’identificatore del registro che contiene l’operando.

 INDIRETTO CON REGISTRO: l’operando si trova un una cella di memoria (o in una parte di memoria) il cui

indirizzo è salvato in un registro.

 CON AUTOINCREMENTO: (o post incremento) l’operando si trova in una parte di memoria in cui indirizzo si

trova in un registro e, dopo che è stato letto, l’operando viene incrementato tanto quanto spazio occupava

(quante celle necessita).

Esempio: operando di 16 bit

(REGn)→MAR

((MAR))→MBR

(REGn)+2→REGn

…..

 CON AUTODECREMENTO: (o predecremento) stessa situazione solo che (REGn) viene prima decrementato del

numero di byte dell’operando, e poi viene usato per indirizzare la memoria.

 INDIRETTO CON AUTOINCREMENTO: l’operando è in memoria, e il suo indirizzo è salvato in

un’altra cella di memoria il cui indirizzo è contenuto nel registro di cui l’istruzione fornisce l’identificatore. Dopo

che (REGn) è stato usato per trovare in modo indiretto l’operando, viene incrementato del numero di byte

occupati dall’operando.

 CON SPIAZZAMENTO: l’indirizzo di memoria dell’operando è dato dalla somma di un certo dato

fornito dall’istruzione in complemento a due e il contenuto del registro identificato dall’istruzione stessa.

ADD (REGn) numero →MAR

((MAR))→MBR

 INDIRETTO CON SPIAZZAMENTO: come il precedente ma all’indirizzo ottenuto dalla somma si trova

l’indirizzo della posizione reale 13


ACQUISTATO

2 volte

PAGINE

24

PESO

732.71 KB

AUTORE

UNSIGNED

PUBBLICATO

9 mesi fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica (MANTOVA - PAVIA)
SSD:
Università: Pavia - Unipv
A.A.: 2017-2018

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher UNSIGNED di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Pavia - Unipv o del prof Danese Giovanni.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Fondamenti di informatica 1

Domande e Risposte di Fondamenti di Informatica 1
Appunto
Conversioni Numeriche per Fondamenti di Informatica 1
Appunto
Architettura di Von Neumann
Appunto
Appunti ed Esercizi Analisi 1
Appunto