La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

INFORMATICA UMANISTICA B COMPUTER: HARDWARE E SOFTWARE

Presentazioni simili


Presentazione sul tema: "INFORMATICA UMANISTICA B COMPUTER: HARDWARE E SOFTWARE"— Transcript della presentazione:

1 INFORMATICA UMANISTICA B COMPUTER: HARDWARE E SOFTWARE massimo.poesio@unitn.it

2

3 Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche

4 Software Componente del calcolatore costituita dai: Programmi di base per la gestione del sistema Programmi applicativi per luso del sistema (possono usare i programmi di base)

5 PRIMA PARTE: HARDWARE

6 HARDWARE: IDEE CENTRALI CICLO DI ESECUZIONE ISTRUZIONI MEMORIA PRINCIPALE E MEMORIA SECONDARIA

7 DI NUOVO LA MACCHINA DI TURING

8 Dalla macchina di Turing alla architettura di von Neumann Un passo ulteriore, volendoci avvicinare al funzionamento di un vero computer, è costituito dalla ARCHITETTURA DI VON NEUMANN

9 I/OMemoria CPU Preleva istruzione Esegue Memorizza risultato BUS

10 UNITA CENTRALE E PERIFERICHE Unità centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Periferiche

11 Architettura dei computer Un computer deve: elaborare linformazione usando il processore (Central Processing Unit - CPU) memorizzare linformazione usando la memoria principale (RAM) usando la memoria secondaria fare linput/output dellinformazione usando i dispositivi di input/output

12 LA CPU IN DETTAGLIO

13 ARCHITETTURA DI VON NEUMANN: COMPONENTI DELLA CPU La CPU non è un unico componente ma è costituita da componenti diversi che svolgono compiti diversi Unità di controllo Unità aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 … Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo

14 UNITA DI CONTROLLO Unità di controllo Unità aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 … Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo

15 Unità di controllo Lunità di controllo è la parte più importante del processore Esegue le istruzioni dei programmi Coordina le attività del processore Controlla il flusso delle istruzioni tra il processore e la memoria

16 Unità di controllo Svolge la sua attività in modo ciclico Preleva dalla memoria principale la prossima istruzione da eseguire Preleva gli operandi specificati nellistruzione Decodifica ed esegue listruzione Ricomincia

17 Unità di controllo Lesecuzione comporta linvio di comandi opportuni allunità relativa Calcoli Unità aritmetico logica Lettura/scrittura dati memoria Acquisizione/stampa dispositivi di I/O

18 COMPONENTI DELLA CPU: UNITA ARITMETICO-LOGICA Unità di controllo Unità aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 … Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo

19 Unità aritmetico logica LUnità aritmetico logica si occupa di eseguire le operazioni di tipo aritmetico/logico Somme, sottrazioni, …, confronti, … Preleva gli operandi delle operazioni dai Registri Generali Deposita il risultato delle operazioni nei Registri Generali Insieme allunità di controllo collabora al completamento di un ciclo della macchina

20 COMPONENTI DELLA CPU: REGISTRI Unità di controllo Unità aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 … Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo

21 Registri I registri sono delle unità di memoria estremamente veloci Sono usate per mantenere le informazioni di necessità immediata per il processore Le dimensioni dei registri variano da 16, 32, 64 bit Sono una parte fondamentale del processore

22 Registri Per esempio: Program Counter Lindirizzo della prossima istruzione da eseguire è memorizzato nel registro Program Counter Per esempio: i Registri Generali I registri che possono essere utilizzati come memorie temporanee per svolgere le operazioni matematiche

23 ARCHITETTURA DI VON NEUMANN: I BUS

24 Bus Permette la comunicazione tra i vari componenti dellelaboratore CPU RAM Interfaccia dati indirizzi controllo

25 ARCHITETTURA DI VON NEUMANN: CLOCK Abbiamo visto che il processore svolga la sua attività in modo ciclico Ad ogni ciclo corrisponde lesecuzione di unoperazione elementare (unistruzione macchina) Il clock fornisce una cadenza temporale per lesecuzione delle operazioni elementari La frequenza del clock indica il numero di operazioni elementari che vengono eseguite nellunità di tempo

