JPS62139058A - Memory controller - Google Patents

Memory controller

Info

Publication number
JPS62139058A
JPS62139058A JP60279123A JP27912385A JPS62139058A JP S62139058 A JPS62139058 A JP S62139058A JP 60279123 A JP60279123 A JP 60279123A JP 27912385 A JP27912385 A JP 27912385A JP S62139058 A JPS62139058 A JP S62139058A
Authority
JP
Japan
Prior art keywords
area
memory
stack
logical
register
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.)
Granted
Application number
JP60279123A
Other languages
Japanese (ja)
Other versions
JPH0255813B2 (en
Inventor
Hiroshi Nakajima
浩 中島
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP60279123A priority Critical patent/JPS62139058A/en
Publication of JPS62139058A publication Critical patent/JPS62139058A/en
Publication of JPH0255813B2 publication Critical patent/JPH0255813B2/ja
Granted legal-status Critical Current

Links

Abstract

PURPOSE:To execute primary processing at a high speed by providing a normal logic area of a memory area and an excessive logic area of the memory area where excessive physical memories are is allocated and decreasing the deciding frequency for presence or absence of allocation of the physical memory. CONSTITUTION:An area 25a set at the bottom side of a stack 25 serves as a normal logic area and a register SP12 which indicates the highest part of the stack 25 indicates a certain area in the area 25a. While an excessive logic area 25b is set immediately after the area 25a and along the extending direction of the stack 25. Thus the dynamic allocation of the physical memory is carried out by recognizing access given to the area 25b. However, a fact that access is secured within the area 25b is stored together with a fact that access is given to the area 25b. Therefore, it is enough to decide access given to the area 25b just in a single time after all accesses are through in terms of the consumption of the continuous logic memory spaces within an amount less than the size of the area 25b.

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、ディジタル計算機のメモリ制御装置に関す
るものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a memory control device for a digital computer.

[従来の技術] 従来、大容量の論理記憶空間と、この論理記憶空間に比
較して小容量の物理記憶空間を有するメモリ装置におい
て、特定の論理記憶領域に吋応する物理記憶領域の割当
てを、当該論理記憶領域にアクセスを行った際に、もし
物理記憶が割当てらアドレス変換テーブルの1エントリ
を示す構成図である。第7図に示すメモリ制御装置は、
動的割当てを行う場合に用いられるもので、ここでは、
説明を簡単にするために、論理アドレスを24ビツト、
物理アドレスを20ビツト、物理記憶の割当て単位を1
024ワード、論理アドレスから物理アドレスへの変換
を1段階のテーブル検索で行うことをそれぞれ仮定して
いるが、これらの数値及びテーブル検索の段数等の方式
は、何ら本質的なものではない。
[Prior Art] Conventionally, in a memory device having a large-capacity logical storage space and a small-capacity physical storage space compared to this logical storage space, allocation of a physical storage area corresponding to a specific logical storage area has been carried out. , is a configuration diagram showing one entry of the address translation table if physical storage is allocated when the logical storage area is accessed. The memory control device shown in FIG.
This is used when performing dynamic allocation, and here,
To simplify the explanation, the logical address is 24 bits,
The physical address is 20 bits, and the physical memory allocation unit is 1.
Although it is assumed that the conversion from 0.024 word and logical address to physical address is performed by one stage table search, these numerical values and the method such as the number of stages of table search are not essential at all.

第7図において、論理アドレスは信号線1を介して演算
処理装置(図示しない)などにより供給され、論理アド
レス・レジスタであるLAR2に供給される。LAR2
の上位22ビツト、すなわちビット23〜lOは信号線
3を介してアドレス変換テーブルであるATT4に供給
される。ATT4は16384個のエントリを持つテー
ブルであり、各エントリは第8図に示すような構成とな
っている。すなわち、最上位ビットであるビット10の
4aは、物理記憶が割当てられているが否をそれぞれ示
し、第7図に示す信号線5を介して演算処理装置(図示
しない)などへ伝達される。
In FIG. 7, a logical address is supplied by an arithmetic processing unit (not shown) or the like via a signal line 1, and is supplied to a logical address register LAR2. LAR2
The upper 22 bits, ie, bits 23 to 10, are supplied via signal line 3 to ATT4, which is an address translation table. ATT4 is a table having 16,384 entries, and each entry has a configuration as shown in FIG. That is, bit 10, 4a, which is the most significant bit, indicates whether physical storage is allocated or not, and is transmitted to an arithmetic processing unit (not shown) or the like via the signal line 5 shown in FIG.

ATT4の各エントリの下位10ビツト、すなわちビッ
ト9〜0の4bは、どの物理記憶単位を割当てているか
を示す情報であるフラグであり、第7図に示す信号線6
を介して物理アドレス・レジスタであるPAR7の上位
10ビツト、すなわちビット19〜10に供給される。
The lower 10 bits of each entry of ATT4, that is, bits 9 to 0, 4b, are flags that are information indicating which physical storage unit is allocated, and are connected to signal line 6 shown in FIG.
is supplied to the upper 10 bits, bits 19-10, of the physical address register PAR7.

LAR2の下位10ビツト、すなわちビット9〜Oは、
信号線8を介して直接PAR7の下位10ビツト、すな
わちビット9〜Oに供給される。そして、PAR7の内
容である物理アドレスは、信号線9を介して物理記憶を
構成するメモリ素子(図示しない)なとへ伝達される。
The lower 10 bits of LAR2, that is, bits 9 to O, are
It is directly supplied to the lower 10 bits of PAR7, ie, bits 9 to O, via signal line 8. The physical address, which is the content of PAR 7, is transmitted via signal line 9 to a memory element (not shown) constituting physical storage.

第4図は物理記憶の動的割当て方式を実現する計算機の
演算処理装置の一部を示すブロック構成図、第5図は、
第4図の計算機におけるマイクロ命令の一部を示す構成
図、第6図は、第4図の計算機におけるスタック処理を
行うマイクロプログラムを示すフローチャート、第9図
は、第7図に次に、上記従来のメモリ制御装置を用いて
、物”理記憶の動的割当てを行う方法を、スタックを有
するマイクロブロクラム制御の計算機を例にして説明す
る。このような計算機の演算処理装置の一部は、第4図
に示すような構成となっているものとする。なお、第4
図に示す構成で、第7図と同一の構成要素には同一の番
号を付しである。第4図に示す10はメモリ装置と演算
処理装置と演算処理装置との間でのデータ転送用のレジ
スタDであり、メモリ装置への書込みデータ及びメモリ
装置からの読出しデータは信号線11を介して伝達され
る。12はスタックの最上部の次のアドレスを指示する
レジスタSPであり、「1」だけ増減する機能を備えて
いる。13はループ制御に用いられるカウンタであるレ
ジスタCであり、「1」だけ減少する機能及びその内容
が「0」であるが否かを判定する機能を備えている。1
4はデータ・バスであり、各信号線15a、15b、1
5c又は15dを介して、レジスタD10.レジスタ5
P12.レジスタC13又は定数「0」のいずれか1つ
がデータ・バス14に出力される。また、各信号線1.
15a、15b又は15c3介して、きる。
FIG. 4 is a block diagram showing a part of the arithmetic processing unit of the computer that implements the dynamic allocation method of physical storage, and FIG.
FIG. 4 is a block diagram showing part of the microinstructions in the computer, FIG. 6 is a flowchart showing a microprogram that performs stack processing in the computer in FIG. 4, and FIG. A method for dynamically allocating physical memory using a conventional memory control device will be explained using a microblock controlled computer with a stack as an example. A part of the processing unit of such a computer is It is assumed that the configuration shown in Fig. 4 is as shown in Fig. 4.
In the configuration shown in the figure, the same components as in FIG. 7 are given the same numbers. Reference numeral 10 shown in FIG. 4 is a register D for data transfer between the memory device, the arithmetic processing device, and the arithmetic processing device. Data written to the memory device and data read from the memory device are transferred via a signal line 11. It is transmitted by A register SP 12 indicates the next address at the top of the stack, and has the function of increasing or decreasing by "1". A register C 13 is a counter used for loop control, and has a function of decrementing by "1" and a function of determining whether the contents are "0" or not. 1
4 is a data bus, each signal line 15a, 15b, 1
5c or 15d, register D10. register 5
P12. Either register C13 or constant "0" is output to data bus 14. In addition, each signal line 1.
15a, 15b or 15c3.

次に、演算処理装置及びメモリ装置を制御するマイクロ
命令の一部は、第5図に示すような構成となっているも
のとする。第5図に示す16aはメモリ装置の制御を行
い、読出しくRead) 、書込み(Write)又は
無動作(Nop)を指定する。16bデータ・バス14
へ出力するレジスタDIO,レジスタ5P12.レジス
タC13又は定数r□。
Next, it is assumed that a part of the microinstructions that control the arithmetic processing unit and the memory device have a configuration as shown in FIG. 16a shown in FIG. 5 controls the memory device and specifies read (Read), write (Write), or no operation (Nop). 16b data bus 14
Register DIO, register 5P12. Register C13 or constant r□.

