Giobe©2000 Collaboratori del Sito Consigli dell'Autore

Aggiornamenti & Novità

Istruzioni per l'Uso

Contatti con l'Autore

Informazioni sull'Autore

Informazioni di Copyright

Home Page - Benvenuto!
Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Capitolo 1

Home » Programma il Computer » Tutorial Assembly

Capitolo 1 - Il processore - Il Debugger

  Il Processore e il Debugger

PROCESSORE 80x86 5/14 [16 di 60] 

    

          

Aggiornato 12 dicembre  2003

    La Memoria Cache
     
bulletAnche la memoria cache (=ripostiglio) presente su un computer può costituire un elemento di scelta, consapevoli che nessun computer può, oggi, farne a meno.
bulletIl problema nasce dal fatto che, sebbene il processore abbia velocità di elaborazione galattiche (dell'ordine del GHz, quella di clock), la memoria di sistema lavora con velocità decisamente inferiore, quella del bus (attualmente, anno 2002233MHz .. tendenti ai 533MHz).

      

bulletQuando la veloce CPU è chiamata ad elaborare dati è, quindi, costretta ad aspettare che questi arrivino, con comodo..., dai suoi lenti bus e dalla sua lenta memoria esterna di sistema; in questo modo le prestazioni complessive degradano inevitabilmente..
bulletPer questo è stata inventata la cache memory, che trova posto tra il primo e la seconda; si tratta di una memoria di piccole dimensioni ma particolarmente veloce; la sua velocità può variare infatti da quella di clock (se di primo livello) a valori comunque superiori a quella del bus.

      

bulletIl trucco consiste nel pre-caricare in cache il maggior numero possibile di istruzioni (o meglio, di codici operativi e di bytes di dato) che il processore prevede di eseguire in una determinata sessione di lavoro; non appena la CPU tenta di comunicare con la sua memoria esterna i dati richiesti (e una buona parte di quelli vicini ad essi) sono trasferiti nella cache.
bulletIn questo modo, almeno nell'immediato e con sufficiente probabilità, la CPU troverà in essa anche i dati necessari in seguito, senza dover attendere troppo.

      

bulletNaturalmente prima o poi capiterà che il dato o il codice operativo (dopo un salto o una chiamata di procedura) richiesti non siano nella cache: in questo caso la CPU sarà comunque costretta ad accedere normalmente alla lenta Ram di sistema posta sul bus.

      

bulletUna delle ragioni della diversa velocità dei 2 tipi di memoria è di tipo tecnologico:
bulletla cache memory è fatta con circuiti elementari a transistor bipolari ed è nota come SRAM (RAM Statica); per questo è molto veloce (meno di 2ns, più di 500MHz) ma relativamente piccola (il valore tipico è di 256kBytes÷512kBytes, fino ad un massimo di 2MBytes) e più costosa.
bulletla memoria centrale di sistema è la Ram per antonomasia, molto semplice dal punto di vista costruttivo; è nota come DRAM (RAM Dinamica) e, di solito, presente in grande quantità (32MBytes, 64MBytes, 128MBytes e via raddoppiando..) e soggetta alla velocità del bus (alcuni esempi: 15ns/66MHz, 10ns/100MHz, 7.5ns/133MHz, 3.75ns/233MHz).

      

bulletFin dalle prime architetture è stata prevista la presenza di cache tra CPU e memoria, direttamente sulla scheda madre e, data la grande efficienza di questo meccanismo, ben presto si è pensato di introdurre parte di essa addirittura dentro il processore; per velocizzare lo scambio di dati tra memoria e processore sono oggi disponibili:
bulletla cache di 1° livello, non grandissima (da 8kBytes fino a 64kBytes) ma funzionante con la stessa velocità (clock) del processore che la ospita.
bulletla cache di 2° livello, posta la cache di 1° livello (dentro la CPU) e la relativamente lenta RAM esterna; la sua dimensione tipica è di 256kBytes e, sebbene all'inizio come detto fosse allocata sulla scheda madre, nei moderni processori è loro parte integrante (come la cache di 1° livello); in questo caso la sua velocità pari a quella del processore (clock) e, comunque, sarà superiore a quella del bus, a seconda del tipo di architettura.

      

Suggerimento La presenza della Cache Memory rende molto più rapida l'esecuzione dei programmi, dato che la CPU trova con buona probabilità i bytes che gli servono direttamente dentro se stessa (Cache di 1° livello) e nelle sue immediate vicinanze (Cache di 2° livello), senza essere costretta a perdere tempo per indirizzare ed aspettare risposta dalla lenta Ram convenzionale esterna.

      

bulletVale la pena ricordare che l'aumento della cache produce aumento di prestazioni, anche se non direttamente proporzionale e comunque subordinato al caso (per altro piuttosto probabile) di contenere dentro di sè i dati necessari alla CPU.
bulletPoichè i suoi costi sono intrinsecamente elevati, la tendenza dei produttori è quella, piuttosto, di rendere le frequenze del bus (e delle memorie DRAM convenzionali) sempre più simili a quella di clock.

    

Pagina Precedente Capitolo 1 Pagina Successiva PROCESSORE 80x86 5/14   Torna alla Home  del Capitolo1 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
16 di 60
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

    

CAP. 1 » 1. Processore 80x86 2. Istruzioni 80x86  3. Debug  4. La Grande Libreria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati