Estratto del documento

Introduzione

Hardware: insieme dei dispositivi che compongono il calcolatore

Software: insieme delle istruzioni e delle informazioni necessarie a risolvere il problema proposto

Programma: insieme di istruzioni codificate in modo comprensibile al calcolatore, sufficienti a risolvere un problema

Programmare un calcolatore: scrivere l'algoritmo necessario a risolvere il problema

Firmware: software integrato in un componente elettronico (o in un dispositivo) capace di avviarlo e farlo interagire con altri componenti

Assembly (linguaggio macchina): insieme di istruzioni eseguibili direttamente dall'hardware

  • Limitato per via
  • Costo della realizzazione di hardware che esegua operazioni complesse
  • Complessità crescente del computer

Macchine a più livelli: si crea un nuovo linguaggio, più comprensibile al programmatore umano, che viene poi tradotto in linguaggio macchina. Si possono fare quanti livelli vogliamo

Compilazione: il compilatore/assemblatore legge il programma e ne produce un altro adeguato al livello inferiore

Interpretazione: l'interprete legge il programma e lo traduce direttamente, mandandolo in esecuzione al livello inferiore (non produce un secondo programma nel nuovo linguaggio come fa il compilatore)

Introduzione

Hardware: insieme dei dispositivi che compongono il calcolatore

Software: insieme delle istruzioni e delle informazioni necessarie a risolvere il problema proposto

Programma: insieme di istruzioni codificate in modo comprensibile al calcolatore, sufficienti a risolvere un problema

Programmare un calcolatore: scrivere l'algoritmo necessario a risolvere il problema

Firmware: software integrato in un componente elettronico (o in un dispositivo) capace di avviarlo e farlo interagire con altri componenti

Assembly (linguaggio macchina): insieme di istruzioni eseguibili direttamente dall'hardware

  • Lingua madre per via
  • Costo della realizzazione di hardware che esegua operazioni complesse
  • Complessità crescente del computer

Macchine a più livelli: si crea un nuovo linguaggio, più comprensibile al programmatore umano, che viene poi tradotto in linguaggio macchina

Si possono fare quanti livelli vogliamo

Compilazione: il compilatore/assemblatore legge il programma e ne produce un altro adeguato al livello inferiore

Interpretazione: l'interprete legge il programma e lo traduce direttamente, mandandolo in esecuzione al livello inferiore (non produce un secondo programma nel nuovo linguaggio come fa il compilatore)

Architetture ai più livelli:

