NO121920B - - Google Patents

Download PDF

Info

Publication number
NO121920B
NO121920B NO5046/69A NO504669A NO121920B NO 121920 B NO121920 B NO 121920B NO 5046/69 A NO5046/69 A NO 5046/69A NO 504669 A NO504669 A NO 504669A NO 121920 B NO121920 B NO 121920B
Authority
NO
Norway
Prior art keywords
adder
elements
binary
addition
significant
Prior art date
Application number
NO5046/69A
Other languages
English (en)
Inventor
G Hemdal
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of NO121920B publication Critical patent/NO121920B/no

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/12Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word having two radices, e.g. binary-coded-decimal code

Description

Anordning for omforming av binært tall til desimalt tall i datamaskin.
Oppfinnelsen vedrbrer en anordning for omforming av et binært
tall til et desimalt tall i en datamaskin, særlig i en datamaskin for prosesstyring, hvilken maskin fullstendig mangler muligheter for regneoperasjoner som f.eks. multiplikasjon og divisjon.
Ved arbeide med datamaskiner forekommer det ofte at man hurtig behbver å kunne utlose et binært tall i klarskrift, dvs.
omforme det binære tall til et desimalt tall. En rutinert datamaskinoperator har ingen vanskeligheter med å lose binære
tall bestående av et mindre antall biter, men ved losning av lengere binære tall kreves tid for omregning. Når det gjelder en datamaskin med fullstendige muligheter for de fire regneoperasjoner, kan en omforming skje f.eks. ved en suksessiv divisjon med ti. En datamaskin beregnet for prosesstyring mangler imidlertid oftest denne mulighet, hvilket innebærer at en divisjon med ti må utfores ved programmering av et antall subtraksjoner og skift, hvilket blir relativt tidskrevende,
i beste fall av størrelsesordenen t ~ i millisekund.
4 2
Ifolge oppfinnelsen erstatter man divisjonen med en aproksi-mativ multiplikasjon som utfores ved hjelp av den anordning som utgjor oppfinnelsesgjenstanden og er definert i de neden-stående patentkrav.
Oppfinnelsen skal nærmere beskrives nedenfor ved hjelp av et utforelseseksempel under henvisning til tegningen på hvilken fig. 1 og 2 skjematisk viser anordningen ifolge oppfinnelsen.
Fig. 1 viser den innledende fase i omformingen av et binært tall til et desimaltall, mens
fig. 2 viser den avsluttende fase ved samme omformingsprosess.
Med RA betegnes et register, i hvilket innskrives det binære tall som skal omformes. Ifolge eksemplet har registeret 16 bitposisjoner, hvilket innebærer at det muliggjor innskrivning av binære tall opp til 2<*>^-1. Forefinnes behov for å kunne omforme storre binære tall, må antall bitposisjoner okes i tilsvarende grad. Med Al, A2, A3, A4 og A5 betegnes et antall binære adderingsorgan, oppbygget av binære adderingselementer, hvilke adderingsorgan er kaskadekoblede med hverandre på slik måte at resultatutgangen fra hvert adderingselement i et adderingsorgan er koblet til hver adderingsinngang hos to forskjellige adderingselementer i nestfolgende adderingsorgan. Adderingsorganet Al har like mange adderingselementer, dvs.
16, som antall sifferposisjoner i registeret RA, adderingsorganet A2 har to adderingselementer mere, hvilkes oppgave skal
forklares nærmere nedenfor. Fra og med adderingsorganet med ordensnummer n = 3 oker antall adderingselementer med 2n-^"
for hvert ytterligere adderingsorgan, dvs. adderingsorganet A3 har fire adderingselementer mere enn A2, adderingsorganet A4 har åtte adderingselementer mere enn A3, adderingsorganet A5 skulle ha hatt 16 ytterligere adderingselementer
men ifolge figuren har det kun samme antall adderingselementer som A4, eftersom nevnte ytterligere adderingselementer mangler praktisk betydning for omformingsresultatet. Adderingsorganene behover nemlig kun å inneholde så mange adderingselementer at de fire mest signifikante desimalene i kvotienten blir korrekte, slik det skal forklares nærmere nedenfor. De ovenfor nevnte to forskjellige adderingselementer til hvilke samme resultatutgang i et adderingselement i foregående adderingsorgan er tilkoblet, ligger i adderingsorganet A2 ved siden av hverandre, i de efterfolgende adderingsorganene på 2n dvs. fire adderingselementers avstand fra hverandre i adderingsorganet A3, åtte i A4 og 16 i A5.
I adderingsorganet Al adderes en enhet til det binære tall
som skal omformes, dvs. det som står innskrevet i registeret RA. Resultatet fra adderingsorganet Al multipliseres i adderingsorganet A2 med 3, og for hvert ytterligere adderingsorgan oppnås resultatet fra det foregående adderingsorgan
(on-l) 4
multiplisert med (2 +1), dvs. med (2 + 1) i adderingsorganet A3, med (2 Q + 1) i adderingsorganet A4 og med (2^ + 1) i adderingsorganet A5.
Hvis antall sifferposisjoner i registeret RA eller antall adderingselementer i adderingsorganet Al betegnes med p, fås fra resultatutgangene hos de p-3 mest signifikante adderingselementene i adderingsorganet A5 et binært tall som er en tiendedel av det opprinnelige binære tallet, slik det skal forklares nærmere nedenfor. Resultatet fra nevnte p-3, ifolge eksemplet således tretten, mest signifikante adderingselementer i adderingsorganet A5 mates i form av et binært tall til inngangen på en kompar at orkrets J, mens de nærmest folgende fire adderingselementer hver har sine resultatutganger koblet til de fire minst signifikante av det av fem adderingselementer bestående adderingsorganet A6, og ytterligere en inngang hos de to minst signifikante adderingselementene hos det sistnevnte adderingsorganet har ytterligere en inngang koblet til adderingselementene med ordensnummer p-2 (=14) resp. p-1 (=15) hos adderingsorganet A5. Med S betegnes en omkobler med like mange stillinger som det maksimale antall sifre som på grunn av antall binære posisjoner kan forekomme i det sokte desimaltall, fem ifolge eksemplet. Omkobleren er i utgangsstilling innstilt på posisjon 1 og trinnforflyttes frem til de ovrige stillingene i tur og orden fra komparatorkretsen efter hver avsluttet sammenligning. Med RBl, RB2, ... RB5 betegnes fjfem binære registere, hvert med fire bitposisjoner.
I komparatorkretsen fastslås om det tidligere nevnte resultat fra adderingsorganet A5 er storre enn null, og hvis dette er tilfelle mates tallet til registeret RA, hvorefter forlopet gjennom de kaskadekoblede adderingsorganene gjentas og ny sammenligning skjer. Såsnart resultatet er null, oppnås utslag fra en indikator I.
Som innledningsvis nevnt går omformingen av et binært tall
til et desimalt tall ved at det foretas en suksessiv divisjon med ti. Hvis man f.eks. betrakter det desimale tallet 34567, ser man at en divisjon med ti gir en kvotient på 3456 og en rest på 7. Hvis man derefter dividerer kvotienten 3456
med ti, får man en ny kvotient på 345 og en ny rest på 6,
Hvis man fortsetter på samme måte, får man neste gang kvotienten 34 og resten 5, derefter kvotienten 3 og resten 4 og endelig kvotienten 0 og resten 3. Den forst oppnådde rest 7 utgjor det desimale tallets siste siffer, 6 dets nestsiste osv, og den sist oppnådde rest 3 utgjor det forste siffer. Som tidligere nevnt er en divisjon i en datamaskin som ikke er direkte beregnet for divisjon, én relativt tidkrevende prosess. Hvis man i stedet for en serie divisjoner med 10 lar datamaskinen utfore en serie multiplikasjoner med en tiendedel, kan resultatet oppnås betydelig hurtigere. Nå er imidlertid en tiendedel uttrykt i binær form et periodisk uavsluttet tall av formen 0,000110011001100110011 Man må således danne et slikt binært tall som med tilstrekkelig god aproksimasjon inneholder samme sekvens av ettall og nulltall som ovenstående binære desimaler, hvilket imidlertid ikke er umiddelbart mulig uten ved å anvende visse knep. Ved å multiplisere på en hensikts-messig måte valgte binære tall med hverandre et antall ganger kan man oppnå en god aproksimasjon til periodisiteten i nevnte periodisk uavsluttede tall. Det har vist seg at hvis man tar utgangspunkt i det binære tallet 11 (desimalt 3), får man ved en multiplikasjon med det binære tallet 10001 (desimalt 17) tallet 110011 (desimalt 51). Ved å fortsette multiplikas-jonenemed det binære tallet 100000001 (desimalt 2 p + 1 = 257) oppnås resultatet 11001100110011, hvilket allerede er en relativt god aproksimasjon. Efter fortsatt multiplisering med lOOOOOOOOOOOOOOOl (desimalt 2<16> + 1) får man 1100110011001100 11001100110O1\, hvilket er,en fullgod aproksimasjon til periodisiteten i uttrykket for en tiendedel, der man ser bort ifra desimalkommaets plasering. Det er imidlertid lett å innse at man kan oke serien av ettall og nulltall i onsket
(on-l)
grad ved en multiplikasjon med (2 +1), der n = 6, 7, 8, ...
Som tidligere nevnte skjer i adderingsorganet Al en addisjon
av 1 til det binære tall som skal omformes. Dette er en korreksjon som er nodvendig, slik det fremgår av fblgende tabell 1, der tallene ett til elve divideres med ti:
Som det fremgår av tabellen blir kvotienten feilaktig når dividenden er ti. Det samme gjelder alle multipler av ti eftersom de binære desimalene er de samme for samme slutt-sifre i et vilkårlig desimalt tall. Dette tall korrigeres derved at 1 adderes til dividenden for divisjonen med ti, dvs. multiplikasjon med en tiendedel. Samtidig oppnår man at de binære desimalene blir representative for sluttresul-tatet, slik det fremgår av det folgende. Hvis man multipli-serer de forste fire binære desimalposisjonene ifolge ovenstående tabell med binært 101 (desimalt 5) og stryker de siste tre posisjonene i resultatet får man folgende sammen-heng:
Som det fremgår av tabellen oppnås efter multiplisering av verdiene i den andre kolonnen med (binært) 101 og strykning av de siste tre bitposisjoner restverdiene for divisjonen av et desimalt tall som tilsvarer det opprinnelige binære tallet. Disse forhold er tatt i betraktning ved anordningen ifolge oppfinnelsen. Forlopet ved anordningen kan nå lett forklares ved hjelp av figurene, av hvilke fig. 1 viser begynnelsesfasen for en omforming av det binære .tallet 1011011101111100,
hvilket er innskrevet i registeret RA, til et desimalt tall.
I adderingsorganet Al okes tallet med 1, i adderingsorganet A2 skjer en multiplikasjon med tre ved dels et skift og dels
ved addering av tallet til den skiftede verdi, i adderingsorganet A3 skjer en multiplikasjon med 2 4+1 ved dels fire skift og dels ved addering av tallet til den skiftede verdi, i adderings-
organet A4 skjer en multiplikasjon med 2 g+1 ved åtte skift og addisjon, og i adderingsorganet A5 en multiplikasjon med 2^ + 1 ved 16 skift og addisjon. Adderingsorganets A5 tretten mest signifikante adderingselementer inneholder nå det binære tallet 1001001011001, som er kvotienten ved divisjonen med ti, og adderingsorganets folgende fire adderingselementer inneholder det binære tallet OlOO, som utgjor de fire mest signifikante desimalene i resultatet, sml. tabell 2. Ved to skift og addering av tallet til den skiftede verdi skjer i adderingsorganet A6 en multiplikasjon med fem. Som det fremgår av figuren, bortfaller de siste tre sifferposisjonene som skulle ha vært oppnådd i resultatet fra adderingsorganet A6, slik som vist i forbindelse med tabell 2. De forste fire adderingselementer i adderingsorganet A6 inneholder nå i binær form resten OOIO ved den forste divisjon med ti. Omkobleren S
står i stilling 1, og informasjonen OOIO mates til registeret RB1. Kvotienten lOOlOOlOllOOl mates fra adderingsorganet
A5 til komparatorkretsen J, og eftersom kvotienten ikke er lik 0, mates den til og innskrives i registeret RA. Samme forlop gjentas et antall ganger, hvorved de oppnådde restene ved suksessiv trinnfremflytning av omkobleren S efterhvert innskrives i registerene RB2, RB3 og RB4, mens de ved hvert omlop dannede kvotientene efter sammenligning med 0 innskrives i registeret RA. Man antar nå (se fig. 2) at kun et omlop gjenstår. I registeret RA står tallet OOOOOOOOOOOOOIOO innskrevet.
Efter at dette tall er behandlet i adderingsorganene Al - A5 inneholder A5 nå utelukkende nulltall i sine forste tretten adderingselementer, dvs. kvotienten er nå O, hvilket komparabel-kretsen J konstaterer og ved indikatoren I angir at omformingen er avsluttet. Samtidig multipliseres de forste fire desimalene 0111 i adderingsorganets fjortende til syttende adderingselementer med fem, og resultatets forste fire biter mates via omkobleren S, som nå står i posisjon 5, til registeret RB5. Registerene RB5 - RB1 angir nå resultatet i binærkodet desimalpresentasjon. Som det fremgår av fig. 2 avleses folgende resultat: OlOO 0110 1001 Olli OOIO, dvs. tallet 46972 i Tiden som det har tatt å omforme det binære tallet 1011011101111100 til det desimale tall 46972 i form av binærkodet desimalpresentasjon blir vesentlig mindre enn hvis omformingen skulle ha skjedd på konvensjonell måte ved hjelp av et program, nemlig av størrelsesorden 10% eller mindre av tiden som er nodvendig ved arbeide med et program, eftersom hvert kretsadderingselement utforer arbeidet på ca.
0,5 us mens et programadderingselement utforer tilsvarende arbeide på ca. 5 us.

