JPS62285152A - Data processor - Google Patents

Data processor

Info

Publication number
JPS62285152A
JPS62285152A JP12790586A JP12790586A JPS62285152A JP S62285152 A JPS62285152 A JP S62285152A JP 12790586 A JP12790586 A JP 12790586A JP 12790586 A JP12790586 A JP 12790586A JP S62285152 A JPS62285152 A JP S62285152A
Authority
JP
Japan
Prior art keywords
memory
data
instruction
instructions
area
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
Application number
JP12790586A
Other languages
Japanese (ja)
Inventor
Atsushi Kiuchi
淳 木内
Kenji Kaneko
金子 憲二
Tetsuya Nakagawa
哲也 中川
Yoshimune Hagiwara
萩原 吉宗
Terumi Sawase
沢瀬 照美
Hideo Nakamura
英夫 中村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP12790586A priority Critical patent/JPS62285152A/en
Publication of JPS62285152A publication Critical patent/JPS62285152A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To minimize the unused area of a built-in memory by dividing the area of said memory into plural pages and providing a function to each page to designate the application for instruction or data. CONSTITUTION:A group of instructions to be executed are stored in an external memory 603. The output 604 of a program counter 602 is outputted to the outside and an instruction is fetched by an internal instruction bus 106 from the memory 603. When this instruction designates an instruction or data of a memory area, the instruction code on the bus 106 is decoded by a decoder 601 and the outputs are sent to the control outputs 109a-109e of a control circuit 108a. Thus the pages of a memory 104 can be optionally designated for instructions or data. Therefore, the memory areas can be properly distributed for application even though the buses of both instruction and data systems are set independently of each other and the memory areas to store instructions are separated from those to store data.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は命令系とデータ系のバスを各々専用に持つデー
タ処理装置に係り、特に内蔵メモリの効率的な利用をは
かるのに好適な回路方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a data processing device having dedicated instruction and data buses, and particularly to a circuit suitable for efficient use of built-in memory. Regarding the method.

〔従来の技術〕[Conventional technology]

従来、処理の高速化、並列化を目的としたマイクロプロ
セッサでは命令用とデータ用に各々別々の内少バスを持
たせたものが知られている。このようなマイクロプロセ
ッサの基本的な構成例を第5図に示す。図中、501は
データ・アドレスポインタ、502はデータ格納用メモ
リ、503はプログラムカウンタ、504は命令格納用
メモリ。
Conventionally, microprocessors aimed at speeding up and parallelizing processing have been known to have separate buses for instructions and data. An example of the basic configuration of such a microprocessor is shown in FIG. In the figure, 501 is a data address pointer, 502 is a data storage memory, 503 is a program counter, and 504 is an instruction storage memory.

505は命令デコーダ、506は乗算器等の特殊演算器
、507は算術論理演算器、508はデータ・アドレス
バス、5o9は命令アドレスバス。
505 is an instruction decoder, 506 is a special operation unit such as a multiplier, 507 is an arithmetic and logic operation unit, 508 is a data address bus, and 5o9 is an instruction address bus.

510はデータバス、511は命令バス、512はアキ
ミュレータ・レジスタ、513は外部との入出力回路、
514は外部を示している。
510 is a data bus, 511 is an instruction bus, 512 is an accumulator register, 513 is an external input/output circuit,
514 indicates the outside.

第5図に示されているように、データ用と命令用のバス
が別個に存在するマイクロプロセッサでは、データのア
クセスと命令アクセスを同時に行って並列化し、高速処
理を実現するため、データ格納用のメモリエリアと、命
令格納用メモリエリアが分割されている。第5図はメモ
リエリアをマイクロプロセッサ内少に持たせた形で示さ
れているが、外部メモリを使用する場合も同様に構成さ
れる。処理速度向上の面からはアクセスタイムの短かい
、内蔵メモリを持つ方が有利であるが、その容量はチッ
プの寸法との兼ね合いから、制限を受ける。このため内
蔵メモリを持つ場合は、その集積回路チップが適用され
るシステムを想定し、命令用メモリエリアとデータ用メ
モリエリアの容量比率を決定している。しかしシステム
にとって適切な容量比率はそれほど明確というわけでも
なく、使用者側の要求も単一ではない。その結果として
、一方のメモリ容量は充分な余裕があるが、他方の容量
が足りないためにその半導体集積回路チップの操用を断
念しなければならないことも生じてくる。
As shown in Figure 5, in a microprocessor that has separate buses for data and instructions, data access and instruction access are performed simultaneously and parallelized to achieve high-speed processing. The memory area and the memory area for storing instructions are divided. Although FIG. 5 shows the memory area within the microprocessor, the configuration is similar when an external memory is used. From the perspective of improving processing speed, it is advantageous to have a built-in memory with short access time, but its capacity is limited by the size of the chip. Therefore, when a built-in memory is provided, the capacity ratio of the instruction memory area and data memory area is determined based on the system to which the integrated circuit chip is applied. However, the appropriate capacity ratio for a system is not so clear-cut, nor are the requirements of users uniform. As a result, there may be cases where one memory capacity is sufficient, but the other memory capacity is insufficient and the use of that semiconductor integrated circuit chip must be abandoned.