Nei computer moderni sono:

  • livello logico digitale: hardware del calcolatore costituito da porte logiche e circuiti elettronici
  • livello della microarchitettura: la macchina virtuale esegue microistruzioni (implementata nell'unità di controllo della CU)
  • livello ISA (Assembler): legge il linguaggio assembler del calcolatore

Instruction Set complessità e numero delle istruzioni del livello utilizzato nei calcolatori

  • livello del sistema operativo: astrazione simile a livello ISA, si aggiungono alcune istruzioni primitive del sistema operativo
  • livello applicativo: contiene linguaggi che possono essere utilizzati dal programmatore

Compilatore

È un traduttore per linguaggi ad alto livello traduce file in un linguaggio sorgente in file in linguaggio oggetto (alcuni divisi per moduli)

Linker

Collega moduli del linguaggio oggetto e li trasforma in eseguibile (con un unico file)

Loader

Legge l'eseguibile, li mette a memorizzati in memoria e lo mette in esecuzione

Assemblatore (assembler)

È il traduttore del linguaggio assembly

* introdotta negli anni '60 per superare le ISA complesse con un hardware semplice...

Introdotto negli anni ‘50 le funzioni sono aumentate nel tempo:

gestione della CPU:

  • time sharing: più processi eseguiti contemporaneamente sullo stesso sistema
  • gestione della memoria: più processi la possano usare dinamicamente
  • gestione delle periferiche: i diversi processi possano usare le risorse di I/O dei dati

Macchina di Turing universale:

in grado di eseguire qualsiasi algoritmo esprimibile. La prima, ideata da Babbage, era un sistema completamente meccanico suddiviso in quattro parti: memoria, unità di calcolo, input, output

Valvole termioniche:

costituite da un tubo sotto vuoto, all'interno di quale può passare un flusso di elettroni capace di spostare collegamenti

Relè:

composto da un elettromagnete che attira una linguetta che sposta il collegamento elettrico. Una volta che parte l'impulso, il contatto elettrico è mantenuto per un tot di tempo.

Macchina di Von Neumann:

alla base delle maggior parte dei calcolatori digitali; idea è quella di mantenere anche i programmi in memoria, riducendo i tempi di programmazione.

Circuti integrati:

contengono milioni di transistor in una piastrina di silicio. Permettono di costruire calcolatori più piccoli, più veloci e meno costosi

Multitasking:

più utenti usano la stessa macchina contemporaneamente

Legge di Moore

Il numero di transistor su un singolo chip raddoppia ogni 18 mesi.

Singolarità tecnologica

Punto in cui il progresso tecnologico accelera oltre la capacità di comprendere e prevedere degli esseri umani.

Rappresentazione digitale dell'informazione

Segnale analogico: i valori che lo rappresentano sono infiniti e non numerabili.

Segnale digitale: i valori che lo rappresentano sono discreti e finiti.

Numeri a precisione finita: rappresentabili con un numero finito di cifre.

Numerazione posizionale: alle cifre è associato un diverso valore in base alla posizione che occupano, definito dalla base utilizzata.

Grandezze e segno: bit più a sinistra utilizzato per il segno: 0 positivi, 1 negativi. Ha due configurazioni per lo 0.

Complemento a due: si sostituiscono tutti gli 0 con 1 e si aggiunge 1 al risultato.

Eccesso 2m-1: uguale al complemento a due, con il bit di segno invertito.

m = 8 bit, 2m-1 = 28-1 = 27 = 128.

➔ -76 = 96+128 = 52 = 00110100.

Codifica Fixed point: c'è un numero di bit determinato per codificare i decimali.

Codifica Floating point: qualunque di valore esprimibile è indipendente dal numero di cifre significative.

*** I programmi e dati sono trasferiti attraverso il bus dati, mentre il bus indirizzi è usato dalla CPU per indicare alla memoria le locazioni dove sono le informazioni da trasferire.

Architettura del calcolatore e delle sue parti

Calcolatore digitale: sistema composto da processori, memorie e dispositivi di input/output collegati tra loro.

Bus: insieme di connessioni costituite principalmente utilizzate per trasportare tutte le informazioni da un componente te all'altro.

CPU: esegue i programmi immagazzinati nella memoria centrale. Composta da:

  • Unità di controllo: legge le istruzioni e ne determina il tipo, controlla tutte le componenti.
  • ALU: esegue le operazioni in aritmetica e intera necessarie alla esecuzione.
  • Registri: memorie ad alta velocità per memorizzare risultati temporanei e altre informazioni di controllo. Registri più importanti:
    • Program Counter: memorizza l'indirizzo di memoria della prossima istruzione da eseguire.
    • Instruction Register: memorizza l'istruzione che si sta per eseguire.

* della CPU e fa eseguire le operazioni richieste al programma.

Ciclo di Data Path: percorre i dati all'interno della CPU. Ogni istruzione ISA corrisponde a uno o più cicli. Ha principalmente tre fasi:

  • caricamento
  • esecuzione
  • salvataggio in un registro

Funzionamento CPU:

  • Fetch (caricamento)
  • Decode (decodifica)
  • Execute (esecuzione)

Memorie:

Componenti del calcolatore in grado di memorizzare le informazioni. Ci sono diversi tipi di memorie.

  • Volatile: l'informazione viene vissuta finché il calcolatore è alimentato (Registri, Cache, RAM).
  • Persistente: l'informazione è sempre memorizzata.
  • On-line: dati sempre accessibili.
  • Off-line: il supporto deve essere caricato meccanicamente sul lettore per farlo funzionare (Hard-disk).

Codici di correzione degli errori:

  • Distanza di Hamming: indica il numero di bit corrispondenti che differiscono in due parole.
  • Parola di codice: un insieme di n bit ha al suo interno m bit di dati e k bit di controllo.
  • Bit di parità: ad ogni parola è aggiunto un bit di controllo. Questo vale: se il numero di bit nella parola è dispari, o se è pari.

RAM:

In un magazzino le informazioni vengono memorizzate in celle (locations), associate univocamente ad un indirizzo. La dimensione della cella è detta parola.

I chip di memoria non vengono venduti singolarmente, ma sono montati su schede di varie tipologie:

  • SIMM (single inline memory module): contatti solo su un lato della scheda. Trasferiscono 32 bit per ciclo di clock. Hanno un bus dati.

a 32 bit sono obsolete.

  • DIMM (dual inline memory module): contatti su entrambi i lati della scheda. Bus dati a 64 bit.
  • SO-DIMM: DIMM a dimensioni ridotte per portatili.

Moduli ECC DIMM: prevedono meccanismi di correzione degli errori. Non montati su calcolatori ordinari.

Hard disk: dispositivo elettro-meccanico per la conservazione di informazioni sotto forma magnetica su supporto rotante. La testina, contenente un induttore, è sospesa sopra la superficie del disco e sostenuta da un cuscinetto d'aria.

Scrittura: una corrente passa nella testina e magnetizza la superficie sottostante, facendo allineare le particelle a seconda della polarizzazione.

Lettura: quando la testina passa su un'area magnetizzata, viene indotta una corrente che permette di leggere il bit.

Traccia: sequenza circolare di bit.

Settore: suddivisione augabile di traccia. È la minima superficie del disco che può essere scritta per volta.

Cilindro: insieme di tracce su piatti diversi.

Formattazione: creazione della struttura di base dell'hard disk.

Densità lineare: misurata dalla difficoltà di trovare le variazioni del campo magnetico sul disco.

Densità di area: numero di bit memorizzati per pollice quadrato.

Anteprima
Vedrai una selezione di 3 pagine su 8
Riassunti generali su tutto il corso Pag. 1 Riassunti generali su tutto il corso Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
Riassunti generali su tutto il corso Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher eleonora.guidi6 di informazioni apprese con la frequenza delle lezioni di Architetture degli elaboratori 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 Bologna o del prof Maltoni Davide.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community