を指定する。16cはデータ・バス14の値を格納する
論理アドレス・レジスタLAR2,レジスタD10.レ
ジスタ5P12又はレジスタC13か、いずれのレジス
タへも格納しないこと(Nop)を指定する。16dは
レジスタ5P12を「1」だけ増加する(SP++) 
、  r 1 、たけ減少する(sp−−)又は無動作
(Nop)を指定する。16eはレジスタC13を「1
」だけ減少する(C−一)又は無動作(Nop)を指定
する。16fは分岐条件としてレジスタC13の内容が
rQ、であること(C=O)、レジスタC13の内容が
「0」でないこと(C≠0)、アドレス変換テーブルで
あるATT4の出力の最上位ビットが「1」であと(N
op)を指定する。16gは16hで指定されたアドレ
スへの分岐(Jump)又はマイクロ命令の命令コード
ごとに定められたアドレスへの分岐(Eop)を指定す
る。なお、分岐条件不成立の際は、直後のマイクロ命令
を実行するものとする。また、レジスタC13の内容判
定は同一マイクロ命令においてレジスタC13の更新指
定があった場合は更新前の値を用いることとする。また
、メモリ装置のアクセスに用いるアドレスは、同一命令
で論理アドレス・レジスタLAR2の更新指定があった
場合は、更新前の値を用いるものとする。また、レジス
タ5P12のデータ・バス14への出力は、同一命令で
レジスタ5P12の更新指定があった場合は、更新前の
値を用いるものとする。さらに、アドレス変換テーブル
であるATT4の出力の最上位ビット判定は、メモリ装
置へのアクセスを行った直後のマイクロ命令でのみ有効
であるとする。
Specify. 16c are logical address registers LAR2, registers D10 . Specifies that the data is not stored in either register 5P12 or register C13 (Nop). 16d increases register 5P12 by "1" (SP++)
, r 1 , specifies a decrease (sp--) or no action (Nop). 16e sets register C13 to “1”.
” (C-1) or no action (Nop). 16f is a branch condition that the content of register C13 is rQ (C=O), that the content of register C13 is not "0" (C≠0), and that the most significant bit of the output of ATT4, which is an address conversion table, is After “1” (N
op). 16g specifies a branch (Jump) to the address specified by 16h or a branch (Eop) to an address determined for each instruction code of the microinstruction. Note that when the branch condition is not satisfied, the immediately following microinstruction is executed. Further, when determining the contents of the register C13, if the same microinstruction specifies an update of the register C13, the value before the update is used. Furthermore, when the same instruction specifies an update of the logical address register LAR2, the address used for accessing the memory device uses the value before the update. Further, the output of the register 5P12 to the data bus 14 uses the value before the update when the same instruction specifies an update of the register 5P12. Furthermore, it is assumed that the determination of the most significant bit of the output of the address translation table ATT4 is valid only for the microinstruction immediately after accessing the memory device.

