Anteprima
Vedrai una selezione di 4 pagine su 14
Riassunto esame Fondamenti di informatica, Prof. Cusano Claudio, libro consigliato Pensare in Python, Allen B. Downey  Pag. 1 Riassunto esame Fondamenti di informatica, Prof. Cusano Claudio, libro consigliato Pensare in Python, Allen B. Downey  Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Cusano Claudio, libro consigliato Pensare in Python, Allen B. Downey  Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Cusano Claudio, libro consigliato Pensare in Python, Allen B. Downey  Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Porte logiche

Sono dispositivi che elaborano i bit. Per rappresentare i bit uso i circuiti:

  • Relè elettromagnetici (1940): circuito aperto/chiuso
  • Tubi a vuoto (1940 – 1960): I generazione
  • Transistor (1965): II generazione
  • Circuiti integrati (1970): III generazione
  • Microprocessori (1980 - ): V generazione

La legge di Moore: il numero di transistor su chip raddoppia ogni 2 anni

Le codifiche binarie

Assegnare una sequenza di bit per distinguere due alternative. La codifica può essere a lunghezza fissa (sono le più usate) e a lunghezza variabile.

I bit sono raggruppati in gruppi da 8 chiamati byte:

  • Kilobyte (102)
  • Megabyte (202)
  • Gigabyte (302)
  • Terabyte (402)

I LINGUAGGI DI PROGRAMMAZIONE

Il programma: sequenze di istruzioni che permettono di eseguire un calcolo. I programmi implementano algoritmi, cioè metodi per risolvere problemi computazionali. I programmi sono l'espressione di

Algoritmi in un opportuno linguaggio formale. I linguaggi:

  • Formali: formule chimiche, formule matematiche, linguaggi di programmazione. Il processo di analisi della forma sintattica è detto parsing. Sono privi di ambiguità, ridondanza e metafore.
  • Di programmazione: categoria di linguaggio formale progettato per esprimere i calcoli. Ce ne sono tanti e quasi tutti consentono 4 istruzioni di: input (acquisire dati), output (invio dati), matematiche (somma, sottrazione, moltiplicazione, divisione), condizionali (eseguite in base a condizioni logiche) e ripetizioni (ripetere le istruzioni).
  • Macchina: si ottiene unendo sequenze di bit. In origine ogni computer aveva il suo linguaggio macchina che variava in base all'architettura e i programmi non potevano essere trasferiti in processori di architetture diverse. Le istruzioni sono elementari e la scrittura del programma è complessa.
  • Assembly: fu creato per rendere più comprensibile all'uomo il linguaggio macchina.

È composto da una sequenza di lettere inglesi

I linguaggi macchina e Assembly non sono più utilizzati.

- Di alto livello: le istruzioni sono semplici o complesse, macomprensibili dall’uomo. Il programma può essere eseguito susistemi diversi. L’utilizzo aumenta la produttività deiprogrammatori, la complessità dei programmi e la portabilità.

Compilatori e traduttori

Traducono il linguaggio del programmatore in linguaggio macchina(l’unico che il computer comprende).

Interprete

Traduce un comando alla volta ed è quindi più efficace e semplice

General purpose

Linguaggio di uso generale, non sono pensati per risolvere un problemaspecifico

Domain specific

Linguaggi specifici per dominio, progettati per una particolareapplicazione, come HTML I NUMERI

Sistema decimale

- Cifre da 0 a 9

- Base 10 il valore delle cifre è pensato per i multipli di 10

EX: 3 2 1 0+5 + +2×7502=7 ×10 × 10 0 ×10 10

Sistema

