dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)



Relaterede dokumenter
dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

Niveauer af abstrakte maskiner

Eksamen dcomnet Q2/2010. Navn

Eksamen dcomnet Q2/2012. Studiekortsnummer Navn

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Eksamen dcomnet 2012Q4. Årskortsnummer Navn

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

Kom i gang-opgaver til differentialregning

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Maskinarkitektur. Lars Kristensen Christian Storm dmasark 1

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn

Funktionalligninger - løsningsstrategier og opgaver

CPUer og maskinkode DM534. Rolf Fagerberg

Computerarkitektur Eksamen 2014Q2. Niels Olof Bouvin A. Studienummer Navn

Øvelse 10. Tobias Markeprand. 11. november 2008

Eksamen Computerarkitektur 2013Q4. Niels Olof Bouvin. Studienummer Navn

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Matematiske metoder - Opgaver

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Computere og Netværk (dcomnet)

Kort om Eksponentielle Sammenhænge

Dansk Datalogi Dyst 2015 DDD Runde 2

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Repræsentation af tal

Rapport Bjælken. Derefter lavede vi en oversigt, som viste alle løsningerne og forklarede, hvad der gør, at de er forskellige/ens.

Højere Teknisk Eksamen maj Matematik A. Forberedelsesmateriale til 5 timers skriftlig prøve NY ORDNING. Undervisningsministeriet

Talrækker. Aktivitet Emne Klassetrin Side

Lineære modeller. Taxakørsel: Et taxa selskab tager 15 kr. pr. km man kører i deres taxa. Hvis vi kører 2 km i taxaen koster turen altså

Formler, ligninger, funktioner og grafer

Lodret belastet muret væg efter EC6

Gymnasieøvelse i Skanning Tunnel Mikroskopi (STM)

Kombinatorik. Eksempel 2: En mand har 7 par bukser og 10 skjorter. Skal han både vælge en skjorte og et par bukser, så har han 10. 7=70 mulige valg.

BASE. Besvarelse til individuel skriftlig test

Differentialligninger. Ib Michelsen

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

Formelsamling Matematik C

JavaScript. nedarvning.

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Madkulturen - Madindeks Idealer om det gode aftensmåltid

Varmeligningen og cosinuspolynomier.

Profilmodel 2012 Videregående uddannelser

Kombinatoriske Spil. Noter til QGM Math Club af Tobias Kildetoft

Om at udregne enkeltstående hexadecimaler i tallet pi

Bilag til den indsigelse, som sommerhusgrundejerforeningerne på Samsø har fremsendt til Skov- og Naturstyrelsen den 27. april 2012.

Repræsentation af tal

Repræsentation af tal

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006

Kursus Introduktion til Statistik. Forelæsning 7: Kapitel 7 og 8: Statistik for to gennemsnit, ( , ) Per Bruun Brockhoff

Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium

Brøk Laboratorium. Varenummer

Sort udklip og Hvidt udklip angiver, hvor stor en del af skyggeog lys-områderne der skal klippes til de nye skygge- og lys-områder.

Logik. Af Peter Harremoës Niels Brock

ANALYSEBUREAUET OGTAL ANALYSEBUREAUET OGTAL EU-OPSTILLING UNDERSØGELSE AF EU-OPSTILLING FOR ENHEDSLISTEN

Dannelse af overflytningsordrer mellem lokationer foretages via menupunktet Beregn plan under Køb - Planlægning Indkøbskladder.

Valgkampens og valgets matematik

Videregående Programmering for Diplom-E Noter

18 Multivejstræer og B-træer.

Brug Photo Story 3 en let introduktion

Matematikken bag Parallel- og centralprojektion

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde.

Substitutions- og indkomsteffekt ved prisændringer

Her skal vi se lidt på de kræfter, der påvirker en pil når den affyres og rammer sit mål.

Sandsynlighedsregning: endeligt udfaldsrum (repetition)

Newtons afkølingslov

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Repræsentation af tal

GEOMETRI-TØ, UGE 11. Opvarmningsopgave 2, [P] (i,ii,iv). Udregn første fundamentalform af følgende flader

Lineære ligningssystemer

Opgave 6. Opgave 7. Opgave 8. Peter Harremoës Mat A delprøve med hjælpemidler 15 december 2015

LINEÆR PROGRAMMERING I EXCEL

Årsplan for matematik i 1. klasse

Rettevejledning til HJEMMEOPGAVE 2 Makro 1, 2. årsprøve, foråret 2007 Peter Birch Sørensen

D1 1 Partikelformede bjergarter

SPSS introduktion Om at komme igang 1

DATALOGI MASKINARKITEKTUR

Videregående pc-vejledning

Indholdsfortegnelse :

Installér din Officepakke 2013

Talsystemer I V X L C D M Hvad betyder halvanden??. Kan man også sige Halvtredie???

Informations Teknologi Indholdsfortegnelse


6. Regression. Hayati Balo,AAMS. 1. Nils Victor-Jensen, Matematik for adgangskursus, B-niveau 1