上記計算機において、PUSH2nなるマクロ命令を実
行するためのマイクロプログラムのフローチャートを第
9図に示している。なお、上記マクロ命令の読出し及び
命令コードのデコード処理を行う部分であり、上記マク
ロ命令PUSH2の処理を行うマイクロプログラム・ル
ーチン18へ分岐するとともに、レジスタDIOにマク
ロ命令PUSH2のオペランド「n」を格納する。マイ
クロプログラム・ルーチン18は各マイクロ命令により
構成された18a、18b、18c。
FIG. 9 shows a flowchart of a microprogram for executing the macro instruction PUSH2n in the above computer. This is the part that reads the macro instruction and decodes the instruction code, and branches to the microprogram routine 18 that processes the macro instruction PUSH2, and stores the operand "n" of the macro instruction PUSH2 in the register DIO. do. The microprogram routine 18 is composed of microinstructions 18a, 18b, and 18c.

18d、18e及び18fから成る。各18a。Consisting of 18d, 18e and 18f. 18a each.

18b、18cは前処理であり、各レジスタ013、D
IO及び論理アドレス・レジスタLAR2の初期設定を
行う。各18d、18eはループを構成し、1回の実行
により1つ「0」をスタックヘプツシュする。このルー
プの主たる処理は18dで行っているが、物理記憶の割
当ての有無を知るために18eが必要となっている。1
8fは1だけ増え過ぎているレジスタ5P12の値を修
正するための後処理を行う。19は物理記憶の割当て処
理を行う部分である。19aでは割当て処理がマイクロ
プログラムで処理可能か否かを判定しており、例えば未
使用の物理記憶が存在せず可能な場合は、19bにおい
て未使用の物理記憶を獲得し、アドレス変換テーブルで
あるATT4の該当するエントリに獲得した物理記憶の
アドレスを書込み、さらに、該エントリの最上位ビット
を「1」にセラ1−する。その後は18dへ復帰する。
18b and 18c are preprocessing, and each register 013 and D
Initializes the IO and logical address register LAR2. Each of 18d and 18e constitutes a loop, and each execution pushes one "0" onto the stack. The main processing of this loop is performed by 18d, but 18e is required to know whether physical storage is allocated or not. 1
8f performs post-processing to correct the value of register 5P12 which has increased by 1 too much. 19 is a part that performs physical storage allocation processing. In step 19a, it is determined whether the allocation process can be processed by a microprogram. For example, if it is possible because there is no unused physical memory, then in step 19b, the unused physical memory is acquired and an address conversion table is created. The acquired physical memory address is written in the corresponding entry of ATT4, and the most significant bit of the entry is set to "1". After that, it returns to 18d.

マイクロプログラムで処理不能の場合は、マクロ命令に
より構成された所定の処理ルーチンへ割出す処理を19
cで行う。その際、所定の処理ルーチンを実行後に、マ
クロ命令PUSH2の処理を中断した時点より継続して
行うために、各レジスタDIO,C13及び論理アドレ
ス・レジスタLAR2の保存や、継続すべきマイクロ命
令が18dであることを記憶しておく必要がある。
If the microprogram cannot process the process, 19
Perform with c. At that time, after executing the predetermined processing routine, in order to continue processing the macro instruction PUSH2 from the point where it was interrupted, each register DIO, C13 and the logical address register LAR2 are saved, and the micro instruction to be continued is 18d. It is necessary to remember that.