26 Clock Consideriamo una ipotesi semplificata in cui ogni battito di clock corrisponde esattamente lesecuzione di una sola istruzione macchina La frequenza del clock indica il numero di operazioni elementari che vengono eseguite nellunità di tempo Per esempio: il clock che ha circa 66 milione battiti per secondo il computer può eseguire circa 66 milione operazioni per secondo

27 Clock In realtà, questa ipotesi non è sempre vero Lesecuzione di una istruzione può richiedere più battiti di clock Oppure nello stesso ciclo di clock si possono eseguire (parti) di istruzioni diverse Dipende dal tipo di processore Per esempio: Il processore Intel 80286 richiede 20 battiti del clock per calcolare la moltiplicazione di due numeri Il processore Intel 80486 può calcolare la moltiplicazione di due numeri usando solo un battito del clock

28 Clock La frequenza del clock si misura in: MHz (1 MHz corrisponde circa a un milione di istruzioni elementari/battiti al secondo) GHz (1 GHz corrisponde circa a un miliardo di istruzioni elementari/battiti al secondo) Per esempio: se acquistate un calcolatore e vi dicono che ha un processore a 3 GHz Vuol dire che il processore è in grado di eseguire (circa) 3 miliardi di istruzioni al secondo

29 IL CICLO DI ESECUZIONE ISTRUZIONI Il ciclo di esecuzione istruzioni sta al cuore del funzionamento di un computer Ad ogni ticchettio del clock, la CPU: Preleva dalla memoria principale la prossima istruzione da eseguire (specificata dal PROGRAM COUNTER, PC) La mette nel REGISTRO ISTRUZIONI (IR) La DECODIFICA Preleva gli OPERANDI specificati nellistruzione ESEGUE listruzione Ricomincia

30 IL CICLO DI ESECUZIONE (SEMPLIFICATO!)

31 CODICE PER I PROGRAMMI: Istruzioni macchina I programmi: sequenze di istruzioni elementari (somma due numeri, confronta due numeri, leggi/scrivi dalla memoria, ecc.) Per ogni tipo di processore è definito un insieme di istruzioni, chiamate istruzioni macchina Ognuna delle quali corrisponde ad unoperazione elementare Le operazione più complesse possono essere realizzate mediante sequenze di operazioni elementari

32 Istruzioni macchina Le istruzioni possono avere formati diversi - per esempio: Codice istruzione Argomento 1Argomento 2 Codice istruzione Argomento 1 cosa faresu cosa operare oppure

33 Istruzioni macchina Per esempio: ADD R1 R2 Operazione aritmetica di somma: prevede la somma del contenuto dei registri R1 e R2 e il caricamento del risultato nel registro R1 (Perché R1 non R2? Non cè una ragione: la decisione è arbitraria) Codice istruzione Argomento 1Argomento 2

34 Istruzioni macchina Per esempio: LOAD 3568 R2 Operazione di lettura dalla memoria: richiede la lettura del valore contenuto nella cella con indirizzo 3568 e il suo caricamento nel registro R2 (Perché usiamo un indirizzo? Che cosa un registro? Vedremo…) Codice istruzione Argomento 1Argomento 2

35 Istruzioni macchina Per esempio: 01000110 11110000101011100001111 11110101 0111011011001001 cosa faresu cosa operare

36 Linguaggio macchina Il linguaggio in cui si scrivono queste istruzioni prende il nome di linguaggio macchina Una sequenza di tali istruzioni prende il nome di programma in linguaggio macchina Il ruolo del processore: Eseguire programmi in linguaggio macchina

37 I programmi e i processori Ogni tipo di processore è in grado di eseguire un numero limitato di istruzioni Combinando in modo diverso sequenze anche molto lunghe di istruzioni si possono far svolgere al computer molti compiti diversi

38 I programmi e i processori Famiglie di processori: Intel, Motorola, Sun Processori della stessa famiglia possono eseguire gli stessi programmi scritti in linguaggio macchina (ma non sempre) Processi di famiglie diverse non possono eseguire gli stessi programmi scritti in linguaggio macchina Le istruzioni che capiscono sono diverse Attenzione! Stiamo considerando il livello delle istruzioni macchina

39 UNITA ARITMETICO-LOGICA E CIRCUITI LOGICI