Claims (1)

  1. Anordning for i en datamaskin, spesielt en datamaskin for prosesstyring, å tilveiebringe en hurtig omforming av et
    binært tall til et desimalt tall, karakterisert ved at anordningen omfatter et antall binære adderingsorgan, hvilket antall er bestemt av den noyaktighet som onskes for omformningen og hvilke adderingsorgan er tildelt ordensnummerene n = 1, 2, 3, , og er oppbygde av binære adderingselementer, hvilke adderingsorgan er kaskadekoblede med hverandre på slik måte at resultatutgangen fra hvert adderingselement i et adderrngsorgan er koblet til en adderingsinngang hos hver av to forskjellige adderingselementer i nestfolgende adderingsorgan, hvorved det forste adderingsorganet har minst like mange adderingselementer som antall sifferposisjoner p i det binære tallet som skal omformes, det andre adderingsorganet har to adderingselementer mer enn det forste, og fra adderingsorganet med ordensnummer n = 3 oker antall adderingselementer med 2<n>~^" for hvert ytterligere adderingsorgan, hvorved nevnte to forskjellige adderingselementer, til hvilke samme resultatutgang i et adderingselement i foregående adderingsorgan er koblede, ligger i adderingsorganet med ordensnummer n = 2 ved siden av hverandre og i de efterfolgende adderingsorganene på 2n~^" adderingselement er s avstand fra hverandre, slik at ved innskrivning av det binære tallet som skal omformes i det forste adderingsorganet og addering av en enhet i det andre adderingsorganet fås det opprinnelige binære tallets med 1 okede verdi multiplisert med 3, og for hvert ytterligere adderingsorgan fås resultatet fra det foregående adderings- (2n-l) organet multiplisert med (2 +1), hvorved en komparator-krets er anordnet for å sammenligne tallet som representeres av resultatutgangene hos de p-3 mest signifikante adderingselementer i siste adderingsorganet, og i det tilfelle dette tall er storre enn 0 innfore dette i det forste adderingsorgan, og dessuten et ytterligere adderingsorgan med fem adderingselementer er anordnet, der en inngang hos de fire minst signifikante adderingselementene er koblet til resultatutgangene hos adderingselementene med ordensnummerene p-2, p-1, p og p+1, regnet fra det mest signifikante adderingselement i det siste adderingsorganet og ytterligere en inngang hos de to minst signifikante adderingselementene er koblede til adderingselementene med ordensnummerene p-2 resp. p-1 i nevnte siste adderingsorgan samt at en omkobler er anordnet som ved hver sammenligningsoperasjon i komparatorkretsen i tur og orden kobles til forskjellige registre, hvert av hvilke er beregnet på binærkodet desimalpresentasjon av det omregnede tallet for i disse å innmate resultater fra de fire mest signifikante adderingselementene i nevnte ytterligere adderingsorgan .