[発明が解決しようとする問題点] 上記のような従来のメモリ制御装置を用いて、物理記憶
の動的割当てを行う方法において、マクロ命令PUSH
2の処理については、3つの問題点が存在する。第1は
、第9図に示す18eで行う物理記憶の割当ての有無の
判定が、同図の18dで行う主たる処理の他の必要であ
るために、ル41、・第マクロ命令においても出現する
であろう物理前 記憶の割当て処理の共通化が困難であることである。こ
こで、強いて共通化を行うとすれば、各マクロ命令にお
ける処理継続点への復帰を行うために、レジスタ等の内
部状態の保存が必要となり、物理記憶の割当て処理の処
理時間が増大する。第3は、第9図に示す19cで行う
割出し処理において、マクロ命令の処理の中途に存在す
る処理継続点への復帰のために、本来マクロ命令の処理
中の生業レジスタである各レジスタDIO,C13及び
論理アドレス・レジスタLAR2の保存が必要なことで
あり、一般的な割出しや割込みを実現する機構の複雑化
や処理時間の増大を招くことになる。このような問題点
は、第9図に示す18dのように物理記憶の割当ての有
無が不明な論理空間へのアクセスを行う度に、必ず同図
の18eのような判定が必要であることが原因となって
いる。
[Problems to be Solved by the Invention] In a method for dynamically allocating physical storage using the conventional memory control device as described above, the macro instruction PUSH
Regarding process 2, there are three problems. The first reason is that the determination of the presence or absence of physical memory allocation performed in 18e shown in FIG. 9 is necessary in addition to the main processing performed in 18d of the same figure, so it also appears in the macro instruction 41. The problem is that it is difficult to standardize the physical pre-memory allocation process. If commonization is forced, it will be necessary to save the internal state of registers and the like in order to return to the processing continuation point for each macro instruction, which will increase the processing time for physical memory allocation processing. Third, in the indexing process performed at 19c shown in FIG. 9, in order to return to the processing continuation point that exists in the middle of macro instruction processing, each register DIO , C13 and the logical address register LAR2, which complicates the mechanism for realizing general indexing and interrupts and increases processing time. Such a problem is that whenever access is made to a logical space for which it is unknown whether or not physical storage has been allocated, as in 18d shown in FIG. 9, a determination like 18e in the figure is always required. It is the cause.

この発明は、かかる問題点を解決するためになされたも
ので、物理記憶の割当ての有無の判定頻度を軽減し、主
たる処理を高速に実行可能とすると共に、物理記憶の割
当て処理の共通化と簡素化を可能とするメモリ制御装置
を得ることを目的と記憶領域に対し、当該記憶領域に対
して正常に物理記憶が割当てられている通常論理領域の
他に、余分に物理記憶が割当てられている超過論理領域
を1寸加し、この超過論理領域に対するアクセスの結果
を保証すると同時に、超過論理領域に対するアクセスが
生じたことを記憶する機構を備えたものである。
This invention was made to solve these problems, and reduces the frequency of determining whether or not physical memory is to be allocated, making it possible to execute main processing at high speed, and making it possible to standardize the process of allocating physical memory. In order to obtain a memory control device that can be simplified, in addition to the normal logical area to which physical storage is normally allocated to the storage area, extra physical storage is allocated to the storage area. This system adds one dimension to the excess logical area, guarantees the result of access to this excess logical area, and at the same time includes a mechanism for storing the fact that an access to the excess logical area has occurred.

[作用] この発明のメモリ制御装置においては、物理記憶の動的
割当ては、超過論理領域へのアクセスを認知することに
より行われるが、超過論理領域内のアクセスが保証され
ていることと、超過論理領域へのアクセスが生じたこと
が記憶されるため、超過論理領域の大きさを超えないよ
うな量の連続した論理記憶空間の消費に関しては、超過
論理領域へのアクセスの判定を、すべてのアクセス終了
後にただ一度だけ行えば十分である。
[Operation] In the memory control device of the present invention, dynamic allocation of physical storage is performed by recognizing access to the excess logical area. Since it is remembered that an access to a logical area has occurred, the determination of an access to an excess logical area is It is sufficient to do this only once after the access has ended.

[実施例] 第1図はこの発明の一実施例であるメモリ制御装置を示
すブロック構成図、第2図は、第1図のメモリ制御装置
内のアドレス変換テーブルの1エントリを示す構成図で
ある。説明を簡単にするために、上記第7図に示す従来
のメモリ制御装置の例と同様の仮定を用いており、この
仮定は何ら本質的なものではなく、したがって、この発
明の適用例を限定するものでないことは云うまでもない
[Embodiment] FIG. 1 is a block diagram showing a memory control device according to an embodiment of the present invention, and FIG. 2 is a construction diagram showing one entry of an address translation table in the memory control device shown in FIG. be. In order to simplify the explanation, an assumption similar to the example of the conventional memory control device shown in FIG. Needless to say, this is not something that can be done.

また、上記第7図に示す従来のメモリ制御装置のものと
同一符号は同一構成要素であるので、その詳細な説明は
省略する。第1図に示す20は、第7図に示すATT4
と同様にアドレス変換テーブルのATTであるが、その
各エントリは第2図に示すように2つの部分から構成さ
れている。第2図に示す各フラグ20b、20cは、上
記第8図5η磯!ラグ4a、4bにそれぞれ相当し、そ
の意シ;及び池の構成要素との関係は第8図と同様であ
る。第2図に示す20aは超過論理領域であるか否かを
示す1ピツI・のフラグであり、その値が「0」であれ
ば通常論理領域であることを、rl。
Further, since the same reference numerals as in the conventional memory control device shown in FIG. 7 represent the same constituent elements, a detailed explanation thereof will be omitted. 20 shown in FIG. 1 is the ATT4 shown in FIG.
Similarly, the address translation table ATT is composed of two parts, each entry of which is composed of two parts as shown in FIG. The flags 20b and 20c shown in FIG. 2 correspond to the flags 20b and 20c shown in FIG. They correspond to the lugs 4a and 4b, respectively, and their meaning and relationship with the constituent elements of the pond are the same as in FIG. 20a shown in FIG. 2 is a 1-bit flag indicating whether or not the area is an excess logical area, and if the value is "0", it indicates that the area is a normal logical area.

