Università degli Studi di Cassino Corso di Fondamenti di Informatica Elementi di Architettura. Anno Accademico 2010/2011 Francesco Tortorella

Documenti analoghi
Corso di Fondamenti di Informatica Elementi di Architettura

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Architettura di von Neumann

Architettura di von Neumann

Elementi di informatica

Elementi di informatica

Architettura dei calcolatori

Corso di Sistemi di Elaborazione delle informazioni

Sistema Operativo (Software di base)

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Architettura hardware

Università degli Studi di Cassino e del Lazio Meridionale

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Architettura dei computer

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La memoria principale

Componenti principali

Struttura di un elaboratore

Architettura dei calcolatori e Software di sistema

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Il modello di Von Neumann

Componenti e connessioni. Capitolo 3

Il computer P R O F. L O R E N Z O P A R I S I

Dal sistema operativo all' hardware

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

IL SOFTWARE DI SISTEMA

Organizzazione della memoria principale Il bus

ARCHITETTURA DI UN ELABORATORE

Architettura hardware

Lezione 1: L hardware

Corso di Calcolatori Elettronici I. Memorie. Prof. Roberto Canonico

Architettura degli Elaboratori

Sistema operativo. Interazione con il SO

ARCHITETTURA DI UN ELABORATORE

Il modello di von Neumann

SISTEMI INFORMATIVI AZIENDALI

Esame di INFORMATICA Lezione 4

Architettura di un calcolatore

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

Componenti di un processore

Tecnologie per il web e lo sviluppo multimediale. Sistemi per l elaborazione delle informazioni

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

INFORMATICA. L informatica comprende:

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Elementi di base del calcolatore

LA GESTIONE DELLA I/O

Architettura dei calcolatori

ARCHITETTURA DI UN ELABORATORE

Macchina di Riferimento: argomenti

Architettura degli Elaboratori

Sistemi di Elaborazione delle Informazioni

ARCHITETTURA DI UN ELABORATORE

Introduzione al funzionamento di un calcolatore elettronico

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Sistemi e reti CPU Concetti di base

Il Sistema Operativo

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Architettura dei calcolatori

Il software: cenni sul sistema operativo

Il computer P R O F. L O R E N Z O P A R I S I

Appunti di informatica. Lezione 5 anno accademico Mario Verdicchio

Architettura degli Elaboratori

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Introduzione all'architettura dei Calcolatori

Architettura dei Calcolatori Elettronici

Il software: Istruzioni per il computer

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Architettura di un calcolatore: Introduzione parte 2

INFORMATICA GENERALE

Il Sistema Operativo. Informatica Sistema Operativo 1

Architettura di un processore basato su registri generali.

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Architettura di Von Neumann

Corso di Informatica

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

Appunti di informatica. Lezione 5 anno accademico Mario Verdicchio

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella

Colloquio di informatica (5 crediti)

Il file È un insieme di informazioni: programmi. Il File System. Il file system

Informatica e Bioinformatica anno 2013/2014

Lezione 3: Architettura del calcolatore

static dynamic random access memory

I sistemi operativi. Prof. Daniele Contarino

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

2. Architettura di un calcolatore

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

Sistemi di Elaborazione delle Informazioni

Modulo: Elementi di Informatica

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Sistemi Operativi ed interazione con HW e CAD

Architettura del calcolatore

2) Sistemi operativi. Lab. Calc. AA 2006/07

Note sull architettura del calcolatore

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza

Concetti Introduttivi

Il Processore: l unità di controllo

Transcript:

Corso di Fondamenti di Informatica Elementi di Architettura Anno Accademico 2010/2011 Francesco Tortorella

Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica 1 Interfaccia Periferica 2 Interfaccia Periferica 3

Modello di von Neumann: la memoria centrale Bus di sistema CPU Memoria Centrale Interfaccia Periferica 1 Interfaccia Periferica 2 Interfaccia Periferica 3 Unità esterne Unità esterne