40 ALU E CIRCUITI LOGICI I CIRCUITI LOGICI sono la base dellhardware di un calcolatore L Unita aritmetico / logica (ALU), e prevalentemente composta di circuiti di questo tipo Questi circuiti sono costituiti da un gran numero di componenti piu semplici

41 CIRCUITI LOGICI E FUNZIONI Ogni circuito logico calcola una FUNZIONE od OPERAZIONE: +(2,4) = 6 Le operazioni piu semplice sono quelle BINARIE

42 OPERAZIONI BINARIE Useremo il termine OPERAZIONE BINARIA in modo generico per riferirsi ad ogni funzione che specifica un valore di OUTPUT 0 od 1 sulla base di 1 o piu valori di INPUT Queste operazioni binarie possono essere specificate da TABELLE Esempio piu noto di operazione binaria: OPERAZIONI LOGICHE

43 LALGEBRA BOOLEANA Una forma molto semplice di LOGICA Che codifica le condizioni sotto le quali espressioni complesse come A e B o non A o A o B sono vere mediante TABELLE DI VERITA

44 ANDORNOT A BA AND B falso falso vero falso vero falso falso vero A BA OR B falso falso vero vero vero falso vero ANOT A falsovero falso00 1 11 01 0 00 RA B 10 1 11 11 0 00 RA B 01 10 RA OPERAZIONI LOGICHE ELEMENTARI: AND, OR, NOT

45 ANDORNOT 00 1 11 01 0 00 RA B 10 1 11 11 0 00 RA B 01 10 RA CIRCUITI ELEMENTARI: AND, OR, NOT

46 DALLE TABELLE DI VERITA AI CIRCUITI Tanti input quante sono le dimensioni della tabella Un solo output Un or alloutput Tanti and quanti sono gli 1 della tabella Input degli and: 1 se diretto, 0 se negato A B 0 0 0 1 1 1 0 1 1 0

47 Architettura dei computer Un computer deve: elaborare linformazione usando il processore (Central Processing Unit - CPU) memorizzare linformazione usando la memoria principale (RAM) usando la memoria secondaria fare linput/output dellinformazione usando i dispositivi di input/output

48 Architettura dei computer Un computer deve: elaborare linformazione usando il processore (Central Processing Unit - CPU) memorizzare linformazione usando la memoria principale (RAM) usando la memoria secondaria fare linput/output dellinformazione usando i dispositivi di input/output

49 Componenti principali di un computer Unità centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Periferiche del calcolatore

50 UNITA CENTRALE: LA MEMORIA PRINCIPALE

51 ORGANIZZAZIONE DELLA MEMORIA Unità centrale Processore Memoria principale 0 1 2 3 4 5 N Sequenza di celle – Ad ogni cella è associato un indirizzo (un numero progressivo a partire da 0) Insieme al processore forma lUnità Centrale di un elaboratore Conserva i programmi e i dati usati dal processore

52 Memoria principale (RAM) Perchè si chiama RAM (Random Access Memory)? – Si può accedere direttamente alle varie celle, una volta noto il loro indirizzo – Il tempo necessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nella sequenza – Il termine random (casuale) indica proprio il fatto che non vi sono differenze nellaccesso alle varie celle della memoria

53 Memoria principale (RAM) Alcune proprietà della memoria principale Veloce: per leggere/scrivere una cella ci vuole un tempo di accesso dellordine di poche decine di nanosecondi (millesimi di milionesimi di secondo = 10 -9 sec.) Volatile: è fatta di componenti elettronici, togliendo lalimentazione si perde tutto (Relativamente) costosa

54 Memoria principale (RAM) Tutte le celle hanno la stessa dimensione: 8, 16, 32, o 64 bit Le operazioni che si eseguono sulla memoria sono operazioni di lettura e scrittura Una cella può contenere un dato o unistruzione 0 1 2 3 4 5 N 345 13.200.985 3.890 ADD R1 R2 LOAD 56 R1 LOAD 3568 R1 Indirizzi Contenuto

55 Un po di terminologia... bit1 cifra binariamemorizza 0 oppure 1 byte8 bitmemorizza un carattere parolada 16 a 64 bitnumeri e indirizzi di memoria Kilobyte (KB)1024 bytecirca mezza pagina di testo Megabyte (MB)1024 KBun libro di 200 pagine Gigabyte (GB)1024 MBalcuni volumi Terabyte (TB)1024 GBuna biblioteca Petabyte (PB)1024 TBmolte biblioteche

