JPH03142542A - Address generating device for microprocessor - Google Patents

Address generating device for microprocessor

Info

Publication number
JPH03142542A
JPH03142542A JP28064889A JP28064889A JPH03142542A JP H03142542 A JPH03142542 A JP H03142542A JP 28064889 A JP28064889 A JP 28064889A JP 28064889 A JP28064889 A JP 28064889A JP H03142542 A JPH03142542 A JP H03142542A
Authority
JP
Japan
Prior art keywords
address
bit
width
address generation
generation device
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
JP28064889A
Other languages
Japanese (ja)
Inventor
Takeshi Sato
武 佐藤
Masamichi Izumida
正道 泉田
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.)
V M TECHNOL KK
Original Assignee
V M TECHNOL KK
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 V M TECHNOL KK filed Critical V M TECHNOL KK
Priority to JP28064889A priority Critical patent/JPH03142542A/en
Publication of JPH03142542A publication Critical patent/JPH03142542A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To produce an address having the narrow bit width by producing again a physical address to use a produced address as an address of a lap- around destination as long as the produced address should be lapped around. CONSTITUTION:A 32-bit adder 1 outputs a 32-bit physical address, and the output side of the adder 1 is connected to a main storage 3. At the same time, the input side of the adder 1 is connected to a register file 6 via two 32-bit address buses 4 and 5. The file 6 outputs the address generating elements in both 32-bit and 16-bit widths. The bus 4 is used exclusively for transfer of the address elements of 32-bit width, and the bus 5 is used for transfer of the address elements of both 32-bit and 16-bit widths respectively. The bus 5 is also connected to the input side of a 16-bit address comparator 7. The comparator 7 compares the address value transferred in the 16-bit width with the prescribed value and decides whether the produced physical address should be corrected or not for lap-around.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は集積回路マイクロプロセッサのアドレス生成装
置に関し、さらに詳しくは、最大アドレスの直上に最小
アドレスが位置するようなラップアラウンドしたアドレ
ス空間を生成するためのアドレス生成装置に関するもの
である。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to an address generation device for an integrated circuit microprocessor, and more particularly to a method for generating a wraparound address space in which the minimum address is located directly above the maximum address. The present invention relates to an address generation device for.

(従来の技術) 集積回路マイクロプロセッサは、アドレスバスを介して
接続された主記憶装置のアドレスを指定するためのアド
レス出力を有しており、このアドレス出力は、マイクロ
プロセッサ内のアドレス生成装置によって生成される。
BACKGROUND OF THE INVENTION An integrated circuit microprocessor has an address output for specifying the address of a main memory device connected via an address bus, and this address output is generated by an address generation device within the microprocessor. generated.

ここに、より大きな容量のメモリを持たせるために、ア
ドレス出力のビット数、従って、アドレス生成装置のビ
ット数は年々増加しており、8ビットから16ビットへ
16ビットから32ビットへと増加している。しかし、
従来機種との互換性を保持するためには、従来機種にお
ける狭いビット幅でのアドレス計算能力も保持している
ことが必要である。
Here, in order to have a larger capacity memory, the number of bits of address output, and therefore the number of bits of the address generation device, is increasing year by year, from 8 bits to 16 bits, and from 16 bits to 32 bits. ing. but,
In order to maintain compatibility with conventional models, it is necessary to maintain the ability to calculate addresses in the narrow bit width of conventional models.

このような要求を満たすために、従来においては、アド
レス生成装置の側はそのままとしておき、従来機種用の
ビット幅の狭いアドレス要素を算術的に拡張して、ビッ
ト幅の広いアドレス生成装置に適合させている。この方
法を用いれば、ビット幅の狭い従来機種用のプログラム
の多くを動作させることが可能である。
In order to meet such demands, in the past, the address generation device side was left as is, and the address elements with a narrow bit width for conventional models were arithmetically expanded to adapt to the address generation device with a wide bit width. I'm letting you do it. Using this method, it is possible to run many programs for conventional models with narrow bit widths.