Organizzazione della memoria principale La memoria principale è organizzata come un insieme di registri di uguale dimensione, ognuno dei quali è identificato tramite un numero progressivo ad esso associato, detto indirizzo. Il contenuto dei registri non è immediatamente riconoscibile: non c è distinzione esplicita tra istruzioni e dati e tra dati di tipo diverso. Una istruzione o un dato possono risiedere su più registri consecutivi, se la dimensione del registro di memoria non è sufficiente. Il parallelismo di accesso è definito dall ampiezza del registro Quanti bit sono necessari per codificare un indirizzo? 0 1 2 3 1022 1023 01101101 10010110 00111010 11111101. 00010001 10101001

Organizzazione della memoria principale Il modulo di memoria principale è connesso al resto del sistema tramite il BUS. In particolare, sono presenti tre gruppi di linee: linee indirizzi linee dati linee Read/Write indirizzi 0 1 2 3 1022 1023 01101101 10010110 00111010 11111101. 00010001 10101001 BUS dati Read/ Write

Operazioni sulla memoria principale Le operazioni possibili sul modulo di memoria principale sono orientate ai registri: scrittura di un valore in un registro lettura del valore di un registro In ogni operazione è quindi necessario specificare: su quale registro si intende compiere l operazione indirizzo che tipo di operazione si intende realizzare Read/Write in caso di scrittura, quale sia il valore da memorizzare

Tipologie di memorie Memorie RAM: Con le memorie viste finora si possono realizzare operazioni sia di lettura che di scrittura. Tali memorie si indicano come memorie RAM (Random Access Memory) ed hanno la caratteristica di mantenere il loro contenuto finchè è presente l alimentazione. RAM dinamica o DRAM (Dynamic Random Access Memory): Alta densità di integrazione, economica, lenta Dynamic: è necessario rigenerare i contenuti periodicamente (refresh) RAM statica o SRAM (Static Random Access Memory) Bassa densità di integrazione, costosa, veloce, Static: il contenuto viene mantenuto finché è presente l alimentazione

Tipologie di memorie Memorie ROM: all interno del calcolatore, alcuni programmi e dati (es. i programmi per l avvio all accensione) devono rimanere memorizzati anche quando l alimentazione viene a mancare. Questi sono, inoltre, programmi e dati che, una volta memorizzati, non devono essere più modificati. Per questo tipo di esigenze si utilizzano memorie ROM (Read Only Memory), i cui contenuti sono inseriti una volta per sempre all atto della loro costruzione e non possono più essere modificati o cancellati.

Organizzazione del Sistema di Memoria Requisiti ideali di un sistema di memoria: capacità infinita velocità infinita Evidenza: le memorie economiche (DRAM) sono lente le memorie veloci (SRAM) sono costose e meno integrabili Come realizzare un sistema di memoria che sia capiente, economico e veloce? Un sistema basato su una gerarchia di memoria

La memoria cache Il sistema di memoria è composto da moduli di memoria con caratteristiche diverse e organizzati a livelli. Tra CPU e memoria principale viene posto un modulo di memoria intermedio (cache), ad accesso veloce, ma di capienza limitata. I dati memorizzati sono distribuiti sui vari moduli e possono essere trasferiti tra moduli adiacenti. La distribuzione è realizzata in maniera da cercare di memorizzare i dati e le istruzioni richiesti più frequentemente nella cache, in modo che la CPU possa accedervi velocemente.

Sistema di memoria in un calcolatore attuale Unità di controllo Unità logicoaritmetica registri Cache di primo livello (on chip cache) Cache di secondo livello (SRAM) Memoria Principale (DRAM)

Modello di von Neumann: il bus Bus di sistema CPU Memoria Centrale Interfaccia Periferica 1 Interfaccia Periferica 2 Interfaccia Periferica 3 Unità esterne Unità esterne

Il bus Forma un canale di comunicazione tra le varie unità del calcolatore. Tipicamente è possibile un solo colloquio alla volta tra due unità: un master, che ha la capacità di controllare il bus ed inizia la comunicazione, ed uno slave, che viene attivato dal master. Il bus è formato da un insieme di linee su cui viaggiano i segnali: linee dati linee indirizzi linee controllo Master Slave Linee Controllo Linee Indirizzo Linee Dati

Modello di von Neumann: la CPU Bus di sistema CPU Memoria Centrale Interfaccia Periferica 1 Interfaccia Periferica 2 Interfaccia Periferica 3 Unità esterne Unità esterne

CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i dati relativi), interpretandole ed eseguendole una dopo l altra E formata da: unità di controllo unità logico aritmetica registri Unità di controllo Unità logicoaritmetica Memoria principale registri La CPU è inoltre caratterizzata dall insieme delle istruzioni che può eseguire (instruction set)

L Unità di controllo (1/2) E l unità che si occupa di dirigere e coordinare le attività interne alla CPU che portano all esecuzione di una istruzione Ciclo del processore L esecuzione di una istruzione avviene attraverso alcune fasi: Fetch L istruzione da eseguire viene prelevata dalla memoria e trasferita all interno della CPU Decode L istruzione viene interpretata e vengono avviate le azioni interne necessarie per la sua esecuzione Operand Assembly Vengono prelevati dalla memoria i dati su cui eseguire l operazione prevista dalla istruzione Execute Viene portata a termine l esecuzione dell operazione prevista dalla istruzione Store Viene memorizzato il risultato dell operazione prevista dalla istruzione

L Unità di controllo (2/2) Fetch Decode Operand Assembly L unità di controllo realizza in ciclo le fasi per eseguire la sequenza di istruzioni che costituiscono il programma Execute Store

L Unità Logico Aritmetica E l unità che si occupa di realizzare le operazioni logiche ed aritmetiche eventualmente richieste per eseguire un istruzione Operazioni Aritmetiche ADD SUB MUL DIV REM SET Operazioni Logiche CMP AND OR NOT

I registri Hanno la funzione di memorizzare all interno della CPU dati e istruzioni necessari all esecuzione Registri generali Registri speciali Program Counter (PC) Mem. Address Reg. (MAR) Mem. Data Register (MDR) I registri speciali non sono accessibili dalle istruzioni Istrunction Register (IR)

Connessione della CPU con il sistema I vari componenti interni della CPU sono comunicanti tramite connessioni interne. La CPU è connessa al resto del sistema tramite il BUS (linee indirizzi, dati e controllo). Unità di Controllo Program Counter Register A Mem.Addr. Register Unità Logico Aritmetica Instruction Register Register B Mem. Data Register indirizzi Read/ Write BUS dati

Trasferimento CPU-memoria Qualunque sia il trasferimento da realizzare, la CPU (master) deve precisare l indirizzo del dato da trasferire. In queste operazioni, la memoria è comunque uno slave e subisce l iniziativa della CPU, ricevendo da questa l indirizzo del dato da trasferire e l informazione sull operazione da realizzare (lettura o scrittura)

Trasferimento memoria CPU (lettura) 1. la CPU scrive l indirizzo del dato da trasferire sul MAR che lo propagherà alle linee indirizzi del bus. Contemporaneamente, segnala sulle linee di controllo che si tratta di una lettura. 2. la memoria riceve, tramite il bus, l indirizzo e l indicazione dell operazione da effettuare. Copia il dato dal registro individuato sulle linee dati del bus. 3. il dato richiesto, tramite le linee dati del bus, arriva al MDR della CPU. Da qui sarà spostato verso gli altri registi interni.

Unità di Controllo Unità Logico Aritmetica 0 1 2 01101101 10010110 00111010 Program Counter Instruction Register 3 11111101 Register A Register B 1022 1023 00010001 10101001 Mem. Addr. Register Mem. Data Register Read Read BUS indirizzi dati

Unità di Controllo Unità Logico Aritmetica 0 1 2 01101101 10010110 00111010 Program Counter Instruction Register 3 11111101 Register A Register B 1022 1023 00010001 10101001 Mem. Addr. Register Mem. Data Register Read Read indirizzi BUS dati

Trasferimento CPU memoria (scrittura) 1. la CPU scrive l indirizzo del dato da trasferire sul MAR, mentre il dato viene copiato sul MDR. Il contenuto dei due registri viene propagato sulle linee indirizzi e dati del bus. Contemporaneamente, la CPU segnala sulle linee di controllo che si tratta di una scrittura. 2. la memoria riceve, tramite il bus, l indirizzo, il dato e l indicazione dell operazione da effettuare. Copia il dato dalle linee dati del bus al registro individuato dall indirizzo.

