GB1348171A - Status marking of variables - Google Patents

Status marking of variables

Info

Publication number
GB1348171A
GB1348171A GB2539771A GB2539771A GB1348171A GB 1348171 A GB1348171 A GB 1348171A GB 2539771 A GB2539771 A GB 2539771A GB 2539771 A GB2539771 A GB 2539771A GB 1348171 A GB1348171 A GB 1348171A
Authority
GB
United Kingdom
Prior art keywords
status
variable
address
flag
variables
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
GB2539771A
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Philips Electronics UK Ltd
Original Assignee
Philips Electronic and Associated Industries Ltd
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 Philips Electronic and Associated Industries Ltd filed Critical Philips Electronic and Associated Industries Ltd
Publication of GB1348171A publication Critical patent/GB1348171A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

1348171 Digital data processors PHILIPS ELECTRONIC & ASSOCIATED INDUSTRIES Ltd 19 April 1971 [31 March 1970] 25397/71 Heading G4A Mutually dependent computer processes are controlled by a system in which a variable which may be called for in a process is stored in a memory. The variable includes a status marking in a flagfield either of the word at the address of the variable in the memory or of the word from which direct or indirect reference is made to the address of the variable. Means are provided for marking in the flagfield the status of the variable, and for retrieving the marking by addressing the word containing the flagfield. The retrieved status marking controls the computer process, the status of the variable indicating at least one of a number of states that the variable can have. The particular state is determined by the particular stage reached in the computer process. The process operates on one or more further variables on which the variable depends. In one arrangement, Fig. 1, a memory M associated with a processor CP contains variables, e.g. y and z, stored at addresses A0, A1 together with flagfields F10, F11 which contain the status of the variable. During allocation of locations to the variable the status "a prior unknown" (apu) may be allotted to the variable via input register IR and address register AR. When a program PO becomes active a work area, e.g. PWO, of memory M is allocated to it. When the program calls for a varaible by reading the appropriate address in to register AR via instruction line W, the variable and its flag appear in output register UR (=UR<SP>1</SP>). Flag decoder Fd determines the status. If the variable is known, status k, the variable is passed to the processor CP. On the other hand if the status is, e.g. busy (bu), partially known (ua), or effectively incalculable [uh), an interrupt int is passed to the processor. Alternatively, if the status is partially known (ua) the program may be allowed to proceed using the approximate value of the variable. If the variable z depends on y the status of z can change only if y is known (status k). If the status of y is busy (bu), i.e. if y is being processed in a sub-block program Py of program PO, processing of z in a sub-block program Pz is deferred, Pz joining a queue of programs waiting for y. If y is unknown (status apu) Pz is interrupted and Py is started. In the case of indirect addressing the status of y may, instead of being in flag F10 at address A0, be in the flag of a prior word in a path leading to y. By following through the path defined by successive words until the first word with the status of yis accessed a decision can at this point be taken whether to continue along the path to y or to cause an interrupt, Fig. 3 (not shown). The flags F11, F12 .... for a number of variables y<SP>1</SP>, y<SP>2</SP>, ....., Fig. 4, in a work area PW may be gathered together in a keyword KW at the base address BW of the area. If the status of a variable is to be changed this is done by overwriting the present status in the relevant flag in keyword KW. If a variable yj is required the memory is addressed by specifying the base address BW and the relative address g<SP>2</SP> or yj. The base address part causes the keyword KW to be placed in output register UR, the flags being placed in register R, and the relative address part enables the status of yj to be read out from flag F1j in register R. Fig. 5 illustrates indirect addressing in which a keyword at address b1 is in the working memory of a computer whereas work area B 1 is in a backing store. Since b1 contains the flags, e.g. Flyl, Fly2 of variables, e.g. y<SP>1</SP>, y<SP>2</SP> in B1 the status of a variable can be determined or altered without obtaining B1 from the backing store. The word at b1 may also indicate the address, e.g. al of a word indicating the work area A1 which lies one level higher in the path of a blockstructured program, Fig. 6 (not shown). A page table (PT) indicating the page on which a required work area (WP) lies may include a keyword indicating both the page address (AWP) and the status (Fls) of each of the variables (y<SP>1</SP>, y<SP>2</SP>) in that area, Fig. 7 (not shown). Since a change from one status (other than apu) to status apu is determined by a change in a variable upon which the variables depend the flags of all the variables are preferably arranged to be changed simultaneously. To this end each flag is divided into first and second parts. The first parts, indicating apu or apu status of each variable, are placed in fields f1, f2, ... of a keyword KW, Fig. 8. The exclusion of the second parts from KW prevents this keyword from being impractically large. Fields Fld1, Fld2, ... contain the second parts r1, r2, ... of the flags, indicating the status, e.g. bu, ua .... of the variable. In another arrangement, Fig. 9 (not shown), each variable (dl, d2 ...) in a work area (D) has its flag (Fld1, Fld2, ...) divided in two parts as described above. The first part (f1, f2 ...) of each variable may be read out or written in simultaneously via a register (ER) transverse to the normal input register (IR).
GB2539771A 1970-03-31 1971-04-19 Status marking of variables Expired GB1348171A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7004570A NL7004570A (en) 1970-03-31 1970-03-31

