Mașină RAM

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Modelul mașinii RAM este un instrument clasic pentru analiza procedurilor secvențiale. Acest model este caracterizat de o memorie cu acces aleatoriu formată din celule care pot conține orice număr întreg; instrucțiunile utilizate sunt cele ale unui limbaj elementar al mașinii care vă permite să executați instrucțiuni de intrare și ieșire, să efectuați operații aritmetice, să accesați și să modificați conținutul memoriei, să executați comenzi simple de salt.

Simplitatea acestui model, abstractizarea unui computer, permite înțelegerea procedurilor scrise folosind limbaje de nivel înalt și poate fi executată pe mașini RAM. Printre limitările modelului se subliniază faptul că nu există ierarhie de memorie (memorie tampon, memorie de masă) și instrucțiunile sunt executate pe rând pe un singur procesor.

Șablon

Modelul mașinii RAM (mașină cu acces aleatoriu) constă dintr-o bandă de intrare, o bandă de ieșire, un program reprezentat de o secvență finită de instrucțiuni, un contor lc care indică instrucțiunea curentă care trebuie executată și o memorie formată din registre infinite R 0 , R 1 , ... R n . Fiecare dintre cele două panglici este reprezentată de celule infinite, numerotate începând cu prima, fiecare dintre ele putând conține un număr întreg. Banda de intrare are un cap de numai citire, în timp ce banda de ieșire are un cap de numai scriere. Cele două capete se mișcă întotdeauna de la stânga la dreapta și în starea inițială sunt poziționate pe prima celulă. Inițial, toate celulele curelei de ieșire sunt goale în timp ce cureaua de alimentare conține intrarea mașinii; aceasta este formată dintr-un vector de n numere întregi x 1 , x 2 , ... x n dispuse îngrijit în primele n celule ale benzii.

Programul este fix și nu poate fi modificat în timpul execuției. Fiecare instrucțiune este etichetată și registrul lc (contor de locație) conține eticheta instrucțiunii de executat. Instrucțiunile foarte simple sunt foarte apropiate de un limbaj Assembler .

Fiecare registru R k poate conține un număr întreg relativ arbitrar. Adresa registrului R k este numărul întreg k. Registrul R 0 se numește acumulator și este singurul pe care se pot efectua operații aritmetice.

Programarea unui aparat RAM

Un program de mașină RAM este o secvență finită de instrucțiuni:

fiecare dintre ele este o pereche formată dintr-un cod de operație și o adresă. La rândul său, o adresă poate fi un operand sau o etichetă. Etichetele sunt asociate numai cu comenzile de salt și sunt utilizate pentru a indica instrucțiunile programului cărora li se poate trece controlul. Un operand poate lua trei forme diferite:

  1. = i reprezintă numărul întreg i ∈ Z
  2. i indică conținutul registrului R i
  3. * i indică conținutul registrului R j , unde j este conținutul registrului R i

Elemente conexe