であれば超過論理領域であることをそれぞれ示す。If so, it indicates that it is an excess logical area.

なお、このフラグ20aはフラグ20bが「1」である
時、すなわち物理記憶が割当てられている場合にのみ有
意である。また、フラグ20aは信号線21を介してフ
リップ・フロップ22への端子Sへ伝達される。フリッ
プ・フロップ22はSRフリップ・フロップ又はそれと
同様な機能を有するものであり、その各S及びR端子が
共に「0」であれば状態を保持し、S端子が「1」であ
れば状態を「1」に、R端子が「1」であれば状態を「
0」にそれぞれ変更する。フリップ・フロップ22のR
端子へは信号線23を介して演算処理装置(図示しない
)などからリセット信号が供給され、フリップ・フロッ
プ22の状態はQ端子より信号線24を介して演算処理
装置などへ伝達される。
Note that this flag 20a is significant only when the flag 20b is "1", that is, when physical storage is allocated. The flag 20a is also transmitted to the terminal S to the flip-flop 22 via the signal line 21. The flip-flop 22 is an SR flip-flop or has a similar function, and holds the state if both the S and R terminals are "0", and retains the state if the S terminal is "1". If the R terminal is “1”, the state is “1”.
0” respectively. Flip flop 22 R
A reset signal is supplied to the terminal from an arithmetic processing unit (not shown) or the like via a signal line 23, and the state of the flip-flop 22 is transmitted from the Q terminal to the arithmetic processing unit or the like via a signal line 24.

次に、この発明に係わるメモリ制御装置を用いて、物理
記憶の動的割当てを行う方法を、上記従来例と同様にス
タックを有するマイクロプログラム制御の計算機を例に
して説明する。本例において、スタックに対応する論理
記憶領域は第3図に示す構成になっている。すなわち、
第3図に示すスタック25の最左端がスタック・ボトム
に対応し、スタック25の伸長は左から右へ行われる。
Next, a method for dynamically allocating physical storage using the memory control device according to the present invention will be explained using a microprogram-controlled computer having a stack as in the conventional example described above. In this example, the logical storage area corresponding to the stack has the configuration shown in FIG. That is,
The leftmost end of the stack 25 shown in FIG. 3 corresponds to the stack bottom, and the stack 25 is expanded from left to right.

なお、アドレスは左から右へ増加するものとする。Note that the addresses increase from left to right.

スタック25のボトム側の領域25aは通常論理領域で
あり、スタック25の最上部を指示するレジスタ5P1
2は通常論理領域25a内のいずれかを指示している。
An area 25a on the bottom side of the stack 25 is a normal logical area, and a register 5P1 indicating the top of the stack 25
2 indicates somewhere within the normal logical area 25a.

超過論理領域25bは、スタック25の伸長方向にした
がって通常論理領域25aの直後に配置されている。こ
のような構成は、この発明に係わるメモリ制御装置にお
けるアドレス変換テーブルであるATT20、すなわち
第1図に示すATT20において連続したエントりをス
タック25の論理記憶領域に対応させ、そ、Q7尾の1
ないし複数エントリの最上位ビット、すなわち、第2図
に示すフラグ20aを「l」とすることにより実現でき
る。
The excess logical area 25b is placed immediately after the normal logical area 25a in the direction in which the stack 25 extends. Such a configuration makes consecutive entries in the address translation table ATT20 in the memory control device according to the present invention, that is, the ATT20 shown in FIG. 1, correspond to the logical storage area of the stack 25, and
This can be realized by setting the most significant bit of one or more entries, that is, the flag 20a shown in FIG. 2, to "l".

次に、本例の計算機における演算処理装置の一部及びマ
イクロ命令は、上記従来例と同様に第11図及び第5図
にそれぞれ示したらのである。ただし、第5図の16f
におけるAIIocateJ及びNot^11oeat
edは、従来例においては、第7図に示す信号線5の値
によるものであったが、本例においては、第1図の信号
線24が「O」であればA11ocated 、  ’
 I JであればNot AIIorateJとそれぞ
れ定める。なお、演算処理装置やマイクロ命令はこの発
明とは直接の関係はなく、本例によってこの発明の適用
が限定されるものではない。
Next, a part of the arithmetic processing unit and microinstructions in the computer of this example are shown in FIG. 11 and FIG. 5, respectively, as in the above-mentioned conventional example. However, 16f in Figure 5
AIIocateJ and Not^11oeat in
In the conventional example, ed was based on the value of the signal line 5 shown in FIG. 7, but in this example, if the signal line 24 in FIG. 1 is "O", A11ocated, '
If it is IJ, it is determined as Not AIIorateJ. Note that the arithmetic processing unit and microinstructions are not directly related to the present invention, and the application of the present invention is not limited by this example.