Unità di Controllo Program Counter Unità Logico Aritmetica Instruction Register 0 1 2 3 01101101 10010110 00111010 11111101 Register A Register B 1022 1023 00010001 10101001 Mem. Addr. Register Mem. Data Register Write Write BUS indirizzi dati

Esempio di esecuzione di una istruzione Consideriamo un istruzione del tipo: ADD (1021),(1022),1023 Il cui significato è: somma i valori che trovi nei registri di memoria di indirizzo 1021 e di indirizzo 1022 e memorizza il risultato nel registro di indirizzo 1023. Supponiamo inoltre che l istruzione si trovi memorizzata nel registro di memoria di indirizzo 3. Consideriamo le varie fasi necessarie per l esecuzione di questa istruzione

Fase FETCH PC Unità di Controllo 00000011 Unità Logico Aritmetica IR 0 1 2 3 01101101 10010110 00111010 11111101 1021 11001100 A B 1022 10101001 MAR 00000011 MDR 1023 00000000 indirizzi Read BUS dati

Fase FETCH PC Unità di Controllo Unità Logico Aritmetica 00000110 11111101 IR 0 1 2 3 01101101 10010110 00111010 11111101 1021 11001100 A B 1022 10101001 MAR 00000011 11111101 MDR 1023 00000000 BUS indirizzi dati

Fase OPERAND ASSEMBLY PC Unità di Controllo 00000110 Unità Logico Aritmetica IR 0 1 2 3 01101101 10010110 00111010 11111101 1021 11001100 A B 1022 10101001 MAR 11111101 MDR 1023 00000000 indirizzi Read BUS dati

Fase OPERAND ASSEMBLY

Fase OPERAND ASSEMBLY PC Unità di Controllo 00000110 Unità Logico Aritmetica IR 0 1 2 3 01101101 10010110 00111010 11111101 1021 11001100 A 11001100 B 1022 10101001 MAR 11111110 MDR 1023 00000000 indirizzi Read BUS dati

Fase OPERAND ASSEMBLY PC Unità di Controllo Unità Logico Aritmetica 00000110 11111101 IR 0 1 2 3 01101101 10010110 00111010 11111101 1021 11001100 A 11001100 10101001 B 1022 10101001 MAR 11111101 10101001 MDR 1023 00000000 BUS indirizzi dati

Fase EXECUTE PC Unità di Controllo Unità Logico Aritmetica 00000110 11111101 IR 0 1 2 3 01101101 10010110 00111010 11111101 A 11001100 01110101 B 1021 1022 11001100 10101001 MAR MDR 1023 00000000 BUS indirizzi dati

Fase STORE PC Unità di Controllo Unità Logico Aritmetica 00000110 11111101 IR 0 1 2 3 01101101 10010110 00111010 11111101 1021 11001100 A 11001100 01110101 B 1022 10101001 MAR 11111111 01110101 MDR 1023 00000000 indirizzi Write BUS dati

Fase STORE e poi? PC Unità di Controllo Unità Logico Aritmetica 00000110 11111101 IR 0 1 2 3 01101101 10010110 00111010 11111101 1021 11001100 A 11001100 01110101 B 1022 10101001 MAR 11111111 01110101 MDR 1023 01110101 indirizzi Write BUS dati

Chi gestisce? Bus di sistema CPU Memoria Centrale Interfaccia Periferica 1 Interfaccia Periferica 2 Il computer è formato da un insieme di dispositivi complessi, che interagiscono in maniera complessa A chi è affidata la gestione? Come può l utente interagire efficacemente con il sistema? Unità esterne

L hardware non basta L utente di un computer non può interagire direttamente con l hardware perché: è troppo complesso da gestire offre dei servizi di livello estremamente basso richiede conoscenze estremamente specialistiche l architettura hardware può essere estremamente diversa da computer a computer Il Sistema Operativo è un software apposito che offre all utente gli strumenti per svolgere le operazioni necessarie e gestire le risorse a disposizione

