ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE.

Similar documents
Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

CURS 2. Reprezentarea numerelor intregi si reale. Sistem de numeraţie

Sisteme de numeraţie Reprezentarea informaţiei numerice în calculatoare Terminologia folosită în legătură cu erorile de calcul Reprezentarea

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Subiecte Clasa a VI-a

Metrici LPR interfatare cu Barix Barionet 50 -

Modalitǎţi de clasificare a datelor cantitative

Procesarea Imaginilor

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

1.1.ERORI ABSOLUTE ŞI ERORI RELATIVE

Versionare - GIT ALIN ZAMFIROIU

ISBN-13:

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

- Compararea eficienţei metodelor care rezolvă o aceeaşi clasă de probleme

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

Mecanismul de decontare a cererilor de plata

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Olimpiad«Estonia, 2003

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

GHID DE TERMENI MEDIA

CERERI SELECT PE O TABELA

CURS 1 INTRODUCERE ÎN CALCULUL TIINȚIFIC

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

Metoda de programare BACKTRACKING

Auditul financiar la IMM-uri: de la limitare la oportunitate

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare).

Reţele Neuronale Artificiale în MATLAB

INTEROGĂRI ÎN SQL SERVER

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Metoda BACKTRACKING. prof. Jiduc Gabriel

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Documentaţie Tehnică

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

CERERI SELECT PE MAI MULTE TABELE

Proiectarea şi Verificarea cu HDL a Circuitelor Digitale

SISTEME CU CIRCUITE INTEGRATE DIGITALE (EA II) ELECTRONICĂ DIGITALĂ (CAL I) Prof.univ.dr.ing. Oniga Ștefan

The First TST for the JBMO Satu Mare, April 6, 2018

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Lucrarea de laborator nr. 4

5.1 Definirea datelor în SQL

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Propuneri pentru teme de licență

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea:

Preţul mediu de închidere a pieţei [RON/MWh] Cota pieţei [%]

Update firmware aparat foto

3. Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date.

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Programare în limbaj de asamblare 45. Setul de instrucţiuni: instrucţiuni de transfer, aritmetice, de prelucrare la nivel de bit.

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii

Prelucrarea numerică a semnalelor

DECLARAȚIE DE PERFORMANȚĂ Nr. 101 conform Regulamentului produselor pentru construcții UE 305/2011/UE

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Şef Lucrări Dr. Tudor Călinici

ADMITERE 2015 SUBIECTELE PROBELOR ŞI BAREMELE DE CORECTARE ŞI NOTARE PROFILUL MAIŞTRI MILITARI PROBA NR.1 TEST GRILĂ LA LIMBA ENGLEZĂ VARIANTA 2

TIPURI DE DATE SIMPLE

Baze de date distribuite și mobile

INFLUENŢA CÂMPULUI MAGNETIC ASUPRA DINAMICII DE CREŞTERE"IN VITRO" LA PLANTE FURAJERE

O abordare Data Mining pentru detectarea accesului neautorizat la baza de date.

KAJOT V.RO BLACK PLANET JOC DE NOROC CU RISC LIMITAT

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

Laborator 2. Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 7.0

Tema 1 Scurt istoric. Contents. Sinteza cursului Informatică, An universitar semestrul II

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL

DE CE SĂ DEPOZITAŢI LA NOI?

Modele de date utilizate în bazele de date pentru prelucrari grafice

Class D Power Amplifiers

PACHETE DE PROMOVARE

2. SCHEME LOGICE ŞI PSEUDOCOD

Universitatea Lucian Blaga din Sibiu Facultatea de inginerie Hermann Oberth Catedra de Calculatoare şi automatizări

Eficiența energetică în industria românească

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

Metode de descriere a sistemelor numerice


Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE.

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

The driving force for your business.

TRAJECTORIES GENERATED BY THE R-R-RRT MECHANISM TRAIECTORII GENERATE DE MECANISMUL R-R-RRT

USING SERIAL INDUSTRIAL ROBOTS IN CNC MILLING PROCESESS

