12
Indice generale L’informatica ed il computer........................................................3 Introduzione ............................................................................................. 3 Informatica..................................................................................................... 3 Definizione di computer.................................................................................. 5 Hardware e software ................................................................................ 7 Il case e la scheda madre ........................................................................ 7 Lo schema di Von Neuman ..................................................................... 8 L'unità centrale di elaborazione (CPU) ................................................ 11 Caratteristiche di un microprocessore ................................................ 12 La memoria centrale .............................................................................. 13 Organizzazione logica della Memoria Centrale ............................................. 14 La memoria RAM......................................................................................... 15 LA ROM....................................................................................................... 16 La memoria Cache........................................................................................ 17 Dimensione o capacità di memorizzazione della memoria: bit e byte e multipli ......................................................................................................... 18 BIT............................................................................................................... 18 Byte.............................................................................................................. 19 Multipli del byte usati per specificare la dimensione della memoria .............21 File............................................................................................................ 21 I bus......................................................................................................... 22 Bus degli indirizzi (address bus): .................................................................. 22 Bus dei Dati (Data Bus) ................................................................................ 22 Bus di Controllo: (Control Bus) .................................................................... 23 Istruzioni e fasi di una istruzione ......................................................... 23 Le unità di Output, unità di input, memorie di massa ........................ 24

Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

Embed Size (px)

Citation preview

Page 1: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

Indice generale

L’informatica ed il computer........................................................3

Introduzione.............................................................................................3

Informatica.....................................................................................................3

Definizione di computer..................................................................................5

Hardware e software................................................................................7

Il case e la scheda madre........................................................................7

Lo schema di Von Neuman.....................................................................8

L'unità centrale di elaborazione (CPU)................................................11

Caratteristiche di un microprocessore................................................12

La memoria centrale..............................................................................13

Organizzazione logica della Memoria Centrale.............................................14

La memoria RAM.........................................................................................15

LA ROM.......................................................................................................16

La memoria Cache........................................................................................17

Dimensione o capacità di memorizzazione della memoria: bit e bytee multipli.........................................................................................................18

BIT...............................................................................................................18

Byte..............................................................................................................19

Multipli del byte usati per specificare la dimensione della memoria.............21

File............................................................................................................21

I bus.........................................................................................................22

Bus degli indirizzi (address bus):..................................................................22

Bus dei Dati (Data Bus)................................................................................22

Bus di Controllo: (Control Bus)....................................................................23

Istruzioni e fasi di una istruzione.........................................................23

Le unità di Output, unità di input, memorie di massa........................24

Page 2: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

L’informatica ed il computer

Introduzione

Prepariamoci a compiere un viaggio interessante, un'esperienza brillante:l'esplorazione del computer e dei suoi componenti attraverso lo studio della suaarchitettura. Ma prima di far questo diamo alcune precisazioni sull’informatica.

Visto che stiamo per affrontare un corso di informatica è necessario capireinnanzitutto cosa è l’informatica e di che cosa si occupa l’informatica. Tutti noiabbiamo un’idea di che cosa è l’informatica ma se facessimo delle domande in classeotterremmo delle risposte varie: la più “gettonata” è questa: si occupa dei computer.Inutile dire che non è esatto o, almeno, non si tratta solo di questo. Possiamo darequesta definizione

Informatica

e la scienza che si occupa elaborazione automatica dell'informazione. Questosignifica che il principale campo di studio degli informatici è la progettazione e larealizzazione di procedure automatiche (chiamate algoritmi ) capaci di elaborare nelmodo desiderato i dati.

In questa definizione ci sono due termini importanti

1) elaborazione dell’informazione che in informatica significa acquisizione,trasformazione, conservazione, comunicazione e trasmissione delle informazioni

2) automatica affinché si possa parlare di informatica questa elaborazione dei datideve essere automatica, e questo significa che l'operazione viene svolta senzal'intervento umano tranne, eventualmente, per l'immissione dei dati iniziali.

Come dicevamo prima le risposte che si ottengono quando si chiede cosa èl’informatica ad un “profano” sono: è un qualcosa che si occupa dei computer, deitablet, degli smartphone etc. In realtà questi sono solo strumenti, benchéimportantissimi, dell’informatica ne più ne meno come il telescopio è uno strumentoper l’astronomia. Sicuramente lo sviluppo di questi strumenti ha contribuito inmaniera importantissima allo sviluppo odierno dell’informatica perché tramite icomputer oggi controlliamo ed elaboriamo una grandissima quantità di informazioni.Pensate ai comuni ed alle informazioni anagrafiche, che poi sono alla base dei serviziche vengono offerti ai cittadini. Pensate alle prenotazioni di Aerei, o all’acquisto diprodotti o servizi online. Tutto questo è possibile ed è facilitato enormementedall’informatica e dallo sviluppo dei computer. La rivoluzione informatica ed