ここに、ビット幅の狭い従来機種のあるものにおいては
、そのアドレス空間として、線型なアドレス空間ではな
く、最大のアドレスが最小のアドレスの直下に位置して
いるような、所謂ラップアラウンドしたアドレス空間を
持っている場合がある。このようなアドレス空間は、ビ
ット幅が狭く、従って小さなアドレス空間を持つ機種で
は有効なメモリの利用方法である。よって、その機種の
アドレス能力を最大限利用するような重要なプログラム
で利用されることが多い。しかし、このようなラップア
ラウンドしたアドレス空間は、上記のように単にアドレ
ス計算幅を拡張して上位機種のアドレス幅に一致させる
のみでは生成することが出来ない。
In some conventional models with narrow bit widths, the address space is not a linear address space, but a so-called wrap-around address space where the largest address is located directly below the smallest address. You may have. This type of address space has a narrow bit width, and is therefore an effective way to use memory in models that have a small address space. Therefore, it is often used in important programs that make maximum use of the address capability of that model. However, such a wraparound address space cannot be created by simply expanding the address calculation width to match the address width of the higher-level device as described above.

そこで、従来においては、このようなラップアラウンド
したアドレス空間を生成するために、マイクロプロセッ
サの外部にハードウェアを接続して、擬似的にラップア
ラウンドしたアドレス空間を生成するようにしている。
Conventionally, in order to generate such a wraparound address space, hardware is connected outside the microprocessor to generate a pseudo wraparound address space.

(発明が解決しようとする課題) しかしながら、外部回路を使用してラップアラウンドし
たアドレス空間を生成する場合には、ビット幅の狭い従
来機種の最大物理アドレスなどに代表される特定のアド
レス境界でしかアドレスのラップアラウンドを行いえな
いという問題点があった。すなわち、バイト境界、ワー
ド境界、あるいはバラグラフ境界といった主記憶のより
微細な構造でのアドレスのラップアラウンド動作を行う
ことが出来なかった。
(Problem to be Solved by the Invention) However, when generating a wraparound address space using an external circuit, only a specific address boundary, such as the maximum physical address of conventional models with a narrow bit width, can be generated. There was a problem that address wraparound could not be performed. That is, it is not possible to perform address wrap-around operations on finer structures of main memory such as byte boundaries, word boundaries, or baragraph boundaries.

本発明の課題は、このような点に鑑みて、ビット幅の狭
いアドレス生成要素によって生成されるアドレス空間に
おいて、バイト境界、ワード境界、あるいはパラグラフ
境界といった微細な構造でのアビレスのラップアラウン
ドを行うことの可能となったアドレス生成装置を実現し
、ビット幅の不適合から完全な代替え動作が不可能であ
ったビット幅の大きなアドレス生成装置によるビット幅
の狭いアドレスの生成を可能に゛することにある。
In view of these points, it is an object of the present invention to wrap around Aviles in fine structures such as byte boundaries, word boundaries, or paragraph boundaries in an address space generated by an address generation element with a narrow bit width. In order to realize an address generation device that has become possible, it is now possible to generate addresses with a narrow bit width using an address generation device with a large bit width, which was previously impossible to perform as a complete substitute due to bit width incompatibility. be.

(課題を解決するための手段) 上記の課題を解決するために、本発明では、最大アドレ
スが最小アドレスの直下に位置するようにラップアラウ
ンドした特定領域を少なくとも一部に有するアドレス空
間を生成するマイクロプロセッサのアドレス生成装置に
おいて、少なくとも一つのアドレス生成要素に基づき、
物理アドレスを生成する物理アドレス生成手段と、アド
レス計算幅を指定するアドレス計算幅指定手段と、この
アドレス計算幅指定手段によって、ビット数の少ない側
のアドレス計算幅が指定されているときには、前記物理
アドレス生成手段によって生成された物理アドレスが前
記特定領域におけるラップアラウンドさせるべきアドレ
スであるか否かを判別する判別手段と、この判別手段に
よって、生成された前記物理アドレスがラップアラウン
ドさせるべきアドレスであると判別された場合には、生
成された前記物理アドレスを、ラップアラウンド先のア
ドレスに変換する変換手段とを有していることを特徴と
している。
(Means for Solving the Problems) In order to solve the above problems, the present invention generates an address space that has at least a part of a specific area wrapped around so that the maximum address is located directly below the minimum address. In a microprocessor address generation device, based on at least one address generation element,
Physical address generation means for generating a physical address, address calculation width specification means for specifying an address calculation width, and when the address calculation width on the side with a smaller number of bits is specified by the address calculation width specification means, the physical determining means for determining whether the physical address generated by the address generating means is an address to be wrapped around in the specific area; and the physical address generated by the determining means is an address to be wrapped around. If it is determined that this is the case, the present invention is characterized by comprising a conversion means for converting the generated physical address into a wraparound destination address.