次に、前述のマクロ命令PUSH2を実行するためのマ
イクロプログラムのフローナヤ−1・を第6図に示して
いる。第6図の示す部分26は、上記第9図に示す部分
17と同様であるが、マクロ命令の命令コードによる分
岐の際、超過論理領域25bへのアクセスの有無を判定
し、アクセス事象を記憶していない時にのみ、命令コー
ドに対応したマイクロプログラム・ルーチン27へ分岐
する。このマイクロプログラム・ルーチン27はマクロ
命令PUSH2の処理を行うもので、第9図に示すマイ
クロプログラム・ルーチン18より18eが除去された
ものと同様である、すなわち、第6図に示す27a、2
7b、27c、27d及び27eは、第9図に示す18
a、18b、18C,18d及び18fと同様である。
Next, FIG. 6 shows a microprogram flow number 1 for executing the above-mentioned macro instruction PUSH2. The portion 26 shown in FIG. 6 is similar to the portion 17 shown in FIG. 9 above, but when branching due to the instruction code of a macro instruction, it determines whether or not the excess logical area 25b is accessed and stores the access event. Only when the instruction code is not executed, a branch is made to the microprogram routine 27 corresponding to the instruction code. This microprogram routine 27 processes the macro instruction PUSH2, and is similar to the microprogram routine 18 shown in FIG. 9 with 18e removed, that is, 27a and 27a shown in FIG.
7b, 27c, 27d and 27e are 18 shown in FIG.
Similar to a, 18b, 18C, 18d and 18f.

マクロ命令PtJSH2の処理途中で超過論理領域25
bへのアクセスが行われた場合に、処理終了後に次のマ
クロ命令を26においてデコードする時点で、超過論理
領域25bへのアクセスが発生したことが認知され、物
理記憶の割当て処理を行う部分28へ分岐する。なお、
この場合に、マクロ命令PUSH2におけるスタック2
5の伸長は1023ワード以下であり、超過論理領域2
5bは1024ワードないしその整数倍の容量があるの
で、マクロ命令PUSH2の処理結果は完全に保証され
る。
Excess logical area 25 occurred during processing of macro instruction PtJSH2.
When access is made to 25b, when the next macro instruction is decoded at 26 after processing is completed, it is recognized that an access has occurred to the excess logical area 25b, and the section 28 performs physical memory allocation processing. Branch to. In addition,
In this case, stack 2 in macro instruction PUSH2
The expansion of 5 is 1023 words or less, and the excess logical area 2
Since 5b has a capacity of 1024 words or an integral multiple thereof, the processing result of macro instruction PUSH2 is completely guaranteed.

第6図に示す28aの判定条件は、第9図に示す19a
と同様である。また、第6図に示す28bでは未使用の
物理記憶を1024ワード単位で1単位ないし複数単位
獲得する。この獲得した物理記憶領域をスタックに対応
する論理記憶領域に割当てる方法は2通りある。第1の
方法は、超過論理領域25bに対応するアドレス変換テ
ーブルであるATT20のエントリの最上位ビット、す
なわち、第2図のフラグ20aのみをr□」に変更し、
引続く1ないし複数エントリの各ビット11゜10及び
9〜0、すなわち、第2図に示す各フラグ20a、20
b及び20cを’IJ、’IJ。
The judgment conditions for 28a shown in FIG. 6 are as follows for 19a shown in FIG.
It is similar to Further, in 28b shown in FIG. 6, unused physical memory is acquired in units of 1024 words or in units of one or more units. There are two methods for allocating this acquired physical storage area to the logical storage area corresponding to the stack. The first method is to change only the most significant bit of the entry of the ATT20 which is the address translation table corresponding to the excess logical area 25b, that is, the flag 20a in FIG. 2, to "r□",
Each bit 11, 10 and 9 to 0 of one or more subsequent entries, that is, each flag 20a, 20 shown in FIG.
b and 20c 'IJ, 'IJ.

及び獲得した物理記憶のアドレスにそれぞれ変更する方
法である。第2の方法は、超過論理領域25bに対応し
ている物理記憶の内容を獲得した物理記憶へ複写し、超
過論理領域25bに対応するアドレス変換テーブルであ
るATT20のエントリの各ビット11及び9〜0、す
なわち、第2図に示す各フラグ20a及び20cを「0
」、及び獲得した物理記憶のアドレスに変更し、引続く
1ないし複数エントリの各ビット11.10及び9〜0
、すなわち、第2図に示す各フラグ20a。
and a method of changing the address to the acquired physical memory address. The second method is to copy the contents of the physical memory corresponding to the excess logical area 25b to the acquired physical memory, and bits 11 and 9 to 9 of the entry of the ATT20 which is the address translation table corresponding to the excess logical area 25b. 0, that is, each flag 20a and 20c shown in FIG.
”, and change to the acquired physical memory address, bits 11, 10 and 9 to 0 of the following one or more entries.
, that is, each flag 20a shown in FIG.

20b及び20cをrl」、rl4.及び超過論理領域
25bに対応していた物理記憶のアドレスにそれぞれ変
更する方法である。いずれの方法についても、この発明
において適用可能である。物理記憶の割当て終了後に、
第1図に示すクリップ・フロップ22をリセットし、再
び命令フェッチ及びデコードを実行する。第6図に示す
28cにおいては、マクロ命令PtJSH2の次に実行
しようとしていた命令のアドレスなど複数のマクロ命令
間を伝達する情報のみを保存し、所定の処理ルーチンへ
割出す、その際、第1図に示すフリップ・フロップ22
をリセットする。
20b and 20c as rl'', rl4. and the physical storage address corresponding to the excess logical area 25b. Any method is applicable to this invention. After allocating physical memory,
The clip-flop 22 shown in FIG. 1 is reset and instruction fetch and decoding are performed again. In 28c shown in FIG. 6, only the information to be transmitted between multiple macro instructions, such as the address of the instruction to be executed next to the macro instruction PtJSH2, is stored and indexed to a predetermined processing routine. Flip-flop 22 shown in the figure
Reset.