このような事態をさけるため、従来では内蔵メモリの他
の外部メモリによってその容量を拡張できる機能をもつ
ものがあるが、外付のメモリは内蔵メモリに比べてアク
セスタイムが低下し、ハードウェアの部品点数も増大す
ることが避けられなm また、1985年の「アイ・イー・イー・イー・インタ
ーナショナル・ソリッドステート・サーキツツ・コンフ
エレンス、ダイジェスト・オブ・テクニカル・ペーパー
ズの第90頁から91頁(1985IEEE Inte
rnational 5olid−5tate C1r
cuitsConference、 DIGH5T O
F TIECHNICAL PAPER5p 90〜9
1)」において論じられているように、内蔵している2
つのメモリエリアのうち、1つはデータ専用としてもう
1つは命令によりデータ用命令用かを指定するような機
構を持つ半導体集積回路チップが存在するが、この場合
も後者のメモリを命令用として指定すれば、命令用、デ
ータ用それぞれの専用メモリを固定的に持つものと実質
的に同じものとなり、またデータ用として指定すれば、
命令用メモリは全て外部メモリに依存することになるた
め動作速度向上という点からは欠点を有していた。
To avoid this situation, some conventional devices have a function that allows the capacity of the built-in memory to be expanded by using other external memory, but external memory has slower access times than built-in memory and requires less hardware. An increase in the number of parts is also inevitable. 1985IEEE Inte
rnational 5olid-5tate C1r
cuitsConference, DIGH5T O
F TIECHNICAL PAPER5p 90~9
1), the built-in 2
There are semiconductor integrated circuit chips that have a mechanism in which one of the two memory areas is designated for data use and the other for data or instructions based on an instruction, but in this case as well, the latter memory is used for instructions. If specified, it is essentially the same as having fixed dedicated memory for instructions and data, and if specified for data,
Since the instruction memory is entirely dependent on external memory, it has a drawback in terms of improving operating speed.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述の如く、従来技術では、データエリアは増加できる
が、命令エリアの増加については配慮されておらず、ま
たデータエリアを増加させる指定を行うと、命令の格納
は全て外部に依存する形となる。これは内蔵メモリの命
令エリアとデータエリアを適切に配分すれば外部メモリ
に頼らずに全て内少に格納できるような応用システムに
対しても、命令用、データ用の一方に充分な余裕を残し
ながら、動作速度の低下をまねく外部メモリを使わなけ
ればならないという間層があった。
As mentioned above, in the conventional technology, the data area can be increased, but the increase in the instruction area is not considered, and when the data area is specified to be increased, the storage of instructions is completely dependent on the outside. . This leaves enough room for instructions and data, even for application systems that can store everything internally without relying on external memory by appropriately allocating the instruction and data areas of the built-in memory. However, there was a problem in that it required the use of external memory, which slowed down the operation speed.

本発明の目的は、従来の方法によって生じる内蔵メモリ
の未使用エリアをできるだけ少なくおさえ、効率的な利
用をはかれる方式を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a system that can minimize the unused area of built-in memory produced by conventional methods and utilize it efficiently.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は、内蔵メモリのエリアを複数のページに分割し
、各々に命令用かデータ用かを指定できる機能を持たせ
、前記目的を達成したものである。
The present invention achieves the above object by dividing the built-in memory area into a plurality of pages and providing each page with a function of specifying whether it is for instructions or data.

〔作用〕[Effect]

内蔵メモリのエリアを、その半導体集堵回路における適
切なページ数に分割する。この結果、未使用となるメモ
リエリアは多くとも1ペ一ジ分の容量より小さくなるた
め1分割ページ数が多いほど、未使用エリアは少なくお
さえることができる。
Divide the built-in memory area into an appropriate number of pages for the semiconductor integrated circuit. As a result, the unused memory area becomes smaller than the capacity of one page at most, so the larger the number of pages divided into one, the less the unused area can be kept.

また、各ページに命令用かデータ用かの指定機能を持た
せることにより、ページ単位の大きな未使用エリアが生
じるのを防ぐことができる。
Further, by providing each page with a function of specifying whether it is for instructions or data, it is possible to prevent a large unused area from occurring in page units.

その結果として命令、データのtUkが、内蔵メモリの
容量の範囲内にあれば、適切な命令用、データ用の指定
配分により゛、その全てを内少に格納することが可能と
なる。また、どちらか一方だけでも全て内少に取り込ん
でおきたいときも、内蔵メモリ全体の容量内であれば柔
軟に対応することができる。
As a result, if the tUk of instructions and data is within the capacity of the built-in memory, it becomes possible to store all of them in a small amount by appropriate designated allocation for instructions and data. Furthermore, even if you want to capture just one or the other, you can do so flexibly as long as it is within the capacity of the entire built-in memory.

〔実施例〕〔Example〕

以下、本発明の一実施例を第1図により説明する。 An embodiment of the present invention will be described below with reference to FIG.

