JPH03218543A - Processor - Google Patents
ProcessorInfo
- Publication number
- JPH03218543A JPH03218543A JP2014062A JP1406290A JPH03218543A JP H03218543 A JPH03218543 A JP H03218543A JP 2014062 A JP2014062 A JP 2014062A JP 1406290 A JP1406290 A JP 1406290A JP H03218543 A JPH03218543 A JP H03218543A
- Authority
- JP
- Japan
- Prior art keywords
- address
- virtual
- processor
- space
- storage space
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 25
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
八 産業上の利用分野
本発明は、マイクロコードを格納する書き換え可能な記
憶手段を内部に有するマイクロプログラム制御方式のプ
ロセッサに関する.
B 発明の概要
本発明は、マイクロコードを格納する書き換え可能な記
憶手段を内部に有するマイクロプログラム制御方式のプ
ロセッサにおいて、仮想記憶空間の設定手段と、該設定
手段によって指定された仮想記憶空間のアドレス情報と
上記記憶手段を含む実記憶空間のアドレスとの対応関係
を示す変換テーブル手段とを設け、上記仮想記憶空間の
所定アドレスを指定してデータを読み出すとともに上記
変換テーブル手段の内容を変更可能とすることにより、
例えば、実行可能なプログラムのサイズが実記憶空間の
サイズに拘束されることなく、大規模なプログラムや複
数のプログラムを直接実行可能にしたものである.
C
従来の技術
一般に、マイクロプログラム制御方式のプロセッサにお
いては、第6図に示すように、マイクロコードを格納す
る制御メモリ(11)をプロセッサ(10)の内部に持
ち、該プロセッサ(lO)は外部メモリ(l2)上にあ
るユーザプログラムを上記制御メモリ(11)に格納さ
れているマイクロコードに従って解釈して実行する.
従来、プロセッサに内蔵される制御メモリは、通常読み
出し専用であることが多く、予めプログラムされたマイ
クロコードが書き込まれたものがプロセッサ内に組み込
まれる。DETAILED DESCRIPTION OF THE INVENTION 8. Field of Industrial Application The present invention relates to a microprogram-controlled processor having an internal rewritable storage means for storing microcode. B. Summary of the Invention The present invention provides a microprogram-controlled processor having an internal rewritable storage means for storing microcode, which includes a virtual storage space setting means and an address of the virtual storage space specified by the setting means. Conversion table means indicating a correspondence relationship between information and addresses of a real storage space including the storage means is provided, and the data can be read out by specifying a predetermined address of the virtual storage space, and the contents of the conversion table means can be changed. By doing so,
For example, the size of an executable program is not restricted by the size of real storage space, making it possible to directly execute large programs or multiple programs. C. PRIOR TECHNOLOGY In general, a microprogram control type processor has a control memory (11) for storing microcode inside the processor (10), as shown in FIG. The user program on the memory (l2) is interpreted and executed according to the microcode stored in the control memory (11). Conventionally, a control memory built into a processor is usually read-only, and a control memory in which preprogrammed microcode is written is built into the processor.
また、ユーザプログラムの高速実行を目的として、プロ
セッサに内蔵される制御メモリを外部から書き込み読み
出し可能とし、ユーザプログラムを直接制御メモリ上に
載せて実行する方法も知られている.
D 発明が解決しようとする課題
ところで、マイクロプログラム制御方式のプロセッサで
は、外部から書き込み読み出し可能な制御メモリを内蔵
する構成とすることによって、ユーザプログラムを高速
で実行することができるようになるのであるが、上記制
御メモリの記憶容量を大きくとることができないために
、大規模なプログラムを直接実行することはできない.
従って、大規模なプログラムを実行する場合や、複数プ
ログラムを時分割して実行するときなどは、外部とプロ
グラムの入れ替えを行う必要があり、この入れ替え作業
のために実行効率が著しく低下してしまうという問題点
がある.
そこで、本発明は、上述の如き従来の問題点に鑑み、マ
イクロプログラム制御方式のプロセッサにおいて、ユー
ザプログラムの高速実行を可能にするとともに、実行効
率の向上を図ることを目的とする.
E i!JNを解決するための手段
本発明は、上述の目的を達成するために、マイクロコー
ドを格納する書き換え可能な記憶手段を内部に有するマ
イクロプログラム制御方式のプロセッサであって、仮想
記憶空間の設定手段と、該設定手段によって指定された
仮想記憶空間のアドレス情報と上記記憶手段を含む実記
憶空間のアドレスの対応関係を示す変換テーブル手段と
を有し、上記仮想記憶空間の所定アドレスを指定してデ
ータを読み出すとともに上記変換テーブル手段の内容を
変更可能としたことを特徴とするものである.F 作用
本発明に係るプロセッサでは、マイクロコードを格納す
る書き換え可能な記憶手段を含む実記憶空間のアドレス
と設定手段によって指定される仮想記憶空間のアドレス
情報との対応関係を変換テーブル手段により示すことに
よって、上記マイクロコードを格納する書き換え可能な
記憶手段を含む実記憶空間を仮想化し、この仮想的なア
ドレス空間に配置されるマイクロコードによるプログラ
ムを実行する.
G
実施例
以下、本発明に係るプロセッサの一実施例について、図
面に従い詳細に説明する.
本発明に係るプロセッサは、第1図に示すように、マイ
クロコードを格納する書き換え可能な制御メモリ(1)
を内部に有するマイクロプログラム制御方式のプロセッ
サであって、プログラムカウンタ(2)が生成する仮想
アドレス情報から、ペースレジスタ(3)やページテー
ブル(4)、加算器(5),(6)等によって、上記制
御メモリ(1)のアドレスすなわち物理アドレスが後述
するように生成される。In addition, for the purpose of high-speed execution of user programs, a method is known in which a control memory built into a processor can be written to and read from the outside, and the user program is loaded directly onto the control memory and executed. D. Problems to be Solved by the Invention By the way, a microprogram control type processor can execute user programs at high speed by having a built-in control memory that can be written to and read from the outside. However, because the storage capacity of the control memory described above cannot be increased, large-scale programs cannot be directly executed.
Therefore, when executing a large-scale program or when executing multiple programs in a time-sharing manner, it is necessary to replace the program with an external device, and this replacement work significantly reduces execution efficiency. There is a problem. SUMMARY OF THE INVENTION In view of the above-mentioned conventional problems, it is an object of the present invention to enable high-speed execution of user programs in a microprogram-controlled processor and to improve execution efficiency. E i! Means for Solving JN In order to achieve the above-mentioned object, the present invention provides a microprogram-controlled processor having an internal rewritable storage means for storing microcode, and a virtual storage space setting means. and conversion table means indicating a correspondence relationship between address information of the virtual storage space specified by the setting means and addresses of a real storage space including the storage means, and a conversion table means for specifying a predetermined address of the virtual storage space. This device is characterized in that it is possible to read data and change the contents of the conversion table means. F. Effect In the processor according to the present invention, the correspondence relationship between the address of the real storage space including the rewritable storage means for storing the microcode and the address information of the virtual storage space specified by the setting means is indicated by the conversion table means. By this, a real storage space including a rewritable storage means for storing the above-mentioned microcode is virtualized, and a program based on the microcode placed in this virtual address space is executed. G. Embodiment Hereinafter, an embodiment of the processor according to the present invention will be described in detail with reference to the drawings. As shown in FIG. 1, the processor according to the present invention includes a rewritable control memory (1) storing microcode.
It is a microprogram-controlled processor that has an internal microprogram control system, and uses virtual address information generated by a program counter (2), a pace register (3), a page table (4), adders (5), (6), etc. , the address of the control memory (1), that is, the physical address, is generated as described later.
この実施例では、あるまとまった処理を行うためのコー
ドの集まりをコードブロックと呼び、このコードブロッ
ク単位に1つの仮想アドレス空間を割り当てる.各コー
ドブロックは、第2図に示すように、ゼロ番地を共有し
、且つ、それぞれ十分大きな仮想アドレス空間が与えら
れる.上記プログラムカウンタ(2)は、上記制御メモ
リ(1》に格納されているマイクロコードを参照するた
めに、17ビットの仮想アドレス情報を生成する.この
プログラムカウンタ(2)が生成する仮想アドレス情報
は、第3図に示すように、仮想アドレス空間を256ワ
ードのページ単位に分割した仮想ページ番号(VPN)
に上位9ビット〔16〜8]が割り当てられ、当該ペー
ジ内のワードオフセットに下位8ビットが割り当てられ
ている.なお、上記仮想アドレス空間は、第4図に示す
ように、MSB側2ビット(16. 15)がr1,I
Jのアドレス空間をシステム空間として用い、それ以外
のアドレス空間をユーザ空間として用いる.また、上記
ヘースレジスタ(3)は、現在使われているユーザ空間
のページテーブルエントリの物理基底アドレス(PBA
)を設定するためのレジスタであって、現在実行中のコ
ードのブロックに対するページテーブルエントリのオフ
セット値(BR)が入れられる.
そして、上記ページテーブル(4) は、仮想アドレス
から物理アドレスに変換するアドレス変換のための変換
テーブルであって、ページテーブルエントリとして上記
制御メモリ(1)の物理ページ番号(PPN)が入れら
れる。このページテーブルエントリは、ユーザ空間のア
ドレス変換にのみ使用される.なお、上記物理ページ番
号(PPN)は、物理アドレス空間のページ番号であり
0がら511の値をとる。In this embodiment, a collection of codes for performing a certain set of processing is called a code block, and one virtual address space is allocated to each code block. As shown in Figure 2, each code block shares the zero address and is given a sufficiently large virtual address space. The program counter (2) generates 17-bit virtual address information in order to refer to the microcode stored in the control memory (1).The virtual address information generated by the program counter (2) is , as shown in Figure 3, the virtual page number (VPN) is the virtual address space divided into 256-word page units.
The upper 9 bits [16 to 8] are assigned to the page, and the lower 8 bits are assigned to the word offset within the page. In addition, in the above virtual address space, as shown in FIG. 4, the MSB side 2 bits (16.15) are r1, I
The address space of J is used as system space, and the other address spaces are used as user space. The above-mentioned HAS register (3) also contains the physical base address (PBA) of the page table entry in the user space currently being used.
), and contains the offset value (BR) of the page table entry for the block of code currently being executed. The page table (4) is a conversion table for address conversion from a virtual address to a physical address, and the physical page number (PPN) of the control memory (1) is entered as a page table entry. This page table entry is used only for user space address translation. Note that the physical page number (PPN) is a page number of the physical address space and takes a value from 0 to 511.
この実施例では、第5図に示すように、上記ページテー
ブル(4) のアドレスは、上記プログラムカウンタ(
2)が生成する仮想アドレス情報のMSB側9ビットで
与えられる仮想ページ番号〔vPN〕に上記ペースレジ
スタ(3)により与えられるページテープルエントリの
オフセット値(BR)を加算器(5)により加算した値
(BR+VPN)で示される.そして、上記加算器(5
)による加算出力として得られる上記アドレス値(BR
+VPN)で指定される上記ページテーブル(4)の記
憶場所に格納されているページテーブルエントリすなわ
ち上記制御メモリ(1)の物理ページ番号〔PPN)を
読み出して、この物理ページ番号(PPN)に上記プロ
グラムカウンタ(2) が生成する仮想アドレス情報の
LSB側の8ビットで示されるワードオフセットを加算
器(6)により付加することによって物理アドレスを形
成する.
なお、上記物理ページ番号(PPN)がゼロのページテ
ーブルエントリは、該当する仮想アドレス空間が物理ペ
ージにマッピングされていないことを意味し、そのエリ
アをアクセスしようとした場合にページフォールトが生
じ、外部のバックアップメモリ(8)から上記制御メモ
リ(1)に必要なコードブロックがロードされる.また
、上記制御メモリ(1)やページテーブル(4)は、と
もに外部からデータの書き換えが可能なメモリであり、
プロセッサは割り込み等を使用してその動作状態を外部
に知らせる.
この実施例のプロセッサは、以上の処理によって上記制
御メモリ(1)のアドレス空間が仮想化され、所望のユ
ーザプログラムを記述したマイクロコードを仮想記憶し
て実行する.このプロセッサでは、プロセッサ側から見
たアドレス空間が仮想的に拡張されるので、従来のマイ
クロプログラム制御方式のプロセッサでは実行するのが
困難であったサイズの大きなプログラムを容易に実行す
ることができる.また、上記制御メモリ(1)のアドレ
ス空間を仮想化することによって、物理アドレスに制約
されることなくプログラムを任意に配置することができ
る.従って、複数のプログラムを時分割で実行するよう
な場合に、これらのプログラムを仮想記憶しておくこと
によって、外部をアクセスすることなくプログラムの切
り換えを行うことができるようになり、実行効率が向上
する.なお、内容、大きさ、及び数が動的に変化するよ
うなコード部全体に対して1つの仮想空間を与えるよう
にした場合には、ある時刻において連続していた仮想ア
ドレス空間がΔL時間後に不連続になることにより仮想
アドレス空間の管理が複雑になり、また、その仮想アド
レス空間を管理するためのページテーブルが大きくなっ
て、仮想アドレス空間の利用効率の悪くなってしまうが
、この実施例のように、コードブロック単位に仮想アド
レス空間を割り当てるようにすることによって、上述の
ような問題点を回避することがきる.H 発明の効果
上述のように、本発明に係るプロセッサでは、制御メモ
リのアドレス空間を仮想化することにより、プロセッサ
側から見たアドレス空間が仮想的に拡張されるので、従
来のマイクロプログラム制御方式のプロセッサでは実行
するのが困難であったサイズの大きなプログラムを容易
に実行することが可能となる。In this embodiment, as shown in FIG. 5, the address of the page table (4) is the address of the program counter (
The offset value (BR) of the page table entry given by the pace register (3) is added by the adder (5) to the virtual page number [vPN] given by the MSB side 9 bits of the virtual address information generated by 2). It is indicated by the value (BR+VPN). Then, the adder (5
) The above address value (BR
The page table entry stored in the storage location of the page table (4) specified by +VPN), that is, the physical page number [PPN] of the control memory (1), is read, and the above is set to this physical page number (PPN). A physical address is formed by adding a word offset indicated by the LSB side 8 bits of the virtual address information generated by the program counter (2) using an adder (6). Note that a page table entry with a physical page number (PPN) of zero means that the corresponding virtual address space is not mapped to a physical page, and if an attempt is made to access that area, a page fault will occur and the external The necessary code blocks are loaded from the backup memory (8) to the control memory (1). Further, the control memory (1) and the page table (4) are both memories whose data can be rewritten from the outside.
Processors use interrupts, etc. to notify external parties of their operating status. In the processor of this embodiment, the address space of the control memory (1) is virtualized through the above processing, and the microcode in which the desired user program is written is virtually stored and executed. In this processor, the address space seen from the processor side is virtually expanded, making it possible to easily execute large programs that were difficult to execute with conventional microprogram-controlled processors. Furthermore, by virtualizing the address space of the control memory (1), programs can be arbitrarily located without being restricted by physical addresses. Therefore, when multiple programs are executed in a time-sharing manner, by storing these programs in virtual memory, programs can be switched without external access, improving execution efficiency. do. Note that if one virtual space is given to the entire code section whose content, size, and number change dynamically, the virtual address space that was continuous at a certain time will be changed after ΔL time. This discontinuity complicates the management of the virtual address space, and the page table for managing the virtual address space becomes large, resulting in poor utilization efficiency of the virtual address space. The above-mentioned problems can be avoided by allocating virtual address space in units of code blocks, as in H. Effects of the Invention As described above, in the processor according to the present invention, by virtualizing the address space of the control memory, the address space seen from the processor side is virtually expanded, so that the conventional microprogram control method cannot be used. This makes it possible to easily execute large programs that would be difficult to execute on other processors.
また、プログラムは仮想的なアドレス空間に配置される
ことになるので、そのアロケーションに自由度ができる
.従って、物理的なアドレスに制約されることなしに、
各種プログラムを時分割で実行されている環境において
、プログラムの切り換えが可能となる.これにより、外
部とのアクセスを減少させて実行効率を向上させること
ができる。Also, since the program is placed in a virtual address space, there is a degree of freedom in its allocation. Therefore, without being constrained by physical addresses,
In an environment where various programs are executed in a time-sharing manner, it is possible to switch between programs. This makes it possible to reduce external access and improve execution efficiency.
第1図は本発明に係るプロセッサの要部構成を示すブロ
ック図、第2図は上記プロセッサにおける仮想アドレス
空間の内容を示す図、第3図は上記プロセッサにおける
プログラムカウンタが生成する仮想アドレス情報の内容
を示す図、第4図は七舘上記プロセッサにおける仮想ア
ドレス空間と物理アドレス空間との対応を示す図、第5
図は上記プロセッサにおける仮想アドレスと物理アドレ
スとのアドレス変換処理の説明に供する図である.第6
図は従来のプロセッサの原理的な構成を示すブロック図
である.
(1)・・・・・・・・・・制御メモリ(2)・・・・
・・・・・・プログラムカウンタ(3)・・・・・・・
・・・ペースレジスタ(4)・・・・・・・・・・ペー
ジテーブル(5) , (6)・・・・・・加算器特
許 出 願 人 ソニー株式会社FIG. 1 is a block diagram showing the main part configuration of a processor according to the present invention, FIG. 2 is a diagram showing the contents of the virtual address space in the processor, and FIG. 3 is a diagram showing virtual address information generated by the program counter in the processor. Figure 4 is a diagram showing the contents, and Figure 4 is a diagram showing the correspondence between the virtual address space and physical address space in the above processor.
The figure is a diagram used to explain the address conversion process between virtual addresses and physical addresses in the above processor. 6th
The figure is a block diagram showing the basic configuration of a conventional processor. (1)......Control memory (2)...
・・・・・・Program counter (3)・・・・・・
...Pace register (4)...Page table (5), (6)...Adder special
Applicant: Sony Corporation
Claims (1)
部に有するマイクロプログラム制御方式のプロセッサで
あって、 仮想記憶空間の設定手段と、 該設定手段によって指定された仮想記憶空間のアドレス
情報と上記記憶手段を含む実記憶空間のアドレスとの対
応関係を示す変換テーブル手段とを有し、 上記仮想記憶空間の所定アドレスを指定してデータを読
み出すとともに上記変換テーブル手段の内容を変更可能
としたことを特徴とするプロセッサ。[Scope of Claims] A microprogram-controlled processor having an internal rewritable storage means for storing microcode, comprising a virtual memory space setting means and an address of the virtual memory space specified by the setting means. It has a conversion table means that shows the correspondence between information and addresses of a real storage space including the storage means, and it is possible to read data by specifying a predetermined address in the virtual storage space and change the contents of the conversion table means. A processor characterized by:
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014062A JPH03218543A (en) | 1990-01-24 | 1990-01-24 | Processor |
EP91100838A EP0442297B1 (en) | 1990-01-24 | 1991-01-23 | Processor with an overwriteable microcode memory |
DE69132215T DE69132215T2 (en) | 1990-01-24 | 1991-01-23 | Processor with rewritable microcode memory |
KR1019910001166A KR100220496B1 (en) | 1990-01-24 | 1991-01-24 | Processor and information processing apparatus |
US08/202,696 US5511206A (en) | 1990-01-14 | 1994-02-25 | Microprocessor based computer with virtual memory space in overwritable memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014062A JPH03218543A (en) | 1990-01-24 | 1990-01-24 | Processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03218543A true JPH03218543A (en) | 1991-09-26 |
Family
ID=11850604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014062A Pending JPH03218543A (en) | 1990-01-14 | 1990-01-24 | Processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03218543A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101107408B1 (en) * | 2008-12-11 | 2012-01-19 | 인터내셔널 비지네스 머신즈 코포레이션 | Use of Peripheral Component Interconnect Input / Output Virtualization Devices to Create Redundant Configurations |
-
1990
- 1990-01-24 JP JP2014062A patent/JPH03218543A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101107408B1 (en) * | 2008-12-11 | 2012-01-19 | 인터내셔널 비지네스 머신즈 코포레이션 | Use of Peripheral Component Interconnect Input / Output Virtualization Devices to Create Redundant Configurations |
US8346997B2 (en) | 2008-12-11 | 2013-01-01 | International Business Machines Corporation | Use of peripheral component interconnect input/output virtualization devices to create redundant configurations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113168379B (en) | Fast access to virtual machine memory backed by the host computer's virtual memory | |
KR101174583B1 (en) | Dynamic address translation with translation exception qualifier | |
JP2678183B2 (en) | Digital processor controller and method for runtime memory allocation | |
US4814975A (en) | Virtual machine system and method for controlling machines of different architectures | |
JPH0552540B2 (en) | ||
EP0729609A1 (en) | A microcontroller system for performing operations of multiple microcontrollers | |
JPS62165250A (en) | Virtual memory | |
JPS6013501B2 (en) | Channel address control method in virtual computer system | |
JPH0816479A (en) | Memory-address space management | |
JPS604493B2 (en) | Microprogrammed data processing system | |
JP4233492B2 (en) | Address translation device | |
JPS61156445A (en) | TLB purge control method | |
CA2026236C (en) | Method and apparatus for current window cache | |
JPH03218543A (en) | Processor | |
KR100220496B1 (en) | Processor and information processing apparatus | |
JPS63254544A (en) | Control system for address conversion | |
JPS6339933B2 (en) | ||
JP3456727B2 (en) | Data processing device | |
JPH02230324A (en) | Microprogram controller | |
JP2001075824A (en) | Recording medium recording access method and access processing program | |
HK40050309A (en) | Faster access of virtual machine memory backed by a host computing device’s virtual memory | |
JPS5831619B2 (en) | Address extension processing method | |
JPH0241772B2 (en) | ||
JPS61839A (en) | Microprogram controller | |
JPH0216654A (en) | Method for controlling cache memory |