elettronica ha subito un incremento notevole grazie all’invenzione di un particolarecomponente elettronico che è alla base di tutti i circuiti elettronici moderni: iltransistor. Questo componente è alla base dei microprocessori, della RAM e deicircuiti integrati in generale: ogni microprocessore contiene tantissimi transistor chene permettono il funzionamento e maggiore è il numero di transistor maggiore sarà lavelocità del microprocessore stesso e quindi del computer. Nel corso della brevestoria dell’elettronica il numero di transistor contenuti all’interno dei microprocessoriè aumentato i modo impressionante rispettando una legge empirica nota come leggedi Moore come si può osservare dal seguente grafico.

Questo grafico mostra l’andamento nel tempo del numero di transistor presenti in unmicroprocessore: come vedete si parte da 2300 transistor per microprocessore sino adarrivare a oltre 2 miliardi di transistor per microprocessore nel 2010! Chissà quantisono oggi! Si parla di Microprocessore in quanto le dimensioni dei processori si sonoandate riducendo sempre di più sino appunto ad “intregrare” miliardi di componentielettronici in oggetti della dimensione di una moneta da un’euro.

Page 3: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

Definizione di computer

Con il termine computer (mutuato dalla lingua Inglese e tradotto in italiano con leparole "calcolatore" o "elaboratore elettronico') intendiamo una macchina costituitada dispositivi di diversa natura (meccanici, elettrici, elettronici, ottici ecc.) in grado dielaborare dati in modo automatico, veloce. sicuro ed efficiente.

Il termine architettura riferito a un computer indica l'organizzazione logica delle suecomponenti interne e le modalità secondo le quali queste cooperano tra di loro percompiere azioni più o meno complesse. Noi studieremo la cosiddetta architettura diVon Neumann che è alla base di tutti i computer moderni.

Le principali caratteristiche di un computer sono la rapidità e l'affidabilità.Chiariamo alcuni termini usati nella definizione. Abbiamo detto che il computer:

• è una macchina, cioè un dispositivo privo di intelligenza autonoma, comel'automobile;

• è elettronico, cioè il suo funzionamento si basa su componenti di tipoelettronico;

• è un elaboratore di dati, cioè, eseguendo le istruzioni di un programma, ècapace di ricevere dati dall'esterno, operare su di essi e fornire i risultatidell'elaborazione, sollevando così l'uomo da compiti noiosi, ripetitivi e complessi.

Il computer lavora, dunque, partendo da informazione in ingresso (l'input delprocesso di elaborazione), la elabora in base a una serie di regole (un programma) erestituisce informazione in uscita (l'output del processo).

II computer. quindi, è una macchina programmabile. cioè una macchina che puòessere utilizzata per risolvere problemi diversi, in grado di interpretare ed eseguireuna serie di ordini impartiti dall'esterno.

Non dimentichiamo che il computer è una macchina. L'elaborazione dei dati avvieneESEGUENDO, attraverso i suoi componenti fisici, le ISTRUZIONI contenutenei programmi.

Parleremo, quindi, di sistema di elaborazione per sottolineare il fatto che questaavviene grazie all'interazione di risorse diverse.

Hardware e software

Un computer svolge i suoi compiti utilizzando le proprie risorse che possono essereraggruppate in due grandi categorie: hardware e software.

• Le risorse hardware sono la parte fisica del computer, cioè l'insieme delle suecomponenti meccaniche, elettriche, elettroniche, magnetiche e ottiche

• Le risorse software sono, invece, la parte logica del computer, cioè tutti iprogrammi che ci consentono di gestire il sistema.

L'elaborazione dei dati avviene grazie all'interazione tra hardware e software. È unpo’ come avviene nel corpo umano: quando noi pratichiamo uno sport, è la nostramente che invia i comandi ai vari organi del corpo e ne controlla (consciamente oinconsciamente) il movimento. Allo stesso modo, l'hardware obbedisce ai comandiinviati dal software, cioè dai programmi le cui istruzioni controllano la macchina.Osserviamo che si tratta di due risorse complementari cioè che si completano avicenda e sono necessarie l’una all’altra: senza software l’hardware non serve a nullae senza hardware il software non serve a nulla.

Page 4: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

Esempi comuni di Hardware sono: la tastiera, il mouse, il case, il microprocessore, laRAM, la scheda video, il monitor: in generale tutto ciò che si può toccare con manoin un computer rappresenta l’hardware di un computer.

Esempi comuni di software sono i Sistemi operativi, come windows, Mac Os, Linux,Android, IOS, i software di videoscrittura come Microsoft Office Word, LibreOfficeWiriter, i Fogli di calcolo come Excel o Calc, i browser web come Chrome, Firefox,Safari o Internet Explorer.

Il case e la scheda madre

Osservando la figura della pagina precedente si nota che un personal computer èformato da varie parti: schermo, tastiera, mouse ecc., tutte collegate a dispositivipresenti all'interno di un contenitore di metallo, che si chiama comunemente case (sipronuncia “cheis”). Paragonandolo al corpo umano, potremmo dire che il contenutodel case (cioè i componenti elettronici presenti al suo interno) rappresenta la"testa",cioè la parte del corpo che contiene il cervello e il “centro della memoria”. Ilcase contiene, infatti, tutte le componenti fondamentali necessarie per poter"manipolare" le informazioni. Per la precisione è il contenitore di metallo, privo ditutti i dispositivi in esso presenti, che prende il nome di case e assume nomi diversi inbase alla conformazione; in particolare: Desktop (da tavolo orizzontale, sempre piùrari) e Tower (verticale). Quest'ultimo, a seconda delle caratteristiche di grandezza,prende il nome di Mini Tower, Middle Tower e Full Tower (dal più piccolo al piùgrande).

Esistono infine computer detti All-In-One (unico blocco),con schermo e case in ununico blocco (un esempio tipico sono i MAC ma esistono anche altri pc simili).

Il case di un computer è facilissimo da aprire (l'interno deve essere accessibile peraggiungere o sostituire alcune componenti): alcuni si aprono svitando poche viti, altrisfruttando un semplice sistema a incastro.

All'interno del case, la prima componente che attrae la nostra attenzione è una grandepiastra piena di elementi elettronici di tutti i tipi: è la scheda madre (o piastra madreo motherboard), componente fondamentale del computer. La scheda madre è lacomponente che funge da piattaforma di comunicazione per tutte le altre, ovvero aessa vengono collegate tutte le parti del PC, che così possono dialogare fra loro.

Lo schema di Von Neuman

Per capire quali sono i componenti fondamentali di un computer e come questicooperino tra loro per svolgere le loro funzioni si utilizza un semplice schema, la cui“invenzione” si deve a Von Neumann nella prima metà degli anni 40’ e su cui si sonobasati e si basano tutt’ora i computer. Si parla di modello di Von Neumann o diAchitettura di Von Neumann e ,ricordiamo, che con architettura si intende l’insiemedi componenti logiche di cui è formato e come esse cooperano per eseguireoperazioni più o meno complesse

Ecco un disegno dello schema

In questo schema sono riassunte le FUNZIONALITÀ principali che deve avereun computer. Le FRECCE dello schema rappresentano la direzione del flusso dei

MEMORIACENTRALE

UNITÀ DIOUTPUT

CPU MEMORIA DI MASSA

UNITÀ DI OUTPUT

FLUSSO DI DATI

Unità Centrale

Page 5: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

dati. A sinistra troviamo le unità di input il cui scopo è quello di immettere dati eprogrammi, provenienti dal mondo esterno, nell’unità centrale (L’UNITÀCENTRALE o Central Unit in inglese è l’insieme della CPU e della Memoriacentrale). Esempi di dispositivi reali che possono essere considerati unità di inputsono: la tastiera, il mouse, la webcam, lo scanner, il microfono etc. Tutti questidispositivi permettono di immettere informazioni dal mondo esterno verso l’unitàcentrale e pertanto sono dispositivi di input. In generale per INPUT in un computer siintende l’immissione di DATI dal mondo esterno verso il computer e in particolareverso l’unità centrale.

Muovendoci verso destra troviamo l’unità centrale che è l’insieme della memoriacentrale (detta anche memoria primaria o di lavoro) e della CPU. L’unità centralenel suo complesso è il centro dell’elaborazione del computer in quanto contienesia gli organi di memorizzazione che gli organi di esecuzione.

Andiamo con ordine.

La CPU è l’organo esecutivo cioè la parte principale del computer capace dieseguire le singole istruzioni dei programmi ad una velocità elevatissima e, nelcomplesso, di eseguire i programmi stessi.

I programmi o il software sono costituiti da decine, centinaia, migliaia o milioni diistruzioni e la CPU è l’organo capace di recuperare ad una ad una questeistruzioni dalla Memoria centrale e di eseguirle sempre ad una altissimavelocità. Questi appena descritti sono i compiti fondamentali della CPU, nelseguito vedremo altri dettagli su di essa.

La memoria centrale (MC) è la memoria di lavoro del computer, cioè l’organo dimemorizzazione principale del computer. Viene chiamata anche con altri nomi:memoria di lavoro o memoria primaria. Essa è deputata a conteneremomentaneamente tutti i programmi in esecuzione ed anche i dati elaborati daquesti programmi.

Mantiene i programmi solo sino a quando sono in esecuzione: una volta terminati lazona di memoria in cui era contenuto quel programma può essere utilizzata da unaltro programma.

CPU e MC sono in continua comunicazione fra loro in quanto la CPU preleva, unaalla volta, le istruzioni del programma da eseguire dalla memoria centrale, decodificatale istruzione e poi la esegue. Talvolta l’esecuzione di questa istruzione comporta

anche la memorizzazione di un risultato nella MC. Quindi si passa ad eseguire laprossima istruzione e così via per sempre sino a quando il computer è acceso.

Muovendoci ancora verso destra troviamo le unità di output. Le unità di output sonoquelle unità che hanno come scopo quello di ricevere i dati elaborati dall’unitàcentrale. Solitamente una volta ricevuti questi dati sono visualizzati, ma nonnecessariamente. I principali dispositivi fisici che possono essere considerati unità dioutput sono lo schermo del computer, la stampante, le casse audio, le cuffie audio.

L’ultimo elemento è la memoria di massa, che nello schema originale di VonNeumann non era presente ma che io inserisco per comprendere meglio il ruolo dellamemoria centrale nel confronto con la memoria di massa. La memoria di massa dettaanche memoria secondaria è una memoria che può contenere molti dati ed è unamemoria permanente o non volatile cioè capace di conservare i dati per lungo tempoed anche quando il computer è spento.

Nei personal computer odierni la memoria di massa è costituita di solito da Hard Diskdi tipo magnetico anche se negli ultimi anni sono stati introdotti i dischi a stato solido(SSD: Solid State Disk) che probabilmente soppianteranno presto i “vecchi” harddisk. Osserviamo inoltre che la memoria di massa è, in generale, una unità sia diinput che di output (come mostrato dalle frecce nei due sensi). Esempi di memorie dimassa sono gli Hard Disk, le chiavi USB, i CD e i DVD1.

Il funzionamento di un computer può allora essere così descritto: i programmi edi dati sono inseriti nell’unità centrale mediante le unità di input. L’unità centrale nelsuo complesso elabora i dati seguendo le istruzioni dei programmi ed, in particolare,i programmi in esecuzione ed i dati da questi elaborati sono caricati nella memoriacentrale. La CPU preleva ad una ad una le singole istruzioni di questi programmidalla memoria centrale e le esegue elaborando in tal modo i dati e depositando irisultati nella MC stessa. Infine i dati elaborati possono essere mostrati tramite leunità di output o memorizzati nella memoria massa per essere successivamentevisualizzati o stampati o elaborati nuovamente.

1 Se i CD e i DVD sono di sola lettura, chiamati CD-ROM o DVD-ROM (ROM sta per Read Only Memory, cioèmemoria sola lettura) allora sono sempre memorie di massa ma sono unità di input e non di input/output

CPU MC

Page 6: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

L'unità centrale di elaborazione (CPU)

Sempre riferendoci al paragone che abbiamo fatto in precedenza, l'unità centrale dielaborazione (CPU, Central Processing Unit) rappresenta il “cervello" del computer:é responsabile dell'esecuzione dei programmi e del controllo di tutto ciò che avvieneall'interno del computer stesso.

La CPU, il leader del sistema di elaborazione, è anche chiamata processore centrale omicroprocessore o chip. Volendo essere precisi Microprocessore e CPU, però, nonsono proprio la stessa cosa: con il termine microprocessore ci si riferisce all'oggettofisico che si trova nel computer (e ormai in numerosi altri dispositivi, dalleautomobili alle macchine fotografiche agli impianti HI-FI), mentre con CPU ci siriferisce alla funzione svolta e, di conseguenza, a un concetto logico-funzionale. Inrealtà, la CPU è incarnata in un microprocessore, e proprio per questo motivo i duetermini possono essere usati spesso indistintamente. La CPU è un'unità funzionalecomposta da un'unità di controllo (CU, Control Unit), da un'unità aritmetico-logica(ALU,Arithmetie Logic Unit) e da alcuni registri. Vediamo ora questi elementi

La CU o UNITÀ DI CONTROLLO (o di governo) ha il compito di gestire esovrintendere al funzionamento di tutte le unità dell'elaboratore e all'esecuzione ditutti i passi necessari per eseguire un programma residente nella memoria centrale.ALLA ALU o UNITÀ ARITMETICO-LOGICA, invece, è delegato il compito dieseguire le operazioni aritmetiche e logiche sui dati provenienti dalla memoriacentrale

I REGISTRI sono piccole ma veloci memorie interne alla CPU, in grado dimemorizzare temporaneamente un'informazione utile e significativa in determinatefasi dell'elaborazione dei dati (in pratica memorizzano, istruzioni, indirizzi di dati oistruzioni, risultati intermedi o finali, etc). I registri dei personal computer attualisono a 64 bit, ma in precedenza si trovavano microprocessori a (cioè con registri di)8, 16, 32 bit.

Caratteristiche di un microprocessore

I vari tipi di CPU presenti sul mercato si differenziano in base alla classe, allafrequenza di clock, al numero di “core” e alla dimensione dei registri.

CPU

CU ALU REGISTRI

LA CLASSE è indicata da una sigla. Tra i maggiori produttori di microprocessoritroviamo Intel, AMD, Motorola. Intel, per esempio, ha usato per i suoi modelli ledenominazioni: 80286, 80386, 80486, Pentium, Pentium II, Pentium III, Pentium IV,Celeron, Centrino, Pentium Dual Core, Pentium Core 2 Duo, i3, i5 e i7. AMD,invece, ha usato per i suoi modelli le denominazioni: Athlon, Sempron, Ryzen ecc.

I microprocessori delle classi più recenti sono solitamente più performanti rispetto aquelli delle classi più vecchie. Un processore che costituisce la punta avanzata dellatecnologia informatica può diventare vecchio in meno di un anno e decisamenteobsoleto in un anno e mezzo.

La FREQUENZA DI CLOCK misura, per così dire, i “battiti del cuore” delcomputer. Il clock è un orologio molto veloce, che non può essere paragonato ainostri orologi da polso! La sua frequenza, infatti, è dell'ordine dei Gigahertz (GHz),ossia di miliardi di oscillazioni al secondo (1GHz = 1000 MHz); solo dieci anni fa la

frequenza di clock era di 400-800 MHz. Per esempio, uncomputer che lavora a 4 GHz(o 4000 MHz) esegue quattromiliardi di azioni elementari alsecondo (considera cheun'istruzione è composta damolte azioni elementari).Questa frequenza è unimportantissimo indice dellavelocità del computer:maggiore è la frequenza,

maggiore sarà la quantità di dati elaborati nell'unità di tempo. Classe e frequenza diclock sono i principali indicatori delle prestazioni di un computer, identificatedall'acronimo Mips (milioni di istruzioni al secondo).

Altra caratteristica che influenza la velocità dei microprocessori è la DIMENSIONEDEI REGISTRI DELLA CPU. Nel tempo si è passati da processori con registri a 4bit, 8 bit, 16, bit, 32 bit, 64 bit (che è la dimensione più utilizzata nei processorimoderni per PC, tablet e smartphone). Si parla di processori a 32 bit o a 64 bit e cosìvia. Si dice anche “è un processore con architettura a 64 bit”.

L’ultimo parametro è il NUMERO DI “CORE”: esso indica il fatto che neimicroprocessori moderni un singolo chip o circuito integrato contiene al suo internonon una sola CPU ma varie CPU: dual core (due CPU), quad core (4 CPU), epta core

Page 7: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

(8 CPU) e così via. Maggiore sarà il numero di core e maggiore sarà la velocità delprocessore e quindi del computer.

La memoria centrale

La memoria di un computer è costituita dall'insieme dei dispositivi che conservano idati e i programmi.

Convenzionalmente la memoria di un computer si divide in due grandi categorie:memoria centrale (o primaria o di lavoro) e memoria di massa (o secondaria).

La prima è una memoria veloce, direttamente utilizzabile dalla CPU per eseguire leoperazioni richieste dal programma, mentre la seconda è una memoria più lenta sullaquale la CPU non può lavorare direttamente, ma sulla quale immagazzina grandiquantità di dati.

Ci soffermeremo più avanti sulla memoria secondaria, per ora concentriamoci suquella centrale, che, nei personal computer attuali, è formata da tre tipi di memoria:RAM, ROM e Cache. Ricordiamo che la memoria centrale è una unità funzionale ein quanto tale astratta: indica la memoria o le memorie direttamente accessibili dallaCPU con un ruolo ben preciso: quello di contenere programmi in esecuzione e dati daessi elaborati2

Organizzazione logica della Memoria Centrale

Una memoria centrale può essere pensata come una sequenza di locazioni o celle dimemoria, ciascuna delle quali ha una dimensione caratteristica della memoria stessatipicamente di uno o più byte, dette anche parole di memoria a cui si può accederesemplicemente conoscendone l’indirizzo. Una figura dovrebbe chiarire molte cose.

In essa sono indicati gli indirizzi che partono da 0 sino ad un certo numero (nonspecificato, dipende dalla dimensione della memoria), sono indicate le celle olocazioni e vi sono indicati i contenuti delle celle di memoria che possono essere didue tipi: istruzioni di qualche programma o dati in elaborazione.

2 E’ importante osservare che i programmi vengono eseguiti mentre i dati NO. I dati vengono elaborati dai programmi.Dire, come spesso sento dagli alunni, i dati vengono eseguiti è sbagliato!

MEMORIA CENTRALE è formata dalle memorie fisiche RAM, CACHE e ROM

La memoria RAM

Nello specifico la memoria RAM (Random Access Memory) è il supporto dimemoria su cui la CPU può leggere e scrivere informazioni con un accesso casuale,

ovvero in cui è possibileaccedere direttamente a ognisingola cella semplicementeconoscendone l'indirizzo.Questo significa che il tempodi accesso alla memoria RAMè lo stesso qualunque sia lacella di memoria a cui siaccede. Mentre usiamo ilcomputer, sulla RAM viene

conservata, momento per momento, la gran parte dei dati sui quali stiamo lavorando edelle istruzioni relative ai programmi che stiamo usando. Rappresenta, quindi, il"banco di lavoro" del computer, nel senso che tutti i programmi, per potere essereeseguiti, devono risiedere nella memoria RAM (cioè devono trovarsi in RAM perpoter essere eseguiti): di solito vengono copiati dall’Hard Disk alla RAM nelmomento in cui li mandiamo in esecuzione. Se un programma si trova su unamemoria di massa, occorre dapprima trasferirlo in memoria RAM, per poterloeseguire. Se volete potete fare un esperimento empirico: sul vostro computer di casadopo che è acceso per qualche minuto provate ad aprire un programma “pesante” tipoword, libre office writer, photoshop, chrome ed osservate che impiega da qualche

Page 8: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

secondo a decine di secondi per andare in esecuzione. É il tempo necessario acopiare il programma da Hard Disk alla Memoria Centrale (alla RAM per laprecisione). Se ora chiudete il programma e dopo 4 o 5 secondi lo riaprite (senza farealtro nel frattempo) noterete come l’avvio sia molto più veloce: questo è dovuto alfatto che il programma si trova già in RAM quando lo riaprite quindi risparmiamo iltempo del trasferimento Hard Disk RAM.

La RAM presenta l’inconveniente di essere una memoria volatile, ossia perde il suocontenuto quando viene spento il computer. Per questo motivo, quando lavori conun'applicazione, è buona regola salvare con frequenza il lavoro fatto: in casocontrario, se venisse a mancare l'energia elettrica perderesti tutti i tuoi dati.

La memoria RAM è contenuta in piccole schede hardware dalle varie capacità.

Nel confronto RAM Hard Disk che è un po il confronto Memoria Centrale MemoriaDi Massa possiamo dire

RAM Hard Disk

1 Veloce Lento

2 Volatile Permanente

3 Costosa Economico

4 Piccola Grande

5La CPU vi può accedere direttamente

La CPU NON vi puòaccedere direttamente

Esercizio per casa: Per quanto riguarda i punti 1, 3 e 4 eseguite una ricerca suinternet per trovare conferma o meno di quanto affermato nella tabella. In particolaretrovate i valori numerici delle varie caratteristiche indicate e confrontateli. L’esitoverrà quindi discusso in classe

LA ROM

La memoria ROM, acronimo di Read Only Memory (memoria a sola lettura) è unamemoria che può essere solo letta ma non scritta. Viene scritta una sola volta infabbrica e poi non può più essere modificata. Questo è quello che accadeva un tempoper la verità oggi è possibile scrivere seppur con difficoltà le ROM ed infatti il nome

non è più corretto. Si tratta di una memoria permanente, ossia capace di conservarele informazioni anche a computer spento.

La ROM svolge la sua funzione fondamentale all’accensione del computer. Essacontiene una serie di routine software chiamate BIOS (Basic Input Outpu System, silegge “baios”) che vengono eseguite all’accensione del computer. Quando ilcomputer viene acceso la prima cosa che viene svolta è l’esecuzione della fase diPOST (Power On Self Test) cioè un programma di autodiagnosi che controlla ilcorretto funzionamento elettrico della RAM e delle periferiche connesse alla schedamadre. Eseguita con successo questa fase si passa alla fase di boot o bootstrap in cuiviene eseguito un programma che va a cercare su una memoria di massa (di solitol’hard disk3) il sistema operativo e lo copia in ram. Una Volta che il Sistema operativoè in RAM il controllo del sistema passa ad esso.

Anche se svolge il suo ruolo solo all’accensione la ROM è fondamentale in quanto ènecessario avere una memoria da cui prelevare le prime istruzioni da eseguire per uncomputer.

La memoria Cache

La memoria cache è una piccola memoria (nei pc attuali 256 kB – 4 MB) che sifrappone fra CPU e RAM per aumentare le prestazioni del computer. Si tratta di unamemoria velocissima (più veloce della RAM) che contiene i dati e le istruzioni piùfrequentemente utilizzate dal computer. Nei computer attuali esistono diversi livelli diCache e si parla di Cache L1, Cache L2 e Cache L3 di velocità decrescenti edimensioni crescenti. Per capire come queste piccole memorie possano velocizzarel’esecuzione dei programmi faccio di solito l’esempio dell’officina meccanica. Inessa possiamo considerare il meccanico come la CPU e poi è presente un banco e unarastrelliera (la cache ) con gli attrezzi che sono usati più di frequente e poi unmagazzino più grande dove si sono tutti gli attrezzi ma che sono usati meno spesso.Per le operazioni più frequenti il meccanico prende dalla cache, in un attimo, gliattrezzi necessari. Solo ogni tanto perderà tempo per andare in magazzino a prenderequalche attrezzo particolare. Pensate a quanto sarebbe più lento il lavoro se tutti gliattrezzi si trovassero nel magazzino più distante: lo stesso accade con Cache e RAM.

3 L’unità su cui va a cercare il SO può essere impostata mediante configurazione del BIOS a cui si può accederedurante le fasi iniziali del POST premento dei tasti che variano da PC a PC ma che di solito sono CANC, F2, F8,F10, F12. A seconda della ersione del BIOS si possono impostare come unità di avvio il HD, CD-ROM, lememorire USB, Dischi di Rete, Floppy disk

Page 9: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

Dimensione o capacità di memorizzazione della memoria: bit ebyte e multipli

Indichiamo con dimensione della memoria o capacità di memorizzazione laquantità di dati che possono essere conservati all’interno della memoria.

All'interno del computer i dati non sono composti da numeri o lettere, così come noili digitiamo da tastiera. Supponiamo che il computer debba eseguire il prodotto di 10per 4. I due numeri saranno introdotti dalla tastiera e il risultato sarà visualizzato sulmonitor. In base a ciò che abbiamo detto, il numero 10 e il numero 4 devono esserememorizzati nella memoria RAM, perché solo lì la CPU può svolgere il suo lavoro. Ilcomputer "comprende" solo impulsi elettrici, per cui tutti i dati che inserisci (numeri,lettere, segni di interpunzione foto, video, suoni e così via) devono essere convertitiin impulsi elettrici affinché possano essere memorizzati. Ogni impulso elettrico sidefinisce bit (binary digit = cifra binaria) e può essere immaginato come unalampadina che, come ben sai, ha solo due stati: accesa e spenta. Nel primo caso, ilbit si trova nello stato 1 (che significa passaggio di corrente), nel secondo caso sitrova nello stato 0 (che significa non passaggio di corrente). Pertanto, gli unicisimboli che il computer riconosce sono le cifre 0 e 1. Potrà sembrarti strano, ma tuttele meravigliose cose che un computer sa fare sono solo frutto di combinazioni di 0 edi 1.

Passa corrente: lampada accesa Non passa corrente: lampada spenta

Le memorie del computer possono essere pensate come composte da milioni omiliardi di queste piccole “lampadine” che possono essere accese o spente. Diamoora una definizione di BIT

BIT

deriva dalla contrazione delle parole BInary digiT, cifra binaria in italiano ed è lapiù piccola unità di informazione memorizzabile ed elaborabile in un computer. Il suovalore può essere 0 o 1.

Con un solo bit possiamo codificare solo 2 fatti e quindi non è molto utile. Siutilizzano spesso all’interno del computer configurazioni di più bit ed in particolareuna configurazione molto importante è il Byte.

Byte

si definisce Byte l’insieme di 8 bit. Se volessimo rappresentare un bit ed un bytepotremmo rappresentarli così

bit byte

I valori 1 o 0 inseriti nelle caselle in questo caso sono del tutto casuali.

È importante capire un concetto riguardo la capacità di rappresentare informazioni e ibit. All’interno del computer tutte le informazioni sono codificate utilizzando i bit.Questo significa che è necessario stabilire delle corrispondenze tra insiemi di bit e“oggetto” rappresentato. Facciamo un esempio molto semplice: voglio codificare lelettere dell’alfabeto italiano con un insieme di bit, ma non so quanti bit mi servonoper codificarle. Se usassimo un solo bit potrei fare così

Codice N° bitN° oggetti diversi

codificabiliEquivale a

0 → A 1 → B 1 2 21

00 → A 01 → B 10 → C 11 → D

2 4 22

000 → A 001 → B010 → C 011 → D 100 → E 101 → F 110 -→G 111 → H

3 8 23

… … … …

8 256 28

In generale con un codice ad 8 bit si possono codificare 256 = 28 “fatti” diversi. Sepensiamo ai caratteri inseribili da tastiera possiamo codificare 256 caratteri diversi,

1 1 0 001011

Page 10: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

più che sufficienti per la maggior parte delle lingue occidentali. Ci rimangono moltialtri caratteri disponibili anche per simboli speciali, segni di interpunzione, etc.

Per rispondere alla nostra domanda iniziale, visto che le lettere dell’alfabeto italianosono 21 allora ci bastano 5 bit in quanto 25 = 32. In questo modo possiamo codificaresolo le maiuscole o le minuscole: se volessi codificarle entrambe mi servirebbero 42combinazioni diverse e 5 bit non mi bastano. Occorrono 6 bit in quanto 26= 64.

Esercizio per casa: supponiamo di usare una codifica a 5 bit per codificare le lettereMAIUSCOLE dell’alfabeto italiano minuscole e maiuscole. La codifica sarà del tipo(Completatelo voi)

00000 A

00001 B

00010 C

00011

00100

00101

00110

00111

01000

01001

01010

01011

01100

01101

01110

01111

10000

10001

10010

10011

10100

10101

10110

10111

11000

11001

11010

11011

11100

11101

11110

11111

Scrivete il vostro Nome o Cognome secondo questa codifica

Multipli del byte usati per specificare la dimensione della memoria

Nella vita di tutti i giorni non si parla frequentemente di bit o byte ma sono molto piùcomuni i multipli del byte per misurare le dimensioni dei file o la capacità dellememorie. Iniziamo col definire cosa è un file

File

Noi indicheremo con file tutto ciò che può essere memorizzato su una memoria dimassa, come un hard disk, una chiavetta usb, un floppy disk, una memoria SD etc.

Una definizione più formale e precisa presa da wikipedia afferma

Il termine inglese file (traducibile come "archivio"), in informatica, viene utilizzatoper riferirsi a un contenitore di informazioni/dati in formato digitale, tipicamentepresenti su un supporto digitale di memorizzazione opportunamente formattato in undeterminato file system.

Le informazioni scritte/codificate al suo interno sono leggibili solo tramite unospecifico software in grado di effettuare l'operazione.

Un file a seconda delle informazioni che memorizza può avere diversi formati chedipendono, solitamente, dal programma con cui è stato creato e salvato. Tipicamenteun programma può salvare i file in tanti formati e può leggere i file in altrettantiformati. Nei sistemi operativi solitamente ad un formato del file si associa la sua“estensione” che indica l’ultima parte del nome dopo l’ultimo punto. Per cui si sentiràparlare di file in formato testo (estensione .txt), in formato word o doc (estensione.doc) o nel nuovo formato di word (estensione .docx) e così via.

Per esercizio provate a creare questi tipi di file ed a verificarne le dimensionioccupate da ciascuno di questi file

1) create un file con blocco note scriveteci il vostro nome e cognome e salvatelocome nomecognome in formato testo

2) create lo stesso file con lo stesso contenuto con word e salvatelo con il formato doc

3) salvate una foto del vostro telefonino