(実施例) 以下に図面を参照して本発明の詳細な説明する。(Example) The present invention will be described in detail below with reference to the drawings.

蔦ユ4乙U虹冊 第1図には本発明の第1の実施例のアドレス生成装置の
主要構成を示しである。本例の装置は、32ビットおよ
び16ビット幅のアドレスを生成可能となっている。図
において、■はアドレス生成手段としての32ビット加
算器であり、32ビットの物理アドレスを出力する。こ
の加算器の出力側は、アドレスバス2を介して、主記憶
装置3に接続されている。一方、加算器10入力側は、
二本の32ビットアドレスバス4.5を介して、レジス
タ・ファイル6に接続されている。レジスタ・ファイル
6からは、アドレス生成要素が32ビットおよび16ビ
ットの幅で出力される。上記の一方のアドレスバス4は
、32ビット幅でのアドレス要素の転送のみに使用され
、他方のアドレスバス5は、32ビット幅および16ビ
ット幅でのアドレス要素の転送に使用される。後者の側
のバス5は、16ビットアドレス比較器7の入力側にも
接続されている。この比較器7では、16ビット幅で転
送されるアドレス値を予め設定された値と比較すること
によって、生成された物理アドレスをラップアラウンド
させるために修正する必要があるか否かを判別する。
FIG. 1 shows the main structure of an address generation device according to a first embodiment of the present invention. The device of this example is capable of generating 32-bit and 16-bit wide addresses. In the figure, ■ is a 32-bit adder as address generation means, which outputs a 32-bit physical address. The output side of this adder is connected to a main memory 3 via an address bus 2. On the other hand, the input side of the adder 10 is
It is connected to the register file 6 via two 32-bit address buses 4.5. Address generation elements are output from the register file 6 in widths of 32 bits and 16 bits. One of the address buses 4 mentioned above is used only for transferring address elements with a width of 32 bits, and the other address bus 5 is used for transferring address elements with a width of 32 bits and 16 bits. The bus 5 on the latter side is also connected to the input side of a 16-bit address comparator 7. The comparator 7 compares the address value transferred in 16-bit width with a preset value to determine whether or not it is necessary to modify the generated physical address for wraparound.

8は制御用論理回路であり、ここに供給された命令に従
って制御信号を発生して、上記の加算器、比較器の制御
、レジスタ・ファイルに対するデータの入出力を制御す
る。本発明に関する制御について述べると、レジスタ・
ファイル6に対して、32ビットおよび16ビット幅の
いずれでアドレス生成要素の転送を行うかを指示し、1
6ビット幅でのアドレス生成要素の転送の際には、比較
器7に対して比較許可信号を出力して、比較器7での比
較動作を行わせる。また、生成された物理アドレスをラ
ップアラウンドさせるために修正する必要がある場合に
は、レジスタ・ファイル内のアドレス定数を用いて物理
アドレスの生成をやり直すように各要素を駆動制御する
Reference numeral 8 denotes a control logic circuit, which generates control signals in accordance with instructions supplied thereto to control the above-mentioned adders and comparators and input/output of data to and from the register file. Regarding the control related to the present invention, the register
Instruct file 6 whether to transfer address generation elements in 32-bit or 16-bit width, and
When transferring an address generation element with a width of 6 bits, a comparison permission signal is outputted to the comparator 7 to cause the comparator 7 to perform a comparison operation. Furthermore, if it is necessary to modify the generated physical address to cause it to wrap around, each element is driven and controlled to regenerate the physical address using address constants in the register file.

ここに、主記憶装置内に格納されているプログラムは、
命令を定義したコード領域、変数を定義したデータ領域
、およびスタック領域から構成されている。これらは、
セグメンテーションによるアドレス指定法によってアド
レッシングされる。
Here, the program stored in main memory is
It consists of a code area where instructions are defined, a data area where variables are defined, and a stack area. these are,
Addressed by segmentation addressing method.