図中101は命令用のアドレスバス、102はデータ用
のアドレスバス、103は指定によって入力101,1
02のいずれかを選択するセレクタ、104はnページ
(nは2以上)に分割されたメモリエリア、105は1
06,107のいずれかを選択する双方向性のセレクタ
、106は命令バス、107はデータバス、108は1
03゜105のセレクタを指定する制御回路、109は
108への入力である。まず第1に命令によって命令用
、データ用の指定を行う場合の動作を第6図を使用して
説明する。第6図は第1図の103゜105.108を
具体的な論理回路の一例で記し、さらに説明に必要な他
の周辺回路ブロックを追加したものである。ただし、1
08aは7ペ一ジ分の制御回路108を表している。
In the figure, 101 is an address bus for instructions, 102 is an address bus for data, and 103 is an input 101, 1 according to the specification.
02, 104 is a memory area divided into n pages (n is 2 or more), 105 is 1
A bidirectional selector that selects either 06 or 107, 106 is an instruction bus, 107 is a data bus, 108 is 1
A control circuit 109 designates the selector of 03° 105, and is an input to 108. First of all, the operation when specifying instruction use and data use by an instruction will be explained using FIG. 6. FIG. 6 shows an example of a specific logic circuit at 103°, 105, and 108 in FIG. 1, and further includes other peripheral circuit blocks necessary for explanation. However, 1
08a represents the control circuit 108 for seven pages.

まず最初に実行されるべき命令群は外部メモリに格納さ
れており、プログラムカウンタ602の出力604が外
部へ出力され、603より内少の命令バス106へ命令
が取り込まれる。この外部から取り込まれた命令がメモ
リエリアの命令用・データ用指定命令の時、106上の
命令コードがデコーダ601でデコードされ、108a
の制御用出力109a、109b、109c、109d
A group of instructions to be executed first is stored in an external memory, the output 604 of the program counter 602 is output to the outside, and the instructions are taken into the instruction bus 106 smaller than 603. When the instruction fetched from the outside is a memory area instruction/data specification instruction, the instruction code on 106 is decoded by the decoder 601 and 108a
Control outputs 109a, 109b, 109c, 109d
.

109eを出力する。ここで、109aは「1」の時、
命令用の指定を行うことを示し、109bは「1」の時
、nページのうちのこのページが指定されたことを示し
、109cは「1」の時データ用の指定を行うことを示
し、109dは「1」の時、メモリは読み出しモードと
なり、「0」のとき、書き込みモードとなる* 109
 eはクロック同期信号である。このように外部命令メ
モリから取り込まれた命令によって内少メモリの命令用
・データ用の指定が行われた後、内少メモリは使用可能
状態となる。この後、一時停止し、内少命令メモリに命
令シーケンスを書き込めば、ジャンプ命令、又はプログ
ラムカウンタの内容を直接書き変えて、内少メモリ内の
プログラムを実行することができる。必要であればこの
時、データメモリに必要なデータを書き込んでおいても
良い。
109e is output. Here, when 109a is "1",
109b indicates that this page among n pages is specified when it is "1"; 109c indicates that data is specified when it is "1"; When 109d is "1", the memory is in read mode, and when it is "0", it is in write mode*109
e is a clock synchronization signal. After the internal small memory is designated for instructions and data by the instruction fetched from the external instruction memory in this way, the internal small memory becomes available for use. After this, if the program is temporarily stopped and the instruction sequence is written in the internal small instruction memory, the program in the internal small memory can be executed by directly rewriting the jump instruction or the contents of the program counter. If necessary, necessary data may be written in the data memory at this time.

内少メモリの命令用・データ用の指定は、それぞれ指定
されたページが必ずしも連続的になっている必要はなく
、命令メモリではページの最後のステップに、次の命令
が格納されているページの先頭番地へのジャンプ命令を
書いておけば問題はない。またデータ用の場合はデータ
用であるメモリのアドレス範囲さえ確認しておけば何ら
問題とはならない。
When specifying internal small memory for instructions and data, the specified pages do not necessarily have to be consecutive; in the instruction memory, the last step of the page is the page where the next instruction is stored. There is no problem if you write a jump command to the first address. In addition, in the case of data, there is no problem as long as the address range of the memory for data is confirmed.

この方法は一度外部メモリからの命令で内少メモリの命
令用、データ用の指定を行ってから内少命令メモリにプ
ログラムを書き込むための手順が必要であるが、動作中
にダイナミックに指定の変更が可能なため、途中で不要
となった命令メモリエリアをデータメモリエリアに、又
はその逆への再指定を行う命令を、プログラムの適当な
位置に入れておくことにより、実質的な内少メモリ空間
を拡大することが可能となる。
This method requires steps to specify internal small memory for instructions and data using instructions from external memory, and then write the program to internal small instruction memory, but the specifications can be changed dynamically during operation. Therefore, by placing an instruction at an appropriate location in the program to re-designate an instruction memory area that is no longer needed midway into the data memory area, or vice versa, you can effectively reduce the amount of memory available. It becomes possible to expand the space.