earning every day-ahead your trust stepping forward to the future opcom operatorul pie?ei de energie electricã și de gaze naturale din România Opcom

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

Interogarea (query), este operaţia prin care se obţin datele

SAG MITTIGATION TECHNICS USING DSTATCOMS

Laborator 2 - Statistică descriptivă

CHAMPIONS LEAGUE 2017 SPONSOR:

Evoluția pieței de capital din România. 09 iunie 2018

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

REAL TIME QUALITY CONTROL OF THE HEATSET OFFSET PRINTING PROCESS

Transcription:

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. I. SCOPUL LUCRĂRILOR Lucrările prezintă reprezentarea informaţiilor numerice întregi şi reale. Scopul lucrării constă în a familiariza studenţii cu modalităţile de implementare a datelor numerice întregi (codul direct, codul invers şi codul complementar) precum şi a informaţiilor numerice reale (reprezentarea în virgulă fixă şi virgulă mobilă). II. NOŢIUNI TEORETICE 1 Reprezentarea informaţiei Informaţiile prelucrate prin sistemele de calcul sunt de diverse tipuri dar ele sunt reprezentate la nivel elementar sub formă binară. O informaţie elementară corespunde deci unei cifre binare (0 sau 1) numită bit. O informaţie mai complexă (un caracter, un număr etc.) se exprimă printr-o mulţime de biţi. Codificarea unei informaţii constă în a stabili o corespondenţă între reprezentarea externă a informaţiei (caracterul A sau numărul 33, de exemplu) şi reprezentarea sa internă, care este o secvenţă de biţi. Avantajele reprezentării binare se referă în special la facilitatea de realizare tehnică cu ajutorul elementelor bistabile (sisteme cu 2 stări de echilibru) precum şi la simplitatea efectuării operaţiilor fundamentale sub forma unor circuite logice, utilizând logica simbolică cu două stări (0, 1). Informaţiile prelucrate în sistemele de calcul sunt de două tipuri: instrucţiuni şi date. Instrucţiunile, scrise în limbaj maşină, reprezintă operaţiile efectuate în sistemul de calcul şi ele sunt compuse din mai multe câmpuri: codul operaţiei de efectuat; operanzii implicaţi în operaţie. Codul operaţiei trebuie să suporte o operaţie de decodificare (transformare inversă codificării) pentru a se putea efectiv executa. Datele sunt operanzii asupra cărora acţionează operaţiile (prelucrările), sau sunt produse de către acestea. O adunare, de exemplu, se aplică la doi operanzi, furnizând un rezultat care este suma acestora. Se pot distinge datele numerice, rezultat al unei operaţii aritmetice, sau date nenumerice, de exemplu simbolurile care constituie un text. 2. Datele numerice Datele numerice sunt de următoarele tipuri: a) numere întregi pozitive sau nule: 0; 1; 315... b) numere intregi negative: -1; -155... c) numere fracţionare: 3.1415; -0.5... d) numere în notaţie ştiinţifică: 4.9 10 7 ; 10 23... 1