Sistema Operativo Il Sistema Operativo è uno strato software che opera direttamente sull hardware isola dai dettagli dell architettura hardware fornisce un insieme di funzionalità di alto livello Gli obiettivi dell impiego del S.O. sono: Convenienza: rende l utilizzo del computer più semplice ed intuitivo Efficienza: permette di impiegare le risorse del sistema in maniera più efficiente Capacità di evoluzione: permette l introduzione di nuove funzionalità e/o il miglioramento delle risorse hardware senza interferire con il servizio svolto

Sistema Operativo Il S.O. è un software indispensabile, è il primo ad essere eseguito all accensione del computer e resta sempre in RAM Esempi di S.O. diffusi: MS Windows 95, 98, NT, 2000, XP Mac OS OS/2 Linux I programmi sono realizzati per essere eseguiti su un certo S.O.

I servizi del Sistema Operativo Sviluppo di programmi Esecuzione dei programmi Multitasking Accesso ai dispositivi di I/O e di memoria di massa Accesso controllato ai file Organizzazione logica dei dischi Accesso al sistema Criteri di protezione

Struttura del Sistema Operativo A causa della loro complessità i Sistemi Operativi sono di solito strutturati come una serie di livelli (architettura a buccia di cipolla) Ogni livello realizza un certo sottoinsieme di funzioni Ogni livello realizza una macchina virtuale, che nasconde i meccanismi implementativi e offre un insieme ben definito di funzionalità ai livelli superiori

Struttura del Sistema Operativo Hardware Nucleo Gestione memoria Gestione periferiche Programmi utente File system Interprete comandi

Esempio: struttura di Windows

L interprete di comandi L interprete dei comandi (o shell) è la parte più esterna del SO con la quale l utente interagisce Attraverso l interprete, l utente richiede un servizio al SO (esecuzione di un programma, copia di un file, ecc.) l utente inserisce un comando in accordo ad una certa sintassi l interprete riconosce il comando ed attiva una serie di funzioni dei livelli interni l esecuzione di tali funzioni di fatto porta al compimento del comando richiesto L interprete si presenta con un interfaccia di tipo alfanumerico con un interfaccia di tipo grafico (GUI)

L interprete di comandi Interfaccia alfanumerica (finestra DOS) comandi uscite

L interprete di comandi Interfaccia GUI

Il File System Le unità di memoria di massa forniscono il supporto fisico per la memorizzazione permanente dei dati, e presentano caratteristiche estremamente diverse a seconda della casa costruttrice e del tipo di unità. Il File System offre una visione logica uniforme della memorizzazione dei dati basata su un unità di memoria logica, il file, definita indipendentemente dalle caratteristiche fisiche delle particolari unità. Il file è un insieme di informazioni, correlate e registrate nella memoria di massa, identificato da un nome, che può essere formato da più sottoparti. nome: si riferisce ai contenuti del file estensione: si riferisce al tipo del file Dal punto di vista dell utente, un file è la più piccola porzione (logica) di memoria secondaria: i dati, cioè, possono essere scritti nella memoria secondaria solo all interno di un file.

Contenuti dei file Le informazioni registrate all interno di un file sono di due tipi: dati veri e propri programmi eseguibili testi immagini dati numerici attributi di interesse per l utente dimensione del file data di creazione e/o ultima modifica permessi di accesso

Organizzazione logica dei files L insieme dei file presenti in memoria di massa è organizzato secondo una struttura gerarchica ad albero, in cui i nodi intermedi costituiscono le directory (che raggruppano altri files e directory secondo un criterio di omogeneità), mentre le foglie rappresentano i file. All interno di tale struttura, un particolare file è univocamente identificato dal path (o percorso) che localizza la directory in cui il file è memorizzato.

Organizzazione fisica dei files Da un punto di vista fisico, la registrazione del file sul disco viene realizzata dal sistema operativo disponendo il contenuto del file su un insieme di cluster possibilmente contigui. La registrazione dei dati è organizzata in maniera sequenziale, per cui le operazioni di lettura e scrittura possono avvenire solo a partire dall inizio e procedendo verso la fine. La successione dei blocchi nei quali sono memorizzati i bytes che lo compongono può essere strutturata come: File Allocation Table Blocco 1 Blocco 2 Blocco N