第2に不揮発性素子を利用して内少メモリの命令用、デ
ータ用の指定を行う場合の動作を、第7図を使用して説
明する。
Second, the operation when specifying internal memory for instructions and data using non-volatile elements will be explained with reference to FIG.

第7図は第6図と同様、第1図の103,105゜10
8を具体的な論理回路の一例で記し、さらに説明に必要
な他の周辺回路ブロックを追加したものである。ただし
、108bは1ペ一ジ分の制御回路108を表している
。109d、eも第6図で説明したとおりである。
Figure 7 is the same as Figure 6, 103,105°10 of Figure 1.
8 is described as an example of a specific logic circuit, and other peripheral circuit blocks necessary for explanation are added. However, 108b represents the control circuit 108 for one page. 109d and 109e are also as explained in FIG.

まず、動作前に外部より命令あるいはデータエリアの指
定入カフ03.ページ指定入カフ04を使用して、命令
、データ指定制御回路707、その出カフ08を経て不
揮発性素子で構成された制御回路702に各ページごと
に命令用、データ用の振り分けを行う。この場合では一
度指定が行われると1Ml源を切っても指定情報は保持
されているので、電源を投入して始動するごとに指定す
る必要がなく、簡便である。
First, before operation, input a command or data area from the outside using cuff 03. Using the page designation input cuff 04, the instruction and data designation control circuit 707 and its output cuff 08 are used to allocate each page to a control circuit 702 composed of non-volatile elements. In this case, once the designation is made, the designation information is retained even if the 1Ml source is turned off, so there is no need to designate it every time the power is turned on and started, which is convenient.

指定が終了した後、命令用エリアに所要のプログラムを
書き込み、必要ならば、データ用エリアにも必要なデー
タを書き込んだ後、動作を開始する。
After the specification is completed, the required program is written in the instruction area, and if necessary, the necessary data is also written in the data area, and then the operation is started.

この方法は、内少の不揮発性素子で構成された回路に、
必要な情報を書き込む過程が必要となるが、一度書き込
んだ後はその指定情報は電源を切っても維持されるため
、半導体集積回路チップごとに出荷前に最適な命令用・
データ用メモリエリアの配分がなされたものを提供する
ことができる。
This method applies to a circuit composed of a small number of nonvolatile elements.
Although a process is required to write the necessary information, once written, the specified information is maintained even when the power is turned off, so the optimal instruction set and information for each semiconductor integrated circuit chip can be determined before shipping.
It is possible to provide a distributed memory area for data.

あるいはユーザーがシステムに応じて自由に設定するこ
とができる。また、動作開始前にあらかじめ内蔵メモリ
の命令エリアにプログラムを書き込む事ができるので、
動作開始を内蔵メモリ内のプログラムから行うことがで
き、応用によっては外部メモリは全く不要とすることが
可能になる。
Alternatively, the user can freely set it according to the system. In addition, the program can be written to the instruction area of the built-in memory before starting operation.
Operation can be started from a program in built-in memory, and depending on the application, external memory may be completely unnecessary.

第3図に外部ピンからの直接入力によって内少メモリの
命令用・データ用の指定を行う場合の動作を、第8図を
使用して説明する。
Referring to FIG. 8, the operation when specifying internal memory for instructions and data by direct input from an external pin will be described in FIG.

第8図もまた第6,7図と同様に第1図の103゜10
5.108を具体的な論理回路の1例で記し、さらに説
明に必要な他の周辺回路ブロックを追加したものである
。ただし、108cは1ペ一ジ分の制御回路を示してい
る。109d、eは第6図で、701は第7図で説明し
たとおりである。
Figure 8 is also similar to Figures 6 and 7 at 103°10 of Figure 1.
5.108 is described as an example of a specific logic circuit, and other peripheral circuit blocks necessary for the explanation are added. However, 108c indicates a control circuit for one page. 109d and 109e are as explained in FIG. 6, and 701 is as explained in FIG.

第8図の場合も第7図と同様に、まず動作前に外部より
命令・データ指定人力802.ページ指定入力803を
使用して、命令・データ指定制御回路801およびその
出力804a、b、cを経て各ページごとに命令用、デ
ータ用の指定の振り分けを行う、なお、804aは命令
用指定出力、804bはページ指定出力、804cはデ
ータ用指定出力である。この図では1度指定を行うと、
その情報をスタティックに保持する。
In the case of FIG. 8, as in FIG. 7, first, before operation, commands and data are specified manually 802. Using the page designation input 803, instructions and data designations are distributed for each page via the command/data designation control circuit 801 and its outputs 804a, b, and c. Note that 804a is the designation output for commands. , 804b is a page designation output, and 804c is a data designation output. In this figure, once specified,
The information is held statically.

指一定が終了した後は先の第7図の場合と全く同数の手
順によって動作を行うことができる。
After the finger fixation is completed, the operation can be performed by following exactly the same number of steps as in the case of FIG. 7 above.

この方法は第7図のように不揮発性素子を使用していな
いので、電源を投入する毎に上述の命令用、データ用の
指定を行う必要があるが、指定方法は第7図より簡単で
あり、外部のホストプロセッサに管理をさせてダイナミ
ックに指定を変更することが可能である。
Since this method does not use non-volatile elements as shown in Figure 7, it is necessary to specify the instructions and data as described above each time the power is turned on, but the specification method is simpler than in Figure 7. Yes, it is possible to have an external host processor manage it and dynamically change the specifications.