56 Memoria principale (RAM) Ogni calcolatore usa un numero di bit costante per rappresentare gli indirizzi Maggiore è il numero di bit usati, maggiore sarà il numero di celle indirizzabili: spazio di indirizzamento Se si usano 16 bit per codificare gli indirizzi, si potranno indirizzare fino a 65.536 celle (circa 64 KB di memoria, nellipotesi di celle di memoria di 1 byte) Con 32 bit si potranno indirizzare fino a 4.294.967.296 celle (circa 4 GB di memoria)

57 Memoria principale (RAM) Se acquistate un computer e vi dicono che ha una RAM di 128 MB, vi stanno specificando le dimensioni della memoria principale Allaumentare delle dimensioni della memoria principale aumenta il numero di programmi che possono essere contemporaneamente attivi

58 Memoria principale (RAM) Le unità di misura della memoria RAM variano a seconda del tipo di calcolatore e vengono espresse in MB Nei PC generalmente si va dai 128MB ai 512MB Alcune server hanno 1-2 GB di RAM La RAM, fino ad un certo limite, è espandibile (slot di espansione)

59 ALTRI TIPI DI MEMORIA NELLUNITA CENTRALE Memoria di sola lettura (ROM) Memoria cache Buffer

60 Memoria di sola lettura (ROM) Non può essere modificata A differenza della RAM non è volatile Veloce quasi come la RAM Contiene le informazioni di inizializzazione usate ogni volta che si accende lelaboratore (bootstrap)

61 Memoria cache Livello di memoria intermedio tra i registri e la RAM Memorizza i dati usati più spesso senza doverli recuperare tutte le volte dalla RAM (che è più lenta) Influisce moltissimo sulle prestazioni e sul costo della CPU (e quindi del computer) È molto più costosa della RAM

62 Memoria cache In genere è interna al processore (cache L1) Esiste anche una cache secondaria (L2) esterna al processore Le sue dimensione tipiche vanno dai 256KB a 1MB

63 LA MEMORIA SECONDARIA Unità centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Periferiche del calcolatore

64 Architettura dei computer Un computer deve: elaborare linformazione usando il processore (Central Processing Unit - CPU) memorizzare linformazione usando la memoria principale (RAM) usando la memoria secondaria fare linput/output dellinformazione usando i dispositivi di input/output

65 Memoria secondaria La memoria principale non basta (è volatile, costosa) In grado di memorizzare i programmi e i dati in modo permanente È meno costosa che la memoria principale: le dimensioni della memoria secondaria sono di solito molto maggiori di quelle della memoria principale I supporti di memoria secondaria sono più lenti rispetto alla memoria principale (presenza di dispositivi meccanici) Non tutti i supporti di memoria secondaria permettono laccesso diretto ai dati Alcuni permettono solo un accesso sequenziale (per esempio, nastri magnetici)

66 LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA I programmi e i dati risiedono nella memoria secondaria Processore Stampante Memoria secondaria Memoria principale

67 LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Processore Stampante Memoria secondaria Memoria principale

68 LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Il processore è in grado di eseguire le istruzioni di cui sono composti i programmi Processore Stampante Memoria secondaria Memoria principale

69 Ricordiamo: caricamento del programma Quando si lancia un programma questo viene copiato dalla memoria secondaria (di solito un hard disk) nella memoria principale Questa operazione si chiama caricamento del programma e viene eseguita dal sistema operativo

70 Ricordiamo: caricamento del programma I programmi e i dati risiedono nel memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Il processore è in grado di eseguire le istruzioni di cui sono composti i programmi Processore Stampante Memoria secondaria Memoria principale

71 Memoria secondaria La memoria secondaria deve avere capacità di memorizzazione permanente e quindi per la sua si utilizzano tecnologie basate: sul magnetismo (tecnologia magnetica) dischi magnetici (hard disk e floppy disk) nastri magnetici sulluso dei raggi laser (tecnologia ottica) dischi ottici (CD-ROM, DVD)

72 Caratteristiche della memoria secondaria La memoria principale permette di indirizzare ogni singola cella (8, 16, 32 o 64 bit) Mentre nel caso della memoria secondaria le informazioni sono organizzate in blocchi di dimensioni più grandi (512 byte, 1 KB, 2 KB) Si riducono le dimensioni degli indirizzi Si velocizzano le operazioni di lettura e scrittura

