NO156025B - COMPUTING SYSTEM. - Google Patents

COMPUTING SYSTEM. Download PDF

Info

Publication number
NO156025B
NO156025B NO791579A NO791579A NO156025B NO 156025 B NO156025 B NO 156025B NO 791579 A NO791579 A NO 791579A NO 791579 A NO791579 A NO 791579A NO 156025 B NO156025 B NO 156025B
Authority
NO
Norway
Prior art keywords
memory
address
mbo
words
locations
Prior art date
Application number
NO791579A
Other languages
Norwegian (no)
Other versions
NO156025C (en
NO791579L (en
Inventor
Jan Gaston Bauwens
Christiane Marguerite Jo Voght
Jeroen Bonaventura Wi Ysseldyk
Original Assignee
Alcatel Nv
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 Alcatel Nv filed Critical Alcatel Nv
Publication of NO791579L publication Critical patent/NO791579L/en
Publication of NO156025B publication Critical patent/NO156025B/en
Publication of NO156025C publication Critical patent/NO156025C/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Dram (AREA)
  • Image Input (AREA)
  • Executing Machine-Instructions (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Complex Calculations (AREA)

Description

Foreliggende oppfinnelse angår et databehandlingssystem som omfatter en databehandl ingsmaskin med en prosessor og en hukommelse, hvilken hukommelse er inndelt i flere blokker med hukommelsessteder, idet minst én av disse blokker har hukommelsessteder som lagrer instruksjoner som omfatter en første adresseinformasjon som refererer til en endre adresseinformasjon, og hvor prosessoren er istand til å adressere seg til et vilkårlig hukommelsessted i den ene blokken, hvorpå den får den andre adresseinformasjonen ved hjelp av den første adresseinformasjonen lagret i det aktuelle hukommelsesstedet som det ble adressert til på denne måten, og endelig å adressere et hukommelsessted i en vilkårlig blokk ved hjelp av den andre adresseinformasjonen og ved hjelp av indikasjonsutstyr som indikerer hvilken av hukommelsesblokkene som man må adressere seg til slutt. The present invention relates to a data processing system comprising a data processing machine with a processor and a memory, which memory is divided into several blocks with memory locations, at least one of these blocks having memory locations that store instructions that comprise a first address information that refers to a changing address information, and wherein the processor is able to address itself to an arbitrary memory location in the one block, whereupon it obtains the second address information using the first address information stored in the relevant memory location thus addressed, and finally to address a memory location in an arbitrary block by means of the second address information and by means of indicating devices which indicate which of the memory blocks must be addressed finally.

Et slikt databehandlingssystem er tidligere kjent fra britisk patent nr. 1.484.380. Dette kjente systemet omfatter spesielt to hukommelsesblokker eller hukommelsesbanker og indikasjonsutstyr som indikerer hvilken av dem som man til slutt må adressere seg til ved hjelp av at den andre adresseinformasjonen benytter en såkalt "bank flip-flop", og hvor de to tilstander til denne indikerer den ene eller den andre av de to bankene. For å bringe denne spesielle "bank flip-flop" til sin ene eller andre tilstand ved et egnet øyeblikk under utførselen av en ovennevnt instruksjon, dvs. i tilfellet nevnt ovenfor i løpet av instruksjonens såkalte indirekte syklus, omfatter databehandl ingsmaskinen et par hjelpe-f1 ip-f1oper, én logisk krets og et sett spesielle styringsinstruksjoner. Like før de ovennevnte instruksjoner blir adressert i hukommelsen, utfører databehandl ingsmaskinen en egnet av disse styringsinstruksjoner for å bringe disse flip-floper i en egnet tilstand og under den påfølgende utførelse av instruksjonen, bringer databehandl ingsmaskinens logiske kretser "bank flip-flopen" til dens ene eller andre tilstand i avhengighet av tilstanden til hjelpe-f1 ip-f1opene. Such a data processing system is previously known from British patent no. 1,484,380. This known system includes in particular two memory blocks or memory banks and indicating equipment which indicates which of them must be finally addressed by means of the second address information using a so-called "bank flip-flop", and where the two states of this indicate the one or the other of the two banks. In order to bring this particular "bank flip-flop" to its one or the other state at a suitable moment during the execution of an above-mentioned instruction, i.e. in the case mentioned above during the so-called indirect cycle of the instruction, the data processing machine comprises a pair of auxiliary f1 ip-f1oper, one logic circuit and a set of special control instructions. Just before the above instructions are addressed in memory, the computer executes an appropriate one of these control instructions to bring these flip-flops into an appropriate state and during the subsequent execution of the instruction, the computer logic circuits "bank" the flip-flop to its one or the other state depending on the state of the auxiliary f1 ip f1ops.

Fra det som er nevnt ovenfor fremgår det at indikasjons-utstyret som angir hvilken hukommelsesblokk man til slutt skal adressere seg til, er relativt komplisert og at relativt mye maskintid må benyttes for å styre bankene og hjelpe-f1 ip-f1opene. From what has been mentioned above, it appears that the indication equipment which indicates which memory block to finally address is relatively complicated and that a relatively large amount of machine time must be used to control the banks and the auxiliary f1 ip-f1ops.

I artikkelen "8086 microcomputer bridges the gap between 8-bit and 16-bit designs" av B.J. Katz m.fl., offentliggjort i Electronics, 16. februar 1978, sidene 99-104, er det beskrevet hvordan en hukommelse kan utvides ved å gjøre bruk av et segmentregister som faktisk er en utvidelse av "bank flip-flopen" i det ovennevnte britiske patent. Herved kan adressen til et vilkårlig hukommelsessted oppnås ved å tilføye adressen for et segment i hukommelsen som omfatter flere slike segmen-ter til adressen til stedet inne i dette segment. Dette betyr at det også her kreves en ekstra funksjon for å finne den ønskede adresse. In the article "8086 microcomputer bridges the gap between 8-bit and 16-bit designs" by B.J. Katz et al., published in Electronics, February 16, 1978, pages 99-104, it is described how a memory can be expanded by making use of a segment register which is actually an expansion of the "bank flip-flop" in the above British patent. Hereby, the address of an arbitrary memory location can be obtained by adding the address of a segment in the memory that includes several such segments to the address of the location within this segment. This means that here, too, an additional function is required to find the desired address.

Formålet med foreliggende oppfinnelse er derfor å tilveie-bringe et databehandlingssystem av den ovennevnte typen som beskrevet i det britiske patentet, men hvor man ikke får de nevnte ulemper. The purpose of the present invention is therefore to provide a data processing system of the above-mentioned type as described in the British patent, but which does not have the aforementioned disadvantages.

Dette oppnås ved å utforme databehandlingssystemet i overensstemmelse med de nedenfor fremsatte patentkrav. This is achieved by designing the data processing system in accordance with the patent claims set out below.

På grunn av det forhold at den andre adresseinformasjon i seg selv er tilstrekkelig til å adressere en vilkårlig hukommelsesblokk, trenges ikke mer maskintid enn det som kreves i et system som omfatter én eneste hukommelsesblokk. For å lagre den andre adresseinformasjonen kreves bare noe større hukommelseskapasi tet. Due to the fact that the second address information itself is sufficient to address an arbitrary block of memory, no more machine time is needed than is required in a system comprising a single block of memory. To store the second address information, only slightly larger memory capacity is required.

Det rna også bemerkes at foreliggende løsning tillater en lett utvidelse av databehandl ingsmaski nens hukommelse til et vilkårlig antall hukommelsesblokker uten at instruksjonssettet for databehandl ingsmaskinen må modifiseres. I virkeligheten blir, som beskrevet ovenfor, den andre adresseinformasjonen oppnådd ved en enkel indirekte adresseprosedyre som en hvilken som helst databehandl ingsmaskin normalt er i stand til å gj ennomføre. It should also be noted that the present solution allows an easy expansion of the data processing machine's memory to an arbitrary number of memory blocks without the instruction set for the data processing machine having to be modified. In reality, as described above, the second address information is obtained by a simple indirect addressing procedure which any data processing machine is normally capable of performing.

Ifølge et annet trekk ved foreliggende oppfinnelse kan et databehandlingssystem som beskrevet være oppbygget slik at minst én av hukommelsesblokkene lagrer ord med to ulike lengder, idet ordene med den korteste lengden gjør det mulig å adressere hukommelsessteder i den ene hukommelsesblokken, mens ordene med den største lengden gjør det mulig å adressere hukommelsessteder innen en hvilken som helst av de andre blokkene. According to another feature of the present invention, a data processing system as described can be structured so that at least one of the memory blocks stores words of two different lengths, the words with the shortest length making it possible to address memory locations in one memory block, while the words with the longest length makes it possible to address memory locations within any of the other blocks.

Et slikt system medfører den fordel at det eksisterende instruksjonssett for databehandl ingsmaskinene som opererer med ord med en bestemt lengde, f.eks. 16 bits, kan beholdes når man utvider hukommelsen til databehandl ingsmaskinen utover størrelsen som normalt defineres av denne lengden. Dessuten har det vist seg mulig å sikre en hukommelseskonstruksjon som samtidig kan fornyes med ord av opprinnelig størrelse såvel som ord med en delvis øket størrelse, f.eks. 18 bits, og derved oppnår man større fleksibilitet, f.eks. hva program-meringen angår, i tillegg til at man oppnår å øke hukommelsens størrelse. Such a system has the advantage that the existing instruction set for the data processing machines that operate with words of a certain length, e.g. 16 bits, can be retained when expanding the memory of the data processing machine beyond the size normally defined by this length. Moreover, it has proven possible to secure a memory structure that can be simultaneously renewed with words of original size as well as words with a partially increased size, e.g. 18 bits, thereby achieving greater flexibility, e.g. as far as the programming is concerned, in addition to increasing the size of the memory.

I en foretrukken utførelse av foreliggende oppfinnelse, omfatter databehandlingssystemet em databehanlingsmaskin med en prosessor og en hukommelse som er inndelt i fire hukom-mel sesbl okker . Hver hukommelsesblokk har en lagringskapasitet på 64 K ord, hvor K står for 1024, og inneholder 2 K ord med 18 bits og 62 K ord med 16 bits. Dette gjør det mulig for en databehandl ingsmaskin som er basert på ord med en lengde på 16 bits å benytte en hukommelse som er fire ganger større enn 2<16 >= 64 K ord, som vil være den maksimale kapasitet ved bruk av ord på 16 bits, idet 2<9> = K/2 ord av de 2 K 18-bits ord kan være tilgjengelig ved hjelp av en 9-bits adresse som rommes i instruksjonsord på 16 bits. De gjenværende <3>K/2 ord på 18 bits kan benyttes for data i tillegg til de 62 K ord med normal 16-bits lengde. In a preferred embodiment of the present invention, the data processing system comprises a data processing machine with a processor and a memory which is divided into four memory blocks. Each memory block has a storage capacity of 64 K words, where K stands for 1024, and contains 2 K words of 18 bits and 62 K words of 16 bits. This makes it possible for a data processing machine based on words with a length of 16 bits to use a memory four times larger than 2<16 >= 64 K words, which would be the maximum capacity when using words of 16 bits, with 2<9> = K/2 words of the 2K 18-bit words being accessible using a 9-bit address contained in instruction words of 16 bits. The remaining <3>K/2 words of 18 bits can be used for data in addition to the 62 K words of normal 16-bit length.

For å gi en klarere forståelse av foreliggende oppfinnelse, vises til nedenstående detaljerte beskrivelse av et utførelseseksempel, samt til de ledsagende tegninger, hvor: fig. 1 viser en skjematisk fremstilling av et databehandlingssystem i henhold til foreliggende oppfinnelse, In order to provide a clearer understanding of the present invention, reference is made to the detailed description below of an exemplary embodiment, as well as to the accompanying drawings, where: fig. 1 shows a schematic representation of a data processing system according to the present invention,

fig. 2 viser hukommelsen MEM i fig. 1 mer detaljert, fig. 2 shows the memory MEM in fig. 1 in more detail,

fig. 3 viser hvordan innholdene i registeret Y fig. 1 forandrer seg under driften av systemet. fig. 3 shows how the contents of the register Y fig. 1 changes during the operation of the system.

Databehandlingssystemet som er vist i fig. 1 omfatter en databehandl ingsmaskin med en hukommelse MEM og en prosessor The data processing system shown in FIG. 1 comprises a data processing machine with a memory MEM and a processor

CPU, av hvilken bare den aritmetiske enheten AU og styringsenheten CU er vist på figuren. Dette databehandlingssystemet er av samme type som det som er beskrevet i det ovennevnte britiske patent. CPU, of which only the arithmetic unit AU and the control unit CU are shown in the figure. This data processing system is of the same type as that described in the above-mentioned British patent.

Den aritmetiske enhet AU omfatter 18-bits hukommelse i form av et buffer-register M for å lagre et ord som må skrives inn til eller som er lest ut fra et hukommelsessted i hukommelsen MEM, et 18-bits hukommelsesregister Y for å lagre en adresse til et hukommelsessted i hukommelsen MEM, et 18-bits akkumulator-register A, og en 18-bits instruksjonstel1 er P for lagring av adressen til en instruksjon som er under utførelse eller skal utføres. The arithmetic unit AU comprises 18-bit memory in the form of a buffer register M to store a word that must be written to or read from a memory location in the memory MEM, an 18-bit memory register Y to store an address to a memory location in memory MEM, an 18-bit accumulator register A, and an 18-bit instruction counter P for storing the address of an instruction that is being executed or to be executed.

Buffer-registeret M og hukommelsessteds-registeret Y har adgang til hukommelsen MEM over en fordel ingsskinne DB, som i virkeligheten er en portstyringskrets styrt av styringsenheten CU over styringstrådene cw. Buffer-registeret M, hukommelsessted-registeret Y, akkumulatoren A og instruksjonstel1eren P er koblet til en annen portstyringskrets GC som tillater at disse registre blir innbyrdes forbundet med hverandre og muliggjør utskifting av informasjon mellom dem. Disse operasjoner blir også styrt av styringsenheten CU over styringstrådene cw. Portstyringskrets GC er f.eks. av den type som er beskrevet i britisk patent nr. 1.367.709. The buffer register M and the memory location register Y have access to the memory MEM over a distribution rail DB, which is actually a gate control circuit controlled by the control unit CU over the control wires cw. The buffer register M, the memory location register Y, the accumulator A and the instruction counter P are connected to another gate control circuit GC which allows these registers to be interconnected with each other and enables the exchange of information between them. These operations are also controlled by the control unit CU via the control wires cw. Gate control circuit GC is e.g. of the type described in British Patent No. 1,367,709.

Styringsenheten CU omfatter et 16-bits register F og en klassisk logisk krets LC med de ovennevnte styringstråder cw. Inngangen til registeret F er koblet til en utgang fra fordel ingsskinnen DB, og dens utgang er koblet til den logiske kretsen LC. Utgangen dannet av styringstrådene cw i den før nevnte kretsen LC er koblet til fordel ingsskinnen DB og til portstyringskretsen GC. Registeret F tjener til lagring av et instruksjonsord som leses fra hukommelsen MEM, mens formålet med den logiske kretsen LC er å utføre klassiske styringsfunk-sjoner som er velkjente innenfor databehandl ingsteknikken, f.eks. fra det ovennevnte britiske patent nr. 1.484.380. The control unit CU comprises a 16-bit register F and a classical logic circuit LC with the above-mentioned control wires cw. The input of the register F is connected to an output of the distribution bus DB, and its output is connected to the logic circuit LC. The output formed by the control wires cw in the aforementioned circuit LC is connected to the distribution busbar DB and to the gate control circuit GC. The register F serves to store an instruction word that is read from the memory MEM, while the purpose of the logic circuit LC is to perform classic control functions that are well known within data processing technology, e.g. from the above-mentioned British Patent No. 1,484,380.

I fig. 2 er hukommelsen MEM vist med 4 hukommelsesblokker MBO til MB3, av hvilke bare MBO og MB3 er vist på figuren, og disse inneholder hver 64 K hukommelsessteder, idet K = 1024. Hukommelsesblokk MBO omfatter en utvidet del av EAO med 2 K 18-bits hukommelsessteder og en ikke-utvidet del NEAO på 62 K 16-bits hukommelsessteder. Den utvidede delen EAO er inndelt i to sektorer EAO (SO) og EAO (Sl), hver med henholdsvis K/2 og 3K/2 hukommelsessteder. Hukommelsesstedene i EAO (SO) lagrer effektivt 18-bits operasjonsadresser slik som f.eks. EOA, mens hukommelsesstedene til EAO (Sl) lagrer 18-bits dataord, og med dataord menes da alle typer ord unntatt instruksjonsord. Den ikke-utvidede delen NEAO i hukommelsen MBO lagrer 16-bits instruksjonsord og dataord. In fig. 2, the memory MEM is shown with 4 memory blocks MBO to MB3, of which only MBO and MB3 are shown in the figure, and these each contain 64 K memory locations, K = 1024. Memory block MBO includes an extended part of EAO with 2 K 18-bit memory locations and a non-extended portion NEAO of 62K 16-bit memory locations. The extended part EAO is divided into two sectors EAO (SO) and EAO (Sl), each with K/2 and 3K/2 memory locations respectively. The memory locations in the EAO (SO) effectively store 18-bit operational addresses such as e.g. EOA, while the memory locations of EAO (S1) store 18-bit data words, and by data word is meant all types of words except instruction words. The non-extended section NEAO in memory MBO stores 16-bit instruction words and data words.

Hukommelsesblokk MB3 er lik MBO og lagrer lignende i nformasjonsord. Memory block MB3 is similar to MBO and stores similar i nformation words.

Under henvisning til figurene 1-3 vil driften av ovennevnte databehandlingssystem bli beskrevet, idet alle operasjoner som blir styrt av styringsenheten CU i prosessoren CPU og særlig av de logiske kretser LC i styringsenheten CU vil bli nevnt inngående. With reference to figures 1-3, the operation of the above-mentioned data processing system will be described, as all operations that are controlled by the control unit CU in the processor CPU and in particular by the logic circuits LC in the control unit CU will be mentioned in detail.

Det forutsettes at instruksjonstel1eren P så vel som registeret Y opprinnelig lagrer en 18-bits adresse A, fig. 3, omfattende 16-bits 0 til 15, som utgjør en 16-bits partial-adresse U til hukommelses stedet i hver av hukommelsesblokkene MBO til MB3, fordi 2<16> = 64 K og to adressebits 16 og 17 som indikerer en av disse hukommelsesblokker. Ved hjelp av denne adressen A lagret i registeret Y henvender styringsenheten CU seg til hukommelsen MEM og særlig til hukommelsessted ML1 (fig. 2) med del-adressen U i hukommelsesblokk MBO, idet tilleggsbits 16 og 17 i adressen A f.eks. kan være lik 00 (fig. 3). It is assumed that the instruction counter P as well as the register Y initially stores an 18-bit address A, fig. 3, comprising 16-bits 0 to 15, which constitute a 16-bit partial address U to the memory location in each of the memory blocks MBO to MB3, because 2<16> = 64 K and two address bits 16 and 17 indicating one of these memory blocks. With the help of this address A stored in the register Y, the control unit CU addresses the memory MEM and particularly to memory location ML1 (Fig. 2) with the partial address U in memory block MBO, as additional bits 16 and 17 in the address A e.g. can be equal to 00 (Fig. 3).

Som en følge av dette blir et 16-bits instruksjonsord representert på fig. 2 og lagret i ML1, overført fra dette hukommelsesstedet til buffer-registeret M og også til registeret F. Instruksjonsordet er f.eks. et 16-bits instruksjonsord innlest i akkumulator A, og kan omfatte As a result, a 16-bit instruction word is represented in FIG. 2 and stored in ML1, transferred from this memory location to the buffer register M and also to the register F. The instruction word is e.g. a 16-bit instruction word read into accumulator A, and may include

- en 9-bits adresse V lagret i bits 0 til 8 i ML 1, - a 9-bit address V stored in bits 0 to 8 of ML 1,

- en 2-bits faktor K lagret i bits 9 og 10 i ML 1. Denne K faktor antas å være lik 10 og indikerer derved at den aktuelle 9-bits adresse V er en adresse som skal brukes - a 2-bit factor K stored in bits 9 and 10 of ML 1. This K factor is assumed to be equal to 10 and thereby indicates that the relevant 9-bit address V is an address to be used

o o

for indirekte adressering til et ord i en sektor SO (lagring 2<9> = K/2 ord) i en hukommelsesblokk, dvs. EAO for indirect addressing to a word in a sector SO (storage 2<9> = K/2 words) in a memory block, i.e. EAO

(SO) til EA3 (SO) i MBO henholdsvis MB3, (SO) to EA3 (SO) in MBO respectively MB3,

- en 5-bits operasjonskode CLDA lagret i bits 11-15 i ML1. - a 5-bit operation code CLDA stored in bits 11-15 of ML1.

Operasjonskoden CLDA og faktoren K blir analysert i den logiske kretsen LC, og som et resultat finnes at instruksjonen er en instruksjon om innlesning-i-akkumulator-A, og at innl esningsoperasjonen må utføres på et ord lagret i et hukommelsessted med en effektiv adresse som oppnås v.hj.a. parti al adressen V lagret i instruksjonen. Som en konsekvens av dette kalkulerer den logiske kretsen LC først en indirekte adresse IA ved å registrere adressen V til LDA-instruksjonen i bits 0 til 8 i registeret Y og nullstiller bits 9 til 15 i dette registeret Y. Den indirekte adressen IA som således fås til slutt i registeret Y omfatter: - bits 0 til 8 som utgjør en 9-bits parti al adresse til et hukommelsessted i sektor SO i hver av blokkene MBO til MB3, fordi 2<9> = K/2, The operation code CLDA and the factor K are analyzed in the logic circuit LC, and as a result it is found that the instruction is a load-into-accumulator-A instruction and that the load operation must be performed on a word stored in a memory location with an effective address that is achieved by parti al address V stored in the instruction. As a consequence of this, the logic circuit LC first calculates an indirect address IA by registering the address V of the LDA instruction in bits 0 to 8 of the register Y and resets bits 9 to 15 of this register Y. The indirect address IA thus obtained finally in the register Y comprises: - bits 0 to 8 which constitute a 9-bit partial address to a memory location in sector SO in each of the blocks MBO to MB3, because 2<9> = K/2,

- bits 9 til 15, somernullstilt, - bits 9 to 15, summer reset,

- tilleggsbits 16 og 17 lik 00 som indikerer hukommelsesblokk MBO. - additional bits 16 and 17 equal to 00 indicating memory block MBO.

Med den indirekte adressen IA som således er lagret i registeret Y, henvender styringsenheten CU seg til hukommelsen MEM og særlig til det hukommelsessted ML2 som har adresse V i sektor EAO (SO) i MBO. With the indirect address IA which is thus stored in the register Y, the control unit CU addresses the memory MEM and in particular the memory location ML2 which has address V in sector EAO (SO) of the MBO.

Som en følge av dette blir et 18-bits ord som utgjør en såkalt effektiv operasjonsadresse EOA og som er lagret i ML2, først overført fra MBO til buffer-registeret M og deretter til registeret Y. Det inneholder (fig. 3) ti 11eggs-bits 16 og 17 som er lik 11, noe som indikerer hukommelsesblokk MB3, og en 16-bits parti al adresse W til et hukommelsessted inne i den blokken MB3. As a result of this, an 18-bit word which constitutes a so-called effective operation address EOA and which is stored in ML2, is first transferred from MBO to the buffer register M and then to the register Y. It contains (Fig. 3) ten 11egg- bits 16 and 17 equal to 11, indicating memory block MB3, and a 16-bit partial address W of a memory location within that block MB3.

Ved hjelp av adressen EOA lagret i registeret Y, henvender styringsenheten CU seg til hukommelsen MEM og da særlig til adressested ML3, som tilhører den utvidede sektor EA3 (Sl) i MB3. Using the address EOA stored in the register Y, the control unit CU addresses the memory MEM and then in particular address location ML3, which belongs to the extended sector EA3 (S1) in MB3.

Således blir et 18-bits data-ord DW overført til buffer-registeret M for videre behandling. Disse operasjoner er imidlertid ikke beskrevet, fordi dette er uten betydning for oppfinnelsen. Thus, an 18-bit data word DW is transferred to the buffer register M for further processing. However, these operations are not described, because this is of no importance to the invention.

Det er klart at tilleggsbits 16 og 17 til den effektive operasjonsadresse EOA indikerer den hukommelsesblokk som man endelig skal henvende seg til, og følgelig kan en hvilken som helst av disse blokker bli adressert. It is clear that additional bits 16 and 17 of the effective operation address EOA indicate the block of memory to be finally addressed, and thus any of these blocks may be addressed.

Tydeligvis kan enten den utvidede eller den ikke-utvidede del av denne blokken bli adressert, slik at et 16-bits så vel som et 18-bits data-ord kan benyttes. F.eks. blir, når en hopp-instruksjon blir utført, en 18-bits returadresse som oppnås ved å øke innholdet til instruksjonstel1eren med 1, lagret i det utvidede området til hukommelsesblokk MBO. Obviously, either the extended or the non-extended portion of this block can be addressed, so that a 16-bit as well as an 18-bit data word can be used. E.g. becomes, when a jump instruction is executed, an 18-bit return address obtained by incrementing the contents of the instruction counter by 1, stored in the extended area of memory block MBO.

En oppsummering av det ovenstående gir at deladressen V som inneholdes i et instruksjonsord som leses fra et hukommelsessted ML1 i hukommelsesblokk MBO, muliggjør at hukom-mel sessted ML2 i en utvidet sektor SO i samme hukommelsesblokk MBO kan bli adressert, og at dette hukommelses sted ML2 lagrer en utvidet adresse EOA, som muliggjør at en vilkårlig av hukommelsesblokkene MBO til MB3, f.eks. MB3, til slutt oppnår 16- eller 18-bits data-ord. A summary of the above provides that the partial address V contained in an instruction word read from a memory location ML1 in memory block MBO enables memory location ML2 in an extended sector SO in the same memory block MBO to be addressed, and that this memory location ML2 stores an extended address EOA, which enables any one of the memory blocks MBO to MB3, e.g. MB3, eventually achieving 16- or 18-bit data words.

Som beskrevet ovenfor og også som vist i fig. 2, kan dessuten hver av hukommelsesblokkene MBO til MB3 være forsynt med en utvidet del EAO til EA3 og en ikke-utvidet del NEAO til NEA3. I praksis blir bruken av hukommelsesblokker med ikke-utvidede deler generelt sett foretrukket fremfor bruk av hukommelsesblokker med utvidede og ikke-utvidede deler, og av denne grunn blir tilleggsbits for hukommelsesdelen som skal utvides, lagret i én eller flere separate hukommelsesenheter. As described above and also as shown in fig. 2, moreover, each of the memory blocks MBO to MB3 may be provided with an extended part EAO to EA3 and a non-extended part NEAO to NEA3. In practice, the use of memory blocks with non-extended parts is generally preferred over the use of memory blocks with extended and non-extended parts, and for this reason additional bits for the memory part to be extended are stored in one or more separate memory units.

I foreliggende tilfelle vil det indikeres at de 2K x 2 tilleggsbits for en hukommelsesdel som skal utvides, skal lagres i en tilsvarende 2K x 2 bit hukommelsesenhet. Uheldig-vis foreligger ikke slike 2K x 2 bits hukommelsesenheter i dag, og derfor må det gjøres bruk av tilgjengelige 4K x 1 bits hukommelsesenheter. For å være i stand til samtidig å adressere en rekke bits 0 til 15 i en ikke-utvidet hukommelsesblokk og de ti 1 forordnede tilleggsbits 16 og 17, blir tilleggsbits i hvert sett på 2K x 2 bits lagret i homologe eller samtidige rekker i to slike 4K x 1 hukommelsesenheter. In the present case, it will be indicated that the 2K x 2 additional bits for a memory part to be expanded are to be stored in a corresponding 2K x 2 bit memory unit. Unfortunately, such 2K x 2 bit memory units do not exist today, and therefore use must be made of available 4K x 1 bit memory units. To be able to simultaneously address an array of bits 0 through 15 in a non-extended memory block and the ten 1-ordered additional bits 16 and 17, additional bits in each set of 2K x 2 bits are stored in homologous or concurrent rows in two such 4K x 1 memory units.

Generelt sett vil man, når man må utvide m rekker i en Generally speaking, when you have to expand m rows in a

n x p bithukommelse, hver med q tilleggsbits, måtte gjøre bruk n x p bits of memory, each with q additional bits, had to be used

av flere ti 11eggshukommelsesenheter, hver med minst m rekker, of several ten 11egg memory units, each with at least m rows,

og homologe rekker i disse ti 11eggshukommelsesenheter lagrer der til sammen q tilsvarende tilleggsbits. and homologous rows in these ten 11egg memory units store a total of q corresponding additional bits there.

Claims (5)

1. Databehandlingssystem med en databehandl ingsmaskin omfattende en prosessor (CPU) og en hukommelse (MEM) hvor - hukommelsen (MEM) er inndelt i blokker (MBO - MB3) med hukommelsessteder (ML1, ML2), idet minst én av blokkene (MBO) har hukommelsessteder (ML1) som lagrer instruksjoner som hver enkelt omfatter første adresseinformasjoner (V) som henviser til andre adresseinformasjoner (EOA) som identifiserer (ved bits 16, 17) hvilke blokker (MBO - MB3) som det skal gjøres henvendelse til, - prosessoren (CPU) kan henvende seg til et hvilket som helst (ML1) hukommelsessted i den ene blokken (MBO) og derfra fremhente den andre adresseinformasjon (EOA) ved hjelp av den første adresseinformasjon (V) som fås som et resultat av henvendelsen til dette hukommelsessted (ML1), og - den andre adresseinformasjon (EOA) som er fremhentet, benyttes for å foreta henvendelse til et hukommelsessted (ML2) i en hvilken som helst av hukommelsesblokkene (MBO - MB3), karakterisert ved at nevnte hukommelsesblokk (MBO) omfatter hukommelsessteder (ML1, ML2) med to ulike ordlengder, idet ordene i de korteste ordlengde-steder (ML1) utelukkende muliggjør henvendelser til hukommelses steder i den angjeldende hukommelsesblokk (MBO), mens ordene i de lengste ordiengde-hukommelsessteder (ML2) muliggjør henvendelse til hukommelsessteder i hvilken som helst av blokkene (MBO - MB3), og at hvert av ordene i hukommelses stedene (ML2) med den største ordlengden omfatter den andre adresseinformasjonen (EOA) som identifiserer (ved bits 16, 17) hvilken blokk (MBO - MB3) som man til slutt skal henvende seg til.1. Data processing system with a data processing machine comprising a processor (CPU) and a memory (MEM) where - the memory (MEM) is divided into blocks (MBO - MB3) with memory locations (ML1, ML2), at least one of the blocks (MBO) has memory locations (ML1) which store instructions each comprising first address information (V) which refers to second address information (EOA) which identifies (by bits 16, 17) which blocks (MBO - MB3) are to be addressed , - the processor (CPU) can address any (ML1) memory location in the one block (MBO) and from there obtain the other address information (EOA) using the first address information (V) obtained as a result of the request to this memory location (ML1), and - the second address information (EOA) obtained, is used to make inquiries to a memory location (ML2) in any of the memory blocks (MBO - MB3), characterized in that said memory block (MBO) comprises memory locations (ML1, ML2) with two different word lengths, as the words in the shortest word length places (ML1) exclusively enable inquiries to memory places in the relevant memory block (MBO), while the words in those longest word length memory locations (ML2) enable inquiry to memory locations in any of the blocks (MBO - MB3), and that each of the words in memory the places (ML2) with the largest word length comprise the second address information (EOA) which identifies (at bits 16, 17) which block (MBO - MB3) to finally turn to. 2. Databehandlingssystem ifølge krav 1, karakterisert ved at hukommelsesstedene med de største ordlengd-ene omfatter et sett slike hukommelsessteder (ML3) som lagrer data som også kan adresseres ved hjelp av den andre adresseinformasjon (EOA).2. Data processing system according to claim 1, characterized in that the memory locations with the largest word lengths comprise a set of such memory locations (ML3) which store data which can also be addressed using the second address information (EOA). 3. Databehandlingssystem ifølge krav 1 eller 2, karakterisert ved at antall adressesteder med størst ordlengde, i det minste i én hukommelsesblokk, ikke over-skrider halvparten av det totale antall hukommelsessteder i den blokken.3. Data processing system according to claim 1 or 2, characterized in that the number of address locations with the largest word length, in at least one memory block, does not exceed half of the total number of memory locations in that block. 4. Databehandlingssystem ifølge krav 1, 2 eller 3, karakterisert ved at ordene i adressestedene med størst lengde hver er forsynt med x tilleggsbits i forhold til ordene på adressestedene med minst lengde, slik at ti 11eggsbitene som utgjør den andre adresseinformasjonen, kan styre et utvalg fra maksimalt 2X ulike hukommelsesblokker.4. Data processing system according to claim 1, 2 or 3, characterized in that the words in the address locations with the longest length are each provided with x additional bits in relation to the words in the address locations with the smallest length, so that the 11 egg bits that make up the second address information can control a selection from a maximum of 2X different memory blocks. 5. Databehandlingssystem ifølge krav 1, 2, 3 eller 4, karakterisert ved at i det minste den ene hu-kommel sesbl okken består av en hukommelsesmatri se for lagring av ord med den korteste lengden og x n-ords én-bit hukommelser, hvor n er antall ord med størst lengde, for lagring av tilleggsbits for de lengste ordene, slik at hvert adressested med størst lengde omfatter et hukommelsessted med kortest lengde pluss de respektive adressesteder i hver av de n-ords én-bits hukommelser.5. Data processing system according to claim 1, 2, 3 or 4, characterized in that at least one memory block consists of a memory matrix for storing words with the shortest length and x n-word one-bit memories, where n is the number of words with the longest length, for storing additional bits for the longest words, so that each longest-length address location includes a shortest-length memory location plus the respective address locations in each of the n-word one-bit memories.
NO791579A 1978-05-12 1979-05-11 COMPUTING SYSTEM. NO156025C (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
BE2056976A BE866996A (en) 1978-05-12 1978-05-12 DATA PROCESSING SYSTEM

Publications (3)

Publication Number Publication Date
NO791579L NO791579L (en) 1979-11-13
NO156025B true NO156025B (en) 1987-03-30
NO156025C NO156025C (en) 1987-07-08

Family

ID=3865413

Family Applications (1)

Application Number Title Priority Date Filing Date
NO791579A NO156025C (en) 1978-05-12 1979-05-11 COMPUTING SYSTEM.

Country Status (6)

Country Link
BE (1) BE866996A (en)
BR (1) BR7902676A (en)
GB (1) GB2020865B (en)
IE (1) IE48117B1 (en)
NO (1) NO156025C (en)
ZA (1) ZA791924B (en)

Also Published As

Publication number Publication date
NO156025C (en) 1987-07-08
BR7902676A (en) 1979-11-27
ZA791924B (en) 1980-04-30
GB2020865A (en) 1979-11-21
IE790936L (en) 1979-11-12
BE866996A (en) 1978-11-13
GB2020865B (en) 1982-05-06
NO791579L (en) 1979-11-13
IE48117B1 (en) 1984-10-03

Similar Documents

Publication Publication Date Title
US7694077B2 (en) Multi-port integrated cache
US4527238A (en) Cache with independent addressable data and directory arrays
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US5640534A (en) Method and system for concurrent access in a data cache array utilizing multiple match line selection paths
US4551799A (en) Verification of real page numbers of stack stored prefetched instructions from instruction cache
US5680631A (en) Data processor with on-chip cache memory and purge controller responsive to external signal for controlling access to the cache memory
US5073891A (en) Method and apparatus for testing memory
JP3093807B2 (en) cache
JP2001184263A (en) Device for invalidating and removing old cache line
JPH10232839A (en) Cache system and operation method for cache memory
KR930022222A (en) Apparatus and method for providing multiple outstanding operations in a multiprocessor computer system with a consistent cache
JPS604493B2 (en) Microprogrammed data processing system
JPH02191053A (en) Memory apparatus
JPH0529945B2 (en)
US5206945A (en) Single-chip pipeline processor for fetching/flushing instruction/data caches in response to first/second hit/mishit signal respectively detected in corresponding to their logical addresses
EP0531123B1 (en) A dynamic address translation processing apparatus in a data processing system
EP0706132A2 (en) Method and system for miss sequence handling in a data cache array having multiple content addressable fields per cache line
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
JPS6137654B2 (en)
NO156025B (en) COMPUTING SYSTEM.
US5349672A (en) Data processor having logical address memories and purge capabilities
US5933856A (en) System and method for processing of memory data and communication system comprising such system
JP5480793B2 (en) Programmable controller
JPH08115262A (en) Address conversion circuit and electronic computer provided with the address conversion circuit
JP2621793B2 (en) Multiplex method of bus cycle