すなわち、これらの領域であるセグメントは、相互に独
立に扱われ、それぞれのセグメント内の特定データの位
置は、メモリ空間内のそれぞれのセグメントの位置を表
すアドレスと、セグメント内のデータの位置を表すアド
レスとによって特定される。上記のメモリ空間内のセグ
メントの位置を表すアドレス(セグメント値)は、レジ
スタ・ファイル内に形成したセグメント・レジスタ61
内に格納され、また、各セグメント内の特定データ位置
を表すアドレス(オフセット値)は、レジスタ・ファイ
ル内の汎用レジスタ62内におけるポインタによって算
出、指定される。
In other words, these areas, segments, are treated independently from each other, and the location of specific data within each segment is determined by an address representing the location of each segment in memory space, and an address representing the location of the data within the segment. identified by the address. The address (segment value) representing the location of the segment in the above memory space is stored in the segment register 61 formed in the register file.
The addresses (offset values) representing specific data locations within each segment are calculated and specified by pointers within general purpose registers 62 within the register file.

この構成の本例の装置において、16ビット幅のアドレ
ッシングによるプログラムを走らせる場合を述べる。こ
こで、16ビットによるメモリ空間はセグメンテーショ
ンによりアドレッシングが行われるようになっており、
第2図の斜線で示すセグメントにおいては、この領域を
規定する最大アドレスX (MAX)の直上に同じくこ
の領域を規定する最小アドレスX(MIN)が位置した
ラップアラウンドしたメモリ領域であるとする。
A case will be described in which a program using 16-bit width addressing is run in the device of this example having this configuration. Here, the 16-bit memory space is addressed by segmentation.
It is assumed that the shaded segment in FIG. 2 is a wrap-around memory area in which the minimum address X (MIN) that also defines this area is located directly above the maximum address X (MAX) that also defines this area.

この場合、まず、制御用論理回路8によって16ビット
幅でのアドレス生成要素の出力が指示される。これによ
って、レジスタ・ファイル6からは、アドレスバス4を
介してセグメント値を規定するアドレス生成要素が出力
され、他方のアドレスバス5からは、16ビット幅でオ
フセット値を規定するアドレス生成要素が出力される。
In this case, first, the control logic circuit 8 instructs to output an address generation element with a width of 16 bits. As a result, the register file 6 outputs an address generation element that specifies a segment value via the address bus 4, and the address generation element that specifies an offset value with a width of 16 bits is output from the other address bus 5. be done.

これらのアドレス生成要素は、32ビット加算器lで加
算されて、32ビットの物理アドレスが生成される。
These address generation elements are added in a 32-bit adder l to generate a 32-bit physical address.

これと同時に、16ビット幅のアドレス生成要素は、1
6ビットアドレス比較器7にも供給される。この比較器
7は制御用論理回路8によって16ビット幅でのアドレ
ス生成要素の出力の際には比較許可状態に設定される。
At the same time, the 16-bit wide address generation element
It is also supplied to a 6-bit address comparator 7. This comparator 7 is set to a comparison enabled state by the control logic circuit 8 when outputting an address generation element with a width of 16 bits.

従って、この比較器において、このアドレス生成要素は
、予め設定された値と比較される。この値はラップアラ
ウンド動作を起こすべきアドレス値であり、この値より
も16ビット幅のアドレス生成要素(オフセット値)が
小さい場合には、この比較結果に基づき、制御用論理回
路8は32ビット加算器1に対して制御信号を出力して
、ここで算出された物理アドレスをアドレスバス2へ出
力させる。
Therefore, in this comparator, this address generating element is compared with a preset value. This value is the address value that should cause a wraparound operation, and if the 16-bit width address generation element (offset value) is smaller than this value, the control logic circuit 8 performs a 32-bit addition based on the comparison result. A control signal is output to the device 1 to cause the physical address calculated here to be output to the address bus 2.