NO5046/69A 1968-12-20 1969-12-19 NO121920B (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE17538/68A SE316316B (no) 1968-12-20 1968-12-20

Publications (1)

Publication Number Publication Date
NO121920B true NO121920B (no) 1971-04-26

Family

ID=20303717

Family Applications (1)

Application Number Title Priority Date Filing Date
NO5046/69A NO121920B (no) 1968-12-20 1969-12-19

Country Status (9)

Country Link
US (1) US3627998A (no)
BE (1) BE743396A (no)
DK (1) DK122844B (no)
FI (1) FI53518C (no)
FR (1) FR2026700A1 (no)
GB (1) GB1254800A (no)
NL (1) NL6918597A (no)
NO (1) NO121920B (no)
SE (1) SE316316B (no)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143159B2 (en) 2012-10-04 2015-09-22 Silminds, Inc. DPD/BCD to BID converters
US9134958B2 (en) 2012-10-22 2015-09-15 Silminds, Inc. Bid to BCD/DPD converters

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL248430A (no) * 1959-05-22
GB965749A (en) * 1959-11-07 1964-08-06 Emi Ltd Improvements relating to devices for dividing numbers
US3242323A (en) * 1962-12-10 1966-03-22 Westinghouse Air Brake Co Binary to decimal binary code translator

Also Published As

Publication number Publication date
FR2026700A1 (no) 1970-09-18
FI53518B (no) 1978-01-31
DE1963030B2 (de) 1973-08-09
BE743396A (no) 1970-05-28
GB1254800A (en) 1971-11-24
NL6918597A (no) 1970-06-23
US3627998A (en) 1971-12-14
SE316316B (no) 1969-10-20
DE1963030A1 (de) 1970-07-02
FI53518C (fi) 1978-05-10
DK122844B (da) 1972-04-17

Similar Documents

Publication Publication Date Title
JPS6347874A (ja) 算術演算装置
JPH03204720A (ja) 初等関数演算装置
US10684825B2 (en) Compressing like magnitude partial products in multiply accumulation
JPH06314187A (ja) 引き数簡約の最適化システム
GB1582274A (en) Matrix arithmetic apparatus
NO121920B (no)
JP2508784B2 (ja) 指数関数演算装置
JP5193358B2 (ja) 多項式データ処理演算
RU2622881C1 (ru) Устройство для вычисления сумм парных произведений в полиномиальной системе классов вычетов
US10353671B2 (en) Circuitry and method for performing division
RU2584495C1 (ru) Устройство для вычисления коэффициентов обобщенной полиадической системы с коррекцией ошибок
US3562714A (en) Transcendental function generator
JP2508286B2 (ja) 平方根演算装置
SU682894A1 (ru) Арифметическое устройство
SU723581A1 (ru) Специализированный процессор
SU951299A1 (ru) Устройство дл поворота вектора с коррекцией
SU451078A1 (ru) Устройство для сложения-вычитания двоичных чисел
SU748409A1 (ru) Устройство дл умножени двоично- дес тичных чисел
SU868767A1 (ru) Устройство дл вычислени многочленов вида @ @
JPH06105421B2 (ja) 逆三角関数演算装置
JP2010033275A (ja) データ処理方法及びデータ処理プロセッサ
JPH0769785B2 (ja) 除算装置
SU987621A1 (ru) Устройство дл делени
SU824197A1 (ru) Вычислительное устройство
SU783791A1 (ru) Устройство дл умножени многочленов