Structuri și arhitecturi de calculatoare numerice

Previzualizare curs:

Extras din curs:

1.1. Limbaje si masini virtuale

Calculatorul numeric (CN) reprezinta un sistem fizic capabil sa rezolve

probleme prin executia unor instructiuni primite sub forma unui program.

Aplicatiile derulate pe CN, respectiv:

1. prelucrari de date;

2. prelucrari de informatii;

3. prelucrari de cunostinte;

4. prelucrari inteligente (inteligenta artificiala)

pot fi ilustrate prin structura piramidala de mai jos.

1. Spatiul datelor. Materialul prelucrat la baza piramidei poate fi

considerat ca un spatiu de date mutual independente. Acest spatiu care este

cel mai mare spatiu al obiectelor prelucrate in CN include caractere,

simboluri si/sau reprezentari multidimensionale ale acestora, numere in

diverse formate.

2. Spatiul informatiilor. Termenul de informatie se asociaza in acest

context unei colectii de date conectate printr-o anumita relatie sau structura

sintactica (sintaxa reprezinta un set de reguli care guverneaza alcatuirea

Prelucrari

de date

Prelucrari de

informatii

Prelucrari de

cunostinte

IA

Creste volum

Creste de prelucrare

complexitate de

prelucrare

Fig. 1-1. Structura piramidala a tipurilor de prelucrari

Capitolul 1 - Structuri si arhitecturi de calculatoare numerice

13.01.2004 3 / 39

propozitiilor intr-un limbaj). Spatiul informatiilor se constituie intr-un

subspatiu al datelor.

3. Spatiul cunostintelor. In cadrul acestui spatiu, care formeaza un

subspatiu al spatiului informatiilor, informatiile sunt legate intre ele

printr-o structura semantica (semantica reprezinta un set de reguli

care permit atribuirea de intelesuri propozitiilor intr-un limbaj)

4. Spatiul prelucrarilor de tip inteligenta artificiala. In cadrul acestui

spatiu (subspatiu al spatiului cunostintelor) se lucreaza cu baze de

cunostinte, reguli de inferenta (rationament) sau cu alte mijloace

specifice domeniului inteligentei artificiale.

Dupa cum se va vedea toate calculatoarele realizate pana in prezent

evolueaza pe baza unui program anterior memorat, program realizat sub

forma unei secvente de instructiuni aferente unui limbaj artificial. In aceste

conditii se poate spune ca pana in prezent nu a fost realizat un calculator

sub forma unui sistem inteligent care gandeste independent.

In ceea ce priveste limbajele de programare acestea pot fi mai

apropiate de masina care le executa sau de utilizatorul uman. Gradul de

apropiere se cuantifica in nivelul de perceptie al respectivului limbaj si in

capacitatea de manevrare a instructiunilor aferente.

Componentele fizice ale unui CN (circuitele electronice) nu pot

recunoaste si executa decat un numar limitat de instructiuni. Instructiunile

care pot fi intelese si executate direct (fara a necesita translatare sau

interpretare) sunt instructiuni masina iar limbajul corespunzator este

limbajul masina pe care il vom nota L1. Limbajul L1 cu toate ca permite

comunicarea utilizatorului cu masina este greu de folosit, iar in aplicatiile

de dimensiuni mari chiar imposibil. In aceste conditii este necesara crearea

unui nou limbaj, pe care il vom nota cu L2, mult mai apropiat de modul

natural de gandire si de operare al omului.

Din cele prezentate rezulta ca utilizatorul poate scrie programe atat in

L1 cat si in L2, dar calculatorul va executa intotdeauna instructiuni

aferente limbajului L1 pentru care a fost proiectat fizic. Pentru executia

unui program scris in limbajul L2 exista doua tehnici si anume:

1. translatarea (traducerea) care presupune inlocuirea fiecarei

instructiuni din L2 cu instructiuni L1, rezultand un program in L1

care va putea fi executat direct de masina;

Capitolul 1 - Structuri si arhitecturi de calculatoare numerice

13.01.2004 4 / 39

2. interpretarea care presupune analizarea fiecarei instructiuni din

programul scris in L2 si executia ei printr-o secventa echivalenta

de instructiuni din L1.

Avand in vedere ca utilizatorul lucreaza cu o masina careia i se

adreseaza in L2 dar care executa in L1, sa o numim masina virtuala

pentru a o deosebi de masina reala careia utilizatorul i se adreseaza in L1,

iar executia se face tot in L1. In general o masina virtuala este o masina

capabila sa execute programe scrise in limbaje de nivel superior celui

accesibil nivelului fizic. Ratiunea de a fi a masinii virtuale rezulta pe de o

parte din dificultatea realizarii fizice a unei masini capabile sa execute

direct programe scrise in L2, iar pe de alta parte, din dificultatea utilizarii

directe a limbajului L1.

Daca si programarea in L2 este dificila se poate crea un alt limbaj L3,

executia unui program scris in L3 putandu-se realiza prin aceleasi doua

tehnici, respectiv:

1. traducerea programului intr-un program echivalent scris in L2;

2. interpretarea fiecarei instructiuni din L3 prin instructiuni din L2.

Se poate spune ca masina virtuala avand limbajul L3 are la baza

masina virtuala cu limbajul L2. Metoda se poate extinde pentru diferite

limbaje si masini din ce in ce mai performante, numite in literatura de

specialitate simplu niveluri.

Un calculator alcatuit din n niveluri conceptuale poate fi vazut ca n

masini virtuale distincte fiecare masina avand propriul sau limbaj.

Programele scrise in L2, L3, ,Ln trebuie sa fie interpretate de un

interpretor avand un nivel mai mic sau sa fie translatate (traduse) intr-un

limbaj inferior. Programatorul care are programele scrise pentru o masina

virtuala de nivelul n nu este interesat de translatoarele sau interpretoarele

aflate la un nivel inferior.

Calculatoarele actuale constau din sapte niveluri conceptual ilustrate

in fig. 1-2, la extreme situandu-se nivelul logic digital respectiv nivelul

orientat pe aplicatie.

Nivelul 0 - nivelul logic digital. Acest nivel este realizat fizic din

circuite logice dintre care poarta logica este elementul fundamental. Fiecare

poarta dispune de una sau mai multe intrari si intoarce ca rezultat valoarea

unei functii logice simple. Acest nivel executa instructiunile limbajului

Capitolul 1 - Structuri si arhitecturi de calculatoare numerice

13.01.2004 5 / 39

microprogramat (specifice nivelului 1), care actioneaza asupra nivelului 0

ca niste comenzi.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Structuri si arhitecturi de calculatoare numerice.pdf
Alte informații:
Tipuri fișiere:
pdf
Diacritice:
Nu
Nota:
10/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
143 pagini
Imagini extrase:
143 imagini
Nr cuvinte:
26 435 cuvinte
Nr caractere:
169 983 caractere
Marime:
609.75KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Tag-uri:
arhitectura, calcule numerice, it
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!