しかるに、これらの両者の値が等しくなったときには、
比較器7の比較結果はラップアラウンド指令として制御
用論理回路8に供給される。この信号を受は取ると、制
御用論理回路8は、ラップアラウンド用のアドレス定数
を用いて、再度物理アドレスの生成を行わせて、生成さ
れる物理アドレスがラップアラウンド先のアドレスとな
るようにする。このようにして出力されたアドレスによ
って、第2図に示すラップアラウンドしたセグメントの
アドレッシングが行われる。
However, when these two values become equal,
The comparison result of the comparator 7 is supplied to the control logic circuit 8 as a wraparound command. Upon receiving this signal, the control logic circuit 8 generates a physical address again using the wraparound address constant, so that the generated physical address becomes the wraparound destination address. do. Addressing of the wrap-around segment shown in FIG. 2 is performed using the address thus output.

第1夏実施班 次に、第3図には、上記の32ビット加算器1に、ラッ
プアラウンド用の付加回路を追加した構成を示す。32
ビット加算器1は、32ビットの各ビット毎に1ビット
演算器11と桁上がり演算器12とを備えた構成となっ
ている。lビット演算器12は、3つの入力と1つの出
力とがある。
First summer implementation group Next, FIG. 3 shows a configuration in which an additional circuit for wraparound is added to the 32-bit adder 1 described above. 32
The bit adder 1 includes a 1-bit arithmetic unit 11 and a carry arithmetic unit 12 for each of 32 bits. The l-bit arithmetic unit 12 has three inputs and one output.

入力は、第1の加算要素であるバス4からの人力Aと、
第2の加算要素であるバス5からの入力Bと、下位ビッ
トの側の桁上がり演算器からの桁上がり人力Cとである
。出力は桁の演算結果りである。ここに、各ビットには
、それぞれマスク演算器13が配置されており、一方の
加算要素である入力Bは、このマスク演算器13を介し
て、1ビット演算器に入力される。これらのマスク演算
器13には制御用論理回路8から16ビット演算指示入
力Eが供給されるようになっており、この人力Eが供給
されると、マスク演算器13は加算要素Bをマスクする
。また、本例では200番目21番目のビットとの間に
、桁上がり切離し処理部14を配置し、制御用論理回路
8からの制御人力Fが供給されると、この200番目ビ
ットから21番目へのビットへの桁上がりを禁止するよ
うにしている。
The input is human power A from bus 4, which is the first addition element,
These are the input B from the bus 5, which is the second addition element, and the carry input C from the carry calculator on the lower bit side. The output is the result of the digit operation. Here, a mask arithmetic unit 13 is arranged for each bit, and input B, which is one of the addition elements, is inputted to a 1-bit arithmetic unit via this mask arithmetic unit 13. These mask calculators 13 are supplied with a 16-bit operation instruction input E from the control logic circuit 8, and when this human power E is supplied, the mask calculators 13 mask the addition element B. . Further, in this example, a carry separation processing unit 14 is arranged between the 200th and 21st bits, and when the control human power F from the control logic circuit 8 is supplied, the 21st bit is transferred from the 200th bit to the 21st bit. Carry to bits is prohibited.

この構成の32ビット加算器1においては、制御用論理
回路8から16ビット演算指示人力があると、上位の1
6ビットのマスク演算313によって上位の16ビット
分の加算要素Bがマスクされる。この結果、32ビット
加算器lでは、下位の16ビットでの演算を実行するこ
とになり、■6ビット幅、すなわち64にバイト内での
アドレス計算を実行する。また、制御用論理回路からの
制御人力Fが桁上がり切離し処理部14に供給されると
、この200番目ビットを超えるビットの側への桁上が
りが禁止されるので、1Mバイト境界でラップアラウン
ドしたアドレッシングが可能となる。
In the 32-bit adder 1 with this configuration, if there is a 16-bit operation instruction from the control logic circuit 8, the upper one
The 6-bit mask operation 313 masks the upper 16 bits of addition element B. As a result, the 32-bit adder l performs an operation on the lower 16 bits, and performs an address calculation within a 6-bit width, that is, 64 bytes. Furthermore, when the control human power F from the control logic circuit is supplied to the carry separation processing unit 14, a carry to the side of bits exceeding the 200th bit is prohibited, so wrap-around is performed at the 1M byte boundary. Addressing becomes possible.