4) create e salvate un video di pochi secondi con il vostro telefonino

Domande

1) determinate l’estensione dei nomi di file che avete salvato

Page 11: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

2) determinate la dimensione precisa di tutti i file che avete creato

3) inviatemi l’esercizio tramite il sito web asaba.altervista.org

Ora parliamo un po dei vari multipli del Byte. Questa tabella riassume tutto quanto.

Osservate come tra KB, MB, GB e TB vi sia sempre un rapporto pari a 1024: cioè ilmultiplo successivo è 1024 volte più grande del precedente. Osservate anche ilnumero di byte: 1GB ≈ 1 Miliardo di Byte e 1TB 1GB ≈ 1000 Miliardi di Byte

I bus

Le varie componenti del computer o unità hanno bisogno di comunicarecontinuamente tra loro e lo fanno per mezzo di “fili” elettrici che collegano tra loroCPU, MC e le unità di input e output. Questi “fili” sono organizzati in gruppi aseconda delle funzioni e dei dati che trasportano e vengono chiamati bus.

Il bus è costituito da una serie di collegamenti Hardware, come se fossero dei filielettrici, uno per ciascun bit trasportato su cui viaggiano tutte le informazioniscambiate tra la CPU, la MC e le unità di I/O.

In un computer troviamo tre bus principali

