Arh Sist Calcul

  • View
    42

  • Download
    6

Embed Size (px)

DESCRIPTION

sisteme calcul

Text of Arh Sist Calcul

UNIVERSITATEA SPIRU HARETFacultatea de Matematic - Informatic Platforma BLACKBOARD Codul cursului: Mmi1205 Denumirea cursului: Arhitectura Tip curs: Obligatoriu Durata cursului / Nr. Credite: semestrul 1 / 4 credite Perioada de accesare a cursului: 1 oct 2006 - 1 oct 2007 Manualul recomandat: Arhitectura Sistemelor de calcul, Editura FRM, sub tipar Obiectivul principal al cursului: Dobndirea de cunotinte, aptitudini i competene privind bazele aritmetice, logice i arhitecturale ale sistemelor de calcul precum i iniiere n programarea n limbaj de asamblare (a procesorului MMIX). Modul de stabilire a notei finale: 6u x 3p + 10m x 5p + 4d x 8p = 100p. n final se mparte numrul de puncte la 10 i se rotunjete la ntreg. ZI - Verificare (se va lua n considerare i activitatea desfurat n cadrul laboratorului cu ponderea de 50%) FR, ID - examen la calculator 6 ntrebri uoare, 10 ntrebri de nivel mediu i 4 ntrebri difcile). Consultaii pentru studeni: Mari, 7.30 - 16.00 Adrese e-mail responsabil pentru contactul cu studenii: info@spiruharet.ro Titularul/titularii cursului / serie ZI, FR, ID (matematic, informatic) Prof. Univ. Dr. Albeanu Grigore Grigore.Albeanu@gmail.com Str. Ion Ghica, Facultatea de matematic-informatic Ma, 7.30-16 2. Coninutul tematic al cursului 0. INTRODUCERE 1. BAZELE ARITMETICE ALE SISTEMELOR DE CALCUL 1.1. Sisteme de numeraie 1.2. Coduri 1.3. Reprezentarea numerelor ntregi 1.4. Reprezentarea IEEE 754 2. BAZELE LOGICE ALE SISTEMELOR DE CALCUL 2.1. Latici i algebre Boole 2.2. Funcii booleene. Forme normale 2.3. Aplicaii 3. STRUCTURA SISTEMELOR DE CALCUL 3.1. Resursele fizice ale sistemelor de calcul 3.1.1. Generaii de calculatoare 3.1.2. Procesor. Caracteristici. Set de instruciuni 3.1.3. Memorii 3.1.4. Dispozitive periferice

Sistemelor de Calcul

3.1.5. Viteza de procesare 3.1.6. Clasificarea sistemelor de calcul 3.1.7. Modelarea sistemelor digitale 3.2. Resursele logice ale sistemelor de calcul 3.2.1 Introducere n sisteme de operare 3.2.2. Iniiere n utilizarea sistemelor de calcul bazate pe UNIX 3.2.3. Iniiere n utilizarea PC/Windows 3.2.4. Resurse logice privind programarea calculatoarelor 4. CALCULATORUL MMIX 4.1. Instruciunile calculatorului MMIX 4.2. Programarea calculatorului MMIX 3. Bibliografie minim obligatorie [1] D. Knuth, Arta programrii calculatoarelor: MMIX - un calculator RISC pentru noul mileniu, Editura Teora, 2005 [2 ] A.S. Tanenbaum, Organizarea structural a calculatoarelor, Computer Press Agora, 1999 [3] J. Henessy & D. Patterson, Computer Architecture: a Quantitative Approach, Morgan Kaufman, 2002. [4] G. Albeanu, Arhitectura Sistemelor de Calcul, Editura FRM (sub tipar) 4. Bibliografie facultativ [5] G. Albeanu, Sisteme de operare, Editura Petrion, Bucureti, 1996, ISBN 973-9116-04-3. [6] D. Knuth, Arta programrii calculatoarelor, Vol. I, Editura Teora, 1999, ISBN 973-601910-1. [7] D. Knuth, MMIXware. Lecture Notes in Computer Science, Vol. 1750, Springer Verlag, 1999. 5. Prezentarea cursului: Materialul este organizat n patru capitole, conform programei. Va fi prezentat capitol cu capitol pentru o mai uoar urmrire: ASC_capitol?.pdf, ASC_bibliografie.pdf. 6. Aplicaii: Fiecare capitol cuprinde exemple, studii de caz, teme de cas, teste. Terminologia este explicat acolo unde apare prima dat. Capitolul urmtor, dac depinde de cele anterioare, utilizeaz, tacit, definiiile, formulele de calcul i teoremele prezentate n capitolele anterioare. 7. Exemple de teste de autoevaluare: La sfritul fiecrei uniti de studiu (capitol), cursantul gsete exerciii al cror rspuns este prezentat. Prin aceasta se asigur o autoevaluare continu. A se vedea test_autoevaluare?.pdf 8. Evaluarea computerizat sub form de teste de tip gril: Sunt incluse teste similare celor prezentate n finalul fiecrei uniti sau in fiierul ASC_lista_probleme_propuse.pdf. ntrebrile sunt clasificate n uoare (u), medii (m) i dificile (d).

