Decimal dator
Decimaldatorer är datorer som kan representera siffror och adresser i decimaler samt ge instruktioner för att arbeta på dessa siffror och adresser direkt i decimal, utan konvertering till en ren binär representation. Vissa hade också en variabel ordlängd , vilket möjliggjorde operationer på tal med ett stort antal siffror.
Tidiga datorer
Tidiga datorer som uteslutande var decimaler inkluderar ENIAC , IBM NORC , IBM 650 , IBM 1620 , IBM 7070 , UNIVAC Solid State 80 . I dessa maskiner var den grundläggande enheten för data decimalsiffran, kodad i ett av flera scheman, inklusive binärkodad decimal (BCD), bi-kinär och två-av-fem-kod . Förutom IBM 1620 och 1710 använde dessa maskiner ordadressering . När icke-numeriska tecken användes i dessa maskiner, kodades de som två decimalsiffror.
Andra tidiga datorer var teckenorienterade och gav instruktioner för att utföra aritmetik på teckensträngar med decimala siffror, med BCD eller excess-3 (XS-3) för decimalsiffror. På dessa maskiner var det grundläggande dataelementet ett alfanumeriskt tecken, vanligtvis kodat i sex bitar . UNIVAC I och UNIVAC II använde ordadressering, med ord på 12 tecken. IBM-exempel inkluderar IBM 702 , IBM 705 , IBM 1400 -serien, IBM 7010 och IBM 7080 .
Senare datorer
IBM System/360 , som introducerades 1964 för att förena IBMs produktlinjer, användes per tecken binär adressering, och inkluderade även instruktioner för packad decimalaritmetik såväl som binär heltalsaritmetik och binär flyttal. Den använde 8-bitars tecken och introducerade EBCDIC- kodning, även om ASCII också stöddes. Burroughs B2500 som introducerades 1966 använde också 8-bitars EBCDIC- eller ASCII-tecken och kunde packa två decimalsiffror per byte, men den gav inte binär aritmetik, vilket gjorde det till en decimalarkitektur.
Modernare datorer
Flera mikroprocessorfamiljer erbjuder begränsat decimalstöd. Till exempel tillhandahåller 80x86-familjen av mikroprocessorer instruktioner för att konvertera en-byte BCD-nummer (packade och uppackade) till binärt format före eller efter aritmetiska operationer. Dessa operationer utökades inte till bredare format och är därför nu långsammare än att använda 32-bitars eller bredare BCD-tricks för att beräkna i BCD. x87 sedan fungerar på dem som flyttal.
Motorola 68000 gav instruktioner för BCD-addition och subtraktion; liksom 6502 . I de mycket senare 68000 familjehärledda processorerna togs dessa instruktioner bort när Coldfire -instruktionsuppsättningen definierades, och alla IBM stordatorer tillhandahåller också BCD-heltalsaritmetik i hårdvara. Zilog Z80 , Motorola 6800 och dess derivator, tillsammans med andra 8-bitars processorer, och även Intel x86 -familjen har speciella instruktioner som stöder konvertering till och från BCD. Psion Organizer I handdatorns mjukvara som tillhandahålls av tillverkaren implementerade sina flyttalsoperationer i mjukvara med helt BCD. Alla senare Psion-modeller använde endast binärt, snarare än BCD.
Decimalaritmetik blir nu allt vanligare; till exempel lades tre decimaltyper med två binära kodningar till i 2008 års IEEE 754r- standard, med 7-, 16- och 34-siffriga decimalsignifikanter .
IBM Power6-processorn och IBM System z9 har implementerat dessa typer med hjälp av den tätt packade decimala binära kodningen, den första i hårdvara och den andra i mikrokod.
Se även
Vidare läsning
- Schmid, Hermann (1974). Decimalberäkning (1 upplaga). Binghamton, New York, USA: John Wiley & Sons, Inc. ISBN 0-471-76180-X . Hämtad 2016-01-03 . (OBS. Den här rubriken ger en detaljerad beskrivning av decimalberäkningar , inklusive förklaringar av binärkodade decimaler och algoritmer .)
- Schmid, Hermann (1983) [1974]. Decimal Computation (1 (reprint) ed.). Malabar, Florida, USA: Robert E. Krieger Publishing Company. ISBN 0-89874-318-4 . Hämtad 2016-01-03 . (OBS. Åtminstone vissa partier av denna nytryckta utgåva var tryckfel med defekta sidorna 115–146.)