FI78186B - Dataprocessor som utfoer en decimalmultiplikationsoperation under anvaendning av ett laesminne. - Google Patents

Dataprocessor som utfoer en decimalmultiplikationsoperation under anvaendning av ett laesminne. Download PDF

Info

Publication number
FI78186B
FI78186B FI814045A FI814045A FI78186B FI 78186 B FI78186 B FI 78186B FI 814045 A FI814045 A FI 814045A FI 814045 A FI814045 A FI 814045A FI 78186 B FI78186 B FI 78186B
Authority
FI
Finland
Prior art keywords
decimal
multiplier
register
input
numbers
Prior art date
Application number
FI814045A
Other languages
English (en)
Swedish (sv)
Other versions
FI78186C (fi
FI814045L (fi
Inventor
Virendra S Negi
Steven A Tague
Original Assignee
Honeywell Inf Systems
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 Honeywell Inf Systems filed Critical Honeywell Inf Systems
Publication of FI814045L publication Critical patent/FI814045L/fi
Application granted granted Critical
Publication of FI78186B publication Critical patent/FI78186B/fi
Publication of FI78186C publication Critical patent/FI78186C/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/4915Multiplying; Dividing

Description

! 78186
Tietojenkäsittelylaite, joka suorittaa desimaali-kertolaskutoimituksen lukumuistia käyttämällä - Data-processor som utför decimalmultiplikationsoperation under användning av ett läsminne 5 Esillä oleva keksintö liittyy yleisesti tietojenkäsitte lyjärjestelmiin ja täsmällisemmin laitteeseen desimaaliker-tolaskutoimituksen suorittamiseksi.
Aikaisemmin tunnetaan useita menetelmiä kahden operandin kertomiseksi. Eräänä tavanomaisena menetelmänä on, kos-10 ka kertoja ja kerrottava voivat olla binaarimuodossa, tarkastella kutakin kertojan bittiä vuorollaan. Binaarinen ykkönen aikaansaa "summaus ja siirto"-operaation ja binaarinen nolla aikaansaa "siirto"-operaation osittaistulojen muodostamiseksi. Tämän tyyppisen kertolaskun suorittaminen vaa-15 tii liian monta konejaksoa, mikä vähentää järjestelmän kä-sittelytehoa.
Hakijan US patentissa 3 293 419 on esitetty laite, jossa kertolaskun suorittamiseen tarvittavaa aikaa on pienennetty tallentamalla muistiin operandin monikertoja. Hakijan US 20 patentissa 3 641 331 on esitetty parannettu laite operandin monikertojen muodostamiseksi ja tallentamiseksi. Monikerran tallentamista käyttävässä menetelmässä on tarvittu monimutkaista laitteistoa.
Hakijan US patentissa 4 086 474 on esitetty laite, jo-25 ka käyttää "siirto ja summaus" -menetelmää, joka minimoi kertolaskuprosessiin tarvittavaa aikaa varsinkin negatiivisten lukujen osalta. Menetelmä on kuitenkin liian hidas nykyisen nopean prosessoinnin vaatimusten kannalta ja se edellyttää liian monimutkaista laitteistoa.
30 Tyypillinen kertolaskumenetelmä on esitetty julkaisus sa IBM 1620 Central Processing Unit, Model 1, IBM 1620/1710 GA 26-5706-3, Copyright 1962, 1964, julkaisija International Business Machines Corp. Siinä kertolaskutaulukko sekä operandien ja tulon alueet on sijoitettu päämuistiin. Tämän 2 78186 * haittana on, että menetelmä varaa suuren osan päämuistista ja rajoittaa kertoiaskunopeuden päämuistin luku/kirjoitusjakson nopeuteen.
On huomattava, että tässä mainitut viitejulkaisut edus-5 tavat hakijan tiedossa olevia julkaisuja ja ne on esitetty lukijan tutustuttamiseksi alalla vallitsevaan tekniikan tasoon ja on mahdollista, että ne eivät ole keksintöä lähinnä olevat julkaisut. Tarkoituksena ei ole esittää, että hakijan toimesta olisi suoritettu minkäänlaista tutkimusta.
10 Esillä olevan keksinnön ensisijaisena tarkoituksena on siten saada aikaan tietojenkäsittelylaitteeseen sisältyvä laitteisto, jossa tarvitaan vain vähän laitteita ja joka minimoi desimaalikertolaskutoimituksen suorittamiseen tarvittavan ajan.
15 Esillä olevan keksinnön toisena tarkoituksena on saada aikaan parannettu laitteisto desimaalimuotoisen kertolasku-toimituksen suorittamiseksi, joka helpottaa merkkijonojen ja desimaalimuotoisen tiedon käsittelyä.
Tietojenkäsittelyjärjestelmä sisältää kaupallisen kä-20 sittely-yksikön (commercial instruction processor CIP) merkkijonojen ja desimaalimuotoisen tiedon käsittelyn helpottamista varten suunniteltujen käskyjen käsittelemiseksi. Käsiteltäviin käskyihin sisältyy desimaalikertolaskukäsky, jossa ____ päämuistiin tallennetut kerrottavaoperandi ja kertojaoperan- 25 di kerrotaan keskenään ja tuloksena oleva tulo korvaa kerrot-tavaoperandin päämuistissa.
Desimaalikertolaskukäskyn toteuttavaan laitteeseen sisältyy rekisteri/laskuri kertoja-operandin kertojanumeron tallentamiseksi ja tilapäismuisti kerrottavaoperandin ja 30 osittaistulon tallentamiseksi. Kertolaskun päätyttyä viimeisenä muodostettu osittaistulo tallennetaan päämuistiin tulok-____ sena.
3 78186
Laitteeseen sisältyy lisäksi ensimmäinen rekisteri, joka on kytketty tilapäismuistiin, kertoja- ja kerrottavasa-nojen tallentamista varten ja toinen rekisteri, joka on kytketty tilapäismuistiin, osittaistulosanojen tallentamista 5 varten.
Lukumuistin (ROM) osoitteenmuodostuksen suorittavat rekisteri/laskuriin tallennettu kertojan numero, ensimmäiseen rekisteriin tallennettu kerrottavan ensimmäinen numero ja dekooderilta saatu ykkösten signaali syötettyjen nume-10 roiden tulon ykkösiä vastaavan numeron kehittämiseksi ensimmäisen toimintajakson aikana. Toisen toimintajakson aikana dekooderilta tuleva kymmenten signaali saa lukumuistin ROM kehittämään syötettyjen numeroiden tulon kymmeniä vastaavan numeron.
15 Ensimmäisen jakson aikana ensimmäinen ykkösten numero ja vastaava toisen rekisterin osittaistulon numero syötetään aritmeettisloogisen yksikön (ALU) tulonapoihin. Aritmeettisloogisen yksikön ALU lähtönumero, joka edustaa syötettyjen numeroiden summaa, tallennetaan toisen rekisterin 20 vastaavan osittaistulon numeron numeropaikkaan.
Toisen jakson aikana ALU yksikön tulonapoihin tuodaan syötettyjen numeroiden tulon kymmeniä vastaava numero ja ensimmäisen jakson tuloksena olleen osittaistulon numeron ..... vasemmalla puolella oleva osittaistulon numero. ALU yksikön 25 lähtönumero tallennetaan numeropaikkaan, joka on ensimmäisen jakson tuloksena olleen osittaistulon numeron vasemmalla puolella.
Kolmannen toimintajakson aikana kehitetään toinen yk-kösnumerotulos kerrottavan ensimmäisen numeron, vasemmalla 30 puolella olevan kerrottavan toisen numeron suorittaessa ROM muistin osoituksen. Toinen ykkösnumerotulos summataan ALU yksikön toisen jakson tuloksena olleeseen osittaistulonume-roon ja lähtönumero tallennetaan toisen jakson tuloksen tilalle.
4 78186
Neljännen toimintajakson aikana toinen kymmeniä vastaava numero muodostetaan toista jaksoa vastaavalla tavalla. Seuraavissa jaksopareissa muodostetaan kertojan ensimmäisen numeron ja kunkin jäljellä olevan kerrottavan numeron tulot.
5 Jokainen kertojan numero tallennetaan vuorollaan rekis- teri/laskuriin ja kerrotaan jokaisella kerrottavan numerolla. Ensimmäiseen laskuriin tallennetaan käsittelemättä olevien kertojan numeroiden lukumäärä ja toiseen laskuriin käsittelemättä olevien kerrottavan numeroiden lukumäärä kullakin 10 kertojan numerolla.
Ensimmäinen ja toinen laskuri antavat ilmaisun kertolaskun päättymisestä ja tuloksena saatu operandi tallennetaan tilapäismuistiin päämuistiin siirtämistä varten.
Uudet, keksinnölle sekä rakenteen että toimintatavan 15 osalta tunnusomaisiksi katsottavat piirteet sekä keksinnön muut päämäärät ja edut ilmenevät seuraavasta oheisiin piirustuksiin liittyvästä selityksestä. On kuitenkin selvästi ymmärrettävä, että kaikki piirustukset on esitetty vain keksinnön havainnollistamista ja selitystä varten eikä niitä 20 ole tarkoitettu määrittelemään esillä olevan keksinnön rajoja.
Kuvio 1 on koko tietojenkäsittelyjärjestelmän lohkokaavio, kuvio 2 on kaupallisen käsittely-yksikön CIP 10 lohko-kaavio, 25 kuvio 3 on CIP yksikön 10 desimaalimuotoiseen kerto- laskutoimitukseen liittyvän osan lohkokaavio, kuvio 4 on yksityiskohtainen logiikkakaavio, joka sisältää kertolaskumuistin 54, johon tulot on tallennettu, ja kertolaskurekisterin 52, johon kertojan numero tallenne-30 taan, kuvio 5 esittää keksintöä selitettäessä käytetyn kerto-laskuesimerkin elementtejä, kuvio 6 kuvaa kertolaskuesimerkin operandien datadeskrip-torien bittimuotoja, 35 kuvio 7 on kertolaskuesimerkin virtauskaavio, ja 5 78186 kuvio 8 esittää rekisterien sisältöjä CIP yksikön 10 suorittaessa virtauskaavion vaiheita.
Kuviossa 1 on esitetty yleislohkokaavio tietojenkäsittelyjärjestelmästä, johon sisältyy päämuisti 4, joukko syöt-5 tö/tulostusohjaimia 6 ja kätkömuisti/muistinohjausyksikkö (C/MMU) 12, jotka kaikki on kytketty yhdessä järjestelmän väylään 14. Yksikköön C/MMU 12 on kytketty keskusyksikkö (CPU) 2, kaupallinen käsittely-yksikkö (CIP) 10 ja teknistieteellinen käsittely-yksikkö (SIP) 8 väylien 20, 18 vast. 10 22 välityksellä. C/MMU 12, CIP 10, CPU 2 ja SIP 8 on kytket ty yhdessä yhteiseen väylään 16. Lisäksi CPU 2 on kytketty yksiköihin CIP 10 ja SIP 8 väylän 24 vast. 26 välityksellä.
CIP 10 suorittaa merkkijonojen ja desimaalimuotoisen tiedon käsittelyä helpottamaan suunnitellun käskyjoukon.
15 SIP 8 suorittaa erikoisesti FORTRAN sovellutuksissa hyödyllisen teknistieteellisen käskyjoukon. Tämä joukko sisältää aritmeettiset operaatiot yhden ja kahden sanana tarkkuutta vastaaville liukulukuoperandeille ja yhden ja kahden sanan kokonaislukuoperandeille.
20 CPU 2 vastaanottaa kaikki suoritettavana olevan ohjelman käskyt yksiköltä C/MMU 12 väylien 16 ja 20 välityksellä.
CPU 2 määrää käskyjen toimituskoodin perusteella suorittaako käskyn CPU 2, CIP 10 tai SIP 8. CPU 2 saa tilainformaa-tion yksiköiltä CIP 10 tai SIP 8 väylien 24 ja 26 välityk-25 sellä. Jos CIP 10 tai SIP 8 on käytettävissä, CPU 2 lähettää tarvittavan informaation yhteiselle väylälle 16 ja myös väylälle 26 yksikköä SIP 8 varten. CIP 10 tai SIP 8 suorittaa käskyn ja on käskyn 'suorittamiseksi yhteistoiminnassa yksikön C/MMU 12 kanssa väylän 18 vast. 22 ja väylän 16 30 välityksellä.
Yksikön CIP 10 suorittamiin käskyihin sisältyvät: 1. Jono- tai pakettimuotoiseen numeeriseen tietoon kohdistuvat desimaalimuotoiset aritmeettiset operaatiot.
2. Aakkosnumeeriset ja desimaalimuotoiset siirto- ja vertai-35 lukäskyt.
6 78186 3. Binaari- ja desimaalimuotoisen numeerisen esityksen väliset muunnokset 4. Editointikäskyt 5. Aritmeettiset siirtokäskyt 5 Käskyt ja data on tallennettu päämuistiin 4 ja se on yh teistoiminnassa yksikön C/MMU 12 kanssa käskyjen ja datan siirtämiseksi järjestelmän väylän 14 välityksellä keskusyksikön CPU 2 ohjaamana väylän 20 kautta. Tämä toiminta on selitetty US patentissa 4 030 075.
10 C/MMU 12, johon sisältyy kätkömuisti, tallentaa yksi köiden CPU 2, CIP 10 ja SIP 8 sillä hetkellä käsittelemät käskyt ja datan. Kätkömuistitoiminta on selitetty US patentissa 4 195 340.
CPU 2 suorittaa myös S/T-ohjaimien 6 ja päämuistin 4 15 välisten tiedonsiirtojen aloitukset.
Kuviossa 2 CPU 2 aloittaa kaikki CIP 10 toiminnat, ohjauspöydästä suoritettua aloitustoimintaa lukuunottamatta, kirjoittamalla 6-bitin funktiokoodin funktiokoodirekisteriin 96 ja 32-bitin kaksoistietosanan yhteisen väylän dataliitän-20 täyksikön 80 osaan yhteisen väylän 16 välityksellä. CIP 10 siirtää aktivoitaessa kaksoissanan alimmat kuusi bittiä käs-kyrekisteriin 56. Jos funktiokoodirekisterissä 96 on tulos-tustehtäväfunktiokoodi 07^g, tällöin kaksoissanan alimmat 16 bittiä tallennetaan osoiteohjausyksikön 82 osaan, jotta 25 CPU 2 voisi pyytää edellisen käskysanan myöhempänä ajankohtana .
Funktiokoodirekisterin 96 sisältö valitsee laitelmisto-sanan ohjausmuistista 60 ohjausmuistin osoitteenmuodostuslo-giikan 58 avulla. Laitelmistosana ladataan ohjausmuistin tie-30 torekisteriin 62 ja se ohjaa yksikön CIP 10 vastaanottamaan lisäohjausinformaation keskusyksiköltä CPU 2. Ohjausmuistin dekoodauslogiikka 61 kehittää ohjaussignaalit dekoodaamalla ohjausmuistin tietorekisterin 62 lähtösignaalit RD OC-67+. Ohjausmuistin osoitteenmuodostuslogiikkaan 58 syötetyt sig-35 naalit RD 52-67+ aikaansaavat ohjausmuistissa 60 haarautu- 7 78186 misen määrättyyn muistipaikkaan.
Yksikön CIP 10 käskyt toimivat kolmen tyyppisellä datalla, binaarikoodattuja desimaalinumeroita sisältävillä desimaali jonoilla, ASCII-merkkejä sisältävillä aakkosnumeerisil-5 la jonoilla ja binaarinumeroilla, joilla on 16 tai 32 bitin tarkkuus. Desimaalidataoperandeihin viitataan käyttäen eniten merkitsevän numeron sijaintia ja pituutta ja niissä voi olla yksi tai kaksi numeroa tavua kohti. Pakettimuotoiset desimaalioperandit sisältävät kaksi numeroa tavua kohti ja 10 jonomuotoiset desimaalioperandit sisältävät yhden numeron tavua kohti.
Jonomuotoiset desimaalioperandit voivat olla etumerkit-tömiä ja olettaa positiivisiksi, niissä voi olla edeltävä etumerkkitavu ennen eniten merkitsevää desimaalitavua, jäl-15 jessä seuraava etumerkkitavu vähiten merkitsevän desimaali-tavun jälkeen sijoitettuna tai jäljessä seuraava päällemer-kitty etumerkki, joka sisältyy vähiten merkitsevään desimaa-litavuun.
Pakettimuotoiset desimaalioperandit voivat olla etumer-20 kittömiä positiivista etumerkkiä tarkoittaen tai niissä voi olla jäljessä seuraava etumerkki.
Binaarisissa dataoperandeissa etumerkkibittinä on eniten merkitsevä bitti, jolloin binaaripilkun oletetaan sijaitsevan vähiten merkitsevän bitin oikealla puolella kah-25 den komplementtiesitystä käytettäessä,
Yksikön CIP 10 keskusyksiköltä CPU 2 desimaalimuotoi-sen aritmeettisen toimituksen määrittelevän käskysanan jälkeen vastaanottamat kaksoissanat ilmaisevat desimaalimuodon tyypin, jono- tai pakettimuodon, etumerkki-informaation, 30 operandin pituuden ja toimivan osoitteen. Tämä on eniten merkitsevän merkin (4 tai 8 bittiä/merkki) sisältävän tavun osoite.
Desimaalinumeromuotoista käskyä suoritettaessa ohjaus-muisti 60 kehittää aluksi ohjausmuistin tietorekisterin 62 35 välityksellä signaalit, jotka saattavat osoiteohjausyksikön 8 78186 82 lähettämään etumerkin sisältävän operandin 1 sanan osoitteen päämuistissa 4 yksikölle C/MMU 12. Etumerkin sisältävän operandin 1 sanan vastaanottaa yhteisen väylän dataliitäntä-yksikkö 80 ja sana tallennetaan yksiköihin OP1 64 ja OP2 66.
5 Etumerkkisymboli valitaan valitsimella 70 siirrettäväksi etumerkin dekoodaus- ja päällemerkintäkoodauslogiikkaan 74, jossa se dekoodataan tilabiteiksi, jotka antavat ilmaisun luvattomasta etumerkistä tai negatiivisesta etumerkistä. Luvattoman etumerkin tilabitti ja negatiivisen etumerkin tilabit-10 ti ohjaavat ohjausmuistin osoitteenmuodostuslogiikkaa 58.
Jos etumerkki on sallittu, tällöin negatiivisen etumerkin tilabitti tallennetaan mikro-ohjelman tilarekisteriin 94. Etumerkin sisältävä operandin 2 sana käsitellään samalla tavalla ja tallennetaan yksikköön 0P2 66. Valitsin 70 siirtää 15 etlimerkkisymbol in etumerkin dekoodaus- ja päällemerkintäkoo-dauslogiikalle 74, jossa se dekoodataan luvattomaksi etumerkiksi tai negatiiviseksi etumerkiksi ja tallennetaan mikro-ohjelman tilarekisteriin 94. Tämän ansiosta yksikkö CIP 10 voi keskeyttää käskyn suorituksen ja ilmoittaa keskusyksi-20 kölle CPU 2 luvattoman etumerkin havaitsemisesta.
Desimaalimuotoisen yhteenlaskukäskyn ilmaisee tulostus-tehtävän funktiokoodi 07^g ha käskyrekisterin 96 tallentama heksadesimaaliarvo 2C^g. Desimaaliyhteenlaskukäskyn suorittamisen aikana operandi 1 lisätään operandiin 2 ja yhteen-25 laskun tulos tallennetaan päämuistin 4 siihen muistipaikkaan, johon operandi 2 oli tallennettuna.
CIP 10 odottaa, että CPU 2 lähettää lisäohjausinformaa-tion, jonka CIP 10 tarvitsee desimaaliyhteenlaskukäskyn suorittamiseksi. Lisäohjausinformaatio muodostuu enintään kol-30 mesta kaksoissanasta, jotka kuvaavat operandia 1, ja enintään kolmesta kaksoissanasta, jotka kuvaavat operandia 2. Viimeinen keskusyksiköltä CPU 2 vastaanotettu kaksoissana on lähdön viimeinen datadeskriptori, jonka ilmaisee funktiokoodi 1F16· 9 78186
Kuhunkin operandiin liittyvästä kolmesta kaksoissanasta ensimmäinen sisältää operandin alkukohdan toimivan näennäis-tavuosoitteen päämuistissa 4 eli eniten vasemmalla olevan tai alhaisimman osoitetun tavun, joka sisältää osan operan-5 dista. Toinen kaksoissana voi sisältää epäsuoran pituuden. Kolmas kaksoissana sisältää datadeskriptorin, joka ilmaisee datan tyypin ja aseman päämuistista 4 vastaanotetun operandin alun aloitussanan sisällä. Mainitut kuusi kaksoissanaa tallennetaan osoiteohjausyksikköön 82.
10 Käskyrekisterin 56 lähtö valitsee sanan ohjausmuistista 60 käynnistämään yksikön GIP 10 desimaaliyhteenlaskukäskyn suorituksen lähettämällä operandin järjestyksessä alimman sanan, joka sisältää vähiten merkitsevät desimaalinumerot, päämuistin 4 osoitteen yksikölle C/MMU 12 väylän 18 välityk-15 sellä. Oprandin 1 ensimmäinen sana luetaan päämuistista 4 tai yksikön C/MMU 12 kätkömuistista (ei esitetty) ja siirretään suorittimelle CIP 10 yhteisen väylän 16 kautta ja tallennetaan yksikköön OP1 64. Samalla tavalla CIP 10 vastaanottaa operandin 2 järjestyksessä alimman sanan ja se tallen-20 netaan tilapäismuistiyksikköön ja yksikköön OP 2 66. Jokaisen datadeskriptorisanan bitti, joka kuvaa operandien ominaisuuksia (ASCII jono tai paketti) ja operandien 1 ja 2 järjestyksessä alimpien sanojen vähiten merkitsevien desimaalinu-meroiden lasketut asemat tallennetaan yksiköihin OP1A 84 ja 25 OP2A 78. Lisäksi operandien 1 ja 2 pituudet tallennetaan deskriptorin operandin pituutta käsittelevään logiikkaan 88. Operandin pituudenkäsittelylogiikka on selitetty rinnakkaisessa US patenttihakemuksessa Serial No. 219,809 "A Data Processor Using Read Only Memories for Optimizing Main Memo-30 ry Access and Identifying the Starting Position of an Operand". Yksikön OP1A 84 lähtö syötetään valitsimelle 68 ja yksikön 0P2A 78 lähtö syötetään valitsimelle 70 operandin 1 ja operandin 2 desimaalinumeroiden valitsemiseksi, kun niitä siirretään yksiköistä OP1 64 ja OP2 66 desimaali/binaari 35 ALUn 76 käsiteltäväksi desimaalinumero kerrallaan. Tuloksena ίο 7 81 8 6 oleva summan desimaalinumero siirretään ALU-yksiköltä 76 yksikölle OP2 66 sisäisen, väylän (BI) 100 välityksellä korvaamaan se operandin 2 desimaalinumero, josta tämä tulos muodostettiin. yksiköiden QP1A 84 ja OP2A 78 toiminta on seli-5 tetty rinnakkaisissa US patenttihakemuksissa Serial No.
220,220 "A Data Processor Having Apparatus for Controlling the Selection of Decimal Digits of an Operand When Executing Decimal Arithmetic Instructions" ja Serial No. 220,219 "A Data Processor Using a Read Only Memory for Selecting a 10 Part of A Register Into Which Data Is Written".
0P1A 84 pitää lukua yksikössä OP1 64 olevista desimaali-numeroista, jotka ovat jäljellä järjestyksessä alimman sanan siirrosta. Kun viimeinen desimaalinumero järjestyksessä alimmasta sanasta luetaan yksiköstä OP1 64 ALU yksikköön 15 76, OP1A 84 antaa ohjausmuistin osoitteenmuodostuslogiikan 58 haarautumislogiikalle merkin operandin 1 seuraavan sanan yksikön C/MMU 12 välityksellä päämuistista 4 noutavan sanan valitsemiseksi ohjausmuistista 60. Operandin 1 seuraavan sanan osoite lähetetään osoiteohjausyksiköltä 82 yksikölle 20 C/MMU 12 väylän 18 kautta.
Samalla tavalla 0P2A 78 antaa ohjausmuistin osoituslo-giikan 58 haarautumislogiikalle merkin laitelmistorutiiniin siirtymiseksi yksikköön 0P2 66 tallennetun tuloksena olevan summasanan siirtämiseksi yhteisen väylän dataliitäntä-25 yksikköön 80 päämuistiin 4 siirtoa varten yhteisen väylän 16 ja yksikön C/MMU 12 kautta osoiteohjausyksiköltä 82 väylän 18 kautta tulevan osoitteen määräämään muistipaikkaan. Tuloksena jäljennös tallennetaan datan tilapäismuistiyksik-köön 50. Lukujakso käynnistetään operandin 2 seuraavan sa-30 nan lukemiseksi lähettämällä seuraava osoite osoiteohjausyksiköltä yksikölle C/MMU 12 väylän 18 kautta.
Kun operandin 1 tai operandin 2 kaikkien desiraaalinume-roiden käsittely on päättynyt, deskriptorin operandin pituuden käsittelylogiikka 88 ohjaa tuloskentän täyttämistä 35 pidemmän operandin jäljellä olevien desimaalinumeroiden mukaisesti.
781 86 11
Kertolaskukäskyn suorituksen aikana koko kerrottava, operandi 2, siirretään aluksi päämuistista 4 datan tilapäismuis-tiyksikköön 50 yhteisen väylän dataliitännän 80 ja Bl-väylän 100 kautta. Operandin 1 kertojakaksoissana siirretään yksik-5 köön OP1 64 yhteisen väylän dataliitännän 80 ja Bl-väylän 100 kautta. Vähiten merkitsevä kertojan numero luetaan ker-tolaskurekisteri/laskuriin 52 yksiköltä OP1 64 Bl-väylän 100 kautta ja syötetään ohjelmoitavan kertolaskulukumuistin (PROM) 54 osoitetulonapoihin. Jokainen kerrottavan kaksois-10 sana siirretään vuorollaan yksikköön OP1 64 datan tilapäis-muistista 50. Jokainen kerrottavan numero syötetään vuorollaan PROMin 54 jäljellä oleviin osoitetulonapoihin yksiköstä OP1 64 valitsimen 68 kautta osittaistulonumeroiden kehittämiseksi. Jokainen osoittaistulonumero syötetään valitsi-15 men 68 kautta ALU yksikölle 76, jossa se lisätään yksikköön OP2 66 tallennettuun vastaavaan desimaalinumeroon ja tuloksena oleva osittaistulo tallennetaan takaisin yksikköön OP2 66.
Seuraava kertojan numero luetaan kertolaskurekisteriin/ 20 laskuriin 52 ja lähtö syötetään ohjelmoitavalle lukumuistil-le PROM 54. Jälleen jokainen kerrottavan numero syötetään vuorollaan lukumuistille PROM 54 ja osittaistulonumerot syötetään valitsimen 68 kautta ALU yksikölle 76, jossa ne summataan valittuihin yksikköön OP2 66 tallennettuihin 25 osittaistulonumeroihin. Myös tällöin OP2A 78 ohjaa valitsinta 70 ALU yksikölle 76 syötettävän osittaistulonnumeron valitsemiseksi. ALU-yksiköltä 76 saatu osittaistulotulos tallennetaan jälleen yksikköön OP2 66 Bl-väylän 100 kautta.
Kun kaikki datan tilapäismuistiyksikköön 50 tallennetut 30 kerrottavan numerot on syötetty PROMin 54 osoitetulonapoihin yhdessä kertolaskurekisteri/laskurin 52 kertojan eniten merkitsevän desimaalinumerolähdön kanssa, datan tilapäis-muistiyksikkö 50 sisältää kertolaskun tuloksen. Tämä tulo kirjoitetaan päämuistiin 4 yksikön OP2 66, yhteisen väylän 35 datan liitäntäyksikön 80 ja yhteisen väylän 16 kautta.
12 781 86
Desimaalijakolaskukäsky suoritetaan vastaanottamalla jaettava ja jakaja yhteisen väylän datan liitäntäyksikköön 80 yksiköltä C/MMU 12 yhteisen väylän 16 kautta tallennettavaksi datan tilapäismuistiyksikköön 50. Jakajan osat tallen-5 netaan vuorollaan yksikköön OP1 64 ja jaettavan/osittaisjako-jäännöksen osat tallennetaan vuorollaan yksikköön OP2 66.
CIP 10 toteuttaa desimaalijakolaskukäskyn suorittamalla joukon peräkkäisiä vähennyslaskuja ja laskemalla onnistuneiden vähennyslaskujen lukumäärän ALQR rekisteri/laskuriin 72.
10 Onnistunut vähennyslasku tarkoittaa vähennyslaskua, jonka tuloksena on positiivinen luku.
Yksikössä OP1 64 oleva jakaja syötetään ALU yksikölle 76 valitsimen 68 kautta desimaalinumero kerrallaan vähiten merkitsevä desimaalinumero ensimmäisenä. Yksikössä OP2 66 15 oleva jaettava syötetään ALU yksikölle 76 valitsimen 70 kautta desimaalinumero kerrallaan OP2A 78 ohjaa valitsinta 70 valitsemaan yksiköstä 0P2 66 desimaalinumeron, joka aikaansaa yksikössä OP1 64 olevan jakajan eniten merkitsevät desi-maalinumerot asettumaan jaettavan eniten merkitsevän desimaa-20 linumeron kohdalle vähennyslaskutoimitusta varten. Osa desimaali jakolaskukäskyn toiminnasta on selitetty rinnakkaisessa US-patentissa n:o 4,384,341 "A Data Processor
Having Carry Apparatus Supporting a Decimal Divide Operation".
ALU yksikön 76 lähtö tallennetaan yksikköön OP2 66 BI-/ 25 väylän 100 kautta ja ALQR rekisteri/laskurin 72 sisältöä kasvatetaan, jos vähennyslaskun, jossa järjestyksessä korkeimmista desimaalinumeroista vähennetään jakaja, tulos on positiivinen luku. Yksikössä OP1 64 oleva jakaja vähennetään uudelleen edellisen vähennyslaskun tuloksesta joka on tallen-30 nettu yksikköön OP2 66, ja ALQR rekisteri/laskurin 72 sisältöä kasvatetaan jälleen, jos vähennyslaskun tulos on positiivinen.
Kun vähennyslaskun tulos on negatiivinen luku, yksikköön OP1 64 tallennettu jakaja lisätään yksikköön OP2 66 ja 35 osamääränumeron sisältävän ALQR rekisteri/laskurin 72 si- 13 781 86 sältö siirretään data tilapäismuistiyksikköön 50. OP2 66 ja datan tilapäismuistiyksikkö sisältävät nyt viimeisen onnistuneen vähennyslaskun tuloksen sijaluvultaan korkeimpina desimaalinumeroina ja muut desimaalinumerot ovat jaettavan 5 alkuperäiset alhaisen sijaluvun desimaalinumerot.
Seuraavan osamääränumeron saamiseksi jakaja vähennetään jaettavasta yhden sijaluvun verran oikealle siirrettynä edellisiin vähennyslaskuihin verrattuna. Vähennyslaskutoimitus toistetaan kuten edellä on selitetty ja rekisteri/laskuria 10 ALQR 72 kasvatetaan jokaisella vähennyslaskun positiivisella tuloksella.
Datan tilapäismuistiyksikköön 50 talennettu ensimmäinen osamäärän numero siirretään yksikköön OP2 66 BI-väylän 100 välityksellä. Osamäärän toisen numeron sisältävän rekisteri/ 15 laskurin ALQR 72 sisältö siirretään valitsimen 68, ALU yksikön 76 ja sisäisen väylän 100 kautta yksikköön OP2 66, jossa se liitetään osamäärän ensimmäiseen numeroon tallennettavaksi datan tilapäismuistiyksikköön 50. Jaettavan osa siirretään takaisin yksikköön OP2 66 datan tilapäismuistiyksi-20 köstä 50.
Jakajan siirto ja sitä seuraavat vähennyslaskutoimitukset toistetaan kunnes osamäärän numero on laskettu jakajan vähiten merkitsevän desimaalinumeron ollessa jaettavan vähiten merkitsevän desimaalinumeron kohdalla. Rekisteri/lasku-25 riita ALQR 72 tuleva viimeinen osamäärän desimaalinumero yhdistetään datan tilapäismuistiyksikössä 50 olevaan osamäärän - muuhun osaan ja yksikössä OP2 66 tallennettuna oleva jäännöksen osa tallennetaan datan tilapäismuistiyksikköön 50 BI-väylän 100 välityksellä. Datan tilapäismuistiyksikössä 30 50 olevat osamäärä ja jäännös tallennetaan tämän jälkeen pää- muistiin 4.
Ohjaussignaalit asettavat CIP ilmaisinrekisterin 90 CIP yksikön 10 tilan ilmaisemiseksi. Rekisteriin 90 sisältyy ylivuodon ilmaisin, joka on asetettuna desimaalitoimitusten ai-35 kana, kun vastaanottava kenttä ei voi vastaanottaa tuloksen i4 781 86 kaikkia merkitseviä numeroita tai havaittaessa nollalla jakaminen. Katkaisuilmaisin on asetettuna aakkosnumeeristen toimitusten aikana, kun vastaanottava kenttä ei voi säilyttää kaikkia tuloksen merkkejä. Etumerkkivirheilmaisin on 5 asetettuna desimaalitoimitusten aikana tallennettaessa negatiivinen tulos etumerkittömään kenttään. Suurempi kuin -ilmaisin on asetettuna tiettyjen desimaali- ja aakkosnumeeristen käskyjen aikana, kun tulos on suurempi kuin nolla desi-maalinumerotoimituksien tapauksessa tai operandi 1 on suu-10 rempi kuin operandi 2 desimaali- tai artimeettisissa vertailuissa. Pienempi kuin -ilmaisin on asetettuna tiettyjen desimaali- ja aakkosnumeeristen käskyjen aikana, kun tulos on pienempi kuin nolla aritmeettisten desimaalikäskyjen tapauksessa tai operandi 1 on pienempi kuin operandi 2 joko desi-15 maali tai aakkosnumeerisissa vertailuissa.
CIP-toimintamuotorekisteriin 92 on tallennettu ylivuodon keskeytyspeite ja katkaisun keskeytyspeite, jotka ilmaisevat, minkä erikoistoimenpiteen yksiköiden CIP 10 ja CPU 2 on suoritettava ylivuoto - tai katkaisutilanteen esiintyessä. 20 Järjestelmäkellologiikka 86 sisältää 160 ns nelivaihei sen kellon, joka aikaansaa kellosignaalit, jotka liipaisevat kaikki CIP yksikön 10 rekisterit ja kaikki testaus- ja oh-jauskiikut, stabiloivat rekisterit lataamisen jälkeen, ilmaisevat, että osoite, data, ohjaus ja pariteetti ovat voimas-25 sa mahdollistaen paikallisen väyläjakson aloituksen. Lisäksi järjestelmäkellologiikka 86 voidaan pysäyttää, kun tiettyjen CIP 10 funktioiden toteuttamiseen tarvitaan lisäaikaa. Järjestelmäkellologiikka 86 kehittää KÄYTÖSSÄ-signaalin yhteiselle väylälle 16 ilmaisemaan keskusyksikölle CPU 2, 30 että CIP 10 ei ole käytettävissä, vastaanottaa yksikön C/MMU 12 väylältä DCN-signaalin, joka ilmaisee CIP yksikölle 10, että yhteisellä väylällä 8 on CIP yksikölle 10 tarkoitettua tietoa, kehittää PYYNTÖ-signaalin yhteisen väylän 16 käyttämiseksi ja odottaa MYÖNNETTY-signaalia yksiköltä C/MMU 12.
15 781 86
Mikroprosessorin tilarekisteri 94 tallentaa operandin etumerkki-informaation lisäksi ilmaisun siitä onko ylivuoto havaittu desimaalimuotoista numeerista käskyä suoritettaessa, tarvitaanko päällemerkityn etumerkin koodaus- tai dekoodaus-5 toimitusta sekä ilmaisun desimaaliyhteenlaskutoimituksen lop-puunsuorittamisesta.
Kuviossa 3 datan tilapäismuistiyksikkö 50 sisältää moni-porttirekisterin D (RFD) 50-1, rekisteri/laskurin (AA) 50-2, rekisteri/laskurin (AB) 50-3 ja multiplekserin MUX 50-4.
10 RFD 50-1 sisältää kahdeksan 4-bitin poimintamuistia, jotka on organisoitu tallentamaan 16 32-bitin kaksoissanaa. Rekisterin RFD 50-1 osoituksen suorittaa joko AA 50-2 signaalien RFDAA 0-3+, multiplekserin MUX 50-4 ja signaalien RFDAD 0-3+ välityksellä tai AB 50-3 signaalien RFDAB 0-3+, multiplek-15 serin MUX 50-4 ja signaalien RFDAD 0-3+ välityksellä. RFD 50-1 on yhteydessä Bl-väylään 100 signaaleiden BIDT 00-31-välityksellä. AA 50-2 ja AB 50-3 ladataan ΒΙ-väyIältä 100 signaaleiden BIDT 8-11+ välityksellä. Desimaalikertolasku-toimituksen aikana AA 50-2 tallentaa kerrottavan sanojen si-20 jainnin rekisterissä RFD 50-1 ja AB 50-3 tallentaa osittais-tulon sanojen sijainnin.
Deskriptorin operandin pituudenkäsittelylogiikka 88 sisältää laskurin 1 88-1, laskurin 2 88-2 ja laskurin 3 88-3, jotka on kytketty multiplekseriin MUX 88-4 signaalien CTR 25 1 0-3+, CTR 2 0-3+ ja CTR 3 0-3+ välityksellä ja multiplek seriin MUX 88-5 signaalien CTR 1 4-7+, CTR 2 4-7+ ja CTR 3 4-7+ välityksellä. Signaalit RD 16-19+ syötetään multiplek-serille MUX 88-4 ja signaalit RD 20-23+ syötetään multiplek-serille MUX 88-5 aikaansaamaan eri. vakioita siirrettäväksi 30 BI-väylälle 100. Multiplekserin MUX 88-4 lähtösignaalit CTKT 0-3+ on kytketty vastaaviin signaaleihin CTBI 0-3+. Multiplekserin MUX 88-5 lähtösignaalit CTKT 4-7+ on kytketty vastaaviin signaaleihin CTBI 4-7+. Signaalit CTBI 0-3+ on kytketty multiplekserin MUX 76-11 välityksellä. BI--väylän 35 100 signaaleihin BIDT 0-3+, BIDT 8-11+, BIDT 16-19+ vast.
16 7 81 8 6 BIDT 24-27+. Signaalit CTBI 4-7+ on kytketty multiplekserin MUX 76-11 välityksellä BI-väylän 100 signaaleihin BIDT 4-7+, BIDT 12-15+, BIDT 20-23+ vast. BIDT 28-31+. Laskuri 1 88-1, laskuri 2 88-2 ja laskuri 3 88-3 ladataan ΒΙ-väyIältä 100 5 signaalien BIDT 16-23+ välityksellä. Desimaalikertolaskutoi-mituksen erään osan aikana laskuri 1 88-1 tallentaa operandin 1 desimaalinumeroiden lukumäärän ja laskuri 2 88-2 tallentaa operandin 2 desimaalinumeroiden lukumäärän. Desimaa-likertolaskutoimituksen toisen osan aikana laskuri 1 88-1 10 ja laskuri 2 88-2 tallentavat kerrottavan desimaalinumeroiden lukumäärän, joka on jäljellä syötettäväksi kertolasku-PROMiin 54 kertolaskurekisteriin (MIER) 52 tallennettuna olevaa kertojan numeroa varten. Laskuri 3 88-3 voi tallentaa käsittelyä varten jäljellä olevien kertojan desimaalinumeroi-15 den lukumäärän tai kerrottavan vaikuttavan pituuden.
Desimaali-binaari-ALU 76 sisältää 4-bitin aritmeettisloogisen yksikön (ALU1) 76-2 desimaalinumeromuotoisten aritmeettisten toimitusten suorittamista varten ja 4-bitin aritmeettisloogisen yksikön (ALU2) 76-3 aakkosnumeeristen toimi-20 tusten ja koodimuunnosten, kuten binaari-desimaali- ja desi-maali-binaarimuunnosten suorittamiseksi. Yksikön ALU1 lähtö-signaalit ALUDG 0-3+-. syötetään multiplekserille MUX 76-8, multiplekserille 76-9 ja desimaalikorjausyksikölle 76-7.
;"· Desimaalikorjausyksikön 76-7 lähtösingaalit ALXS 60, 61+ 25 ja ALUDG2- syötetään multipleksereille MUX 76-8 ja 76-9.
Multiplekserin MUX 78-8 lähtösignaalit CTBI 0-3+ ja multiplekserin MUX 76-9 lähtösignaalit CTBI 4-7+ syötetään multiplekserille MUX 76-11 kuten edellä on selitetty. Multiplekserin MUX 50-4 lähtösignaalit RFDAD 0-3+ syötetään multi-30 pleksereille MUX 76-11. Yksiköiden RFD 50-1 ja OP1 64 lähtösignaalit OP1X 00-31 syötetään multiplekserille MUX 70-11 samoin kuin yksikön OP2 66 lähtösignaalit OP2D 00-31+. Yksiköiden OP1A 84 ja OP2A 78 lähdöt, signaalit OP1AD 0-2+, QP1TYP+, OP2AD 0-2+ ja OP2TYP+, syötetään multiplekserille 35 MUX 76.-11 ja ne saadaan multiplekserin MUX 76-11 lähdöstä 17 781 86 signaaleina fclDT 12-15+. Multiplekserille MUX 76-11 syötetään myös signaalit ALQR+ rekisteri/laskurilta LQR 72 ja signaalit MIER+ yksiköltä MIER 52 ja ne saadaan multiplekserin MUX 76-11 lähdöstä signaaleina BIDT 28-31+ ja BIDT 5 20-23+.
Yksikön ALU2 76-3 lähtö, signaalit ALUZN 0-3+, syötetään multiplekserille MUX 76-10. Multiplekserille MUX 76-10 syötetään myös heksadesimaaliluku 3 ja sen lähtösignaalit ALZON 0-3+ syötetään multiplekserille MUX 76-11.
10 Moniporttirekisteri-rekisteri C (RFC) 82-1 on kytketty BI-väylään 100. BI-väylän 100 valitut signaalit, BIDT 00-31+, on tallennettu rekisterin RFC 82-1 paikkoihin A, 0-23. Tulo-bitin paikat valitsevaa logiikkaa ei ole esitetty, koska sillä ei ole merkitystä keksinnön kannalta. Rekisterin RFC 15 82-1 lähtösignaalit RFC A, 0-23+ syötetään multiplekserille
MUX 76-11 ja ne saadaan BI väylältä 100 signaaleina BIDT
7-31+.
Ykkösten muistinumeroyksikkö 76-5 ja kymmenen muistinumeroyksikkö 76-6 on kytketty ALU1 yksikköön 76-2 multi-20 plekserin MUX 76-4 kautta. Desimaalikertolaskutoimituksen aikana ykkösten muistinumeroyksikkö 76-5 on toiminnassa, kun kertolasku-PROM 54 kehittää ykkösposition desimaalinu-meron, ja kymmenenten muistinumeroyksikkö 76-6 on toiminnassa, kun kertolasku-PROM 54 kehittää kymmenten position 25 desimaalinumeron. Muistinumerotoiminta on selitetty tähän hakemukseen liittyvässä rinnakkaisessa US-patentiesa n:o 4,484,300 "A Data Processor Having Units
Carry and Tens Carry Apparatus Supporting a Decimal Multiply Operation".
30 Desimaalikertolaskutoimituksen aikana osittaistulon kaksoissana tallennetaan yksikköön OP2 66 ja kerrottavan kaksoissana tallennetaan yksikköön 0P1 64. Yksikön OP2A 78 lähtösignaalit OP2AD 0-2+ ja OP2TYP+ ohjaavat valitsimen 70 siirtämään valitun desimaalinumeron ALU1 yksikön 76-2 35 napoihin A signaalien AL2DGO+ avulla. Yksikön OP1A 84 läh- 18 781 86 tösignaalit 0P1AD 0-2+ ja OP1TYP+ ohjaavat valitsimen 68 siirtämään valitun kerrottavan numeron, joka on vastaanotettu signaaleiden OP1X 00-31+ avulla, kertolasku-PROMille 54 signaalien QP1DG 0-3+ välityksellä. Kertolasku-PROMin 54 5 lähtö, signaalit MULDG 0-3+, syötetään ALU1 yksikön 76-2 napoihin B signaaleina AL1DG 0-3+. Summa siirretään takaisin yksikköön OP2 66 valittuun osittaistulon numeropositioon multipleksereiden MUX 76-8 tai 76-9 ja MUX 76-11 ja Bl-väy-län 100 kautta.
10 MUX 68-1 siirtää rekisteri/laskurin ALQR 72 lähdön, sig naalit ALQR 0-3+, tai valitsimen 68-2 lähdön, signaalit OP1DG 0-3+, ALU1 yksikön 76-2 napoihin B signaaleiden OP1QD 0-3+ ja AL1DG 0-3+ avulla. Tyypillisesti operandin 1 desi-maalinumero yksikössä OP1 64 tai RFD 50-1 ja operandin 2 15 desimaalinumero yksikössä OP2 66 voidaan yhdistää yksikössä ALU1 76-2 tai rekisteri/laskurin AI£R 72 sisältö voidaan yhdistää valittuun desimaalinumeropositioon ykskössä OP2 66 jakolaskutoimituksen aikana.
Osoiteohjausyksikön 82 RFC 82—1 tallentaa käskyn ja ope-20 randin ominaisuuksia kuvaavat datadeskriptorit. RFC 82-1 on muodostettu enintään kuudesta 4-bitin poimintamuistista ja seitsemännen muistin osasta, jotka on organisoitu 16 25-bi-tin sanaksi. RFC:n 82-1 tiettyjä muistipaikkoja käytetään : ' tilapäismuistina tallentamaan tilapäisesti eri rekisteri/ 25 laskurien sisältöjä, joiden joukossa ovat AA 50-2, AB 50-3, laskuri 1 88-1, laskuri 2 88-2 ja laskuri 3 88-3.
Desimaalikorjausyksikkö 76-7 on aktiivinen aritmeettisen toimituksen aikana. BCD-koodatut desimaalinumerot lasketaan yhteen muuntamalla aluksi valitsimessa 70 valittu yksikön 30 OP2 66 numero kasvattamalla sen binaariarvoa kuudella (kuuden ylimääräkoodi) . Kun muunnettu yksikön OP2 66 numero (joka esiintyy signaaleina AL2DG 0-3+) summataan binaarisen ALU1 yksikön 76-2 avulla yksiköstä OP1 64 valittuun muunta-mattomaan numeroon, ALU1 yksikön 76-2 binaarimuistilähtö vas-35 taa desimaalimuistinumeroa. Jos muistilähtö saadaan, täi- 19 781 86 löin ALU1 yksikön 76-2 lähtö, joka esiintyy signaaleina ALUDG 0-3+, on summan oikea BCD-muotoinen esitys. Jos muis-tilähtöä ei saada, tällöin ALUDG 0-3+ on summan kuuden ylimäärä esitys ja desimaalikorjauslogiikka aktivoidaan pienen-5 tämään summaa kuudella oikean BCD-muodon saamiseksi.
Kuviossa 4 kertolasku-PROM 54 sisältää lukumuistin (PROM) 54-1 ja negatiivisen logiikan TAI-portin 54-2, joka valitsee PROMin 54-1 signaalin MULENB- avulla. PROM 54-1 kykenee tallentamaan 512 desimaalinumeroa, 256 ykkösposition desimaali-10 numeroa 256 kymmenenten position desimaalinumeroa.
Kertolaskurekisteri 52 sisältää rekisteri/laskurin 52-1, negatiivisen logiikan TAI-portin 52-3 ja EI-JA-portin 52-2. Rekisteri/laskuri 52—1 tallentaa kertojan jokaisen numeron vuorollaan vähiten merkitsevästä kertojan numerosta eniten 15 merkitsevään kertojan numeroon. CIP 10 käyttää lisäksi re-kisteri/laskuria 52-1 laskurina desimaalikertolaskutoimituk-sen asetustyön aikana tallentamaan niiden kerrottavan kaksois-sanojen lukumäärän, jotka ovat jäljellä päämuistissa 4 ennen yksikölle CIP 10 siirtämistä. Valitsimeen 68-2 sisältyy MUX 20 68-1. Valitsin 68 syöttää valitun kerrottavan numeron signaa leina OP1DG 0-3+ PROMin 54-1 tulo-osoitenapoihin 8, 4, 2 ja 1. Rekisteri/laskuri 52-1 syöttää kertojan numeron signaalilin-jojen MIER 0-3+ välityksellä PROMin 54 tulo-osoitenapoihin 128, 64, 32 ja 16. Tulon ykköspositio saadaan signaaleina 25 MULDG 0-3+, kun signaalin MULENB- looginen 0-tila ja signaalin MULUNT- looginen 0-tila ovat valinneet PROMin 54-1. Tulon kymmenten positio saadaan lähtösignaaleina MULDG 0-3+, kun PROM 54—1 on valittuna ja signaali MULUNT- on loogisessa 1-tilassa.
30 Boolen yhtälö signaalille MULUNT- loogisessa 0-tilassa on: MULUNT- = (((PDO8.RDO9.RDT0.RdTT) + RD16 + RD17 + RD18 + RD19) (RD46.RD47.RD48.RD49))
Joko kymmenten kertolaskusignaali MULTNS- tai ykkösten ' kertolaskusignaali MULUNT- syötettynä loogisessa O-tilassa 2„ 78186 negatiivisen logiikan TAI-portille 54-2 valitsee PROMin 54-1 asettamalla signaalin MULENB- loogiseen o-tilaan.
Boolen yhtälö signaalille MULTNS- loogisessa O-tilassa on: 5 MULTNS = (((RD08.RD09.RD10.RD11) + RD16 + RD17 + RD18 + RD19) (RD46.RD47.RD48.RD49))
Rekisteri/laskuri 52-1 toimii laskurina pitäessään lukua päämuistissa 4 jäljellä olevien kerrottavan kaksoissanojen lukumäärästä, kun CIP 10 on ohjattuna suorittamaan desimaali-10 kertolaskutoimitusta. Rekisteri/laskuria 52-1 dekreraentoidaan hetkellä CLOCK2-, kun looginen signaali DCMIER- on loogisessa O-tilassa asettaen TAI-EI-portin 52-3 lähdön, valintasignaa-lin MIERCT-, loogiseen O-tilaan ja valiten -1 navan.
Boolen yhtälö signaalille DCMIER- loogisessa O-tilassa 15 on: DCMIER = ((RD08 + RD09 + RD10 + RD11)(RD16-RDT7-FD18·RÖT9))
Kun rekisteri/laskurin 52-1 tila pienenee heksadesimaali nollaan, signaali MIEREO+ asettuu loogiseen 1-tilaan ilmaisten ohjausmuistin osoitteenmuodostuslogiikalle 58, että ker-20 tojän kaksoissanojen siirto päämuistista 4 päättyy seuraa-van siirron jälkeen.
Rekisteri/laskuriin 52-1 ladataan kaksoissanojen lukumäärä ja jokainen kertojan heksadesimaalinumero vuorollaan BI-väylältä 100 hetkellä CLOCK2-, kun signaali MIERLD- on 25 loogisessa 0-tilassa. Signaali MIERLD- syötetään rekisteri/ laskurin 52-1 LOAD-napaan.
Boolen yhtälö signaalille MIERLD- loogisessa 0-tilassa on: MIERLD- = (((RD08.RD09.RDTÖ.RDTT) + RD16 + RD17 + RD18 + 30 RD19)(RD46-RD47.RD48.RD49)j
Heksadesimaalisen nollan arvoinen kertojan numero asettaa signaalin MIERE0+ loogiseen 1-tilaan, mikä antaa ohjaus-muistin osoitteenmuodostuslogiikalle 58 merkin kertojan seu-raavan heksadesimaalinumeron tuomiseksi rekisteri/laskuriin 35 52-1.
21 7 818 6 MUX 76-1 aikaansaa korkean: impedanssin signaaleille 0P1QD 0-3+, kun invertterin 54-3 valintasignaalilähtö MULENB+ on loogisessa 1-tilassa. PROM 54-1 on valittuna, koska signaali MULENB- on loogisessa 0-tilassa ja lähtösignaalit MULDG 5 0-3+ esiintyvät signaalilinjalla AL1DGO+. Rekisteri/laskurin 52-1 lataamisen aikana heksadesimaalinumero siirretään kuvion 3 yksiköstä OP1 64 valitsimen 68, multiplekserin MUX 76-1, yksikön ALU1 76-2 ja multiplekserien MUX 76-9, MUX 76—11 kautta BI väylän 100 signaaleiksi BIDT 20-23+.
10 Kuviossa 4 lähtösignaalit OP1DG 0-3+ syötetään multiplek serin MUX 76-1 napaan 1. Lähtösignaalit OP1QD 0-3+ syötetään yksikön ALU1 76-2 porttiin B signaalien AL1DG 0-3+ välityksellä. Signaali AQRSEL- on loogisessa 1-tilassa ja signaali MULENB+ on loogisessa 0-tilassa.
15 Boolen yhtälö signaalille AQRSEL- loogisessa 1-tilassa on: AQRSEL- = ((RD08 + RD09 + RD10 + RD11)(RD16*RD17*RD18-RD19))
Yksikön ALQR 72 signaalit ALQR 0-3+ syötetään multiplekserin MUX 76-1 napaan 0.
20 On huomattava, että toimintasekvenssejä ohjataan lähtö- signaaleilla RD 00-67+ ohjausmuistin datarekisteristä 62, kuvio 2. Boolen yhtälöiden esittämät ohjaussignaalit ovat ohjausmuistin dekoodauslogiikan 61 lähtösignaaleja. (Boolen lauseke (RD08·(RD09 + RD10)} merkitsee loogisen ykkösen 25 arvoista lähtöä, kun signaali RD08 on loogisessa 1-tilassa ja signaali RD09 on loogisessa 0-tilassa ja/tai signaali RD10 on loogisessa 1-tilassa).
Rekisteri/laskuri 52-1 on 74S169 tyyppinen logiikkapiiri ja MUX 76-1 on 74S257 tyyppinen logiikkapiiri, jotka pii-30 rit on esitetty julkaisussa "The TTL Data Book for Design Engineers", Second Edition, Copyright 1j76, julkaisija Texas Instruments Inc.
PROM 54—1 on 5624 tyyppinen loogiikkapiiri, joka on esitetty julkaisussa "Intersil Semiconductor Products Cata-35 log", jonka julkaisija on Intersil Inc., 10900 N. Tantau 22 781 86
Avenue, 'Cupertino, California ja joka on julkaistu maaliskuussa 1974.
Keksintöä selitetään seuraavan esimerkin avulla. Kerrottava on 009876543210+ ja kertoja on 78+. Kerrottavan ja kerto-5 jän tulo on 770370380+.
Kuten kuviossa 5 on esitetty, esimerkissä operandi 1, kertoja, tallennetaan päämuistin 4 sanaosoitepaikkoihin heksadesimaali 0502 ja 0503. Kertojan kaksi numeroa tallennetaan tavuosoitteisiin heksadesimaali 0A05 ja 0A06. Tavuosoi-10 te muodostetaan lisäämällä binaarinen 0 sanaosoitteen oikealle puolelle vasemman tavun osoitteen muodostusta varten ja binaarinen 1 sanaosoitteen oikealle puolelle sanan oikean tavun osoitteen muodostamiseksi.
Operandi 2, kerrottava, tallennetaan päämuistin 4 sana-15 osoitepaikkoihin heksadesimaali 850-856 tai tavuosoitepaik-koihin heksadesimaali 10AO-10AC. On huomattava, että tässä esimerkissä kerrottava tallennetaan ASCII numeromerkkeinä.
Desimaalitoimituskoodi heksadesimaaliluku 0029 tallennetaan päämuistin muistipaikkaan heksadesimaali 1000. Operan-20 din 1, kertojan, määrittelee datadeskriptori 1, kuvio 6, hek-sadesimaalimuodossa E381, joka on tallennettu muistipaikkaan heksadesimaali 1001. Datadeskriptori 1 ilmaisee, että operandi 1 alkaa päämuistin 4 muistipaikasta heksadesimaali 502, joka saadaan lisäämällä yksikön CPU2 rekisterin B1 sisältö 25 (ei esitetty, sisällöksi oletetaan heksadesimaaliarvo 500) siirtymään, heksadesimaali 0002, joka on tallennettu päämuistin 4 muistipaikkaan heksadesimaali 1002. Operandin 2, kerrottavan, määrittelee datadeskriptori 2, heksadesimaali-muodossa 6D01, joka on tallennettu päämuistin 4 muistipaik-30 kaan heksadesimaali 1003. Datadeskriptori 2 ilmaisee, että operandi 2 alkaa muistipaikasta heksadesimaali 850, joka muodostetaan yksikössä CPU 2 lisäämällä yksikön CPU2 rekisterin B1 sisältö (ei esitetty) siirtymään, heksadesimaa-limuodossa 350, joka on tallennettu muistipaikkaan 1004.
35 Muistipaikkojen heksadesimaali 1000 - 1004 sisällöistä 23 781 86 johdettu informaatio siirretään yksikön CPU2 ohjaamana yksikköön CIP 10 ja tallennetaan rekisterin RFD 82-1 muistipaikkoihin. Funktiokoodit siirretään yksiköstä CPU2 ja tallennetaan funktiokoodirekisteriin 96, kuvio 2. Punktiokoodi 5 heksadesimaali 07 määrittelee päämuistista 4 vastaanotetun kaksoissanan käskysanaksi, funktiokoodi 09 toimivaksi tavu-osoitteeksi, funktiokoodi OF datadeskriptoriksi ja funktio-koodi 1F viimeiseksi datadeskriptoriksi. On huomattava, että CPU1 rekisteristä B1 (ei esitetty) saatua kantaosoitetta 10 muunnetaan yksikössä CPU2 siirtymällä toimivan tavuosoitteen muodostamiseksi.
Kuten kuviosta 6 ilmenee datadeskriptorit määrittelevät operandien ominaisuudet. Datadeskriptori muodostuu 16 binaarisesta bitistä, joita tavallisesti edustaa neljä heksadesi-15 maalinumeroa.
Esimerkin operandi 1 on valittu pakettidesimaalimuotoi-seksi, ts. se sisältää kaksi desimaalinumeroa tavua kohti ja operandi 2 on valittu jonodesimaalimuotoiseksi, jossa on yksi ASCII merkki tavua kohti. Bittipositio 8 ilmaisee, et-20 tä operandi 1 sisältää pakettimuotoisia desimaalinumeroita ja operandi 2 sisältää ASCII-merkkejä.
Jokainen sana sisältää kaksi tavupositiota. Datadeskrip-torin 1 bittipositiot 0 ja 1 ilmaisevat operandin 1 ensimmäisen merkin sijainnin sanan sisällä. Tällöin binaarisen 25 bitin 0 binaarinen 1-tila ilmaisee, että ensimmäinen merkki on sanan oikeanpuoleisessa tavussa ja binaarisen bitin 1 binaarinen 1-tila ilmaisee, että ensimmäinen merkki on tavun oikeanpuoleisessa osassa. Kuten kuviosta 5 ilmenee, operandin 1 heksadesimaalinumero 7 on sanaosoitteen heksadesimaa-30 li 502 neljännessä paikassa (tavuosoitteessa heksadesimaali AO 5) .
Datadeskriptorin 2 bittiposition 0 binaarinen 0-tila ilmaisee, että ensimmäinen merkki on vasemmanpuoleisessa tavupositiossa, sanaosoitepaikan heksadesimaali 850 tavu-35 osoitepaikassa heksadesimaali 10AO.
24 7 81 8 6
Datadeskriptorin 1 bittiposition 2 binaarinen 1-tila ja datadeskriptorin 2 bittipositioiden 1 ja 2 binaarinen 1-tila ilmaisevat, että molemmissa operandeissa on jäljessä olevat merkit.
5 Bittipositiot 3-7 ilmaisevat, että operandin 1 pituus on kolme 4-bitin merkkiä ja operandin 2 pituus on 13 8-bitin merkkiä.
Bittipositiot 9-15 ilmaisevat tavan, jolla CPU 2 laskee päämuistin 4 sanaosoitepaikan, joka sisältää ensimmäisen mer-10 kin. Bittiposition 15 binaarinen 1 ja bittipositioiden 9-14 binaariset nollat ilmaisevat, että CPU 2 lisää siirtymän deskriptoria seuraavasta sanasta (kuvio 5) suorittimen CPU 2 kantarekisterin 1 sisältöön (ei esitetty), heksadesimaali 500, ilmaisemaan, että operandit 1 ja 2 alkavat sanaosoit-15 teista heksadesimaali 502 ja 850.
Kuvio 7 esittää signaalin RD 00-67+ muotojen ohjaamien erityisten logiikkalohkojen suorittamia funktioita. Kuvio 8 esittää rekisterien ja laskurien sisältöjä jokaisen yksityisen vaiheen jälkeen esimerkkikertolaskua suoritettaessa.
20 Kerrottava tallennetaan rekisterin RFD 50-1 paikkoihin heksadesimaali D, E, F ja 0 ja paikat heksadesimaali 1-8 nollataan heksadesimaaliarvoon nolla valmisteluna osittais-tulojen tallentamiselle.
Kertojan kaksoissana XXX7 8BXX on aluksi vastaanotettu 25 yhteisen väylän tiedonliitäntäyksikön 80 INR rekisteriin (ei esitetty) ja siirretty yksikköön OPI 64. Kertojan kaksoissana jää lisäksi rekisteriin INR desimaalikertolaskutoimitus-ta varten.
Kohdassa DML 100 ykkösten muistinumero 76-5 ja kymmenen-30 ten muistinumero 76-6 nollataan binaariseen O-tilaan. Rekis-teri/laskuriin AB 50-3 ladataan heksadesimaaliluku 8, joka on tulon vähiten merkitsevien numeroiden osoite rekisterissä RFD 50-1. Yksikköön OP2A 78 ladataan heksadesimaaliluku F yksikön OP2 66 bittipositioiden 23-81, tulon etumerkin 35 paikan, osoittamiseksi.
25 781 8 6
Kohdassa DML 102 yksikköön QP1A 84 ladataan heksadesi-maaliluku C osoittamaan yksikön QP1 64 bittipositioita 16-19, johon paikkaan kertojan numero "8" tallennetaan.
Kohdassa DML 105 numero 8 siirretään rekisteri/laskuriin 5 52-1, kuvio 4, ja yksikön 0P1A 84 tila dekrementoidaan heksa- desimaaliarvoon B osoittamaan kertojan numeroa 7 yksikössä OP1 64. Yksikön OP2A tila dekrementoidaan heksadesimaaliar-voon E, joka on tulon vähiten merkitsevän numeron paikka.
Kohdassa 110 yksikön OP1A 84 sisältö, heksadesimaali B, 10 joka on kertojan seuraavan numeron paikka, tallennetaan yksikköön RFC 82-1, laskurin 1 88-1 tila dekrementoidaan heksa-desimaaliarvoon 00. Jos rekisteri/laskuriin 52-1 tallennettu kertojan numero olisi ollut heksadesimaalinen 0 tässä esimerkissä oletetun arvon 8 sijasta, tällöin logiikka hyppäi-15 si kohtaan DML 105 kertojan seuraavan numeron siirtämiseksi yksiköstä OP1 64 rekisteri/laskuriin 52-1 ja siirtäisi osit-taistulon alkamiskohtaa yhden numeron vasemmalle yksikön OP2A tilaa vähentämällä. (Muut kertolaskun ohjaussanat, ei esitetty, lukevat muita kertojan kaksoissanoja, jos OP1A 20 84 kiertää ympäri ja pienentävät rekisterin AB sisältöä, jos OP2A 78 kiertää ympäri).
Kohdassa DML 200 rekisterin AB 50-3 sisältö, heksadesi-maaliarvo 8, ja yksikön OP2A 78 sisältö, heksadesimaaliarvo E, tallennetaan tilapäisesti rekisteriin 82-1 myöhempää nou-25 tamista varten. Laskuria 3 88-3 kasvatetaan osoittamaan yksikköön MIER 52 siirrettävien jäljellä olevien kertojan numeroiden lukumäärä.
Kohdassa DML 205 rekisteriin AA 50-2 ladataan heksadesimaaliarvo F, rekisterissä RFD 50-1 oleva kerrottavan vähi-30 ten merkitsevän kaksoissanan 33323130 osoite. Yksikköön OP1A 84 ladataan heksadesimaaliarvo 7, joka oli aikaisemmin tallennettuna rekisteriin RFC 82-1. Heksadesimaaliarvo 7 yksikössä 0P1A 84 osoittaa vähiten merkitsevän tavun, heksadesimaalinen 30, sijainnin yksikössä OP1 64.
35 Kohdassa DML 210 rekisterin RFD 50-1 muistipaikan heksa- 26 7 8 1 8 6 desimaali F sisältö, heksadesimaaliarvo 33323130, siirretään yksikköön OP1 64. Rekisterin AA 50-2 sisältöä pienennetään heksadesimaaliarvoon E, rekisterissä RFD 50-1 olevan kertojan seuraavan kaksoissanan osoitteeseen.
5 DML 220 rekisterin RFD 50-1 osoitteen heksadesimaalinen 8 sisältö, heksadesimaaliarvo 0000 0000 siirretään yksikköön OP2 66 nollaamaan OP2 66.
Kohdassa DML 225 kerrottavan merkitsevien numeroiden lukumäärän laskenta-arvo, heksadesimaaliarvo 09, siirretään 10 rekisteristä RFC 82-1 laskuriin 1 88-1 ja laskuriin 2 88-2. Ykkösten muistinumero 76-5 ja kymmenten muistinumero 76-6 nollataan .
Osittaistulojen kehittäminen suoritetaan kohdissa DML 230 ja DML 235. Kohdassa DML 230 muistista PROM 54-1 saatu 15 ykkösten osittaistulonumero lisätään yksikköön OP2 66 tallennettuun numeroon yksikköön OP2A 78 tallennetussa asemassa ja summa tallennetaan takaisin yksikköön OP2 66 samaan paikkaan. Jos ykkösten muistinumero 76-5 on asetettuna, tällöin yksikön ALU1 76-2 summausjakson aikana lisätään binaarinen 1 20 kuvion 3 muistinumero sisään-signaalin välityksellä. Jos muistinumero ulos -signaali saadaan, tällöin ykkösten muisti-numero 76-5 asetetaan. Yksikön 0P2A 78 tilaa pienennetään kahdella osoittamaan sijaluvultaan seuraavaksi korkeimman osittaistulon asema yksikössä OP2 66.
25 Kohdassa DML 235 muistista PROM 54-1 saatu kymmenten
osittaistulonumero lisätään yksikköön OP2 66 tallennettuun numeroon, joka on yksikköön OP2A 78 tallennetussa paikassa (yhtä alempana kuin kohdassa DML 230) ja summa tallennetaan takaisin yksikköön OP2 66 tähän paikkaan. Jos kymmenten 30 muistinumero 76-6 on asetettuna, tällöin yksikön ALU1 76-2 summausjakson aikana lisätään binaarinen ykkönen kuvion 3 muistinumero sisään signaalin välityksellä. Jos muistisig-naali saadaan, tällöin asetetaan kymmeneten muistinumero 76-6. On huomattava, että kymmenten osittaistulonumero kehi-35 tetään ykkösten osittaistulonumeron seuraamana yksikön OP2A
27 761 86 78 osoittaessa samaa yksikön 0P2 66 paikkaa.
Kohdassa DML 235 yksikön QP1A 84 tilan pienentyminen bi-naariarvosta 0001 binaariarvoon (0)111 osoittaa, että käsiteltävänä on viimeinen kertojan numero yksikössä OP1 64.
5 Kymmenten numeron käsittelyn jälkeen kohdassa DML 235 laskurin 1 88-1 tila testataan. Jos laskurin 88-1 tilana ei ole heksadesimaaliarvo 00, mikä ilmaisee, että rekisterissä RFD 50-1 on tallennettuna lisää kerrottavan numeroita ja käsiteltävänä on yksikön OP1 64 viimeinen numero, tällöin suorite-10 taan hyppy kohtaan DML 250 seuraavan kaksoissanan 37363534 siirtämiseksi rekisterin RFD 50-1 paikasta heksadesimaali E yksikköön OP1 64. Rekisterin AA 50-2 tila pienennetään hek-sadesimaaliarvoon D, joka on kerrottavan sijaluvultaan seu-raavaksi korkeimman kaksoissanan paikka. Koska kerrottava 15 on jonodesimaalimuodossa, yksikön OP1A 84 tilaa dekrementoi-daan kahdella. Kakkosen vähentäminen binaariarvosta (0)001 antaa binaariarvon (0)111, koska 0P1TYP bitti ei ole mukana inkrementointi- ja dekrementointilaskuissa. Jos kerrottava olisi desimaalipakettimuodossa, yksikön OP1A 84 tilaa pie-20 nennettäisiin ykkösellä. Yksikkö 0P1A 84 sisältäisi heksa-desimaaliarvon 8 osoituksena pakettidesimaalimuodosta ja yksikön QP1 64 sijaluvultaan korkeimman numeron. Ykkösen vähentäminen antaisi jälleen arvon (1)111 eli heksadesimaa-liarvon F. Tämä on esitetty tähän hakemukseen liittyvässä 25 rinnakkaisessa US patenttihakemuksessa Serial No. 220,220 "A Data Processor Having Apparatus for Controlling the Selection of Decimal Digits of an Operand When Executing Decimal Arithmetic Instructions", ja hakemuksessa Serial No. 220,219 "A Data Processor Using Read Only Memory for 30 Selecting a Part of Register Into Which Data Is Written".
Kohdan DML 230 aikana yksikön OP2A 78 sisältö testataan binaariarvon X000 havaitsemiseksi, joka ilmaisee, että osittaistulo, joka on aina pakettidesimaalimuodossa, on täyttänyt yksikön OP2 66. Kun DML 230 on suoritettu, siirry-35 tään kohtaan DML 240 ja osittaistulo heksadesimaali 23456800 28 7 81 8 6 siirretään rekisterin RFD 50-1 muistipaikkaan heksadesimaali 8 ja AA 50-2 dekrementoidaan heksadesimaaliarvoon 7. Kohdassa DML 245 muistipaikan heksadesimaali 7 sisältö, hek-sadesimaaliarvo 00000000 siirretään yksikköön OP2 66 ja suo-5 ritetaan hyppy kohtaan DML 235 osittaistulon muodostamisen jatkamiseksi käyttämällä kertojan numeroa 8.
Jälleen kun yksikön QP1A 84 tilaa pienennetään binaari-arvosta 0001, suoritetaan hyppy kohtaan DML 250 ja kerrottavan viimeinen kaksoissana heksadesimaali 30303938 siirretään 10 rekisterin RFD 50-1 muistipaikasta heksadesimaali D yksikköön OP1 64. Osittaistulon muodostamisen jatkamiseksi kertojan numerolla 8 siirrytään kohtaan DML 230.
Kohdan DML 235 aikana laskurin 1 88-1 tila testataan heksadesimaaliarvon 00 toteamiseksi, joka ilmaisee, että 15 kaikki kerrottavan numerot on käsitelty, ja tämän jälkeen siirrytään kohtaan DML 255 viimeisen ykkösten muistinumeron lisäämiseksi yksikköön OP2 66, mikäli ykkösten muistinumero 76-5 on asetettu.
Kohdassa DML 260 yksikössä OP2 66 oleva osittaistulo 20 siirretään rekisterin RFD 50-1 muistipaikkaan heksadesimaali 7.
Kohdassa DML 265 kertojan kaksoissana XXX78BXX tallennetaan uudelleen yksikköön OP1 64 yhteisen väylän tiedonlii-täntäyksiköltä 80 ja laskurin 3 88-3 tilaa pienennetään 25 heksadesimaaliarvoon 00 ilmaisemaan, että käsiteltävänä on viimeinen kertojan numero.
Kohdassa DML 270 laskurin 3 88-3 sisältö, heksadesimaa-liarvo 00, siirretään laskuriin 1 88-1 ja suoritetaan hyppy kohtaan DML 100 ja edellä mainittu toiminta toistetaan ker-30 tojan numerolle 7. (On huomattava, että ensimmäinen käytetty osittaistulon numero on yhden numeron vasemmalla kertojan numerolle 8 käytettyyn verrattuna).
Kohtaa DML 255 suoritettaessa laskurin 3 88-3 sisältö testataan ja sen arvoksi havaitaan heksadesimaaliarvo 00, 35 mikä ilmaisee, että kertolasku on päättynyt, koska kaikki 29 781 86 kertojan numerot on käsitelty.
Tämän jälkeen siirrytään kohtaan DML 295, jossa yksikköön 0P2 66 tallennettu osittaistulo siirretään muistipaikkaan heksadesimaali 7 ja kohta DML 300 kutsutaan rutiinina, joka 5 kirjoittaa tulon päämuistiin 4.
Edellä esitetyn keksinnön parhaana pidetyn toteutusmuodon kuvauksen ja selityksen jälkeen ammattimiehelle on selvää, että selitettyä keksintöä voidaan muuttaa ja muunnella monin tavoin vaatimuksissa esitetyn keksinnön puitteissa py-10 syen. Siten monia edelläesitetyistä elementeistä voidaan muuttaa tai ne voidaan korvata saman tuloksen aikaansaavilla elementeillä keksinnön ajatuksesta poikkeamatta. Tarkoituksena on siten, että keksintö on pelkästään patenttivaatimuksissa ilmaistun suojapiirin rajoittama.

Claims (9)

30 7 81 8 6
1. Desimaalikertolaskujärjestelmä kerrottavan kertomiseksi kertojan peräkkäisillä desimaalinumeroilla, jossa on: ensimmäinen rekisterilaite (50-1) kerrottavan desimaali-numeroiden tallentamiseksi, toinen rekisterilaite (64) kertojan desimaalinumeroiden tallentamiseksi, kertolaskurekisterilaite (52), joka on kytketty toiseen rekisterilaitteeseen (64) kunkin peräkkäisistä kertojan de-simaalinumeroista tallentamiseksi, tunnettu siitä, että toinen rekisterilaite (64) on kytketty ensimmäiseen rekisterilaitteeseen (50-1) kerrottavan desimaalinumeroiden tallentamiseksi sen jälkeen kun kukin peräkkäisistä kertojan desimaalinumeroista on tallennettu kertolaskurekisterilait-teeseen (52), että lukumuistilaite (54) on kytketty kertolaskurekisterilait-teeseen (52) ja toiseen rekisterilaitteeseen (64) ja kehittää valitun kertojan desimaalinumeron ja kunkin kerrottavan desimaalinumeroista vaikutuksesta ykkösten tulodesimaalinu-meron ensimmäisellä toimintajaksolla ja kymmenten tulodesi-maalinumeron toisella toimintajaksolla kullekin kerrottavan desimaalinumerolla, ja että siinä on kolmas reskisterilaite (66) osittaistulojen desimaalinumeroiden tallentamiseksi, jolloin summauslaite (76-2) on kytketty lukumuistilaitteeseen (54) ja kolmanteen rekisterilaitteeseen (66) ja kehittää kunkin ykkösten tulodesimaalinumeron ja vastaavan ensimmäisen osittaistulon desimaalinumeron vaikutuksesta kunkin ensimmäisten toimintajaksojen aikana ensimmäisen summadesimaali-numeron, joka korvaa ensimmäisen vastaavan osittaistulon numeron kolmannessa rekisterilaitteessa (66), ja kehittää kunkin kymmenten yksikkötulodesimaalinumeron ja toisen vastaavan osittaistulon desimaalinumeron vaikutuksesta kunkin toisen toimintajakson aikana toisen summadesi- 31 78186 maalinumeron, joka korvaa toisen vastaavan osittaistulon numeron kolmannessa reskiterilaitteessa (66).
2. Patenttivaatimuksen 1 mukainen järjestelmä/ tunnettu siitä, että ensimmäinen rekisterilaite (50-1) on kytketty kolmanteen rekisterilaitteeseen (66) tallennetamaan osittaistulon desimaalinumerot/ jotka edustavat kertojan ja kerrottavan tuloa.
3. Patenttivaatimuksen 2 mukainen järjestelmä/ tunnettu siitä/ että ensimmäiseen rekisterilaitteeseen sisä ltyy: tilapäismuistilaite (50-1) kerrottavan desimaalinumeroiden ja osittaistulon desimaalinumeroiden tallentamiseksi, ensimmäinen osoitteenmuodostuslaite (50-2) kerrottavan desimaalinumeroiden osoitteenmuodostusta varten, toinen osoitteenmuodostuslaite (50-3) osittiastulon desimaalinumeroiden osoitteenmuodostusta varten, ensimmäinen multiplekserilaite (50-4) ensimmäisen tai toisen osoitteenmuodostuslaitteen kytkemiseksi tilapäismuis-tilaitteeseen kerrottavan desimaalinumeroiden ja vastaavasti osittaistulojen desimaalinumeroiden osoitepaikkojen valitsemiseksi .
4. Patenttivaatimuksen 3 mukainen järjestelmä, tunnettu siitä, että toiseen rekisterilaitteeseen (64) sisältyy: ensimmäinen rekisteri kertojan desimaalinumeroiden tal-lentämiseksi, ensimmäinen valitsinlaite kukin peräkkäisistä kertojan numeroista valitsemiseksi, vähiten merkitsevä desimaalinume-ro ensimmäisenä, siirrettäväksi kertolaskurekisterilaittee-seen (52) ensimmäisen rekisterin ollessa tällöin kytketty ensimmäiseen rekisterilaitteeseen (50) kerrottavan numeroiden tallentamiseksi.
5. Patenttivaatimuksen 4 mukainen järjestelmä, tunnettu siitä, että kertolaskurekisterilaitteeseen (52) sisältyy: rekisteri (52-1) valitun kertojan desimaalinumeron tai- 32 781 8 6 lentämiseksi ja nollan havaitseva elin, joka ilmaisee, että valittu kertojan desimaalinumero on yhtä suuri kuin desimaali nolla.
6. Patenttivaatimuksen 5 mukainen järjestelmä, tunnettu siitä, että lukumuistilaitteeseen (54) sisältyy: lukumuisti (54-1) ykkösten ja kymmenten tulodesimaalinu-meroiden tallentamiseksi kertojan desimaalinumeroa edustavien signaalien ja kerrottavan desimaalinumeroa edustavien signaalien kullakin desimaalikombinaatiolla, jaksonvalintalaite toimintajaksosignaalin kehittämiseksi, jolloin lukumuistissa (54-1) on useita osoitenapoja (1, 2, 4, 8, 16, 32, 64, 128), jotka vastaanottavat kertojan de-simaalinumerosignaalit, kerrottavat desimaalinumerosignaalit ja toimintajaksosignaalien ensimmäisessä tilassa ykkösten tulodesimaalinumeron kehittämiseksi ja toimintajaksosignaalin toisessa tilassa kymmenten tulodesimaalinumeron kehittämiseksi siirrettäväksi summauslaitteeseen (76-2).
7. Patenttivaatimuksen 6 mukainen järjestelmä, tunnettu siitä, että kolmanteen rekisteriin (66) sisältyy: toinen rekisteri osittaistulon desimaalinumeroiden tallentamiseksi ja toinen valitsinlaite vähiten merkitsevän desimaalinumeron valitsemiseksi ensimmäisenä osittaistulon desimaalinume-roista siirrettäväksi summauslaitteeseen (76-2), kun vähiten merkitsevä kertojan desimaalinumeroista on tallennettuna ker-tolaskurekisterilaitteeseen (52) ja sijaluvultaan seuraavaksi korkeimman desimaalinumeron osittaistulon desimaalinumeroista valitsemiseksi ensimmäisenä kullakin kertojan rekisterilaitteeseen talennetulla korkeamman sijaluvun kertojan desimaalinumerolla, jolloin jokaista osittaistulon desimaalinumertoiden ryhmää siirretään vasemmalle yhden desimaalinumeroposition verran kunkin korkeamman sijaluvun kertojan desimaalinumeron tapauksessa.
8. Patenttivaatimuksen 7 mukainen järjestelmä, t u n - : n e t t u siitä, että summauslaitteeseen (76-2) sisältyy: • artimeettislooginen yksikkö (ALU), jossa on ensimmäiset 33 78186 ja toiset navat, jolloin ykkösten tulodesimaalinumero syötetään ensimmäisiin napoihin ja ensimmäinen osittaistulon de-simaalinumero syötetään toisiin napoihin ensimmäisen summade-simaalinumeron kehittämiseksi ensimmäisen toimintajakson aikana, ja jolloin kymmenten tulodesimaalinumero syötetään ensimmäisiin napoihin ja toinen osittaistulon desimaalinumero syötetään toisiin napoihin toisen summadesimaalinumeron kehittämiseksi toisen toimintajakson aikana ja toinen multiplekserilaite, joka vastaanottaa ensimmäisen summadesimaalinumeron ensimmäisen osittaistulon desimaalinu-meron korvaamiseksi toisessa rekisterissä ensimmäisen toimin-tajaskon aikana ja joka vastaanottaa toisen summadesimaalinumeron toisen osittaistulon desimaalinumeron korvaamiseksi toisessa rekisterissä toisen toimintajakson aikana.
9. Patenttivaatimuksen 1 mukainen järjestelmä, tunnettu siitä, että summauslaitteeseen (76-2) on kytketty kaksi muistinumeroyksikköä, ykkösten muistinumeroyksikkö (76-5) ja kymmenten muistinumeroyksikkö (76-6), jotka ovat valittuina vuorottelevilla toimintajaksoilla ykkösten ja vastaavasti kymmenten summaukseen. 78186 34
FI814045A 1980-12-24 1981-12-16 Dataprocessor som utfoer en decimalmultiplikationsoperation under anvaendning av ett laesminne. FI78186C (fi)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/220,218 US4390961A (en) 1980-12-24 1980-12-24 Data processor performing a decimal multiply operation using a read only memory
US22021880 1980-12-24

Publications (3)

Publication Number Publication Date
FI814045L FI814045L (fi) 1982-06-25
FI78186B true FI78186B (fi) 1989-02-28
FI78186C FI78186C (fi) 1989-06-12

Family

ID=22822594

Family Applications (1)

Application Number Title Priority Date Filing Date
FI814045A FI78186C (fi) 1980-12-24 1981-12-16 Dataprocessor som utfoer en decimalmultiplikationsoperation under anvaendning av ett laesminne.

Country Status (11)

Country Link
US (1) US4390961A (fi)
JP (1) JPS57172445A (fi)
KR (1) KR860001433B1 (fi)
AU (1) AU545326B2 (fi)
BR (1) BR8108198A (fi)
CA (1) CA1171181A (fi)
ES (1) ES8304680A1 (fi)
FI (1) FI78186C (fi)
MX (1) MX151461A (fi)
PH (1) PH19918A (fi)
YU (1) YU43057B (fi)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4566075A (en) * 1982-12-21 1986-01-21 Texas Instruments Incorporated Table lookup multiplier employing compressed data read only memory
AU573246B2 (en) * 1983-08-24 1988-06-02 Amdahl Corporation Signed multiplier
US4638450A (en) * 1983-09-30 1987-01-20 Honeywell Information Systems Inc. Equal nine apparatus for supporting absolute value subtracts on decimal operands of unequal length
US4604722A (en) * 1983-09-30 1986-08-05 Honeywell Information Systems Inc. Decimal arithmetic logic unit for doubling or complementing decimal operand
US4615016A (en) * 1983-09-30 1986-09-30 Honeywell Information Systems Inc. Apparatus for performing simplified decimal multiplication by stripping leading zeroes
US4672360A (en) * 1983-09-30 1987-06-09 Honeywell Information Systems Inc. Apparatus and method for converting a number in binary format to a decimal format
US4608659A (en) * 1983-09-30 1986-08-26 Honeywell Information Systems Inc. Arithmetic logic unit with outputs indicating invalid computation results caused by invalid operands
US4604695A (en) * 1983-09-30 1986-08-05 Honeywell Information Systems Inc. Nibble and word addressable memory arrangement
US4942547A (en) * 1985-04-11 1990-07-17 Honeywell Bull, Inc. Multiprocessors on a single semiconductor chip
US4799181A (en) * 1986-09-30 1989-01-17 Honeywell Bull Inc. BCD arithmetic using binary arithmetic and logical operations
US5212662A (en) * 1989-01-13 1993-05-18 International Business Machines Corporation Floating point arithmetic two cycle data flow
US4999802A (en) * 1989-01-13 1991-03-12 International Business Machines Corporation Floating point arithmetic two cycle data flow
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
US5822609A (en) * 1995-06-22 1998-10-13 International Business Machines Corporation Processing circuit for performing a convolution computation
US5737257A (en) * 1995-09-13 1998-04-07 Holtek Microelectronics, Inc. Method and apparatus for compression of integer multiplication table
US20050022322A1 (en) * 2003-05-12 2005-02-03 Eduardo Jimenez Powered toothbrush with curved neck and flexible shaft and single battery
US7167889B2 (en) * 2003-05-12 2007-01-23 International Business Machines Corporation Decimal multiplication for superscaler processors
US7266580B2 (en) * 2003-05-12 2007-09-04 International Business Machines Corporation Modular binary multiplier for signed and unsigned operands of variable widths
US7136893B2 (en) * 2003-07-10 2006-11-14 International Business Machines Corporation Decimal multiplication using digit recoding
US10127015B2 (en) * 2016-09-30 2018-11-13 International Business Machines Corporation Decimal multiply and shift instruction
US10241757B2 (en) 2016-09-30 2019-03-26 International Business Machines Corporation Decimal shift and divide instruction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3551663A (en) * 1965-04-15 1970-12-29 Gen Electric Multiplication apparatus in a data processing system with a variable length multiplier
JPS4940037A (fi) * 1972-08-17 1974-04-15
JPS50159223A (fi) * 1974-06-12 1975-12-23
JPS5569850A (en) * 1978-11-22 1980-05-26 Toshiba Corp Decimal multiplication system

Also Published As

Publication number Publication date
PH19918A (en) 1986-08-14
YU43057B (en) 1989-02-28
BR8108198A (pt) 1982-09-28
AU545326B2 (en) 1985-07-11
CA1171181A (en) 1984-07-17
ES508299A0 (es) 1983-03-01
AU7885181A (en) 1982-07-01
FI78186C (fi) 1989-06-12
JPS57172445A (en) 1982-10-23
YU306181A (en) 1983-12-31
US4390961A (en) 1983-06-28
FI814045L (fi) 1982-06-25
KR830008239A (ko) 1983-11-16
KR860001433B1 (ko) 1986-09-24
MX151461A (es) 1984-11-28
ES8304680A1 (es) 1983-03-01

Similar Documents

Publication Publication Date Title
FI78186B (fi) Dataprocessor som utfoer en decimalmultiplikationsoperation under anvaendning av ett laesminne.
US3828175A (en) Method and apparatus for division employing table-lookup and functional iteration
US3304418A (en) Binary-coded decimal adder with radix correction
US4384340A (en) Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions
US4021655A (en) Oversized data detection hardware for data processors which store data at variable length destinations
EP0056525B1 (en) Division system
CA1170371A (en) Data processor having units carry and tens carry apparatus supporting a decimal multiply operation
EP0075745B1 (en) Method and apparatus for division
US4426680A (en) Data processor using read only memories for optimizing main memory access and identifying the starting position of an operand
US4799181A (en) BCD arithmetic using binary arithmetic and logical operations
US4423483A (en) Data processor using a read only memory for selecting a part of a register into which data is written
US3234367A (en) Quotient guess divider
US5317531A (en) Apparatus for reducing the size of an arithmetic and logic unit necessary to practice non-restore division
EP0140158B1 (en) Apparatus and method for converting a number in binary format to a decimal format
US3937941A (en) Method and apparatus for packed BCD sign arithmetic employing a two's complement binary adder
EP1131699A1 (en) A data processing system and method for performing an arithmetic operation on a plurality of signed data values
US4761758A (en) Digital signal processor with divide function
EP0055128B1 (en) Data processing system
EP0166999A2 (en) Time saving method for computing square roots on a computer having a "one bit at a time" division instruction
GB886421A (en) Improvements in or relating to data processing apparatus
JP2650209B2 (ja) 乗算装置
SU1509876A1 (ru) Устройство дл умножени с накоплением
SU1290301A1 (ru) Устройство дл умножени
US3297861A (en) Digital multiplication and division arrangement
JPS58119047A (ja) 10進乗算又は除算装置

Legal Events

Date Code Title Description
MM Patent lapsed

Owner name: HONEYWELL INFORMATION SYSTEMS INC.