Desimal datamaskin - Decimal computer
Desimaldatamaskiner er datamaskiner som kan representere tall og adresser i desimaler samt gi instruksjoner for å betjene disse tallene og adressene direkte i desimal, uten konvertering til en ren binær representasjon. Noen hadde også en variabel ordlengde , som muliggjorde operasjoner på tall med et stort antall sifre.
Tidlige datamaskiner
Tidlige datamaskiner som utelukkende var desimale inkluderer ENIAC , IBM NORC , IBM 650 , IBM 1620 , IBM 7070 , UNIVAC Solid State 80 . I disse maskinene var den grunnleggende dataenheten desimalsifret, kodet i en av flere ordninger, inkludert binærkodet desimal (BCD), bi-quinar og to av fem kode . Bortsett fra IBM 1620 og 1710 brukte disse maskinene ordadressering . Når ikke-numeriske tegn ble brukt i disse maskinene, ble de kodet som to desimaler.
Andre tidlige datamaskiner var tegnorienterte, og ga instruksjoner for å utføre regning på tegnstrenger med desimaltall, ved bruk av BCD eller overflødig-3 (XS-3) for desimalsifre. På disse maskinene var det grunnleggende dataelementet et alfanumerisk tegn, vanligvis kodet i seks biter . UNIVAC I og UNIVAC II brukte ordadressering, med ord på 12 tegn. IBM -eksempler inkluderer IBM 702 , IBM 705 , IBM 1400 -serien, IBM 7010 og IBM 7080 .
Senere datamaskiner
Den IBM System / 360 , som ble innført i 1964 for å forene IBM produktlinjer, anvendt per tegn binær adressering, og også inkludert instruksjoner for pakket desimal aritmetiske samt binært heltall aritmetikk, og binær flytende komma. Den brukte 8-biters tegn og introduserte EBCDIC- koding, selv om ASCII også ble støttet. Den Burroughs B2500 introdusert i 1966 også brukt 8-bits EBCDIC eller ASCII-tegn og kunne pakke to desimaler per byte, men det gjorde ikke gi binær aritmetikk, noe som gjør det til en desimal arkitektur.
Mer moderne datamaskiner
Flere mikroprosessorfamilier tilbyr begrenset desimalstøtte. For eksempel gir 80x86-familien av mikroprosessorer instruksjoner for å konvertere ett-byte BCD-tall (pakket og pakket ut) til binært format før eller etter aritmetiske operasjoner. Disse operasjoner ble ikke utvidet til bredere formater og dermed blir nå langsommere enn ved hjelp av 32-bit eller bredere BCD 'triks' for å beregne i BCD.
Den Motorola 68000 gitt instruksjoner for BCD addisjon og subtraksjon; det samme gjør 6502 . I de mye senere 68000 familie-avledede prosessorene ble disse instruksjonene fjernet da Coldfire- instruksjonssettet ble definert, og alle IBM-hovedrammer gir også BCD-heltallsregning i maskinvare. Zilog Z80 , Motorola 6800 og dets derivater, sammen med andre 8-biters prosessorer, og også Intel x86- familien har spesielle instruksjoner som støtter konvertering til og fra BCD. Den Psion Organizer jeg håndholdt datamaskin produsenten-medfølgende programvaren implementert sine flyttallsoperasjoner i programvare ved hjelp av BCD helt. Alle senere Psion -modeller brukte bare binær, i stedet for BCD.
Desimalregning blir nå mer vanlig; for eksempel, ble tre desimaler typer med to binære kodinger lagt til 2008 IEEE 754r standard, med 7-, 16- og 34-sifrede desimaltall significands .
IBM Power6 -prosessoren og IBM System z9 har implementert disse typene ved bruk av Densely Packed Decimal binær koding, den første i maskinvare og den andre i mikrokode.
Referanser
Videre lesning
- Schmid, Hermann (1974). Desimal Computation (1 utg.). Binghamton, New York, USA: John Wiley & Sons, Inc. ISBN 0-471-76180-X. Hentet 2016-01-03 .(NB. Denne tittelen gir detaljert beskrivelse av desimalberegninger , inkludert forklaring av binærkodede desimaler og algoritmer .)
- Schmid, Hermann (1983) [1974]. Decimal Computation (1 (utskrift) red.). Malabar, Florida, USA: Robert E. Krieger Publishing Company. ISBN 0-89874-318-4. Hentet 2016-01-03 .(NB. Minst noen partier av denne nyutgaven var trykkfeil med defekte sider 115–146.)