Skriftlig eksamen i Datalogi

Egenskaber ved Krydsproduktet

Eksempel: Skat i år 2000

Klasse Situation Observation 3. klasse Før spillet. Der bliver spurgt ind til hvad børnene

Algebra INTRO. I kapitlet arbejdes med følgende centrale matematiske begreber:

Note til styrkefunktionen

Inklusionsundersøgelsen

Børn, unge og sundhed

Notat. Notat om produktivitet og lange videregående uddannelser. Martin Junge. Oktober

Lektion 4 Brøker og forholdstal

Procedurer og funktioner - iteration og rekursion

Allan C. Malmberg. Terningkast

Service-, viden- og oplevelsessamfundet

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå

b > 0 og x > 0, vil vi kalde en potensfunktion Potensfunktioner

Transkript:

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) Efterår 2009

1 Talrepræsentation På maskinkodeniveau (Instruction Set Architecture Level) repræsenteres ordrer og operander ved bitfølger af forskellig længde. F.eks. repræsenteres IJVM ordren: iload 25 som bitfølgen 0001010100011001, altså 16 bit; de første 8 bit er koden (opcode) for iload, de sidste 8 bit er operanden 25 repræsenteret som et binært tal, SCO, appendix A. I ordren: bipush -2 bliver tallet -2 repræsenteret som bitfølgen 11111110, altså bruges igen 8 bit til at repræsenterer operandværdien -2. IJVM repræsenterer negative tal ved såkaldt 2-komplement repræsentation, SCO, appendix A. Det er denne repræsentation af -2 som giver de 8 bit. I ordren: invokevirtual 14 repræsenteres 14 som et binært tal med 16 bit i to byte med de mest betydende 8 bit i den laveste adresse, SCO, s. 72, big endian. De 16 bit er fordelt på to byte således: Udregner vi: adresse i : 00000000 adresse i+1: 00001110 bipush 0 bipush 5 isub vil toppen af stakken efter udførelse af den sidste ordre indeholde værdien -5 repræsenteret som en bitfølge 11111111111111111111111111111011, med 32 bit; det negative tal -5 repræsenteres også her ved 2-komplement repræsentation. Vi skal i det følgende se nærmere på talrepæsentation ved hjælp af bitfølger. Lad os starte med at indskrænke os til i en given situation at betragte bitfølger af en fast længde N 1. En bitfølge med længde N kaldes i det følgende et bitmønster og et vilkårligt bitmønster skrives således: W = w N 1 w N 2 w 1 w 0 hvor w i {0, 1} og de enkelte bitpositioner fra venstre mod højre nummereres som position N 1, N 2,..., 0. Mængden af bitmønstre med N bit betegnes B N. Der er 2 N elementer i B N. I repræsentationen af ordren iload 25 er de sidste 8 bit altså et element i B 8. I invokevirtual 14 er de sidste 16 bit et element i B 16, mens indholdet på toppen af stakken er et element i B 32. 1

