U qudro dell stuzoe Lezoe 5 Artmetc vrgol moble () Vttoro Scro Archtettur Corso d Lure Iformtc Uverstà degl Stud d Slero Iput/Output Sstem d Itercoessoe Regstr Cetrl Processg Ut Memor Prcple Itercoessoe ter ll CPU Utà d Cotrollo Utà Artmetco Logc Dove smo Codfc dell formzoe Rppresetzoe degl ter Artmetc degl ter Dove stmo ddo.. Artmetc vrgol moble Perché: per poter compredere come vegoo trttt dt rppresett d umer frzol Dove smo el corso U rpsso Codfc dell formzoe: vrgol moble Codfc dell formzoe Logc Dgtle Utà Logco Artmetc (ALU) Memor Il set delle struzo Processore: utà d elborzoe Processore: utà d cotrollo Processore: ppele Vlutzoe delle prestzo U qudro dell stuzoe: dove smo, dove stmo ddo e perché U rvstzoe: Artmetc degl ter ( complemeto due) L operzoe d egzoe L operzoe d ddzoe L operzoe d sottrzoe 3 4
Artmetc complemeto due: l operzoe d egzoe Operzoe d egzoe dto u tero A rppresetto bro co rppresetzoe complemeto due voglmo otteere -A (rppresetto complemeto due) S A rppresetto d - -.. Allor l rppresetzoe d -A s ottee: se s complemet og bt otteedo l bt: se s cosder l strg otteut come u tero sez sego e s somm Artmetc complemeto due: l operzoe d ddzoe L ddzoe per ter complemeto due è detc quell per ter sez sego s somm dl bt meo sgfctvo portdo l rporto d og psso L uc dfferez è ell mer cu s cotroll l cosddetto overflow qudo l rsultto o può essere coteuto ell prol d memor ust per memorzzrlo 5 6 L regol d overflow S verfc u overflow ell ddzoe d ter co sego co l complemeto due se e solo se: l somm d due ter postv dà come rsultto u tero egtvo l somm d due ter egtv dà come rsultto u tero postvo Artmetc complemeto due: l operzoe d sottrzoe Per sottrrre d u muedo (M) u sottredo (S) bst sommre M e -S (l egzoe d S) Qud, cooscedo l mer semplce d clcolre l egzoe d u tero complemeto due: ruscmo relzzre l sottrzoe come se fosse u somm rsprmdo così sull crcuter dell ALU 7 8
Le propretà del complemeto due L struttur delle compoet per l ddzoe e l sottrzoe Itervllo d rppresetzoe Numero d rppresetzo dello zero Negzoe Espsoe lughezz Overflow per l somm Sottrzoe d - - - - u S prede l complemeto d og bt S somm (come tero sez sego) Aggugere bt ddzol sull sstr ssegdo l vlore del bt d sego Se vegoo ddzot due umer dello stesso sego, è overflow se l rsultto h l sego opposto Per sottrrre B d A predere l rppresetzoe complemeto due d -B e sommrlo d A 9 OF Bt d Overflow Regstro B Swtch Add/Sub Utà per l egzoe Addzotore Regstro A
Perché l rppresetzoe vrgol moble.. Co l rppresetzoe vrgol fss è possble rppresetre umer frzor fssdo l poszoe dell vrgol su u bt prestblto Le lmtzo: o rppreset bee umer molto grd o rppreset bee umer (frzo) molto pccol S può usre l otzoe scetfc: s esprme 768 come 7,68 4 le 4 poszo dopo l 7 vegoo espresse dll espoete 3 Il prcpo dell rppresetzoe vrgol moble Detto che flotg pot S f scorrere l vrgol decmle fo d u poszoe coveete: s tee coto d og spostmeto co l espoete d 768 768, 768, 768, 3 768, 4 768, 5 etc. etc. 7,68 4 4 Perché è utle Permette d rppresetre mer comptt umer molto grd: 768 7,68 M che umer molto pccol, 65 6,5-4 M che umer egtv molto grd ( modulo) -768-7,68 e che umer egtv molto pccol -, 65-6,5-4 5 6
L rppresetzoe vrgol moble per umer br Lo stesso pprocco può essere seguto per umer br rppresett come: ± S B ±E ± dc l sego S dc l sgfcte (detto che mtss) E dc l espoete D otre che d solto, l bse B è mplct e qud bst memorzzre solmete sego, sgfcte, espoete S us u certo umero d bt (d solto lmeo 3) s rserv spzo per sego, sgfcte, espoete 7 Rppresetzoe vrgol moble Sego 8 bt 3 bt ± E S Espoete polrzzto Il sego è memorzzto el prmo bt postvo, egtvo L espoete è memorzzto 8 bt polrzzto (lo defmo tr u ttmo) Sgfcte (mtss) su 3 bt ormlzzto (lo defmo tr due ttm) Dove vee memorzzt l bse B? o serve! B vle sempre Sgfcte ± S B ±E 8 L polrzzzoe dell espoete 9 Negl 8 bt vee memorzzto u vlore postvo qud 8 bt vo ter d 55 Al vlore memorzzto vee sottrtto l umero d polrzzzoe d solto su k bt, questo vle k- - I questo cso, vee sottrtto 7 per otteere l vero vlore: se gl 8 bt dell espoete cotegoo 63 llor l espoete vle: 63-7 36 se gl 8 bt dell espoete cotegoo 39 llor l espoete vle: 39-7 -88
Perché l polrzzzoe () Perché l polrzzzoe () 5-78 4-77 3-76 -75-74 -73 9-7 8-7 7-7 6-7- 5-7- 4-7-3 3-7-4-7-5-7-6-7-7 Vedmo l rppresetzoe polrzzt su 4 bt umero d polrzzzoe 4- -7 Crtterstc mportte: l umero pù grde è.. l umero pù pccolo è Qud, qudo s cofroto due ter polrzzt per trovre l pù pccolo bst cofrotrl come ter sez sego! A dfferez del complemeto! polrzzt complemeto 5-78 - 4-77 - 3-76 -3-75 -4-74 -5-73 -6 9-7 -7 8-7 -8 7-7 7 6-7- 6 5-7- 5 4-7-3 4 3-7-4 3-7-5-7-6-7-7 Per l complemeto : per cofrotre due ter e trovre l pù pccolo o bst trttrl come ter sez sego e cofrotrl Per polrzzt: l cofroto tr e (vst come ter sez sego) dc che è mggore d l che è vero s che s cosder l vlore polrzzto che l vlore come tero sez sego Il cofroto tr ter sez sego L operzoe d cofroto: dte due strghe d bt - - e b - b - b b s deve determre quell che rppreset l vlore (tero sez sego) mggore tr due Operzoe prtcolrmete effcete co l rppresetzoe polrzzt: bst scorrere tutt bt (prtedo dl pù sgfctvo) ed ppe s trov che l -mo bt è dverso ( b ): l umero co l bt -mo è l mggore Come s può fre fre lo stesso co l complemeto due? Suggermeto: l mer pù fcle d mplemetre è rutlzzre qulche operzoe rtmetc gà precedetemete mplemett per l complemeto due 3 4
L ormlzzzoe I vtgg dell ormlzzzoe Dto u umero bro vrgol moble (come ) questo può essere rppresetto come:, 5, 6, etc. etc. Per semplfcre l umero bro vee ormlzzto l ucobt tero (poszoe ) è l prmo bt dopo l vrgol (poszoe -) deve essere Qud u umero ormlzzto (o zero) è: ±,bbbbb ±E dove b è u cfr br 5 Tutt sgfct ho vlore compreso tr,5, (compreso) ed, (escluso) fclt le operzo rtmetche Poché l prmo bt dopo l vrgol è sempre possmo memorzzre solmete restt bt Qud co 3 bt d rppresetzoe possmo rppresetre l sgfcte d 4 bt! 6 Alcu esemp () Esemp Dovedo rppresetre, Teedo presete che: l sego v el prmo bt l prmo bt del sgfcte è sempre e qud o v memorzzto l vlore 7 v gguto l vero vlore dell espoete e memorzzto el cmpo dell espoete Il rsultto è 7 8
Alcu esemp () Alcu esemp (3) Dovedo rppresetre -, Teedo presete che: l sego v el prmo bt l prmo bt del sgfcte è sempre e qud o v memorzzto l vlore 7 v gguto l vero vlore dell espoete e memorzzto el cmpo dell espoete Il rsultto è Dovedo rppresetre -, - Teedo presete che: l sego v el prmo bt l prmo bt del sgfcte è sempre e qud o v memorzzto l vlore 7 v gguto l vero vlore dell espoete e memorzzto el cmpo dell espoete - Il rsultto è 9 3 L operzoe d cofroto Il cofroto tr umer vrgol moble () Tr le operzo rtmetche pù mportt d mplemetre ell ALU Dte due strghe d bt che rppreseto u umero u certo formto.. ter co sego ( complemeto due, polrzzt, etc.) umer frzor vrgol moble s deve verfcre qule delle due strghe dte rppreset l umero mggore secodo l formto utlzzto 3 Sego ± E S Espoete polrzzto Sgfcte Dovedo verfcre qule d due umer vrgol moble s l mggore: se soo d sego dscorde llor l postvo è mggore se soo d sego cocorde llor: se soo postv: l umero co l espoete pù grde è l mggore; prtà d espoete l umero co sgfcte pù grde è l mggore se soo egtv: l umero co espoete pù pccolo è l mggore; prtà d espoete, l umero co sgfcte pù pccolo è l mggore ± S B ±E 3
Il cofroto tr umer vrgol moble () Il cofroto tr umer vrgol moble (3) Se soo d sego cocorde llor: se soo postv: l umero co l espoete pù grde è l mggore; prtà d espoete l umero co sgfcte pù grde è l mggore se soo egtv: l umero co espoete pù pccolo è l mggore; prtà d espoete, l umero co sgfcte pù pccolo è l mggore Esemp:,5 >,5,75 >,5 -,5 > -,5 -,5 > -,75 C D A B Per due umer postv: so due umer postv e b rppresett vrgol moble d 3 3 e d 3 b 3 b b otre che 3 b 3 (etrmb soo postv) Per verfcre qule de due è l mggore: o serve lcu coversoe: bst cofrotrl come se fossero ter sez sego! Qud bst scorrere bt, ed l prmo bt dverso trovto (s esso l -mo) sppmo ch è l mggore: quello co bt -mo! ftt quello co espoete/sgfcte pù grde è l mggore 33 34 Il cofroto tr umer vrgol moble (4) Per due umer egtv: so due umer postv e b rppresett vrgol moble d 3 3 e d 3 b 3 b b otre che 3 b 3 (etrmb soo egtv) Per verfcre qule de due è l mggore: o serve lcu coversoe: bst cofrotrl come se fossero ter sez sego! Qud bst scorrere bt, ed l prmo bt dverso trovto (s esso l -mo) sppmo ch è l mggore: quello co bt -mo! ftt quello co espoete/sgfcte pù pccolo è l mggore 35 36
L tervllo d rppresetzoe rppresetto grfcmete Overflow L overflow può essere postvo: qudo s devoo rppresetre umer postv mggor d (- -4 ) 8 L overflow può essere egtvo: qudo s devoo rppresetre umer egtv mor d -(- -4 ) 8 37 38 Uderflow Itervllo d rppresetzoe () L uderflow può essere postvo: qudo s devoo rppresetre umer postv mor d,5-7 L uderflow può essere egtvo: qudo s devoo rppresetre umer egtv mggor d -.5-7 Soo rppresetbl co 3 bt umer ter: gl ter d - 3 3 - Co l formto llustrto, soo rppresetbl umer frzor egtv tr -(- -4 ) 8 e -,5-7 umer frzor postv tr,5-7 e (- -4 ) 8 U esempo: l mmo umero frzoro egtvo rppresetble s h qudo tutt 3 bt del sgfcte soo, l sego è egtvo e l espoete è mssmo qud -, 8 39 4
4 Itervllo d rppresetzoe () Itervllo d rppresetzoe () Quto vle -, 8?... 4 4 4 4 3 4 Or, poché (come dmostreremo subto dopo) vle che: vle che: 4 4 4 4 4 Itervllo d rppresetzoe (3) Itervllo d rppresetzoe (3) Dmostrmo che vle : Clcolmo: ( )...... ) ( ) ( ) ( Qud, e per / vle che: 43 Esercz Esercz Scrvere l rppresetzoe polrzzt su 5 bt Trovre l rppresetzoe vrgol moble (schem 3 bt come d lezoe per sego, espoete e sgfcte) per:, -, - 44 Problem Problem Nell rppresetzoe polrzzt su k bt: Qule è l'tervllo d rppresetzoe? Qule è l rppresetzoe dello zero? Come s f compredere qule d due ter rppresett complemeto due è l mggore? Perché s è scelto d memorzzre ell rppresetzoe vrgol moble prm l'espoete e po l sgfcte? Qule operzoe rsulterebbe pù compless? Suggermeto: c'etr che l polrzzzoe dell'espoete