第」Jとも監桝 第4図には本発明の別の実施例に係るアドレス生成装置
の主要構成部を示しである。本例は命令ブリフェッチ動
作用の物理アドレス生成装置がアドレスのラップアラウ
ンド動作を行うようにしたものである。図において、2
1は物理アドレス生成手段としての32ビットインクリ
メンタである。
FIG. 4 shows the main components of an address generation device according to another embodiment of the present invention. In this example, a physical address generation device for an instruction briefetch operation performs an address wraparound operation. In the figure, 2
1 is a 32-bit incrementer as a physical address generating means.

このインクリメンタ21には32ビットバス22を介し
て、レジスタXからアドレス生成要素が供給される。こ
のインクリメンタ21によって生成された命令ブリフェ
ッチ用の物理アドレスは、バス23を介してアドレス出
力に送られる。生成された物理アドレスは同時に、レジ
スタXに書き戻される。生成された物理アドレスがラッ
プアラウンドをおこすべきアドレスであるか否かは、1
6ビットアドレス比較器24で判別される。この比較器
24においては、生成された物理アドレスと、レジスタ
Yに予め格納されているラップアラウンドをおこすべき
アドレスとを比較し、両者の値が一致した場合には、ラ
ップアラウンド指令を制御用論理回路25に出力する。
This incrementer 21 is supplied with an address generating element from register X via a 32-bit bus 22. The physical address for instruction briefetch generated by this incrementer 21 is sent to the address output via the bus 23. The generated physical address is written back to register X at the same time. 1 determines whether the generated physical address is an address that should cause wraparound.
It is determined by the 6-bit address comparator 24. This comparator 24 compares the generated physical address with the address to which wraparound is to be performed, which is stored in advance in register Y. If the two values match, the wraparound command is sent to the control logic. Output to circuit 25.

本例においては、ラップアラウンドを起こすべきアドレ
スとラップアラウンド先のアドレスの下位16ビットが
等しくなるような計算方式を採用しているので、レジス
タYに格納されているアドレスは、ラップアラウンド先
のアドレスであると共に、等価的にラップアラウンドを
起こすアドレスとしての働きを有している。従って、本
例では、ラップアラウンド動作を行う場合には、レジス
タYの値をそのままアドレス生成要素として再計算に使
用することができる。
In this example, a calculation method is used in which the lower 16 bits of the address to which wraparound should occur and the wraparound destination address are equal, so the address stored in register Y is the wraparound destination address. It also functions as an address that equivalently causes wraparound. Therefore, in this example, when performing a wraparound operation, the value of register Y can be used as is for recalculation as an address generation element.

ここに、ラップアラウンドを起こすべきアドレスとラッ
プアラウンド先のアドレスとの間に上記のような関係が
無い場合においては、第4図に示すように、レジスタZ
内にラップアラウンド先のアドレスを格納し、再計算に
は、レジスタZの内容をアドレス生成要素として使用す
ればよい。
Here, if there is no relationship as described above between the address where wraparound should occur and the wraparound destination address, as shown in FIG.
It is sufficient to store the wraparound destination address in the register Z and use the contents of register Z as an address generation element for recalculation.

なお、上述した各側は本発明の実施形態を示すものであ
り、本発明をこれらの実施例の構成に限定することを意
図したものではない。例えば、物理アドレス生成手段と
して上記の例では、32ビット加算器あるいは32ビッ
トインクリメンタを使用しているが、これ以外のもので
あってもよいことは勿論である。また、上記の例ではビ
ット幅として32ビットおよび16ビットの場合を説明
したが、この値はこれらと異なるビット数であってもよ
いことは勿論である。さらには、アドレス生成要素のビ
ット幅を16ビットと32ビットとの二種類としている
が、これも三種類以上とすることも可能である。
It should be noted that each of the above-mentioned embodiments represents an embodiment of the present invention, and the present invention is not intended to be limited to the configurations of these embodiments. For example, in the above example, a 32-bit adder or a 32-bit incrementer is used as the physical address generating means, but it goes without saying that other means may be used. Further, in the above example, the case where the bit width is 32 bits and 16 bits has been explained, but it goes without saying that this value may be a different number of bits from these. Furthermore, although the bit width of the address generation element is set to two types, 16 bits and 32 bits, it is also possible to use three or more types.