Når elementerne i B 8 som operand til iload, fortolkes som tal, sker det ved at fortolke de enkelte bit som cifre i det binære talsystem med de mindst betydende til højre og de mest betydende til venstre. F.eks.: 25 = 1 2 4 + 1 2 3 + 1 2 0 Generelt for W B N fås tallet ud fra bitmønstret på følgende vis: W = N 1 w i 2 i hvor altså er en afbildning af bitmønstre ind i de ikke-negative heltal (Unsigned Integer), dvs. B N UI. Mere præcist er billedmængden for denne afbildning en delmængde af de ikke-negative heltal nemlig UI N = {0, 1, 2,, 2 N 1}. De 8 bit i varnum i ordren iload skal altså fortolkes som et ikke-negativt heltal i {0, 1,, 2 8 1 = 255} og i ordren invokevirtual er området for operanden, et index i Constant Pool, {0, 1,, 2 16 1 = 65535}. Afbildningen giver altså bitmønstre en fortolkning som et ikke-negativt heltal. Den omvendte afbildning 1 fra f.eks. {0, 1,, 255} B 8 er en repræsentation af ikke-negative heltal som bitmønstre. Begge afbildninger og 1 er illustreret i SCO, figur A-5 og A-6. Operanden til bipush er bitmønstret 11111110. Dette er jo et element i B 8. Betragtes dette som et ikke-negativt heltal fås: 11111110 = 254 altså må bitmønstret skulle fortolkes anderledes, når vi tillægger det værdien -2. Det sker ved såkaldt 2-komplement fortolkning : eller generelt: W 2 = 11111110 2 = 2 { W når W 2 N 1 1 W 2 N når W 2 N 1 Da 2 8 = 256 fås netop fortolkning -2 for bitmønstret ovenfor. Afbildningen 2 : B N I, af bitmønstre ind i de hele tal (Integer), fortolker bitmønstre anderledes end afbildningen. Billedmængden er I N = { 2 N 1,, 2 N 1 1}; et interval af heltal som er næsten symmetrisk om 0. Denne fortolkning kaldes som nævnt 2-komplement fortolkning og den omvendte afbildning kaldes 2- komplement repræsentation. Denne repræsentation gør det således muligt at repræsentere både negative og positive heltal ved hjælp af bitmønstre. Det er netop 2-komplement fortolkningen af bitmønstre i B 32 som benyttes, når stakelementer indgår i en beregning som f.eks. ovenfor. Da alle bitmønstre med W 2 N 1 1 har w N 1 = 0, mens bitmønstre med W 2 N 1 har w N 1 = 1, kan vi alene ud fra w N 1 se om et tal er ikke-negativt eller negativt ved 2-komplement repræsentationen. Altså kan 2 også defineres således: eller W 2 = { W når wn 1 = 0 W 2 N når w N 1 = 1 W 2 = W w N 1 2 N 2

Dette benyttes i IJVM ordren iflt. I SCO, figur 4-11, er iflt defineret som: Pop word from stack and branch if it is less than 0 På maskinkodeniveau betyder relationen stack word < 0 altså, at de 32 bit på toppen af stakken fortolket som en 2-komplement værdi skal være negativ, dvs. bit 31 i bitmønstret på staktoppen skal være 1. Af denne grund kaldes bit 31 eller generelt bit N 1 i et 2-komplement fortolket bitmønster for en fortegnsbit. 1.1 Bitkomplement At komme fra -27 til et element i B 16 som ved 2-komplement repræsentation repræsenterer værdien -27 kan selvfølgelig ske ud fra definitionen: 27 = U 2 16 U = 2 16 27 = 65509 og så finde de 16 bit i U ud fra dette. Det kan være lidt besværligt, især for små negative heltal, at finde U på denne måde. I stedet kan man gøre følgende, se SCO, s. 685, start med den numeriske værdi af tallet: 27 = 0000000000011011 = W Så fås U ved at danne bitkomplement eller bitvis negationen af W, kaldet W, læg 1 til og smid en eventuel mente væk: W = 1111111111100100 + 0000000000000001 U = 1111111111100101 For at indse at denne metode gælder i almindelighed skal vi starte med en simpel relation imellem ikke-negativ heltalsfortolkning af et bitmønster W og dets bitkomplement W : Denne opnås simpelt således: W + W = 2 N 1 W + W = N 1 w i 2 i + N 1 (1 w i) 2 i Relationen omskrives til: = N 1 2 i = 2 N 1 W = W + 1 2 N Antages W > 0, optræder der ingen mente ved den binære addition af W og 1. Skrives resultatet af denne binære addition som bitmønstret betegnet med W + 1 fås: W = W + 1 2 N = U 2 N og dette viser netop at bitmønstret U = W + 1 repræsenterer tallet W, når W > 0. 3

1.2 Fortegnsforlængelse Når konstanten i bipush -2 anbringes på toppen af stakken skal bitmønstret i B 8 udvides til 32 bit, altså et element i B 32. Udvidelsen skulle jo gerne ske så elementet i B 32 stadig bliver fortolket som værdien -2. Det sker ved fortegnsudvidelse (sign extension, SCO, s. 238). Antag, W B N og at W skal udvides til et bitmønster i B N+M. Det sker således: { 0 0 W når wn 1 = 0 signextend(w ) = 1 1 W når w N 1 = 1 Fortegnsbit w N 1 i W kopieres til de M mest betydende positioner i det udvidede bitmønster. At dette giver samme 2-komplement fortolkning som det oprindelige bitmønster, kan indses således. Vi har trivielt: Det andet tilfælde giver følgende: 0 0 W 2 = 0 0 W = W = W 2 1 1 W 2 = 1 1 W 2 N+M = N+M 1 i=n 1 2 i + W 2 N+M = 2 N M 1 2 i + W 2 N+M = 2 N (2 M 1) + W 2 N+M = W 2 N = W 2 Så i begge tilfælde fås samme 2-komplement fortolkning. 4

Opgaver Opgave 1.1 Angiv for B 4 og B 8 billedmængden for afbildningen. Vis, at w k = ( W div 2 k )mod 2 Hvordan stemmer dette med metoden i SCO, ap- for k = 0, 1,, N 1. pendix A, figur A-5? Opgave 1.2 Skriv 1, 7 og 27 som elementer i B 6 ved 2-komplement repræsentation. Hvad er værdimængden for afbildningen 2 : B 6 I? Opgave 1.3 Fortolk følgende elementer i B 8 som 2-komplement heltal: 11100011 01111111 11111111 10000000 Opgave 1.4 Ved 8 bit 2-komplement repræsentation af heltal kan man komme fra et konkret bitmønster til den repræsenterede værdi ved at give den mest betydende bit vægten 128; de øvrige bit indgår med sædvanlig vægt. Haves f.eks. 11100010 fås den repræsenterede værdi som 128 1+1 64+1 32+1 2 = 30. Hvorfor det? 5