JPS6316350A - Microprocessor control system - Google Patents

Microprocessor control system

Info

Publication number
JPS6316350A
JPS6316350A JP61160503A JP16050386A JPS6316350A JP S6316350 A JPS6316350 A JP S6316350A JP 61160503 A JP61160503 A JP 61160503A JP 16050386 A JP16050386 A JP 16050386A JP S6316350 A JPS6316350 A JP S6316350A
Authority
JP
Japan
Prior art keywords
cache memory
instruction
purge
memory
circuit
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
JP61160503A
Other languages
Japanese (ja)
Other versions
JPH087713B2 (en
Inventor
Susumu Narita
進 成田
Tadahiko Nishimukai
西向井 忠彦
Kunio Uchiyama
邦男 内山
Atsushi Hasegawa
淳 長谷川
Ikuya Kawasaki
川崎 郁也
Makoto Hanawa
花輪 誠
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP61160503A priority Critical patent/JPH087713B2/en
Publication of JPS6316350A publication Critical patent/JPS6316350A/en
Publication of JPH087713B2 publication Critical patent/JPH087713B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To simplify the constitutions of peripheral circuits and to perform the parallel reading jobs and individual debug jobs, by dividing a cache memory into each function. CONSTITUTION:A cache memory contains an instruction cache memory 7 and an operand cache memory 8. When the memory 7 received an access with the signal supplied from an address generating circuit 10, an access is given to a ROM 9 via a register 13 or 14, a selection circuit 48, an FIFO buffer 15 or 16, a selection circuit 47 and a register 38. Thus the microinstruction read out in such a way produces various control signals through a cache memory control circuit 12 and therefore reads the data serving as an operand out of the memory 8. Thus two types of data are stored for each function and the parallel and simultaneous accesses are possible to both memories. Then the next instruction can be read out simultaneously with a data reading action.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプロセッサ制御方式に関し、特にキ
ャッシュメモリの多機能化と高速化、およびソフトウェ
アのデバッグの高速化に好適な複数キャッシュメモリを
内蔵したマイクロプロセッサの制御方式に関するもので
ある。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a microprocessor control system, and particularly relates to a microprocessor control system that incorporates multiple cache memories suitable for increasing the functionality and speed of a cache memory, and speeding up software debugging. This paper relates to a microprocessor control system.

〔従来の技術〕[Conventional technology]

例えば、エムシー68020 32ピッドのマイクロプ
ロセッサ ユーザーズ マニュアル、プレンティスホー
ル、1984、第7章(MC6802032−bit 
 Microprocessor  ’User’ s
  Manual。
For example, MC68020 32-bit Microprocessor User's Manual, Prentice-Hall, 1984, Chapter 7 (MC6802032-bit
Microprocessor 'User's
Manual.

Prentice−Hall、1984,5ecjio
n7)に記載された32ビツトのマイクロプロセッサM
C68020、あるいは、アイ・イー・イー・イー・マ
イクロ、1985 12月、第23−36ページ(工E
EE  MICRODEC,198S、pp、23−3
6)に記載されている32ビツトのマイクロプロセッサ
280000は、チップ上に単一のキャッシュメモリを
内蔵している。これらのマイクロプロセッサのキャッシ
ュメモリは、メモリの内容を全て無効化するか否かを定
める外部端子の1ビツトのみと、マイクロ命令とにより
制御される。
Prentice-Hall, 1984, 5ecjio
32-bit microprocessor M described in
C68020, or IE Micro, December 1985, pages 23-36 (Eng.
EE MICRODEC, 198S, pp, 23-3
The 32-bit microprocessor 280000 described in 6) has a single cache memory built-in on the chip. The cache memories of these microprocessors are controlled by microinstructions and only one bit on an external terminal that determines whether or not all contents of the memory are to be invalidated.

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

キャッシュメモリは、オンチップであるために小容量で
あることを余儀なくされ、しかも高速性が要求される。
Since cache memory is on-chip, it is forced to have a small capacity and is required to be high speed.

キャッシュメモリは、一度アクセスしたアドレスとデー
タを1組にして蓄えておき、再度同じアト゛レスでアク
セスしようとしたときには、チップ外部つまり主記憶装
置にアクセスする前に、そのアドレスに対応するデータ
がキャッシュメモリに保持されているか否かを調べる。
Cache memory stores a set of addresses and data that have been accessed once, and when an attempt is made to access the same address again, the data corresponding to that address is stored in the cache memory before accessing the outside of the chip, that is, the main memory. Check whether it is held in .

もし、キャッシュメモリに求めるデータが存在するとき
には、チップの外部にアクセスする必要はなく、その分
だけ処理速度が向上することになる。この場合、求める
データがキャッシュメモリにあるか否かを高速に判定す
る必要がある。
If the desired data exists in the cache memory, there is no need to access the outside of the chip, and processing speed increases accordingly. In this case, it is necessary to quickly determine whether the desired data exists in the cache memory.

連想メモリは、この判定をハードウェア化した回路によ
り実現され、高速に処理することが可能である。しかし
、連想メモリは単なるメモリと比較して、回路構成が複
雑であるため、大容量化が困難である。また、連想の対
象となるデータに対応する比較器全てに検索データを与
えなければならないため、メモリが大容量になるほど、
高速化が困難となる。
The associative memory is realized by a circuit that implements this determination in hardware, and is capable of high-speed processing. However, since the associative memory has a more complex circuit configuration than a simple memory, it is difficult to increase the capacity. In addition, search data must be given to all comparators corresponding to the data to be associated, so the larger the memory capacity, the more
It becomes difficult to increase the speed.

また、別の問題として、デバッグの困難性の問題がある
。°すなわち、プロセッサの内部にキャッシュメモリや
ブリフェッチレジスタのように、実行に先立って命令を
取り込んでおくメモリが存在すると、プロセッサがどの
ような命令を実行中であるかをチップの外から判断する
ことが極めて困難となる。そのような状態では、ソフト
ウェアのデバッグの際に、チップの動作状態をチェック
することは困難である。
Another problem is the difficulty of debugging. °In other words, if there is memory inside the processor that captures instructions prior to execution, such as a cache memory or a brief fetch register, it is possible to determine what kind of instruction the processor is executing from outside the chip. This becomes extremely difficult. In such a state, it is difficult to check the operating state of the chip during software debugging.

そこで、従来、キャッシュメモリへのアクセスを禁止し
、かつトレースモードとすることにより、これに対処し
ている。その状態では、プリフェッチされた命令は常に
無効にされ、1命令を実行する度ごとに、次の命令をフ
ェッチするためにチップ外部にアクセスすることになる
。このように、外部つまり主記憶装置にアクセスするこ
とにより、アドレスバスを通過するので、それを監視す
れば、各命令の境界を検出することが可能となり、デバ
ッグの際に任意の命令で動作を停止して、その動作状態
を調べることができる。
Conventionally, this has been dealt with by prohibiting access to the cache memory and setting it in trace mode. In that state, prefetched instructions are always invalidated, and each time one instruction is executed, an access is made to the outside of the chip to fetch the next instruction. In this way, by accessing the external, ie main memory, the address bus is passed, so by monitoring it, it is possible to detect the boundaries of each instruction, and when debugging, it is possible to detect the boundaries of each instruction. You can stop it and check its operating status.

一般に、チップの動作状態におけるこのようなチェック
には、インサーキットニミュレータが用いられる。これ
は、チップの動作をソフトウェアを用いてエミュレート
する装置である。この装置は、一般に、特定のアドレス
へのアクセスを検出することができる。しかし、上記の
方法のように、トレースモードで動作させると、実行し
た全ての命令についてチップの内部状態を外部メモリに
退避するという無駄な処理を行うため、処理速度の点で
問題がある。
Typically, an in-circuit simulator is used for such checks on the operating state of the chip. This is a device that emulates the operation of a chip using software. This device is generally capable of detecting access to a particular address. However, when operating in trace mode as in the above method, there is a problem in processing speed because the internal state of the chip is saved to external memory for all executed instructions, which is a wasteful process.

これを解決する方法としては、チェックしたい命令の直
前でトレースモードにする方法もあるが、その場合には
デバッグの対象であるソフトウェアを変更することにな
り、不都合である。また、チェックしたい命令が変わる
度にソフトウェアに手を加えなければならず、デバッグ
の効率が低下することになる。
One way to solve this problem is to set the trace mode immediately before the instruction you want to check, but in that case, the software that is the target of debugging would have to be changed, which is inconvenient. Furthermore, the software must be modified every time the instruction to be checked changes, reducing debugging efficiency.

本発明の目的は、これら従来の問題を改善し、キャッシ
ュメモリの機能の拡張および動作の高速化を図るととも
に、複数個のキャッシュメモリを持つシステムのデバッ
グ効率の向上を図ることが可能なマイクロプロセッサ制
御方式を提供することにある。
An object of the present invention is to improve these conventional problems, expand the functions of cache memory, speed up the operation, and improve the efficiency of debugging a system having multiple cache memories. The objective is to provide a control method.

[問題点を解決するための手段〕 上記目的を達成するため、本発明によるマイクロプロセ
ッサ制御方式は、物理的に分割された複数個のキャッシ
ュメモリを内蔵し、各番ヤッシュメモリが各々独立かつ
並列に処理を行うことに特徴がある。
[Means for Solving the Problems] In order to achieve the above object, the microprocessor control system according to the present invention incorporates a plurality of physically divided cache memories, and each cache memory is configured to operate independently and in parallel. It is characterized by processing.

〔作  用〕[For production]

本発明においては、キャッシュメモリを機能分割するこ
とにより、個々のキャッシュメモリの容量を小さくする
ことができ、また周辺回路を簡略化することができ、個
々のメモリごとに新たな機能を加えることも可能となる
。また1分割したキャッシュメモリに対する処理を並列
に行わせることにより、処理の高速化が可能となる。ま
た、キャシュメモリの選択線と処理を指定する信号線を
チップの外部端子に設けて、チップ外から直接に制御で
きるようにするとともに、フリップフロップを設けて、
インサーキットエミュレータを用いたデバッグを高速に
行い、1命令ごとの実行を可能にしている。
In the present invention, by functionally dividing the cache memory, the capacity of each cache memory can be reduced, the peripheral circuitry can be simplified, and new functions can be added to each memory. It becomes possible. Furthermore, by performing processing on the divided cache memories in parallel, it is possible to speed up the processing. In addition, a cache memory selection line and a signal line for specifying processing are provided on the chip's external terminals to enable direct control from outside the chip, and a flip-flop is provided.
High-speed debugging using an in-circuit emulator makes it possible to execute each instruction individually.

分割されたメモリは、物理的に分散して配置できるので
個々のメモリが保持するデータを処理する装置の近くに
配置でき、処理速度の点でレイアウト上のマージンをよ
り大きくとれる。
Since the divided memories can be physically distributed and placed, they can be placed close to the devices that process the data held by the individual memories, allowing for a larger layout margin in terms of processing speed.

〔実施例〕〔Example〕

第1図は、本発明の一実施例を示すマイクロプロセッサ
のブロック構成図である。ここでは、2個のキャッシュ
メモリ7.8をマイクロプログラムにより制御するマイ
クロプロセッサ1の構成が示されている。キャッシュメ
モリ7.8には、いずれも連想メモリを用いており、一
方は命令キャッシュ(例えば、メモリ7)、他方はオペ
ランドキャッシュ(例えば、メモリ8)である。この場
合、第1図のキャッシュメモリ制御回路12、レジスタ
38、選択回路22等が、キャッシュメモリ7゜8の制
御部に対応する。チップ外から制御回路に入力される制
御情報は、2つのキャッシュメモリ7.8の内容を無効
化するか否かを表わす1ビツト(第3図に示すパージ情
報P tT RG E )と、無効化すべきキャッシュ
を選択するための制御情報(第3図のD○7,06)の
2ビツトである。無効化以外の状態、すなわちデータの
書き込み、読み出し、状態保持は、マイクロ命令により
制御さ九る。
FIG. 1 is a block diagram of a microprocessor showing an embodiment of the present invention. Here, the configuration of a microprocessor 1 that controls two cache memories 7.8 by a microprogram is shown. Both cache memories 7 and 8 use associative memories, one being an instruction cache (for example, memory 7) and the other being an operand cache (for example, memory 8). In this case, the cache memory control circuit 12, register 38, selection circuit 22, etc. shown in FIG. 1 correspond to the control section of the cache memory 7.8. The control information inputted to the control circuit from outside the chip includes one bit (purge information P tT RGE shown in FIG. 3) indicating whether or not to invalidate the contents of the two cache memories 7 and 8, and one bit indicating whether or not to invalidate the contents of the two cache memories 7 and 8. This is 2 bits of control information (D7, 06 in FIG. 3) for selecting the appropriate cache. States other than invalidation, ie, data writing, reading, and state maintenance, are controlled by microinstructions.

第1図において、1がマイクロプロセッサ、5が主記憶
装置であり、LSI、L64が前述の外部端子であり、
またパージ制御回路6への入力端子L41.L49はキ
ャッシュメモリ制御回路12からの出力端子に接続され
ている。プロセッサ1と主記憶装置5とは、アドレス線
、データ線および2本のコントロール線で結合される。
In FIG. 1, 1 is a microprocessor, 5 is a main storage device, LSI, L64 is the aforementioned external terminal,
Also, input terminal L41. to the purge control circuit 6. L49 is connected to the output terminal from the cache memory control circuit 12. Processor 1 and main memory 5 are coupled through address lines, data lines, and two control lines.

2はインターフェースユニット、3は命令制御ユニット
、4は命令実行ユニット、6はパージ制御回路、9はマ
イクロ命令を格納したコントロールストレー・ジのRO
M、10はアドレス発生回路、11はデコーダ、12は
キャッシュメモリ制御回路、13゜14はキャッシュメ
モリ7から読み出された命令をセットするためのレジス
タ、15,16.17は先入れ先出しのFIF○バッフ
ァであって、ビット列が入力すると順次移動する機能を
有する。
2 is an interface unit, 3 is an instruction control unit, 4 is an instruction execution unit, 6 is a purge control circuit, and 9 is a control storage RO that stores microinstructions.
M, 10 is an address generation circuit, 11 is a decoder, 12 is a cache memory control circuit, 13, 14 is a register for setting the instruction read from the cache memory 7, 15, 16, and 17 are first-in, first-out FIF○ buffers. It has a function of sequentially moving bit strings as they are input.

47.48は選択回路、38.40はレジスタである。47.48 is a selection circuit, and 38.40 is a register.

キャッシュメモリ7には命令が、キャッシュメモリ8に
はデータが、それぞれ格納されているものとする。
It is assumed that the cache memory 7 stores instructions and the cache memory 8 stores data.

アドレス発生回路10から発生されたアドレスでキャッ
シュメモリ7がアクセスされると、そのキャッシュメモ
リ7から先の命令がプリフェッチされて、レジスタ13
.または14にセットされる。レジスタ13から選択回
路48を介してレジスタ40に送られるか、FIFOバ
ッファ15または16に格納される。&初に格納されて
いるFIFOバッファ15の命令が取り出され、デコー
ダに入力されて、ここで解析された後、選択回路47、
レジスタ38を経てROM9をアクセスする。これによ
り読み出されたマイクロ命令は、キャッシュメモリ制御
回路12で種々の制御信号を発生することにより、キャ
ッシュメモリ8からオペランドとしてのデータを読み出
す。選択回路22は、どちらのキャッシュメモリがアク
セスされるかを指定するために選択制御信号を送出する
When the cache memory 7 is accessed with the address generated by the address generation circuit 10, the previous instruction is prefetched from the cache memory 7, and the register 13
.. or set to 14. The signal is sent from the register 13 to the register 40 via the selection circuit 48 or stored in the FIFO buffer 15 or 16. & After the first stored instruction in the FIFO buffer 15 is taken out and input to the decoder and analyzed there, the selection circuit 47,
The ROM 9 is accessed via the register 38. The thus read microinstruction reads data as an operand from the cache memory 8 by generating various control signals in the cache memory control circuit 12. Selection circuit 22 sends out a selection control signal to specify which cache memory is to be accessed.

このマイクロプロセッサ1は、命令をパイプラインで処
理している。
This microprocessor 1 processes instructions in a pipeline.

第5図は、第1図のパイプライン処理のシーケンスチャ
ートである。先ず、命令の読み出しか行おれた後、命令
の解読が行われ、それによりマイクコ命令の読み出しが
行われる。そのマイクロ命令の内容により制御が行われ
るとともに、演算のためのオペランド・データの読み出
しが行われる。
FIG. 5 is a sequence chart of the pipeline processing in FIG. 1. First, after only the instruction is read, the instruction is decoded, and the microcontroller instruction is thereby read. Control is performed according to the contents of the microinstruction, and operand data for the operation is read.

データの読み出し中にも、制御が行われる。Control is also performed while reading data.

第1図に示すように、キャッシュメモリ7には命令が、
キャッシュメモリ8にはデータが、それぞれ別個に格納
されているため、並行して同時に間メモリをアク“セス
できる。従って、第5図に示すように、データ読み出し
と同時に、次の命令の読み出しが既に行われる。このよ
うにして、処理の高速化が図られる。
As shown in FIG. 1, instructions are stored in the cache memory 7.
Since the data is stored separately in the cache memory 8, the memory can be accessed simultaneously in parallel. Therefore, as shown in FIG. This has already been done.In this way, the processing speed can be increased.

第2図は、第1図におけるパージ制御回路の詳細構成図
である。パージ制御回路6は、パージ信号を線L61か
ら入力されると、線L62にパージ指令信号を出力し、
また線L63にパージ命令を出力する。すなわち、パー
ジ制御回路6は、パージ信号(LSI)がハイレベルを
持続しても、パージ処理と1命令の実行を交互に?テわ
せるための機能を有している。
FIG. 2 is a detailed configuration diagram of the purge control circuit in FIG. 1. When the purge control circuit 6 receives a purge signal from the line L61, it outputs a purge command signal to the line L62.
It also outputs a purge command to line L63. That is, even if the purge signal (LSI) remains at a high level, the purge control circuit 6 alternately performs purge processing and executes one instruction. It has a function to make it easier to use.

パージ信号を線L61(外部端子)から入力すると、A
ND回路64を介してフリッププロップ65のD端子を
ハイレベルにする。次命令要求信号が1L41を介して
入力すると、そのタイミングでブリップフロップ65の
D端子の入力をラッチし、線L62のパージ指令信号を
オンする。従って、線L64を介して予めパージ命令を
記憶したレジスタ66の内容が、線L63を介してレジ
スタ38にラッチされる(第1図参照)。また、このと
き、ブリップフロップ62もセットさオLる。命令実行
ユニット4にてパージ命令が実行されると、先ずパージ
クリア信号が線L49に出力される。
When a purge signal is input from line L61 (external terminal), A
The D terminal of the flip-flop 65 is set to high level via the ND circuit 64. When the next command request signal is input via 1L41, the input of the D terminal of the flip-flop 65 is latched at that timing, and the purge command signal on the line L62 is turned on. Therefore, the contents of the register 66, which previously stored the purge command, are latched via the line L64 into the register 38 via the line L63 (see FIG. 1). At this time, the flip-flop 62 is also set. When the purge command is executed by the command execution unit 4, first, a purge clear signal is output to the line L49.

これにより、フリップフロップ62がリセットされる。This resets the flip-flop 62.

遅延回路63、A N D回路64を介してフリップフ
ロップ65のD入力をローレベルにする。
The D input of the flip-flop 65 is set to low level via the delay circuit 63 and the A N D circuit 64.

パージ命令の実行が終了すると、線L41の次命令要求
信号がオンする。これによって、フリップフロップ62
はセットされ、同時にフリッププロップ65はリセット
さ九る。フリップフロップ62の出力は、遅延回路63
に入力される。この間に、レジスタ38は、選択回路4
7からの命令デコード結果がラッチされることになる。
When the execution of the purge command is completed, the next command request signal on line L41 is turned on. As a result, the flip-flop 62
is set, and at the same time flip-flop 65 is reset. The output of the flip-flop 62 is sent to a delay circuit 63.
is input. During this time, the register 38 selects the selection circuit 4.
The instruction decode result from 7 will be latched.

その後、遅延回路63からの出力がハイレベルになる。Thereafter, the output from the delay circuit 63 becomes high level.

このとき、線L61がまだパージ信号を出力している場
合には、フリップフロップ65のD入力はハイレベルに
なっている。従って、次命令要求信号が入力されると、
再び線L62にパージ指令信号を出力する。
At this time, if the line L61 is still outputting the purge signal, the D input of the flip-flop 65 is at a high level. Therefore, when the next command request signal is input,
A purge command signal is output again to line L62.

線L61およびL63には、図示していないアドレス変
換回路を接続することができる。アドレス変換回路は、
プロセッサ1内で用いられるアドレスと、プロセッサ1
外の装置に与えられるアドレスが異なるシステムに用い
られるものである。
An address conversion circuit (not shown) can be connected to lines L61 and L63. The address conversion circuit is
Addresses used within processor 1 and processor 1
The addresses given to external devices are those used by different systems.

パージ命令をレジスタ38に交互にラッチさせて。Alternately latching purge commands into registers 38.

プロセッサ1に通常の命令を1ステツプずつ実行させ、
プログラムのチェックを行うことができる。・第3図は
、第1図のマイクロプロセッサにおけるパージ動作のタ
イミングチャートである。ここでは、両キャッシュメモ
リのパージ(無効化)を指定し続けた場合の動作が示さ
れている。
Let processor 1 execute normal instructions one step at a time,
Programs can be checked. - FIG. 3 is a timing chart of the purge operation in the microprocessor of FIG. 1. Here, the operation when purge (invalidation) of both cache memories is continuously specified is shown.

A31:01  (OQ)はアドレス信号、AS。A31:01 (OQ) is the address signal, AS.

1で3:Oはアドレスが出力されていることを示すアド
レスストローブ信号、DO7:06は制御コードであっ
て、外部端子L64に対応するデータ線の一部である。
1, 3:0 is an address strobe signal indicating that an address is being output, and DO7:06 is a control code, which is part of the data line corresponding to external terminal L64.

PURGEは、パージ信号であって、パージ信号L61
の反転信号(LSIがハイレベルならばローレベル)で
ある。これらの信号は、全てチップの外部端子からの信
号である。
PURGE is a purge signal, and purge signal L61
(low level if the LSI is high level). These signals are all from external terminals of the chip.

キャッシュメモリ7.8の制御情報は、命令の終りで取
り込まれ、両キャッシュメモリ7.8は無効化される。
The control information for the cache memories 7.8 is captured at the end of the instruction and both cache memories 7.8 are invalidated.

その後、次に実行すべき命令(オペレーションワード)
をチップ外から取り込み、1命令だけ実行する。この時
、外部端子に次命令のアドレス(ADDRESS)が現
われる。インサーキットエミュレートを行う場合、この
アドレスによりブレイクをかけることが可能である。
Then the next instruction to be executed (operation word)
is imported from outside the chip and executes only one instruction. At this time, the address (ADDRESS) of the next instruction appears on the external terminal. When performing in-circuit emulation, it is possible to apply a break using this address.

第3図において、アドレスA31の最初の部分BGは、
パージ処理の開始を示す信号であり、次に続く3個のア
ドレスパルスは1命令実行中のメモリアクセスを示して
いる。その次の信号は、次のパージ処理の開始を示す。
In FIG. 3, the first part BG of address A31 is
This signal indicates the start of purge processing, and the next three address pulses indicate memory access during execution of one instruction. The next signal indicates the start of the next purge process.

また、データコードDO7:06の最初のコード信号の
値が、外部端子L64から入力される。次の3個の信号
は、オペコードである。この場合には、3つのアドレス
を持つ1命令(ここでは、32ビツトずつ)を示してい
る。このように、外部端子L64から制御信号が7サー
トし続けていても、フリッププロップのパージ制御回路
6の制御により、主記憶装置5に対してメモリフニッチ
が行われる。
Further, the value of the first code signal of data code DO7:06 is input from external terminal L64. The next three signals are opcodes. In this case, one instruction having three addresses (here, 32 bits each) is shown. In this way, even if the control signal continues to be asserted seven times from the external terminal L64, memory flushing is performed on the main storage device 5 under the control of the flip-flop purge control circuit 6.

第4図は、第1図におけるパージ動作のフローチャート
である。通常の動作では、1命令実行ごとに次命令要求
が出力され(ステップ101)、その都度レジスタ38
の内容(マイクロROMアドレス)を基にマイクロ命令
が読み出される。しかし、もし、次命令要求出力時に、
パージ信号が出力されていると(ステップ102)、パ
ージ処理が行われる(ステップ103以降)。パージ処
理は、フリップフロップ65のD入力がハイレベルとな
り、パージ指令信号(L62)を出力するとともに、レ
ジスタ66の内容(L63)をレジスタ38にラッチす
る。また、アドレス線にパージ処理の開始を示すコード
BGを出力する(ステップ103)。
FIG. 4 is a flowchart of the purge operation in FIG. 1. In normal operation, a next instruction request is output every time one instruction is executed (step 101), and the register 38 is
A microinstruction is read out based on the contents (micro ROM address). However, if the next instruction request is output,
If the purge signal is output (step 102), purge processing is performed (step 103 onwards). In the purge process, the D input of the flip-flop 65 becomes high level, outputs the purge command signal (L62), and latches the contents of the register 66 (L63) into the register 38. Furthermore, a code BG indicating the start of purge processing is output to the address line (step 103).

次に、命令実行ユニット4において、パージ命令が実行
された後、パージクリア信号(L49)を出力すること
により、フリップフロップ62をリセットし、フリップ
フロップ65のD入力をローレベルにする(ステップ1
04)。次に、次命令要求(L41)を出力する(ステ
ップ105)、これにより、フリップフロップ65のD
入力がローレベルとなり、フリッププロップ62がセッ
ト、フリップフロップ65がリセットさ九る。レジスタ
38に、選択回路47から命令デコード結果がラッチさ
れる(ステップ106)。そして、ROM9からマイク
ロ命令が読み出されることにより1命令が実行される。
Next, in the instruction execution unit 4, after the purge instruction is executed, the flip-flop 62 is reset by outputting a purge clear signal (L49), and the D input of the flip-flop 65 is set to a low level (step 1
04). Next, the next instruction request (L41) is output (step 105), thereby causing the D
The input becomes low level, flip-flop 62 is set, and flip-flop 65 is reset. The instruction decode result from the selection circuit 47 is latched into the register 38 (step 106). Then, one instruction is executed by reading the microinstruction from the ROM 9.

このように、パージ命令の実行が終了すると、次命令要
求が出力さハて、今度は通常の動作、つまり命令のデコ
ード結果をレジスタ38にラッチし、それをもとに1命
令だけ実行する。
In this manner, when the execution of the purge instruction is completed, the next instruction request is output, and the next instruction is then operated normally, that is, the instruction decoding result is latched in the register 38, and only one instruction is executed based on it.

このように1本実施例においては、キャッシュメモリを
複数個に分けることにより、(a)並列にアクセスでき
る。(b)機能的に分けられる。(c)連想メモリの置
き場所を使用する装置の近くに配置できる。
As described above, in this embodiment, by dividing the cache memory into a plurality of parts, (a) parallel access is possible. (b) Functionally divided. (c) The associative memory can be placed near the device that uses it.

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

以上説明したように、本発明によれば、キャッシュメモ
リの分割によって、個々のキャッシュメモリの周辺回路
が簡略化され、キャッシュメモリの機能強化が可能にな
る。また、複数メモリへの同一データの書き込みや、複
数メモリからの並列読み出しが可能となり、処理の高速
化が図れる。
As described above, according to the present invention, by dividing the cache memory, the peripheral circuits of each cache memory can be simplified, and the functions of the cache memory can be enhanced. In addition, it is possible to write the same data into multiple memories and to read data from multiple memories in parallel, resulting in faster processing.

さらに、各キャッシュメモリを個々のデータの処理を行
う回路の近くに配置できるので、レイアウト上のマージ
ンを大きくとれる。さらに、キャッシュメモリの制御を
チップ外部から直接行うを用意したので、任意のキャッ
シュメモリの状態を動的に変えることができる。これに
より、任意のキャッシュメモリを対象として、デバッグ
を行うことができる。さらに、命令とパージシーケンス
を交互に実行させるフリップフロップを設けることによ
り、デバッグ時に、l命令ごとの実行を行うことができ
るため、デバッグ効率を上げることが可能である。
Furthermore, since each cache memory can be placed near the circuits that process individual data, a large layout margin can be secured. Furthermore, since we have prepared a way to directly control the cache memory from outside the chip, the state of any cache memory can be dynamically changed. This makes it possible to debug any cache memory. Furthermore, by providing flip-flops that alternately execute instructions and purge sequences, it is possible to execute every l instruction during debugging, thereby increasing debugging efficiency.

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

第1図は本発明の一実施例を示すマイクロプロセッサの
ブロック構成図、第2図は第1図におけるパージ制御回
路の詳細回路図、第3図は第1図においてキャッシュメ
モリのパージ(無効化)を指定し続けたときの動作タイ
ムチャート、第4図は第1図のパージ動作のフローチャ
ート、第5図は第1図のマイクロプロセッサのパイプラ
イン処理を示すシーケンスチャートである。 にマイクロプロセッサ、2:インターフェースユニット
、3:命令制御ユニット、4:命令実行ユニット、5:
主記憶装置、6:パージ制御回路、7,8:キャッシュ
メモリ、9:コントロールストレージROM、10ニア
ドレス発生回路、11;デコーダ、12:キ葦ツシュメ
モリ化+jJ回路、13,14:命令レジスタ、15.
 i 6 、17 :FIFOバッファ、22,47,
48:選択回路、38.40 :レジスタ、G 2.6
5 :フリツプフロツブ、63:遅延回路、64.:A
ND回路、66:レジスタ。 特許出願人 株式会社日立製作所(ばか1名)−vt+
1 is a block configuration diagram of a microprocessor showing an embodiment of the present invention, FIG. 2 is a detailed circuit diagram of the purge control circuit in FIG. 1, and FIG. 3 is a block diagram of the purge control circuit in FIG. 4 is a flowchart of the purge operation shown in FIG. 1, and FIG. 5 is a sequence chart showing the pipeline processing of the microprocessor shown in FIG. 1. microprocessor, 2: interface unit, 3: instruction control unit, 4: instruction execution unit, 5:
Main storage device, 6: Purge control circuit, 7, 8: Cache memory, 9: Control storage ROM, 10 Near address generation circuit, 11: Decoder, 12: Key reed memory + jJ circuit, 13, 14: Instruction register, 15 ..
i 6 , 17: FIFO buffer, 22, 47,
48: Selection circuit, 38.40: Register, G 2.6
5: Flip-flop, 63: Delay circuit, 64. :A
ND circuit, 66: register. Patent applicant: Hitachi, Ltd. (1 idiot) -vt+

Claims (1)

【特許請求の範囲】 1、主記憶装置と接続され、かつ該主記憶装置の記憶デ
ータの写しを格納するキャッシュメモリを内蔵するマイ
クロプロセッサにおいて、物理的に分割された複数個の
キャッシュメモリを内蔵し、各キャッシュメモリが各々
独立かつ並列に処理を行うことを特徴とするマイクロプ
ロセッサ制御方式。 2、主記憶装置と接続され、かつ該主記憶装置の記憶デ
ータの写しを格納するキャッシュメモリを内蔵する1チ
ップのマイクロプロセッサにおいて、物理的に分割され
た複数個のキャッシュメモリと、各キャッシュメモリに
データの書き込み、読み出し、無効化、およびデータの
保持を行わせるためのパージ制御手段を内蔵し、チップ
外部から、該パージ制御手段を介してキャッシュメモリ
を特定し、かつ該キャッシュメモリに対して特定した処
理を行わせるように指示することを特徴とするマイクロ
プロセッサ制御方式。 3、上記パージ制御手段は、キャッシュメモリに対して
、指定した処理と1命令実行を、交互に行わせるための
フリップフロップを有することを特徴とする特許請求の
範囲第2項記載のマイクロプロセッサ制御方式。
[Claims] 1. A microprocessor that is connected to a main storage device and has a built-in cache memory that stores a copy of data stored in the main storage device, which includes a plurality of physically divided cache memories. A microprocessor control method characterized in that each cache memory performs processing independently and in parallel. 2. In a one-chip microprocessor that is connected to a main storage device and has a built-in cache memory that stores a copy of data stored in the main storage device, a plurality of physically divided cache memories and each cache memory are used. It has a built-in purge control means for writing, reading, invalidating, and retaining data in the chip, and the cache memory can be specified from outside the chip via the purge control means, and the cache memory can be A microprocessor control method characterized by instructing a specified process to be performed. 3. The microprocessor control according to claim 2, wherein the purge control means has a flip-flop for causing the cache memory to alternately perform specified processing and execution of one instruction. method.
JP61160503A 1986-07-08 1986-07-08 Microprocessor Expired - Lifetime JPH087713B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61160503A JPH087713B2 (en) 1986-07-08 1986-07-08 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61160503A JPH087713B2 (en) 1986-07-08 1986-07-08 Microprocessor

Publications (2)

Publication Number Publication Date
JPS6316350A true JPS6316350A (en) 1988-01-23
JPH087713B2 JPH087713B2 (en) 1996-01-29

Family

ID=15716349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61160503A Expired - Lifetime JPH087713B2 (en) 1986-07-08 1986-07-08 Microprocessor

Country Status (1)

Country Link
JP (1) JPH087713B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108482A (en) * 1991-10-11 1993-04-30 Nec Corp Cache invalidating system
JPH06195264A (en) * 1992-12-22 1994-07-15 Nec Corp Cache coincidence processor
US5512351A (en) * 1993-12-28 1996-04-30 Nikkiso Company Limited Prepreg, process for preparation of prepreg, and products derived therefrom

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108482A (en) * 1991-10-11 1993-04-30 Nec Corp Cache invalidating system
JPH06195264A (en) * 1992-12-22 1994-07-15 Nec Corp Cache coincidence processor
US5512351A (en) * 1993-12-28 1996-04-30 Nikkiso Company Limited Prepreg, process for preparation of prepreg, and products derived therefrom

Also Published As

Publication number Publication date
JPH087713B2 (en) 1996-01-29

Similar Documents

Publication Publication Date Title
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
JP3105223B2 (en) Debug peripherals for microcomputers, microprocessors and core processor integrated circuits
JP4190114B2 (en) Microcomputer
US5235686A (en) Computer system having mixed macrocode and microcode
EP0776504B1 (en) Integrated circuit with multiple functions sharing multiple internal signal buses for distributing bus access control and arbitration control
US7689867B2 (en) Multiprocessor breakpoint
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
JP2003085000A (en) Trace information production device and its method
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
JP2003510682A5 (en)
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
JPH10187642A (en) Microprocessor and multiprocessor system
US7428661B2 (en) Test and debug processor and method
JPH0728670A (en) Information processor
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
JPS6316350A (en) Microprocessor control system
JP2000231550A (en) Microprocessor
JP2680828B2 (en) Digital device
JPS62197831A (en) Data processor
JP3323341B2 (en) Emulation processor and emulator equipped with it
KR100273280B1 (en) Debugging logic control circuit
JP2520158B2 (en) Debugging method of digital signal processor
JP2927751B2 (en) Information processing apparatus, information processing method, and scheduling apparatus
JPH1011290A (en) Microprocessor
JPH0752402B2 (en) Data processing device