以上の実施例では、全ページのメモリエリアがそれぞれ
命令用、データ用の指定ができるため、応用によっては
命令用又はデータ用に全てのメモリエリアを割り当てて
、他方は全て外部メモリを使用することもでき、従来の
ような一方は充分なメモリエリアの余裕があるのに、他
方はエリアが足りず、全体としては全て内蔵メモリに格
納できる応用でありながら、適用を断念したり、外部メ
モリを付加するという事態は解消される。
In the above embodiment, the memory areas of all pages can be designated for instructions and data respectively, so depending on the application, all memory areas can be allocated for instructions or data, while the other uses external memory. However, while the conventional one has sufficient memory area, the other does not have enough area, and even though the entire application can be stored in the internal memory, it is sometimes abandoned or decided to use external memory. The situation of addition is eliminated.

第2図は内少メモリを3つ以上のエリアに分け、その一
部を命令用、データ用の指定が可能な場合の一実施例で
ある。図中、204aは命令専用のメモリエリア、20
4bはnページに分割された(nは1以上)メモリエリ
ア、204cはデータ専用のメモリエリアである。他の
部分は第1図と同じである。なお、204a、204c
については、一方、又は両方を咬み出し専用メモリにし
ても良い。
FIG. 2 shows an embodiment in which a small internal memory is divided into three or more areas, and some of these areas can be designated for instructions and data. In the figure, 204a is a memory area dedicated to instructions;
4b is a memory area divided into n pages (n is 1 or more), and 204c is a memory area dedicated to data. Other parts are the same as in FIG. In addition, 204a, 204c
In this case, one or both of them may be dedicated memory for extraction.

この実施例では204a、20.4cは各々命令専用、
データ専用であるため、命令用・データ用の指定は必要
なく、204bのみを命令用かデータ用のエリアかの指
定をすることになる。動作方法、命令用・データ用の指
定方法については、第1図の実施例と同様であるが、第
6図によって説明した、命令によって命令用・データ用
の指定を行う場合については、第2図には既に命令専用
のエリアが存在していることから、動作開始をこの20
4 aのエリアに格納されている命令から実行すれば、
第1図のような外部メモリは必ずしも必要ではなくなる
。すなわち、204aのエリアに204bのエリアの命
令用・データ用指定命令を書き込んでおき、その命令実
行後、命令用に指定された204bのエリアに所定のプ
ログラムを書き込むという動作手順が可能となる。
In this embodiment, 204a and 20.4c are dedicated to instructions, respectively.
Since the area is for data only, there is no need to specify whether it is an area for instructions or data, and only the area 204b needs to be specified as an area for instructions or data. The operating method and the method for specifying instructions and data are the same as those in the embodiment shown in FIG. Since there is already an area dedicated to instructions in the diagram, start the operation at this 20
4 If you execute the command stored in area a,
An external memory as shown in FIG. 1 is not necessarily required. That is, it is possible to perform an operation procedure in which an instruction/data designation instruction for the area 204b is written in the area 204a, and after the instruction is executed, a predetermined program is written in the area 204b designated for the instruction.

第2図の実施例は、命令、データに必要なおよそのメモ
リ容量が予想でき、かつある程度まとまった数量の需要
がある応用に適した構成であり、103.105のセレ
クタに必要なハードウェアを必要最小限におさえること
ができる利点がある。
The embodiment shown in FIG. 2 is a configuration suitable for applications where the approximate memory capacity required for instructions and data can be predicted and where a certain amount of memory is required. It has the advantage of being able to be kept to the minimum necessary.

また、先にも述べたように、命令によって命令用・デー
タ用の指定を行う場合でも、外部メモリに頼らずに動作
させることができる利点もある。なお、第2図の命令専
用、データ専用メモリエリアは必ずしも両方必要ではな
く、どちらか一方のみでもかまわない。
Further, as mentioned earlier, even when instructions are specified for instructions and data, there is an advantage that the operation can be performed without relying on external memory. Note that both of the instruction-only and data-only memory areas shown in FIG. 2 are not necessarily required, and only one of them may be used.

第3図は命令長とデータ長が異なっている場合の一実施
例である1図中、304aは命令専用メモリエリア、3
04bはnページに分割(nは1以上)されたメモリエ
リア、304cはデータ専用メモリエリア、305は命
令によって106゜107のうちのいずれか一方を選択
し、かつ書き適時に304bのワード長に対して選択さ
れたバスのビット長が短かい時には、ワード長の余分な
ビット部分に「0」をつめる機能を有する双方向性のセ
レクタである。他は第1図と同じである。
FIG. 3 shows an example in which the instruction length and data length are different. In FIG. 1, 304a is a memory area dedicated to instructions;
04b is a memory area divided into n pages (n is 1 or more), 304c is a data-only memory area, and 305 selects either one of 106° and 107 according to an instruction, and writes to the word length of 304b at the appropriate time. On the other hand, when the bit length of the selected bus is short, it is a bidirectional selector that has the function of filling the extra bits of the word length with "0". The rest is the same as in Figure 1.