Codificarea se realizează cu ajutorul unui algoritm de conversie asociat tipului de dată corespunzător. Operaţiile aritmetice (adunare, scădere, înmulţire, împărţire) care se pot aplica asupra acestor date se efectuează de regulă în aritmetica binară. Tabele de adunare şi înmulţire binară 0 + 0 = 0 0 0 = 0 0 + 1 = 1 0 1 = 0 1 + 0 = 1 1 0 = 0 1 + 1 = 10 1 1 = 1 3. Numere întregi negative Numerele întregi negative pot fi codificate prin trei metode: semn şi valoare absolută (SVA); complement logic sau restrâns sau faţă de 1 (C1); complement aritmetic sau adevărat sau faţă de 2 (C2); Prin metoda semn şi valoare absolută, numerele se codifică sub forma: valoare absolută. Prin această reprezentare se sacrifică un bit pentru semn. În mod normal, 0 este codul semnului +, iar 1 este codul semnului -. În aceste condiţii, pe un cuvânt de k biţi se pot reprezenta numere întregi pozitive şi negative N, astfel încât: - (2 k-1-1) N (2 k-1-1). Această metodă de reprezentare prezintă unele inconveniente: numărul zero are două reprezentări distincte: 000...0 şi 100...0, adică +0 şi -0; tabelele de adunare şi înmulţire sunt complicate din cauza bitului de semn care trebuie tratat separat. Complement logic şi aritmetic Complementul logic (complement faţă de 1) se calculează înlocuind, pentru valorile negative, fiecare bit 0 cu 1 şi 1 cu 0. Complementul aritmetic (complement faţă de 2) este obţinut adunând o unitate la valoarea complementului logic. Exemplu: Reprezentarea numărului (-6) pe 4 biţi: + 6 = 0110 Semn şi valoare absolută: - 6 = 1110 Complement faţă de 1: - 6 = 1001 Complement faţă de 2: - 6 = 1010 Se poate uşor constata că intervalul numerelor întregi N care se pot reprezenta în complement faţă de 1 este acelaşi ca şi pentru reprezentarea semn şi valoare absolută. Pentru reprezentarea în complement faţă de 2 există o valoare în plus, deci pentru k biţi vom avea: -2 k-1 N (2 k-1-1). Se poate remarca faptul că bitul cel mai din stânga (bitul de semn) este întotdeauna 0 pentru numere pozitive şi 1 pentru cele negative şi aceasta pentru fiecare din cele trei reprezentări. 2

Tabelă de reprezentare, pe 16 biţi, a numerelor întregi cu semn (16 biţi 2 16 = 65536 = 2 32768 valori posibile) zecimal semn şi valoare complement complement absolută faţă de 2 faţă de 1 +32767 0111...1...1111 0111...1...1111 0111...1...1111 +32766 0111...1...1110 0111...1...1110 0111...1...1110............ +1 0000...0...0001 0000...0...0001 0000...0...0001 +0 0000...0...0000 0000...0...0000 0000...0...0000-0 1000...0...0000 ------------------ 1111...1...1111-1 1000...0...0001 1111...1...1111 1111...1...1111............ -32766 1111...1...1110 1000...0...0010 1000...0...0001-32767 1111...1...1111 1000...0...0001 1000...0...0000-32768 ------------------ 1000...0...0000 ------------------ Reprezentarea în complement faţă de 1 recunoaşte două zerouri (+0 şi -0), dar este simetrică, deoarece aceleaşi numere pozitive şi negative sunt reprezentabile, iar această situaţie se poate uşor realiza electronic. În complement faţă de 1 sau faţă de 2, operaţiile aritmetice sunt avantajoase, deoarece operaţia de scădere se realizează prin adunarea complementului. Într-o adunare în complement faţă de 1, o cifră de transport către ordinul superior generată de bitul de semn trebuie adăugată la rezultatul obţinut, spre deosebire de complementul faţă de 2, când această cifră de transport se ignoră. În complement faţă de 1 sau 2 nu se produce depăşire de capacitate decât în cazul în care cifrele de transport generate de bitul de semn şi de bitul anterior acestuia sunt diferite. 3. Numere fracţionare Numerele fracţionare sunt numerele subunitare. Schimbări de bază a) binar zecimal Conversia se face adunând puterile (negative) corespunzătoare ale lui 2. Exemplu: 0.01 2 = 0 2-1 + 1 2-2 = 0.25 10. b) zecimal binar Conversia se efectuează prin înmulţiri succesive cu 2 a numerelor pur fracţionare. Acest algoritm trebuie să se termine când se obţine o parte fracţionară nulă sau când numărul de biţi obţinuţi corespunde mărimii registrului sau a cuvântului de memorie în care se va stoca valoarea. Numărul binar se obţine citind părţile întregi în ordinea calculării lor. Exemplu: 0.125 2 = 0.250 = 0 + 0.250 0.25 2 = 0.50 = 0 + 0.50 0.50 2 = 1.0 = 1 + 0.0 Vom considera părţile întregi de sus în jos, deci: 0.25 10 = 0.001 2. 3