73 I dischi magnetici Hard disk: sono dei dischi che vengono utilizzati come supporto di memoria secondaria fisso allinterno del computer vari GB di memoria Floppy disk: sono supporti rimovibili Oggi sono comuni floppy disk da 3,5 pollici di diametro, capacità 1,44 MB

74 La memoria magnetica Sfrutta il fenomeno fisico della polarizzazione Sul supporto ci sono delle particelle magnetiche I due diversi tipi di magnetizzazione (positiva e negativa) corrispondono alle unità elementari di informazione (0 e 1) La testina di lettura/scrittura cambia la polarizzazione

75 I dischi magnetici I dischi magnetici: sono i supporti di memoria più diffusi Nel corso delle operazioni i dischi vengono mantenuti in rotazione a velocità costante e le informazioni vengono lette e scritte da testine del tutto simili a quelle utilizzate nelle cassette audio/video

76 I dischi magnetici I dischi sono suddivisi in tracce concentriche e settori, ogni settore è una fetta di disco I settori suddividono ogni traccia in porzioni dette blocchi Testina Traccia Blocco Settore

77 I dischi magnetici La suddivisione della superificie di un disco in tracce e settori viene detta formattazione Il blocco è dunque la minima unità indirizzabile Il suo indirizzo è dato da una coppia di numeri che rappresentano il numero della traccia e il numero del settore

78 I dischi magnetici I dischi magnetici consentono laccesso diretto È possibile posizionare direttamente la testina su un qualunque blocco (noto il numero della traccia e il numero del settore) Per effettuare unoperazione di lettura/scrittura la testina deve raggiungere il blocco desiderato Il disco gira; la testina sposta solo in senso radiale

79 I dischi magnetici piatto testina briaccio piatti testine

80 I dischi magnetici Se acquistate un computer e vi dicono che ha un hard disk di 20 GB vi stanno specificando le dimensioni della sua memoria di massa Allaumentare della capacità di memoria di massa, aumenterà il numero di programmi e documenti che potete conservare nel vostro computer

81 La memoria ottica Usa il raggio laser e sfrutta la riflessione della luce Il raggio laser viene riflesso in modo diverso da superfici diverse, e si può pensare di utilizzare delle superfici con dei piccolissimi forellini Ogni unità di superficie può essere forata o non forata Linformazione viene letta guardando la riflessione del raggio laser

82 La memoria ottica 010010101

83 0101

84 I dischi ottici CD-ROM (CD-ROM ovvero Compact Disk Read Only Memory): consentono solamente operazioni di lettura Poiché la scrittura è unoperazione che richiede delle modifiche fisiche del disco Vengono usati solitamente per la distribuzione dei programmi e come archivi di informazioni che non devono essere modificate CD-R: possono essere scrivibile una sola volta CD-RW: riscrivibili; basati su più strati di materiale

85 I dischi ottici Hanno un capacità di memorizzazione superiore rispetto ai dischi magnetici estraibile Normalmente 650 MB - 700 MB Hanno costo inferiore rispetto ai dischi magnetici, sono più affidabili e difficili da rovinare

86 Memory card/USB flash drive Diffusi in vari formati e con vari nomi (memory card, compact flash, memory pen, memory stick, USB flash drive, USB stick, …) Nati del mondo delle immagini digitali (per fotocamere e telecamere) come supporto interno estraibile Medie dimensioni: normalmente 64 MB – 1 GB USB flash drive, USB stick: utilizzabile sulle porte USB di un personal computer Più veloce dei floppy disk, e facilmente trasportabili

87 Unità di misura Floppy disk da 3,5 pollici di diametro, capacità 1.44 MB Dischetti ad alta capacità, Iomega Zip (100 – 750 MB), LS-120 (120 MB) Memory card/USB flash drive: 64 MB – 1 GB Hard disk, vari GB di memoria CD-ROM, 650 MB - 700 MB DVD, da 4.7 fino a 17 GB di memoria Nastri magnetici, usati solo per funzioni di backup