binario- Solo le cifre 0 e 1- Le cifre sono pensate per potenze della base 2
EX: 3 2 1 0+1 +0 +11101=1 ×2 ×2 ×2 ×2
Cifra più Cifra menosignificativa significativa
5 - Per decodificare un binario si utilizza il contributo degli 1,ignorando gli 0
EX: 1 0 0 0 0 1 = 32 + 1=33
32 16 8 4 2 1
02 2 2 2 2 2
Le proprietà:
Le potenze di si rappresentano come un 1 seguitoo k2da k zeri
Per moltiplicare un numero per basta aggiungere ko k2zeri
Se un numero finisce con k zeri allora è divisibile pero k2
- Il sistema binario è comodo per il computer ma non perl’uomo. Dei compromessi tra le necessità dell’uomo e dellamacchina sono il sistema ottale (base 8) e il sistemaesadecimale (base 16)
Sistema ottale- Si usano le cifre da 0 a 7 e a ciascuna corrispondono 3 cifrebinare
Sistema esadecimale- Si usano le cifre da 1 a 9 e le lettere dalla a alla f- A ciascuna cifra esadecimale corrisponde un gruppo di 4cifre binarie- Una coppia di

cifre esadecimali rappresenta un byte

CONVERSIONE DI BASE

Da decimale a binario

Ho 2 casi:

  • Se il numero è piccolo:
    • 3 2 1 0 = 8 + 2 + 2 + 1 = 10112 + 1 = 22 + 21 + 20 = 10
  • Se il numero è grande: prendo il numero e lo divido per 2 approssimando per difetto. Se è pari scrivo 0, se è dispari scrivo 1

Da binario a decimale

EX: 3 2 1 0 = 1 + 1 + 0 + 1 = 8 + 4 + 1 = 13

10112 = 23 + 21 + 20 = 10

Da ottale a decimale

EX: 3 2 1 0 = 2 + 0 + 6 + 5 = 38

3 × 82 + 2 × 81 + 1 × 80 = 88

Da ottale a binario

Si sostituisce ciascuna cifra ottale con la tripletta corrispondente in binario

EX: 1025 = 110 011 1002

Da binario a ottale

Si aggiungono zeri in modo da dividere la cifra in gruppi di 3 e si sostituisce la corrispondente tripletta con la cifra ottale

EX: 151101 = 000 111 0108

Da esadecimale a decimale

EX: 2 1 0 = 2 + 12 + 10 = 46

2CA = 2 × 162 + 12 × 161 + 10 × 160 = 714

Da esadecimale a binario

Si sostituisce a ciascuna cifra esadecimale il corrispondente gruppo binario

EX: 10110010102 = CA16

binario a esadecimaleEX: =21010111000 B 82 LE CODIFICHE NUMERICHE

Interi positivi

Si usano 8 bit numeri che vanno da 0 a 255 inclusi

16 bit numeri tra 0 e 65 535 (inclusi)

32 bit tra 0 e 4294967295(inclusi)

64 bit tra 0 e 18446744073709551615(inclusi)

Interi con segno

- Rappresentati in modulo e segno

- Si usa il bit più significativo per stabilire il segno (0 se n è positivo e 1 se n è negativo)

- Le altre cifre stabiliscono il modulo. Ci sono però due rappresentazioni per lo 0

Complemento a uno

- I numeri positivi sono convertiti in base 2

- I numeri negativi vengono sottratti al numero 1111111……11 per poi essere convertiti

- I bit vengono invertiti nei numeri negativi in modo da cambiare il segno

- Ci sono 2 rappresentazioni per lo 0 e le operazioni non sono immediate

Complemento a due

- Per cambiare il segno si invertono i bit dei numeri negativi e si somma 1

- I numeri positivi vengono convertiti in base 2

- Intorno allo 0 il comportamento è

naturale (sono tutti zeri)- Si ignora l'overflow- E il più usato- Si usano 8 bit tra -128 e 127 inclusi16 bit tra -32768 e 32767 inclusi32 bit tra−2147483648e2147483647(inclusi)64 bit tra−2147483648e2147483647(inclusi)OverflowDati 2 numeri di n bit, il valore della loro somma o moltiplicazione, può superare il valore massimo di n −12. Questo può determinare l'interruzione dei programmi.