以上述べたように、本例においては上記従来例に比べて
、マクロ命令PtJSH2の処理ルーチン内のループが
単一のマイクロ命令で構成されるために処理時間が短縮
される。また、物理記憶の割当てがマクロ命令処理の実
行後に行われるため、処理ルーチンの共通1ヒが容易で
あり、割出し処理においても一般の割出しや割込みと同
様の情報のみ、ζ保存すれば良い。
As described above, in this example, compared to the conventional example, the loop in the processing routine of the macro instruction PtJSH2 is composed of a single microinstruction, so that the processing time is reduced. In addition, since physical memory allocation is performed after execution of macro instruction processing, common processing routines can be easily shared, and even in indexing processing, only the same information as general indexing and interrupts needs to be saved. .

なお、上記実施例においては、スタック25への複数ワ
ードのブツシュ3説明したが、単一ワードのブツシュに
おいても染件判定3除去できることにより、処理時間が
短縮される場合があることは明らかである。
In the above embodiment, the bush 3 of multiple words is added to the stack 25, but it is clear that the processing time can be shortened by removing the stain judgment 3 even in the bush of a single word. .

また、上記実施例においては、スタック25を例にして
説明したが、このスタック25と同様に連続的に順次に
論理記憶空間を消費するような記憶領域、例えばヒープ
などにも適用できることは明らかである。
Furthermore, although the above embodiment has been explained using the stack 25 as an example, it is obvious that it can also be applied to a storage area that consumes logical storage space in a continuous and sequential manner, such as a heap, in the same way as the stack 25. be.

また、上記実施例においては、1つのマクロ命令の実行
完了後に超過論理領域25bへのアクセスの有無を判定
しているが、何らかの理由により、その処理途中で当該
判定を行うマクロ命令の存在を否定するものではない、
さらに、マクロ命令なる概念が存在しないような計算機
においても、超過論理領域25bへのアクセスの有無の
判定を適宜に挿入することにより、この発明を適用でき
ることは云うまでもない。
Furthermore, in the above embodiment, the presence or absence of access to the excess logical area 25b is determined after the execution of one macro instruction is completed, but for some reason, the existence of a macro instruction that performs this determination during the processing is denied. It is not something to do,
Furthermore, it goes without saying that the present invention can be applied even to a computer that does not have the concept of a macro instruction by appropriately inserting a determination as to whether or not to access the excess logic area 25b.