88 Registri Mem. cache Mem. centrale Dischi magnetici e/o ottici Nastri magnetici byte Aumenta la capacità memorizzazione KB 10*millisecondi microsecondo/ millisecondi 10*nanosecondi nanosecondi 100*picosecondi MB GB >10 GB Aumenta la velocità di accesso

89 Architettura dei computer Un computer deve: elaborare linformazione usando il processore (Central Processing Unit - CPU) memorizzare linformazione usando la memoria principale (RAM) usando la memoria secondaria fare linput/output dellinformazione usando i dispositivi di input/output

90 Componenti principali di un computer Unità centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Periferiche del calcolatore

91 I dispositivi di input/output Per realizzare linterazione uomo-macchina, sono necessari i dispositivi di input/output La loro funzione primaria è quella di consentire … limmissione dei dati allinterno del computer (input) o luscita dei dati dal computer (output)

92 I dispositivi di input/output Input: Tastiera Mouse (e altri strumenti di puntamento) Scanner Microfono Macchine fotografia e telecamera digitale Lettori di codici a barre Output : Videoterminale Stampante Casse acustiche Input/output: Touchscreen Modem

93 I dispositivi di input/output Solitamente hanno limitato autonomia rispetto al processore centrale Si collegano alle porte (o interfacce) del computer Ad alto livello le porte sono le prese cui si connettono i dispositivi Ne esistono di tipi diversi a seconda del tipo di collegamento e della velocità di trasmissione (esempio: porta USB)

94 I dispositivi di input/output Operano in modo asincrono rispetto al processore (ne sono schiavi) Si parla di gestione master-slave: è il processore che deve coordinare le attività di tutti i dispositivi (Input) Il processore non è in grado di prevedere e di controllare il momento in cui un dato di input sarà a disposizione (Output) Il processore non può prevedere il momento in cui un dispositivo in output avrà terminato di produrre i dati in uscita

95 I dispositivi di input/output Un dispositivo di input deve avvertire il processore quando un dato di input è disponibile Un dispositivo di output deve avvertire il processore quando ha terminato di produrre dati in uscita Al termine di ogni operazione i dispositivi inviano al processore un segnale, detto interrupt, che indica che il dispositivo ha bisogno di attenzione

96 I dispositivi di input/output Ad ogni ciclo di clock, il processore verifica se sono arrivati dei segnali di interrupt da parte dei dispositivi Se sono arrivati dei segnali, il processore va ad eseguire le operazioni di gestione dei dispositivi che hanno richiesto lattenzione Se non sono arrivati dei segnali, il processore continua ad eseguire il programma corrente

97 REALIZZAZIONE FISICA DELLARCHITETTURA DI VON NEUMANN Nei computer odierni, le funzioni logiche dellunita centrale sono svolte da un MICROPROCESSORE Il microprocessore è il vero cuore del computer

98 MICROPROCESSORI MODERNI

99 MICROPROCESSORE E PIASTRA MADRE Il microprocessore è incastonato nella piastra madre La piastra madre raccoglie in maniera efficiente e compatta altre componenti fondamentali di ogni computer, come la memoria, le porte di comunicazione, ecc.

100 La struttura interna della piastra madre

101 Microprocessore e piastra madre La memoria RAM è una memoria di lavoro, volatile: il suo contenuto sparisce quando si spegne il computer La memoria ROM è una memoria non volatile, che di norma non viene modificata dallutente La memoria ROM contiene di norma il BIOS (Basic Input Output System): una serie di informazioni di base delle quali il sistema ha bisogno per funzionare

102 Attorno alla piastra madre Come abbiamo detto, la RAM è una memoria volatile, che non è in grado di conservare in maniera permanente dati e programmi Per questultimo scopo, è bene disporre di depositi di memoria ancor più grandi; vogliamo infatti conservarvi tutti i programmi e tutti i dati che desideriamo avere a nostra disposizione, e non solo quelli che utilizziamo in un dato momento

103 Attorno alla piastra madre È questo lo scopo dei DISPOSITIVI DI MEMORIA DI MASSA Fra i dispositivi di memoria di massa, ricordiamo disco rigido (hard disk), dischetti (floppy), nastri e cartucce magnetiche, magneto-ottiche e ottiche, CD-ROM, DVD