第3図は命令長がデータ長より長いことを想定した図で
あるが、逆の場合でも良いことは言うまでもない。
Although FIG. 3 is a diagram assuming that the instruction length is longer than the data length, it goes without saying that the opposite case may be used.

第3図の実施例は304bを全て命令用として指定する
場合は、その動作方法、および命令用・データ用の指定
方法は第2図の実施例と同じになる。304bにデータ
用に指定されるエリアがある場合は、メモリへの書き込
み、読み出し時に対策が必要となる。第3図では書き込
み時にはメモリのワード長の余分な所には「O」をつめ
、読み出し時にはその余分なビットは出力しないという
対策を考えているが、これはあくまでも−例であり、対
策方法を限定しない。たとえば他の対策としてこの余分
なビット部分をデータそのもの以外の付属情報格納エリ
アとして有効活用することも可能である。例としては、
エラー訂正コードのパリティや、データ検索、データテ
ーブル参照等の際に必要となるインデックスデータの付
加等が考えられる。
In the embodiment shown in FIG. 3, when all 304b are designated for instructions, the operating method and the method for specifying instructions and data are the same as in the embodiment shown in FIG. If there is an area designated for data in 304b, countermeasures are required when writing to and reading from memory. In Figure 3, a countermeasure is considered in which an "O" is inserted into the extra word length of the memory when writing, and the extra bits are not output when reading, but this is just an example. Not limited. For example, as another measure, it is also possible to effectively utilize this extra bit portion as an area for storing additional information other than the data itself. For example,
Possible solutions include the parity of error correction codes and the addition of index data necessary for data searches, data table references, and the like.

第3図の実施例は、このように命令長とデータ長が異な
っていても、本発明は容易に実施できることを示してい
る。なお、第3図は第2図を発展させたものであるが、
第1図のような構成でも同様に発展させることができる
ことは明らかである。
The embodiment shown in FIG. 3 shows that the present invention can be easily implemented even if the instruction length and data length are different in this way. Note that Figure 3 is a development of Figure 2, but
It is clear that a configuration such as that shown in FIG. 1 can be similarly developed.

第4図はメモリエリアの一部にプログラマブルな読み出
し専用メモリを使用した場合の一実施例である0図中、
404aはプログラマブルな読み出し専用メモリ、40
4bは書き込み可能なメモリ、405は出力光として1
06,107のいずれか一方を選択するセレクタ、41
0は404aのプログラマブルな読み出し専用メモリの
消去、再書き込み等を行うための回路、411は410
への入力である。他の部分は第1図と同じである。
Figure 4 shows an example of using programmable read-only memory in part of the memory area.
404a is a programmable read-only memory; 40
4b is a writable memory, 405 is 1 as an output light
Selector for selecting either 06 or 107, 41
0 is a circuit for erasing and rewriting the programmable read-only memory of 404a, 411 is a circuit for 410
is the input to Other parts are the same as in FIG.

第4図は第1図を発展させた構成で、nページ(nは2
以上)のうちの2ペ一ジ分をプログラマブルな読み出し
専用メモリに置換した場合を示しているが、nページ以
内で、この置換するページ数は任意で良く、また第2図
の204bの部分でも適用できる。第4図の実施例は、
404a。
Figure 4 is an expanded version of Figure 1, with n pages (n is 2
The above figure shows the case where two pages of the above) are replaced with a programmable read-only memory, but the number of pages to be replaced can be any number within n pages, and even the part 204b in Figure 2 Applicable. The embodiment shown in FIG.
404a.

405以外の動作方法および命令用、データ用の指定方
法については第1図と同様である。404aは404b
と同様、命令用、データ用どちらにも指定できるが、動
作状態の時には読み出し専用メモリとして動作するため
、405は単方向のセレクタとなっている。404aへ
の書き込みは410゜411を通じ、通常の単体のプロ
グラマブルな読み出し専用メモリチップと同様の書き込
み方法によって行えば良い。
The operating method other than 405 and the method of specifying instructions and data are the same as in FIG. 404a is 404b
Similarly, it can be designated for either instructions or data, but in the operating state it operates as a read-only memory, so 405 is a unidirectional selector. Writing to 404a can be performed through 410° and 411 using the same writing method as for a normal single programmable read-only memory chip.

第4図の実施例は、動作のたびにあまり変更する必要の
ない一定の命令ルーチンや、係数データを持つ応用に対
し、システム起動のたびに内少メモリへ命令やデータを
書き込む手間が軽減されるという利点を持っている。
The embodiment shown in FIG. 4 reduces the effort of writing instructions and data into a small internal memory each time the system is started, for applications that have fixed instruction routines and coefficient data that do not need to be changed much each time the system is started. It has the advantage of being

〔発明の効果〕〔Effect of the invention〕