(発明の効果) 以上説明したように、本発明においては、ビット幅の狭
いアドレス生成要素に基づいて生成された物理アドレス
がアドレス・ラップアラウンドさせるべきアドレスであ
るか否かを判別し、ラップアラウンドさせるべきアドレ
スである場合には、ラップアラウンド先のアドレスとな
るように物理アドレスの生成を再度行うようにしている
。従って、本発明のアドレス生成装置によれば、ラップ
アラウンドしたビット幅の狭いアドレス空間を有するプ
ログラムを完全に動作させることが可能になる。よって
、従来においてはビット幅の不適合から完全な代換動作
が不可能だったビット幅のおおきなアドレス生成装置に
よるビット幅の狭いアドレス生成が可能となり、旧式の
ソフトウェア資産を捨てることなく、新式のハードウェ
ア上で有効利用することができるという効果が得られる
(Effects of the Invention) As explained above, in the present invention, it is determined whether a physical address generated based on an address generation element with a narrow bit width is an address that should be subjected to address wraparound, and If it is the address that should be used, the physical address is generated again so that it becomes the wraparound destination address. Therefore, according to the address generation device of the present invention, it is possible to completely operate a program having a wraparound address space with a narrow bit width. Therefore, it is now possible to generate addresses with a narrow bit width using address generators with a large bit width, which was previously impossible due to bit width incompatibility, and it is now possible to generate addresses with a narrow bit width without discarding old software assets. This has the advantage that it can be used effectively on software.

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

第1図は本発明の第1の実施例に係るアドレス生成装置
の主要構成要素を示す概略ブロック図、第2図はラップ
アラウンドしたメモリ領域を示す図、第3図は第2の実
施例に係るアドレス生成装置の32ビット加算器の構成
を示す部分ブロック図、第4図は本発明の第3の実施例
にかかるアドレス生成装置の主要構成部分を示す概略ブ
ロック図である。 符号の説明 ■−・−32ビット加算器 2−・アドレスバス 3−メモリ 4.5−・−バス 6−・レジスタ・ファイル 7−・アドレス比較器 8−制御用論理回路 i i−を桁演算器 I2・−・桁上がり演算器 13−マスク演算器 14−桁上がり切離し処理部 21・−・インクリメンタ 22.23・−バス 24−・−アドレス比較器 25−・−制御用論理回路。
FIG. 1 is a schematic block diagram showing the main components of an address generation device according to a first embodiment of the present invention, FIG. 2 is a diagram showing a wrap-around memory area, and FIG. 3 is a diagram showing a wrap-around memory area. FIG. 4 is a partial block diagram showing the configuration of a 32-bit adder of such an address generation device. FIG. 4 is a schematic block diagram showing the main components of an address generation device according to a third embodiment of the present invention. Explanation of symbols - 32-bit adder 2 - Address bus 3 - Memory 4.5 - Bus 6 - Register file 7 - Address comparator 8 - Control logic circuit i Digit calculation of i- Unit I2 -- Carry calculator 13 -- Mask calculator 14 -- Carry separation processing unit 21 -- Incrementer 22.23 -- Bus 24 -- Address comparator 25 -- Control logic circuit.

Claims (2)