104 Attorno alla piastra madre Attraverso appositi alloggiamenti o slot, alla piastra madre possono essere collegate anche schede di espansione Le schede di espansione permettono in genere di potenziare le capacità del computer in settori specifici (ad es. la grafica), o di collegarvi dispositivi esterni Al corpo centrale (cabinet) del computer sono di norma connessi diversi dispositivi esterni, utilizzati in genere per linput e loutput dei dati

105 HARDWARE: RIASSUNTO DELLE IDEE PRINCIPALI Architettura di von Neumann: Divisione in componenti collegate da bus Ciclo di esecuzione istruzioni Divisione della memoria in diversi livelli Funzionamento asincrono dellinput/output Realizzazione fisica dellarchitettura di von Neumann: Piastra madre Memorie volatili e non volatili

106 APPLICAZIONE PRATICA

107 CARATTERISTICHE DI UN COMPUTER (2)

108

109 CHE COSA IL SOFTWARE FA PER VOI

110 TRE TIPI DI SOFTWARE Software APPLICATIVO: programmi che permettono di svolgere funzioni VIDEOGIOCHI, WORD PROCESSING, DATABASE, POSTA ELETTRONICA PROGRAMMI UTENTE veri e propri Software DI SISTEMA: controlla lhardware, gestisce linterfaccia con utente, coordina le applicazioni SISTEMA OPERATIVO, INTERFACCIA RETE

111 IL SOFTWARE DI SISTEMA Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà

112 Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà Lutente dovrebbe conoscere lorganizzazione fisica dellelaboratore e il suo linguaggio macchina LOAD 32 R2 ADD R1 84 IL SOFTWARE DI SISTEMA

113 Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà Lutente dovrebbe conoscere lorganizzazione fisica dellelaboratore e il suo linguaggio macchina Ogni programma dovrebbe essere scritto utilizzando delle sequenze di bit ed ogni piccola differenza hardware comporterebbe una riscrittura del programma stesso

114 IL SOFTWARE DI SISTEMA È necessario fornire un meccanismo per astrarre dallorganizzazione fisica della macchina Lutente deve: usare nello stesso modo (o comunque in un modo molto simile) macchine diverse dal punto di vista hardware avere un semplice linguaggio di interazione con la macchina avere un insieme di programmi applicativi per svolgere compiti diversi

115 IL COMPUTER VIRTUALE Il SOFTWARE DI SISTEMA opera unASTRAZIONE mettendo a disposizione dellutente (programmatore) un set di operazioni PIU RICCO di quello definito dallhardware (o dai livelli di software di sistema inferiori) Facendo cio realizza una MACCHINA VIRTUALE che non esiste fisicamente Questoperazione di astrazione puo essere ripetuta piu volte