Bus degli indirizzi (address bus):

serve per trasportare l’indirizzo relativo ad una cella di memoria o a una unità diinput/output. L’unico dispositivo abilitato ad inviare informazioni su questo bus è laCPU e per questo motivo il bus è unidirezionale. La CPU si serve di tale bus perselezionare l’unità con cui comunicare.

Bus dei Dati (Data Bus)

Serve per scambiare i dati veri e propri tra le varie unità. È un bus bidirezionale inquanto tutti i dispositivi possono immettere informazioni su di esso.

1 bit1 Byte 8 bit1 KiloByte 1KB 1024 Byte 1.024 Byte 8.192 bit ≈ 1.000 Byte

1 MegaByte 1MB 1024 KB 1.048.576 Byte 8.388.608 bit ≈ 1.000.000 Byte1 GigaByte 1GB 1024 MB 1.073.741.824 Byte 8.589.934.592 bit ≈ 1.000.000.000 Byte1 TeraByte 1TB 1024 GB 1.099.511.627.776 Byte 8.796.093.022.208 bit ≈ 1.000.000.000.000 Byte

210 Byte

220 Byte

230 Byte

240 Byte

Bus di Controllo: (Control Bus)

è il bus su cui viaggiano le informazioni di controllo (Segnali di lettura, scrittura,unità occupato) tra le varie unità e per sincronizzare le trasmissioni. Il suo scopo èquello di coordinare e controllare il traffico delle informazioni che viaggiano neglialtri bus

Ecco una figura che indica i vari bus presenti in un computer

Istruzioni e fasi di una istruzione

Come ormai sapete un computer esegue le sue elaborazioni eseguendo una ad una leistruzioni del programma che si trovano nella memoria centrale. Per questo motivoc’è una interazione fortissima tra la RAM e la CPU (o la memoria centrale e la CPU).

Per svolgere ciascuna istruzione occorre eseguire una serie di passi, che sarannocompiuti dalla CPU

1) Prelevare l’istruzione che si trova nella memoria centrale e portarla in uno specialeregistro della CPU che si chiama registro istruzioni. Questa fase è nota come Fase diprelievo dell’istruzione o fase di Fetch

2) Una volta che l’istruzione si trova nel registro istruzioni essa viene inviata ad uncircuito di decodifica che fa parte della CU che deve interpretare o decodificarel’istruzione; in poche parole la CU deve “Capire” quale è la funzione dell’istruzione(per esempio potrebbe essere una istruzione di somma di due numeri, sottrazione,spostamento di bit di una determinata cella di memoria, etc). In questa fase, a secondadel tipo di istruzione, potrebbe essere necessario accedere alla memoria centrale per

Page 12: Istruzioni e fasi di una istruzione23 Indice generaleasaba.altervista.org/wp-content/uploads/2017/10/Architettura... · UNITÀ DI OUTPUT CPU MEMORIA DI MASSA UNITÀ DI OUTPUT FLUSSO

prelevare ulteriori dati su cui l’istruzione agisce (per esempio se l’istruzione è disomma di due numeri solitamente i due numeri da sommare si trovano in MC edoccorre andare a prelevarli e portarli in due registri dati della CPU). Questa fase èdetta fase di decodifica o di Decode

3) in questa fase tutto è pronto per il completamento dell’istruzione che verrà eseguitamaterialmente dalla ALU sotto input della CU. Questa è la Fase di esecuzione oExecute (si legge exechiut)

Le unità di Output, unità di input, memorie di massa

Le vedete dal libro di testo da pagina 31 alla pagina 38