Pentru numerele fracţionare se pot remarca reprezentările în virgulă fixă şi virgulă mobilă. 4. Virgula fixă (VF) Sistemele de calcul nu posedă virgula la nivelul maşinii, deci reprezentarea numerelor fracţionare se face ca şi când acestea ar fi întregi, cu o virgulă virtuală a cărei poziţie este controlată de către programator. Datorită dificultăţii de gestionare a virgulei de către programator (pot apare frecvent situaţii de depăşire a capacităţii de memorare), se preferă soluţia aritmeticii în virgulă mobilă. 5. Virgula mobilă (VM) Primele sisteme de calcul utilizau doar virgula fixă pentru efectuarea operaţiilor aritmetice, iar către sfârşitul anilor 50, în urma apariţiei logicii cablate s-a introdus pe scară largă reprezentarea în virgulă mobilă a numerelor fracţionare. În majoritatea sistemelor de calcul actuale destinate în special aplicaţiilor de natură tehnicoştiinţifică, cele două metode de reprezentare (virgula fixă şi virgula mobilă) coexistă şi sunt foarte utile. Reprezentarea în virgulă mobilă constă în a reprezenta numerele sub forma următoare: N = M B E cu: B = baza (2, 8, 10, 16...) M = mantisa E = exponentul Exponentul este un număr întreg, mantisa normalizată este un număr pur fracţionar (fără cifre semnificative la partea întreagă). Cu excepţia numărului zero (în general reprezentat prin cuvântul 000...0), vom avea întotdeauna: 0.1 2 M 1 2, sau 0.5 10 M 1 10. Exponentul şi mantisa trebuie să poată reprezenta atât numere pozitive cât şi negative. Cel mai adesea, mantisa admite o reprezentare sub forma semn şi valoare absolută, iar exponentul este fără semn, dar decalat. Exemplu SM ED M unde SM este semnul mantisei, ED este exponentul decalat şi M mantisa. Pentru nu număr de k biţi rezervaţi pentru ED se pot reprezenta fără semn 2 k valori, de la 0 la 2 k - 1. Decalajul considerat este 2 k-1, ceea ce permite ca valorile de la 0 la 2 k-1-1 pentru ED să corespundă unui exponent real (ER) negativ, iar valorile de la 2 k-1 la 2 k - 1 ale lui ED să corespundă unui exponent real (ER) pozitiv. Deci domeniul de valori reprezentabile pentru exponentul real este de la -2 k-1 la 2 k-1-1. De exemplu, pentru k = 4, pe cei 4 biţi putem reprezenta fără semn numere de la 0 la 15 pentru ED. Decalajul considerat este 2 k-1 = 2 3 = 8, deci pentru exponentul real (ER) putem considera valori de la - 2 k-1 = -2 3 = -8 şi până la 2 k-1-1 = 2 3-1 = 7. Relaţia existentă se poate scrie astfel: ER = ED - D. Exponentul determină intervalul de numere reprezentabile în sistemul de calcul, iar numerele prea mari pentru a putea fi reprezentate corespund unei depăşiri superioare de 4