Numeri non interi: L'insieme dei numeri reali non può essere codificato, l'insieme dei numeri relativi invece sì. I calcolatori non separano la parte frazionaria, ci sono quindi due soluzioni:

  • Rappresentazione fixed point (a virgola fissa): si rappresenta un numero intero in base 2. Si utilizza in ambito scientifico.
  • Rappresentazione floating point (a virgola mobile): consente di rappresentare numeri molto piccoli o molto grandi. Un bit indica il segno, un numero di bit fissato indica l'esponente della base 2 e gli altri.
bit indicano le cifre significative L'ARCHITETTURA L'architettura degli elaborati è l'insieme dei criteri in base ai quali è stato progettato. L'architettura di Von Neumann (o di Princeton) Introdotta da John Von Neumann nel 1945 (EDVAC) I programmi sono dati composti da istruzioni del linguaggio macchina, memorizzate ed eseguite sequenzialmente. Prima riprogrammare un calcolatore era raro, oggi si può cambiare programma facilmente. CPU I/O MEMORIA CONTROL UNIT ALU - Memoria centrale (o principale) È una sequenza di word (ovvero un raggruppamento di bit) e a ciascuna di esse è associato un indirizzo. La memoria centrale modifica i dati memorizzati ed è una memoria ad accesso casuale (RAM). - CPU (Central Processing Unit) Decodifica ed esegue le istruzioni, coordina tutte le componenti e interagisce con la memoria centrale tramite un BUS che trasporta i dati. - ALU (unità aritmetico-logica) Esegue i calcoli. Ha due ingressi, cherappresentano due numeri, e un'uscita, che rappresenta il risultato. ALU- CU (Control Unit) Ha un ingresso primario, i bit vengono elaborati all'interno e vengono inviati ad altre componenti. CU- Registri Sono dispositivi di memoria contenuti nella CPU che memorizzano temporaneamente i dati. Possono essere di uso generale o di uso specifico. I registri includono: - Instruction register: memorizza i bit che codificano l'istruzione in corso. - Process counter: tiene il segno dell'istruzione. - Memory buffer register: mantiene temporaneamente i dati scambiati con la memoria. - Memory address register: memorizza l'indirizzo a cui accedere per leggere i dati. Input/Output (I/O) Consentono il controllo dei dispositivi di output e il caricamento di dati e programmi. Istruzioni L'instruction set è l'insieme delle istruzioni eseguibili da un determinato processore. Comprende 3 tipi di istruzioni: spostamento dati, trasporto dati e controllo del programma. Le istruzioni sono rappresentate in binario.on Register viene eseguita utilizzando gli operandi specificati e il risultato viene memorizzato nella destinazione specificata. Ecco il testo formattato con i tag HTML:

Il codice di ogni istruzione deve specificare: l'operazione da eseguire, gli operandi su cui eseguire le operazioni e la destinazione dove memorizzare il risultato.

Indirizzamento:

  • Indirizzamento implicito: l'operando si trova in una posizione fissa che non viene codificata.
  • Indirizzamento immediato: gli operandi assumono valori fissi.
  • Indirizzamento diretto: nell'istruzione è direttamente codificato un codice a cui accedere.
  • Indirizzamento indiretto: nell'istruzione è codificato un codice che contiene l'indirizzo di memoria dell'operando.
  • Indirizzamento indicizzato: l'indirizzo dell'operando si ottiene combinando l'indirizzo base e l'indice.

Esecuzione delle istruzioni:

  1. Fetch: il contenuto dell'indirizzo memorizzato nel Program Counter viene copiato nell'Instruction Register.
  2. Execute: l'istruzione memorizzata nell'Instruction Register viene eseguita utilizzando gli operandi specificati e il risultato viene memorizzato nella destinazione specificata.
Dettagli
A.A. 2021-2022
14 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Benedetta__2002 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Cusano Claudio.