116 ESEMPI DI ISTRUZIONI VIRTUALI STAMPA CARATTERE A Eseguire questa istruzione richiede mettere carattere A in unarea speciale (print buffer), inviare un segnale alla stampante che ce dellinput, aspettare che la stampante abbia finito e controllare che tutto abbia funzionato OK APRI DOCUMENTO B Un `documento é semplicemente una lista di blocchi su tracce possibilmente diverese del disco

117 SISTEMA OPERATIVO Il sistema operativo e il software di sistema che gestisce ed interagisce direttamente con il computer, presentando a tutti gli altri tipi di software uninterfaccia che astrae dalle caratteristiche dellhardware specifico. Esempi: Windows XP, Unix (Linux, Sistem X Apple), etc.

118 Funzioni principali del sistema operativo Avvio del computer Gestione del processore e dei programmi in esecuzione (detti processi) Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con lutente

119 LA STRUTTURA A CIPOLLA DEL SISTEMA OPERATIVO 0111000101 1101010100 0011110 Hardware Utente Avvio Gestione: i processi, la memoria, i disp. di input/output Interfaccia utente

120 Funzioni principali del sistema operativo Avvio del computer Gestione del processore e dei programmi in esecuzione (detti processi) Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con lutente

121 Esecuzione dei programmi Quando si scrive un comando (oppure si clicca sullicona di un programma), il sistema operativo: Cerca il programma corrispondente sulla memoria secondaria Copia il programma in memoria principale … Processore Stampante Memoria secondaria Memoria principale

122 Esecuzione dei programmi Quando si scrive un comando (oppure si clicca sullicona di un programma), il sistema operativo: Cerca il programma corrispondente sulla memoria secondaria Copia il programma in memoria principale Imposta il registro Program Counter con lindirizzo in memoria principale della prima istruzione del programma

123 Sistemi mono-utente, mono- programmati Un solo utente può eseguire un solo programma alla volta È forzato a sequenzializzare i programmi Il programma viene lanciato, eseguito e quindi terminato Ma il processore viene sfruttato al meglio?

124 Sistemi mono-utente, mono- programmati No, il processore non viene sfruttato al meglio: si spreca molto tempo Il processore è molto più veloce dei supporti di memoria secondaria e delle altre periferiche Passa la maggior parte del suo tempo in attesa Durante lattesa si dice che il processore è un uno stato inattivo (idle)

125 Esecuzione sequenziale Supponiamo che il nostro sistema sia un bar in cui il barista serve diversi clienti Il barista è corrispondente del processore, i clienti sono lequivalente dei processi da eseguire Esecuzione mono-programmati: OrdinarePreparare il caffé Consumare Pagare OrdinarePreparare il caffé Consumare Pagare Client 1Client 2

126 Soluzione In realtà: Ordinare (C1) Preparare il caffé (C1) Pagare (C1) Ordinare (C2) Preparare il caffé (C2) Pagare (C2) Client 1 Client 2

127 Soluzione: sistemi multiprogrammati Quando il processore è nello stato di idle può eseguire (parte di) un altro processo Quando un processo si ferma (per esempio in attesa di un dato dallutente) il processore può passare ad eseguire le istruzione di un altro processo Il sistema operativo si occupa dellalternanza tra i processi in esecuzione

128 IL TASK MANAGER

129 Funzioni principali del sistema operativo Avvio del computer Gestione del processore e dei processi Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con lutente

130 IL FILE SYSTEM

131 BLOCCHI SU DISCO I dischi sono suddivisi in tracce concentriche e settori, ogni settore è una fetta di disco I settori suddividono ogni traccia in porzioni dette blocchi Testina Traccia Blocco Settore

132 STORIA DEI SISTEMI OPERATIVI Prima generazione: 1945 - 1955 valvole Seconda generazione: 1955 - 1965 transistors, sistemi batch Terza generazione: 1965 – 1980 Circuiti integrati, multiprogramming Quarta generazione: 1980 – oggi personal computers, interfacce grafiche

133 SISTEMI BATCH Early batch system bring cards to 1401 read cards to tape put tape on 7094 which does computing put tape on 1401 which prints output

134 SISTEMI BATCH Struttura di un tipico Fortran Monitor System job

135 PRIMI SISTEMI OPERATIVI MULTI-TASKING CTSS (Compatible Time Sharing System - 1962) MULTICS (MULTIplexed Information and Computing Service - 1965) UNIX (1969)

136 SISTEMI OPERATIVI PER PC MS-DOS (MicroSoft Disk Operating System - 1980) Apple Mac: primo sistema operativo ad utilizzare il nuovo tipo di interfaccia a finestre sviluppato da Xerox Windows (1985) Windows 95, Windows 98, Windows Me Windows NT, Windows 2000 (5 th version of NT), Windows XP UNIX per PC: Minix (1987) Linux (1994)

137 INTERFACCE SU RETE E WEB A partire dal 1980 una componente essenziale del sistema operativo Lezione 4

138 LETTURE Tomasi, Capitolo 1.5, 1.6 ed 1.7 Architettura: http://it.wikipedia.org/wiki/Computer http://en.wikipedia.org/wiki/Von_Neumann_architecture http://it.wikipedia.org/wiki/Computer http://en.wikipedia.org/wiki/Von_Neumann_architecture Sistema operativo: http://it.wikipedia.org/wiki/Sistema_operativo http://it.wikipedia.org/wiki/Storia_dei_sistemi_operativi http://it.wikipedia.org/wiki/Sistema_operativo http://it.wikipedia.org/wiki/Storia_dei_sistemi_operativi

139 RINGRAZIAMENTI Parte del materiale proviene da: Corso di Informatica Umanistica 2004/05 (Cuel / Ferrario) Corso di IU di Fabio Ciotti (Roma) Corso di Informatica di Jeremy Sproston (Torino)


Scaricare ppt "INFORMATICA UMANISTICA B COMPUTER: HARDWARE E SOFTWARE"

Presentazioni simili


Annunci Google