capacitate de memorare overflow, iar numerele prea mici corespund unei depăşiri inferioare de capacitate de memorare underflow. Mărimea mantisei exprimă precizia de reprezentare a numerelor. Avantajul utilizării virgulei mobile faţă de virgula fixă constă în intervalul mult mai extins al valorilor posibile de reprezentat. Standardul IEEE 754 Standardul IEEE Institute of Electrical and Electronics Engineers defineşte trei formate de reprezentare a numerelor în virgulă mobilă: a) simplă precizie pe 32 de biţi (1 bit pentru SM, 8 biţi pentru ED şi 23 pentru M); b) dublă precizie pe 64 biţi (1 bit pentru SM, 11 biţi pentru ED şi 52 biţi pentru M); c) dublă precizie extinsă pe 96 biţi (1 bit pentru SM, 15 biţi pentru ED şi 80 biţi pentru M). d) precizie cvadruplă pe 128 biţi (1 bit pentru SM, 15 biţi pentru ED şi 112 biţi pentru M) Exponentul este decalat cu 128 pentru reprezentarea în simplă precizie şi cu 1024 pentru reprezentarea în dublă precizie. Mantisa fiind normalizată, există siguranţa că primul bit al mantisei are valoarea 1, ceea ce permite omiterea sa (bit ascuns) pentru creşterea preciziei de reprezentare, dar complică prelucrarea informaţiei. III. MODUL DE LUCRU Se realizează implementarea algoritmilor de înmulţiri succesive pentru conversia parţii fracţionare a unui număr, algoritmii de reprezentare a numerelor întregi negative (cod direct, complement faţă de 1 şi complement faţă de 2) precum şi reprezentarea numerelor în virgulă fixă şi mobilă. IV. CONŢINUTUL REFERATULUI 1. Sumarul noţiunilor întâlnite. 2. Rezolvaţi următoarele probleme: 2.1 Daţi pe 8 biţi, reprezentările în cod direct, cod invers şi cod complementar a valorilor întregi următoare: -32 şi -128. 2.2 Daţi valoarea zecimală cu semn a numărului B7 16 codificat în cod complementar pe 8 biţi. 2.3 Conform diferitelor metode de reprezentare a întregilor pe care le cunoaşteţi care este valoarea zecimală corespunzătoare valorii binare conţinute într-un registru pe 8 biţi: 11111111? 2.4 Dispunem de o maşină unde valorile numerice sunt reprezentate pe 32 de biţi în virgulă mobilă simplă precizie (VMSP). Daţi sub forma a 2 b (a si b zecimale), valoarea care corespunde celor 32 biţi următori (sub formă octală): 27632000000 şi 30364000000. 2.5 Care este cel mai mare şi cel mai mic numărul reprezentabil în virgulă mobilă simplă precizie? 2.6 Dispunem de o maşină unde valorile numerice sunt reprezentate pe 32 de biţi în virgulă mobilă simplă precizie (VMSP). Daţi sub forma a 2 b (a si b zecimale), valoarea care corespunde celor 32 biţi următori (sub formă zecimală): 278, -6.53125, 2.5 şi 0.00005. 5

2.7 Dispunem de o maşină unde valorile numerice sunt reprezentate pe 12 de biţi numerotaţi de la dreapta spre stânga 0-11, unde: - o mantisă normalizată pe 7 biţi (0-6); - un exponent decalat reprezentând o putere a lui 2, codificat pe 4 biţi (7-10); - un bit pentru semnul mantisei (11). a) Găsiţi intervalul închis al valorilor strict pozitive reprezentabile pe această maşină; marginile vor fi puse sub forma a 2 b (a si b zecimale). Simplificaţi pe cât posibil. b) Puneţi sub forma a 2 b (a si b zecimale) următoarele numere date sub forma hexazecimală: X = AE8, şi Y = 9D0. c) Daţi sub formă octală, reprezentarea corespunzând numărului în zecimal: -32.625. 2.8 Fie cei 32 biţi următori scrişi sub formă octală: 37724000000. Ce reprezintă în zecimal această informaţie dacă se consideră un număr întreg în cod invers (C1), în cod complementar (C2) şi ca un număr real cu o reprezentare analoagă celei descrise în exerciţiul 2.6? 2.9 Program care realizează conversia unui număr fracţionar din baza p în baza q (se citesc de la tastatură bazele p şi q precum şi cifrele numărului în baza p) 2.10 Program care realizează conversia unui număr întreg (citit de la tastatură) în format intern în cod direct, cod invers şi cod complementar. 2.11 Program care realizează conversia unui număr în format intern în cod direct în format extern exprimat în zecimal., cod invers şi cod complementar. 2.12 Program care realizează conversia unui număr în format intern în cod invers în format extern exprimat în zecimal. 2.13 Program care realizează conversia unui număr în format intern în cod complementar în format extern exprimat în zecimal. 3. Observaţii şi concluzii personale. 6