本発明によれば、命令系とデータ系のバスが各各独立に
存在し、命令を格納するメモリエリアとデータを格納す
るメモリエリアが分かれている半導体集積回路において
も、メモリエリアが複数ページに分割され、各ページが
命令用かデータ用かを任意に指定できるので、応用に対
して適切なメモリエリアの配分が実現でき、内蔵メモリ
エリアを効率よく使用できるという効果がある。
According to the present invention, even in a semiconductor integrated circuit in which instruction and data buses exist independently and the memory area for storing instructions and the memory area for storing data are separated, the memory area is divided into multiple pages. Since it is divided and each page can be arbitrarily specified as being for instructions or data, it is possible to allocate the memory area appropriately for the application, and the built-in memory area can be used efficiently.

また、容量的には必要な命令とデータの容量が内蔵メモ
リの内容以下でありながら、従来のような固定化された
メモリエリア配分では一方が充分余裕があり、他方は足
りないという事態になり、全てを内少に格納できなくな
るような応用に対しても、適切なメモリエリアの配分指
定によって、全てを内蔵メモリに格納し、高速動作が可
能になるという大きな効果がある。
In addition, even though the required instruction and data capacity is less than the internal memory, the conventional fixed memory area allocation may result in a situation where one side has enough room and the other side does not. Even for applications where it is not possible to store everything in a small amount of space, by specifying appropriate memory area allocation, everything can be stored in the built-in memory and high-speed operation can be achieved, which is a great effect.

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

第1図は本発明の第一の実施例、第2図は本発明の第2
の実施例、@3図は第2図を発展させた第3の実施例、
第4図は第1図を発展させた第4の実施例の構成を示す
ブロック図、第5図は従来の基本構成図、第6.7.8
図は第1図の一部分をとり出して、実施方法個別により
詳しく記述したブロック図である。 101.509・・・命令用アドレスバス、102゜5
08・・・データ用アドレスバス、103・−・アドレ
スバスのセレクタ、104・・・メモリ、204a。 304a、504・・・命令専用メモリ、204c。 304c、502−データ用専用メモリ、105゜30
5.513・・・双方向パスセレクタ、4o5・・・単
方向パスセレクタ、106,511・・・命令パス、1
07.510・・・データバス、404a・・・プログ
ラマブルな読み出し専用メモリ、707,801・・・
命令データ指定制御回路、108,108a。 108b、108c・・・命令用、データ用の指定制御
信号を出力する制御回路、109,109a。 109b、109c、109d、109e、708゜8
04 a 、 804 b 、 804 c −上記制
御回路への入力、410・・・プログラマブルな読み出
し専用メモリへの書き込みを行うための回路、411・
・・410への入力、501・・・データ・アドレス・
ポインタ、503,602・・・プログラムカウンタ、
505.601,701−・・命令デコータ、506・
・・乗算器、507・・・算術論理演算器、512・・
・アキミュレータレジスタ、705,706・・・命令
用・データ用指定出力、603,703,704゜80
2.803・・・外部からの命令入力、604・・・プ
ログラムカウンタの出力、702・・・不揮発性回路、
708・・・命令用・データ用指定制御出力。
FIG. 1 shows the first embodiment of the present invention, and FIG. 2 shows the second embodiment of the present invention.
Example of Figure 3 is a third example developed from Figure 2,
Fig. 4 is a block diagram showing the configuration of the fourth embodiment, which is a development of Fig. 1, Fig. 5 is a conventional basic configuration diagram, and Fig. 6.7.8
The figure is a block diagram that takes out a part of FIG. 1 and describes each implementation method in more detail. 101.509...Instruction address bus, 102゜5
08...Address bus for data, 103...Selector of address bus, 104...Memory, 204a. 304a, 504... memory dedicated to instructions, 204c. 304c, 502-dedicated memory for data, 105°30
5.513...Bidirectional path selector, 4o5...Unidirectional path selector, 106,511...Instruction path, 1
07.510...Data bus, 404a...Programmable read-only memory, 707,801...
Command data designation control circuit, 108, 108a. 108b, 108c...Control circuits 109, 109a that output designated control signals for commands and data. 109b, 109c, 109d, 109e, 708°8
04 a, 804 b, 804 c - input to the control circuit, 410... circuit for writing to the programmable read-only memory, 411.
...Input to 410, 501...Data address
Pointer, 503, 602...program counter,
505.601,701--instruction decoder, 506-
... Multiplier, 507 ... Arithmetic logic operator, 512 ...
・Achimulator register, 705, 706...Specified output for instruction/data, 603, 703, 704゜80
2.803...External command input, 604...Program counter output, 702...Nonvolatile circuit,
708...Specified control output for instructions/data.

Claims (1)