ARHITECTURA SISTEMELOR DE CALCUL Prof. univ. dr. GRIGORE ALBEANU INTRODUCERESistemele de calcul au evoluat continuu, iar aceast evoluie continu s ne uimeasc. Materialul urmtor ncearc sa capteze att bazele matematice ale sistemelor de calcul (utile oricrui programator), ct i s prezinte o radiografie a principalelor concepte interesante att pentru utilizatori ct i pentru programatori. Pare surprinztor c se acord importan major bazelor de numeraie i funciilor booleene, dar orice utilizator/programator, mai devreme sau mai trziu, va avea nevoie de acestea. Stabilirea culorilor n realizarea paginilor HTML necesit cunoaterea sistemului hexazecimal, cutarea de informaie folosind motorul Google necesit utilizarea cuvintelor AND, OR etc. (deci a operaiilor logice). Sistemele de calcul au fost proiectate, iniial, pentru calcule tiinifice. Ori, reprezentarea IEEE 754 este doar unul dintre modelele de reprezentare a numerelor reale. Dac vrem s programm eficient trebuie s simplificm expresiile logice, s nelegem modul de funcionare a unui sistem de calcul particular. Iat, de ce este important s extindei cunoaterea dincolo de acest material. Resursele bibliografice i notele de subsol v dau doar cteva direcii. Partea a treia este doar pentru utilizatori, dar un programator are nevoie s cunoasc mult mai mult dect ofer prezentul material. Vei spune c nu este nevoie de UNIX pentru c Windows este sistemul de operare preferat. Nici o problem! Mai devreme sau mai trziu vei avea ocazia s utilizai i alte sisteme de calcul dect calculatoarele personale. Vei fi surprini s aflai ct de multe tipuri de sisteme de calcul / operare exist. Calculatorul MMIX este, deocamdat, unul virtual. Dar cte experimente se pot face. Aici putei nelege, c nainte de a avea un calculator pentru asamblat, acesta este proiectat (funcionarea acestuia fiind simulat pe alte sisteme existente deja), simulat, fabricat, testat i apoi multiplicat (eventual n clone precum calculatoarele IBM/PC). Prezentul material este structurat n patru pri. Prima parte se ocup de modaliti de reprezentare a datelor n sistemele de calcul. Att pentru numere naturale, numere ntregi ct i pentru numere raionale, sistemul binar se impune. Programatorii au nevoie, ns, i de sistemele hexazecimal sau octal. Complementul fa de doi, reprezentarea IEEE 754 nu trebuie s lipseasc din pregtirea informaticienilor. Ele v permit s nelegei tipurile de date cu care opereaz limbajele de programare (inclusiv cele care manipuleaz obiecte) precum i operaiile cu aceste date. Capitolul al doilea, aparent teoretic, are aplicaii majore n proiectarea sistemelor digitale i a optimizrii calculului. Seciunea 3.1.7 reprezint doar o introducere. Seciunea a treia este un sumar al tuturor componentelor unui sistem de calcul. El poate fi oricnd extins n funcie de noile tehnologii informaionale. Au fost introduse modurile de utilizare UNIX/Windows pentru c acestea domin piaa actual. Aceasta nu face ca cel care parcurge materialul s nu se poat descurca i cu alte sisteme de calcul. Experiena de utilizare / programare se poate mbuntii numai prin exerciiu, prin experiment. Instruciunile INTEL pot fi analizate folosind DEBUG (comand extern a oricrui sistem Microsoft), comenzile externe Windows pot fi studiate folosind Windows NT/2000/XP n mod text, iar comenzile UNIX prezentate pot fi experimentate cu orice versiune de Linux. Eventuale resurse necesare experimentrii MMIX pot fi obinute folosind referinele menionate n text. Bibliografia este minimal, ea poate fi completat cu alte referine i va fi permanent actualizat. Sistemele de calcul evolueaz permanent. Este o realitate!