[発明の効果〕 この発明は以上説明したように、メモリ制御装置におい
て、連続的に順次に論理記憶空間を消費するスタックよ
うの記憶領域に対し、超過論理領域を(4加し、この超
過論理領域内へのアクセスを保証すると共に、超過論理
領域内へのアクセスの有無を記憶するように構成したの
で、物理記憶の割当ての有無の判定頻度を軽減し、主た
る処理の処理時間を増大することなく、物理記憶の動的
な割当て処理を高速に、か′)容易に実現することがで
きろという浸れた効果を奏するものである。
[Effects of the Invention] As explained above, in a memory control device, the excess logical area is added to (4, Since the configuration is configured to guarantee access to the area and to remember whether or not there is an access to the excess logical area, it is possible to reduce the frequency of determining whether or not to allocate physical memory and increase the processing time of the main process. This has the profound effect of making it possible to quickly and easily implement dynamic physical memory allocation processing.

【図面の簡単な説明】[Brief explanation of drawings]

第1[21はこの発明の一実施例であるメモリ制御装置
を示すブロック構成図、第2図は、第1図のメモリ制御
装置内のアドレス変換テーブルの1エントリを示す構成
図、第3図は、第1図のメモリ制御装置におけるスタッ
クに対応する論理記憶領域を示す構成図、第4図は物理
記憶の動的割当て方式を実現する計算機の演算処理装置
の一部を示すブロック構成図、第5図は、第4図の計算
機におけるマイクロ命令の一部を示す構成図、第6図み
、第4図の計算機におけるスタック処理を行うマイクロ
プログラムを示すフローチャート、第7図は従来のメモ
リ制御装置を示すブロック構成図、第8図は、第7図の
メモリ制御装置内のアドレス変換テーブルの1エントリ
を示す構成図、第9図は、第7図に示す従来のメモリ制
御装置を備え、第4図及び第5図に示す演算処理装置及
びマイクロ命令を備えた計rt11におけるスタック処
理を行うマイクロプログラムを示すフローチャートで、
6る。 図において、l、3.5.6,8.9,11゜15a 
〜15d、21.23.24・−・信号線、2・・・論
理アト1/ス・レジスタ(LAR)、7・・・物理アド
レス・レジスタ、(PAR)、10・・・レジスタ(D
)、12・・・レジスタ(SP)、13・・レジスタC
C>、20・・・アドレス変換テーブル、(ATT)、
20a、20b、20cm・−フラグ、22・・・フリ
ップ・フロップ、25・・・スタック、25a・・・通
常論理領域、25b・・・超過論理領域、27・・・マ
イクロプログラム・ルーチンである。 なお、各図中、同一符号は同一、または相当分を示す。 出願人  工業技術院長  等々力  述部 第1図 1.3,5,6,8,9,21,23,24’ aう、
亀手続補正書(In釦 昭和6′2年j月73日
1 [21 is a block configuration diagram showing a memory control device which is an embodiment of the present invention, FIG. 2 is a configuration diagram showing one entry of the address translation table in the memory control device of FIG. 1, and FIG. 1 is a block diagram showing a logical storage area corresponding to the stack in the memory control device of FIG. 1, FIG. Figure 5 is a block diagram showing part of the microinstructions in the computer shown in Figure 4, Figure 6 is a flowchart showing a microprogram that performs stack processing in the computer shown in Figure 4, and Figure 7 is a conventional memory control system. FIG. 8 is a block diagram showing one entry of the address translation table in the memory control device shown in FIG. 7; FIG. 9 is a block diagram showing the conventional memory control device shown in FIG. 7; A flowchart showing a microprogram for performing stack processing in the rt11 equipped with the arithmetic processing unit and microinstructions shown in FIGS. 4 and 5.
6ru. In the figure, l, 3.5.6, 8.9, 11°15a
~15d, 21.23.24 -- Signal line, 2 -- Logical address register (LAR), 7 -- Physical address register, (PAR), 10 -- Register (D
), 12...Register (SP), 13...Register C
C>, 20...address translation table, (ATT),
20a, 20b, 20cm - flag, 22... flip-flop, 25... stack, 25a... normal logic area, 25b... excess logic area, 27... microprogram routine. In each figure, the same reference numerals indicate the same or equivalent parts. Applicant Todoroki Director, Agency of Industrial Science and Technology Predicate Figure 1 1.3, 5, 6, 8, 9, 21, 23, 24'a
Kame procedural amendment (In button, July 73, 1947)

Claims (1)

【特許請求の範囲】[Claims] 連続した論理記憶空間を順次に消費するようなスタック
ようの記憶領域を単数ないし複数有し、前記記憶領域に
対応する物理記憶を必要に応じて割当てる方式を有する
メモリ装置において、前記記憶領域の各々について、正
常に物理記憶が割当てられている記憶領域の通常論理領
域と、余分に物理記憶が割当てられている記憶領域の超
過論理領域とを有し、この超過論理領域を前記論理記憶
空間の消費方向にしたがって前記通常論理領域の直後に
配置し、この通常論理領域と前記超過論理領域へのアク
セスを判別し、この超過論理領域へのアクセスについて
は、当該事象を記憶することができる機構を備えている
ことを特徴とするメモリ制御装置。
In a memory device having one or more stack-like storage areas that sequentially consume continuous logical storage space, each of the storage areas has a method of allocating physical storage corresponding to the storage area as necessary. has a normal logical area of the storage area to which physical storage is normally allocated and an excess logical area of the storage area to which extra physical storage is allocated, and this excess logical area is used to consume the logical storage space. The storage device is arranged immediately after the normal logical area according to the direction, and has a mechanism capable of determining access to the normal logical area and the excess logical area, and storing the event regarding access to the excess logical area. A memory control device characterized by:
JP60279123A 1985-12-13 1985-12-13 Memory controller Granted JPS62139058A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60279123A JPS62139058A (en) 1985-12-13 1985-12-13 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60279123A JPS62139058A (en) 1985-12-13 1985-12-13 Memory controller

Publications (2)

Publication Number Publication Date
JPS62139058A true JPS62139058A (en) 1987-06-22
JPH0255813B2 JPH0255813B2 (en) 1990-11-28

Family

ID=17606748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60279123A Granted JPS62139058A (en) 1985-12-13 1985-12-13 Memory controller

Country Status (1)

Country Link
JP (1) JPS62139058A (en)

Also Published As

Publication number Publication date
JPH0255813B2 (en) 1990-11-28

Similar Documents

Publication Publication Date Title
US4839797A (en) Microprocessor compatible with any software represented by different types of instruction formats
KR960001273B1 (en) Single chip microcomputer
US5499380A (en) Data processor and read control circuit, write control circuit therefor
US4005391A (en) Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets
JPH0248931B2 (en)
US4057850A (en) Processing link control device for a data processing system processing data by executing a main routine and a sub-routine
US5125095A (en) System using microprocessor address lines for coprocessor selection within a multi-coprocessor apparatus
US5025368A (en) Microprocessor with option area adjacent CPU core facilitating interfacing with peripheral devices
JPH01119828A (en) Microprocessor
CA1150845A (en) Data processor controlled by microprograms
KR100314484B1 (en) Information processor
US5664156A (en) Microcontroller with a reconfigurable program status word
US6058467A (en) Standard cell, 4-cycle, 8-bit microcontroller
CA1119307A (en) Microcomputer having separate bit and word accumulators and separate bit and word instruction sets
JPS62139058A (en) Memory controller
JPH09505428A (en) Microcontroller with page address mode
JPS6362778B2 (en)
JPH01205339A (en) Microcomputer system
JPS60134940A (en) Register selecting system of information processing device
JPH01207825A (en) Microprocessor
JPS62245350A (en) Page switching control system
JPH0516610B2 (en)
JPS62151955A (en) Memory addressing system
JPS61195438A (en) Information processor
JPH05334074A (en) Microprocessor

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term