【特許請求の範囲】[Claims] (1)最大アドレスが最小アドレスの直下に位置するよ
うにラップアラウンドした特定領域を少なくとも一部に
有するアドレス空間を生成するマイクロプロセッサのア
ドレス生成装置において、少なくとも一つのアドレス生
成要素に基づき、物理アドレスを生成する物理アドレス
生成手段と、アドレス計算幅を指定するアドレス計算幅
指定手段と、このアドレス計算幅指定手段によって、ビ
ット数の少ない側のアドレス計算幅が指定されていると
きには、前記物理アドレス生成手段によって生成された
物理アドレスが前記特定領域のラップアラウンドさせる
べきアドレスであるか否かを判別する判別手段と、この
判別手段によって、生成された前記物理アドレスがラッ
プアラウンドを行うべきアドレスであると判別された場
合には、生成された前記物理アドレスを、前記特定領域
におけるラップアラウンド先の物理アドレスとなるよう
に変換する変換手段とを有することを特徴とする集積回
路マイクロプロセッサのアドレス生成装置。
(1) In a microprocessor address generation device that generates an address space that includes at least a part of a specific area wrapped around so that the maximum address is located directly below the minimum address, a physical address is generated based on at least one address generation element. physical address generation means for generating a physical address, address calculation width specification means for specifying an address calculation width, and when an address calculation width with a smaller number of bits is specified by the address calculation width specification means, the physical address generation means determining means for determining whether the physical address generated by the means is an address to which wraparound should be performed in the specific area; An address generation device for an integrated circuit microprocessor, characterized in that the address generation device for an integrated circuit microprocessor comprises conversion means for converting the generated physical address into a wrap-around destination physical address in the specific area when the address is determined.
(2)請求項第1項に記載のアドレス生成装置において
、 前記アドレス生成手段は、前記アドレス計算幅指定手段
によって指定される最大幅のビット数に対応するビット
数の加算器を有しており、この加算器を構成する各ビッ
トは、1ビット演算器と桁上がり演算器とを備えており
、少なくとも前記アドレス計算幅指定手段によって指定
される最小幅のビット数に対応する各ビットは、さらに
前記1ビット演算器へ入力される入力要素をマスク可能
なマスク演算器を備えていること特徴とする集積回路マ
イクロプロセッサのアドレス生成装置。
(2) In the address generation device according to claim 1, the address generation means has an adder with a number of bits corresponding to the number of bits of the maximum width designated by the address calculation width designation means. , each bit constituting this adder is equipped with a 1-bit arithmetic unit and a carry arithmetic unit, and each bit corresponding to at least the minimum width bit number specified by the address calculation width specifying means further An address generation device for an integrated circuit microprocessor, characterized in that the address generation device for an integrated circuit microprocessor is provided with a mask calculator capable of masking input elements input to the 1-bit calculator.
JP28064889A 1989-10-27 1989-10-27 Address generating device for microprocessor Pending JPH03142542A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28064889A JPH03142542A (en) 1989-10-27 1989-10-27 Address generating device for microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28064889A JPH03142542A (en) 1989-10-27 1989-10-27 Address generating device for microprocessor

Publications (1)

Publication Number Publication Date
JPH03142542A true JPH03142542A (en) 1991-06-18

Family

ID=17627987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28064889A Pending JPH03142542A (en) 1989-10-27 1989-10-27 Address generating device for microprocessor

Country Status (1)

Country Link
JP (1) JPH03142542A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63213888A (en) * 1987-03-03 1988-09-06 日本電気ホームエレクトロニクス株式会社 Display information processing system
JPS63282527A (en) * 1987-05-14 1988-11-18 Toshiba Corp Addressing circuit for information processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63213888A (en) * 1987-03-03 1988-09-06 日本電気ホームエレクトロニクス株式会社 Display information processing system
JPS63282527A (en) * 1987-05-14 1988-11-18 Toshiba Corp Addressing circuit for information processor

Similar Documents

Publication Publication Date Title
JPS61122747A (en) Data processor
JPH09330236A (en) Microprocessor and peripheral device for the same
US6785798B2 (en) Method and system for circular addressing with efficient memory usage
KR940015806A (en) Data Processing System Providing Extensible Registers and Method Thereof
JPS62237522A (en) Information processor
JP3428741B2 (en) Arithmetic unit, address generator, and program controller
US5224063A (en) Address translation in fft numerical data processor
KR100285142B1 (en) Offset Value Calculation Circuit and Method of Data Processing System
JPH02242355A (en) Microprocessing system with extended address space
JPS5826584B2 (en) data processing equipment
JPH03142542A (en) Address generating device for microprocessor
JPS63111535A (en) Data processor
JPH01220528A (en) Parity generator
JPH053015B2 (en)
JPH0619700B2 (en) Arithmetic unit
JPS6148174B2 (en)
JPH02230320A (en) Data processor
JPS6327746B2 (en)
JPH01236327A (en) Interruption mask control method
JPH0683618A (en) Flag control circuit
JPS59188900A (en) Data processor
JP3787951B2 (en) Code conversion method and code conversion apparatus using the same
JPH0233173B2 (en)
JP2624738B2 (en) Rounding method
JPH04342067A (en) Vector arithmetic unit