1. BAZELE ARITMETICE ALE SISTEMELOR DE CALCUL1.1. Sisteme de numeraiePentru prelucrarea datelor, omul lucreaz n sistemul de numeraie zecimal, folosind cele 10 simboluri: 0, 1, 2, ..., 9, numite cifre (eng. digits). Pentru domeniul sistemelor de calcul digitale1, cele mai importante sisteme de numeraie sunt: binar, octal i hexazecimal. Sistemul binar folosete baza de numeraie 2 (0 + 1 = 1 + 0 = 1; 0 + 0 = 0; 1 + 1 = (10)2 = 2 (n baza 10); 0 x 0 = 1 x 0 = 0 x 1 = 0, 1 x 1 = 1). Sistemul octal, cu baza opt, folosete simbolurile: 0, 1, ..., 7. Baza de numeraie a sistemului hexazecimal este 16, iar simbolurile folosite sunt: 0, 1, ..., 9, a, b, c, d, e, f. Se pot utiliza prin coresponden biunivoc - i simbolurile A, B, C, D, E, F cu semnificaia simbolurilor a, b, c, d, e, f. Datorit modului poziional, de lucru, indiferent de sistemul de numeraie utilizat, realizarea operaiilor aritmetice urmeaz acelai algoritm2 (de exemplu, la adunare se face transport de la ordinul curent la ordinul imediat superior. Procesul privind transformarea reprezentrilor exprimate n sisteme de numeraie se numete conversie. Referitor la sistemele de numeraie, descriem cteva metode de conversie i algoritmii de calcul corespunztori3. Codificarea unui numr real ntr-o baz de numeraie b (b 2), se bazeaz pe operaiile de mprire i nmulire aplicate numerelor ntregi. Pentru a converti un numr real format din parte ntreag i parte fracionar, din scrierea zecimal, n baza b (b 2), se procedeaz astfel: 1. se mparte (conform teoremei mpririi cu rest4) la b, partea ntreag i cturile obinute dup fiecare mprire, pn se obine ctul zero. Rezultatul conversiei este constituit din resturile obinute, luate n ordine invers apariiei acestora. 2. se nmulete cu b, partea fracionar5 i toate prile fracionare obinute din produsul anterior, pn cnd partea fracionar este nul sau a fost obinut numrul de cifre dorit. Rezultatul conversiei prii fracionare este constituit din prile ntregi6 ale produselor, luate n ordinea apariiei.

Un sistem de calcul (calculator) este o structur destinat prelucrrii datelor. El este alctuit din resurse fizice (hardware), resurse logice (software) i resurse informaionale (fiiere de configurare, registre de profil etc.) care coopereaz pentru satisfacerea cerinelor utilizatorilor privind introducerea, memorarea (stocarea), prelucrarea, transmiterea (ctre un alt sistem de calcul), precum i regsirea (prin interogare) datelor. Se face distinci