Publications (1)

Publication Number Publication Date
GB1348171A true GB1348171A (en) 1974-03-13

Family

ID=19809721

Family Applications (1)

Application Number Title Priority Date Filing Date
GB2539771A Expired GB1348171A (en) 1970-03-31 1971-04-19 Status marking of variables

Country Status (6)

Country Link
JP (1) JPS531616B1 (en)
CA (1) CA936967A (en)
DE (1) DE2110311A1 (en)
FR (1) FR2083696B1 (en)
GB (1) GB1348171A (en)
NL (1) NL7004570A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2453449B1 (en) * 1979-04-06 1987-01-09 Bull Sa METHOD AND SYSTEM FOR OPERATING AN ADDRESSABLE MEMORY FOR IDENTIFYING CERTAIN PARTICULAR ADDRESSES
FR2453468A1 (en) * 1979-04-06 1980-10-31 Cii Honeywell Bull METHOD AND SYSTEM FOR OPERATING AN ADDRESSABLE MEMORY ALLOWING TO ASSOCIATE QUALIFIERS WITH THE DATA CONTAINED IN THE MEMORY
JPS58151655A (en) * 1982-03-03 1983-09-08 Fujitsu Ltd Information processing device
US4901274A (en) * 1984-07-11 1990-02-13 Hitachi, Ltd. Method and system for data driven information processing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3108257A (en) * 1958-12-30 1963-10-22 Ibm Locking and unlocking of memory devices

Also Published As

Publication number Publication date
JPS531616B1 (en) 1978-01-20
FR2083696B1 (en) 1974-10-11
FR2083696A1 (en) 1971-12-17
NL7004570A (en) 1971-10-04
DE2110311A1 (en) 1971-10-21
CA936967A (en) 1973-11-13

Similar Documents

Publication Publication Date Title
KR870011524A (en) Stack Frame Cache on Microprocessor Chips
US4386402A (en) Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
ES8103868A1 (en) Access system for memory modules.
US4520441A (en) Data processing system
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JPS6436336A (en) Calculator system
KR900016866A (en) Data processing systems
GB928444A (en) Improvements in or relating to electronic computers
EP0149900A2 (en) Data storage apparatus
EP0284364A3 (en) High speed computer system
US4937780A (en) Single instruction updating of processing time field using software invisible working registers
EP0403124A2 (en) Overlay swapping
GB1348171A (en) Status marking of variables
US4491911A (en) Data processing system with improved address translation facility
JPS6079462A (en) Controller for controlling access to multiple records
JPS6478361A (en) Data processing system
JPS6075938A (en) Dispatching system during timer interruption
JPS5459847A (en) Control system for page control data process system
US5146579A (en) Data processing apparatus
GB1482819A (en) Addressing device for a programme stored data processing system
KR890007165A (en) Multimode control of virtually addressed unified cache
KR0164769B1 (en) System program execution method
GB1534290A (en) Computer system with data base instructions
EP0437928A2 (en) Memory management in a multi-processor system
KR970059915A (en) Microprocessor interrupt handler

Legal Events

Date Code Title Description
PS Patent sealed
PCNP Patent ceased through non-payment of renewal fee