【特許請求の範囲】 1、命令及びデータを格納するためのメモリと、命令メ
モリのアドレスバスと、データメモリのアドレスバスと
、命令バスと、データバスを持つデータ処理装置におい
て、メモリエリアを複数の領域に分割し、各々に命令格
納用か、またはデータ格納用かを任意に指定するか、あ
るいはメモリエリアを3つ以上に分割し、その内少なく
とも1つのメモリエリアには、命令格納用かデータ格納
用かを任意に指定するようにしたことを特徴とするデー
タ処理装置。 2、上記分割されたメモリエリアの各々の命令用、デー
タ用の指定を、命令によって指定するようにしたことを
特徴とする第1項記載のデータ処理装置。 3、上記分割されたメモリエリアの各々の命令用、デー
タ用の指定を、不揮発性半導体素子を利用したハードウ
ェアで実現したことを特徴とする第1項記載のデータ処
理装置。 4、上記分割されたメモリエリアの各々の命令用、デー
タ用の指定を、外部ピンからの直接入力によって行うこ
とを特徴とする第1項記載のデータ処理装置。
[Claims] 1. In a data processing device having a memory for storing instructions and data, an address bus for the instruction memory, an address bus for the data memory, an instruction bus, and a data bus, a plurality of memory areas are provided. or divide the memory area into three or more areas, and specify whether each memory area is for storing instructions or data. A data processing device characterized in that it is possible to arbitrarily specify whether the device is for data storage. 2. The data processing device according to item 1, wherein designation of each of the divided memory areas for instructions and data is specified by an instruction. 3. The data processing device according to item 1, wherein the designation of each of the divided memory areas for instructions and data is realized by hardware using a nonvolatile semiconductor element. 4. The data processing device according to item 1, wherein designation of each of the divided memory areas for instructions and data is performed by direct input from an external pin.
JP12790586A 1986-06-04 1986-06-04 Data processor Pending JPS62285152A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12790586A JPS62285152A (en) 1986-06-04 1986-06-04 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12790586A JPS62285152A (en) 1986-06-04 1986-06-04 Data processor

Publications (1)

Publication Number Publication Date
JPS62285152A true JPS62285152A (en) 1987-12-11

Family

ID=14971558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12790586A Pending JPS62285152A (en) 1986-06-04 1986-06-04 Data processor

Country Status (1)

Country Link
JP (1) JPS62285152A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01269128A (en) * 1988-04-21 1989-10-26 Matsushita Electric Ind Co Ltd Microcomputer
JPH0256028A (en) * 1988-05-25 1990-02-26 Nec Corp Microcomputer system
JPH02144639A (en) * 1988-11-28 1990-06-04 Hitachi Ltd Semiconductor storage device
JPH03209540A (en) * 1990-01-11 1991-09-12 Mitsubishi Electric Corp Microprocessor
WO1998041921A1 (en) * 1997-03-17 1998-09-24 Hitachi Ltd. Microprocessor and data processing system
EP1237069A2 (en) * 2001-03-02 2002-09-04 Fujitsu Limited Data procesing device, signal procesing device, and interface device
JP2007109008A (en) * 2005-10-13 2007-04-26 Renesas Technology Corp Semiconductor storage device, arithmetic processing unit, and storage system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01269128A (en) * 1988-04-21 1989-10-26 Matsushita Electric Ind Co Ltd Microcomputer
JPH0256028A (en) * 1988-05-25 1990-02-26 Nec Corp Microcomputer system
JPH02144639A (en) * 1988-11-28 1990-06-04 Hitachi Ltd Semiconductor storage device
JPH03209540A (en) * 1990-01-11 1991-09-12 Mitsubishi Electric Corp Microprocessor
WO1998041921A1 (en) * 1997-03-17 1998-09-24 Hitachi Ltd. Microprocessor and data processing system
EP1237069A2 (en) * 2001-03-02 2002-09-04 Fujitsu Limited Data procesing device, signal procesing device, and interface device
EP1237069A3 (en) * 2001-03-02 2007-01-31 Fujitsu Limited Data procesing device, signal procesing device, and interface device
JP2007109008A (en) * 2005-10-13 2007-04-26 Renesas Technology Corp Semiconductor storage device, arithmetic processing unit, and storage system

Similar Documents

Publication Publication Date Title
KR960016397B1 (en) File storaging apparatus and information processing apparatus using the same
US5787493A (en) Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory
US4899272A (en) Addressing multiple types of memory devices
US7782683B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US6415338B1 (en) System for writing a data value at a starting address to a number of consecutive locations equal to a segment length identifier
US6931498B2 (en) Status register architecture for flexible read-while-write device
GB2077010A (en) Microprogramme control method and apparatus therefor
EP1806650A2 (en) Information processing apparatus, controller and file reading method
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
JPS62285152A (en) Data processor
EP0649095A2 (en) Nonvolatile storage with high speed data access
JPH01120660A (en) Microcomputer device
US6938118B1 (en) Controlling access to a primary memory
JPH05197619A (en) Memory control circuit for multi-cpu
US5450587A (en) Expanded memory addressing scheme
US6029210A (en) Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state
US3913073A (en) Multi-memory computer system
EP1804166A2 (en) Memory device and information processing apparatus
JPS58137047A (en) Cotroller for omitting instruction of computer
JPH0628243A (en) Semiconductor integrated circuit
JPS6362778B2 (en)
EP0328422A2 (en) Microcomputer system
KR100199477B1 (en) Memory saving method and system
KR910006792B1 (en) Access memory expansion circuit of direcrt memory access controller
JPS60134940A (en) Register selecting system of information processing device