JPH027097B2 - - Google Patents
Info
- Publication number
- JPH027097B2 JPH027097B2 JP58159285A JP15928583A JPH027097B2 JP H027097 B2 JPH027097 B2 JP H027097B2 JP 58159285 A JP58159285 A JP 58159285A JP 15928583 A JP15928583 A JP 15928583A JP H027097 B2 JPH027097 B2 JP H027097B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- register
- segment
- information
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
この発明は16ビツトマイクロプロセツサを備
え、セグメント/ページ処理により64KB(キロ
バイト)以上のアドレス空間を実現するマイクロ
プロセツサシステムに関する。
え、セグメント/ページ処理により64KB(キロ
バイト)以上のアドレス空間を実現するマイクロ
プロセツサシステムに関する。
16ビツトマイクロプロセツサは、周知の如く8
ビツトマイクロプロセツサより効率並びに機能の
点で優れ、32ビツトマイクロプロセツサより経済
性の点で優れている。このため16ビツトマイクロ
プロセツサは各種マイクロプロセツサシステムの
中心をなすハードウエアとして広く用いられてい
る。この16ビツトマイクロプロセツサを備えたマ
イクロプロセツサシステムの問題点は、適用可能
なアドレス空間が216バイト即ち64KBを限度とし
ていることであつた。これは、16ビツトマイクロ
プロセツサの外部/内部との情報処理の基本単位
が16ビツト幅であることによる。そこで、64KB
以上のアドレス空間を実現するために、セグメン
トやページアドレスを付加し、16ビツトのアドレ
スを拡張する試みが成されていた。
ビツトマイクロプロセツサより効率並びに機能の
点で優れ、32ビツトマイクロプロセツサより経済
性の点で優れている。このため16ビツトマイクロ
プロセツサは各種マイクロプロセツサシステムの
中心をなすハードウエアとして広く用いられてい
る。この16ビツトマイクロプロセツサを備えたマ
イクロプロセツサシステムの問題点は、適用可能
なアドレス空間が216バイト即ち64KBを限度とし
ていることであつた。これは、16ビツトマイクロ
プロセツサの外部/内部との情報処理の基本単位
が16ビツト幅であることによる。そこで、64KB
以上のアドレス空間を実現するために、セグメン
トやページアドレスを付加し、16ビツトのアドレ
スを拡張する試みが成されていた。
しかし、16ビツトマイクロプロセツサにおける
例えばインデツクス修飾などのアドレス計算で
は、周知の如く16ビツトの範囲でmodがとられる
(mod216=64KBとなる)。このため、たとえセグ
メント/ページ処理を施しても、セグメント/ペ
ージの切り替えを行なわない限り、64KBの壁を
越すことはできなかつた。言い換えれば、セグメ
ント/ページ処理により、64KB以上のアドレス
空間を実現するためには、セグメントやページの
切り替えが必要である。ところが、近年増々用途
が増えてきた図形処理や画像処理のように、膨大
な量のデータを連続するメモリ領域に格納する必
要のあるデータ処理にあつては、セグメントやペ
ージの切り替えを逐一行なうことはプログラム的
にほぼ不可能であつた。このため、図形処理や画
像処理の分野に16ビツトマイクロプロセツサを備
えたマイクロプロセツサシステムを適用すること
は困難であつた。
例えばインデツクス修飾などのアドレス計算で
は、周知の如く16ビツトの範囲でmodがとられる
(mod216=64KBとなる)。このため、たとえセグ
メント/ページ処理を施しても、セグメント/ペ
ージの切り替えを行なわない限り、64KBの壁を
越すことはできなかつた。言い換えれば、セグメ
ント/ページ処理により、64KB以上のアドレス
空間を実現するためには、セグメントやページの
切り替えが必要である。ところが、近年増々用途
が増えてきた図形処理や画像処理のように、膨大
な量のデータを連続するメモリ領域に格納する必
要のあるデータ処理にあつては、セグメントやペ
ージの切り替えを逐一行なうことはプログラム的
にほぼ不可能であつた。このため、図形処理や画
像処理の分野に16ビツトマイクロプロセツサを備
えたマイクロプロセツサシステムを適用すること
は困難であつた。
そこで、64KBを越える大きな連続データ領域
を、セグメントやページの切り替えを行なうこと
なくアクセスができる16ビツトのマイクロプロセ
ツサシステムの実現が要望されている。この場
合、セグメント/ページ処理を適用する既存の
OS(オペレーテイングシステム)を従来通り使用
できることが好ましい。これは、近年16ビツト標
準OSとして広く用いられているUNIX等の優れ
たソフトウエア財産の有効活用を図ることからも
重要である。なお、UNIXは米国ベル研究所
(BTL)でDEC社のPDP11用のOSとして開発さ
れたものである。(UNIXは米国ベル研究所の商
標) 〔発明の目的〕 この発明の目的は、16ビツトマイクロプロセツ
サを用いながら、64KBを越える大きな連続デー
タ領域をセグメントやページの切り替えなしでア
クセスすることができ、しかもセグメント/ペー
ジ処理を適用するUNIXなど既存のプログラムを
搭載できるマイクロプロセツサシステムを提供す
ることにある。
を、セグメントやページの切り替えを行なうこと
なくアクセスができる16ビツトのマイクロプロセ
ツサシステムの実現が要望されている。この場
合、セグメント/ページ処理を適用する既存の
OS(オペレーテイングシステム)を従来通り使用
できることが好ましい。これは、近年16ビツト標
準OSとして広く用いられているUNIX等の優れ
たソフトウエア財産の有効活用を図ることからも
重要である。なお、UNIXは米国ベル研究所
(BTL)でDEC社のPDP11用のOSとして開発さ
れたものである。(UNIXは米国ベル研究所の商
標) 〔発明の目的〕 この発明の目的は、16ビツトマイクロプロセツ
サを用いながら、64KBを越える大きな連続デー
タ領域をセグメントやページの切り替えなしでア
クセスすることができ、しかもセグメント/ペー
ジ処理を適用するUNIXなど既存のプログラムを
搭載できるマイクロプロセツサシステムを提供す
ることにある。
この発明は、メモリ制御系情報が設定されるス
テータスフイールド、セグメント情報が設定され
るセグメントフイールド、および実効アドレスが
設定されるアドレスフイールドからなるメモリア
クセス情報を適用するマイクロプロセツサシステ
ムにおいて、基本メモリと、この基本メモリの延
長上にアドレス空間を持ち同基本メモリより大容
量の図形メモリと、上記ステータスフイールドの
特定ビツトに上記図形メモリのアクセスを指定す
る情報が設定されたとき、上記セグメントフイー
ルドに上記セグメント情報に代えてnビツトの実
効アドレスの上位ビツトが設定され、かつ上記ア
ドレスフイールドに残りのビツトが設定されたメ
モリアクセス情報を生成して外部に出力するメモ
リアクセス情報出力手段を備えたマイクロプロセ
ツサと、このマイクロプロセツサから出力される
メモリアクセス情報のセグメントフイールドの内
容およびアドレスフイールドの一部の内容に基づ
いて索引され、ページデータを出力するセグメン
ト/ページ変換テーブルと、オペランドフエツチ
サイクルで上記特定ビツトが有効でないとき、並
びに命令フエツチサイクルのときは、上記セグメ
ント/ページ変換テーブルの出力と上記アドレス
フイールドの残りの内容とが連結された第1種ア
ドレス情報により上記基本メモリのアドレス空間
をアドレス指定する第1のアドレス指定手段と、
オペランドフエツチサイクルで上記特定ビツトが
有効であるときは、上記セグメントフイールドと
アドレスフイールドの各内容が連結された第2種
アドレス情報により上記図形メモリのアドレス空
間をアドレス指定する第2のアドレス指定手段と
を設けたことを特徴とするものである。
テータスフイールド、セグメント情報が設定され
るセグメントフイールド、および実効アドレスが
設定されるアドレスフイールドからなるメモリア
クセス情報を適用するマイクロプロセツサシステ
ムにおいて、基本メモリと、この基本メモリの延
長上にアドレス空間を持ち同基本メモリより大容
量の図形メモリと、上記ステータスフイールドの
特定ビツトに上記図形メモリのアクセスを指定す
る情報が設定されたとき、上記セグメントフイー
ルドに上記セグメント情報に代えてnビツトの実
効アドレスの上位ビツトが設定され、かつ上記ア
ドレスフイールドに残りのビツトが設定されたメ
モリアクセス情報を生成して外部に出力するメモ
リアクセス情報出力手段を備えたマイクロプロセ
ツサと、このマイクロプロセツサから出力される
メモリアクセス情報のセグメントフイールドの内
容およびアドレスフイールドの一部の内容に基づ
いて索引され、ページデータを出力するセグメン
ト/ページ変換テーブルと、オペランドフエツチ
サイクルで上記特定ビツトが有効でないとき、並
びに命令フエツチサイクルのときは、上記セグメ
ント/ページ変換テーブルの出力と上記アドレス
フイールドの残りの内容とが連結された第1種ア
ドレス情報により上記基本メモリのアドレス空間
をアドレス指定する第1のアドレス指定手段と、
オペランドフエツチサイクルで上記特定ビツトが
有効であるときは、上記セグメントフイールドと
アドレスフイールドの各内容が連結された第2種
アドレス情報により上記図形メモリのアドレス空
間をアドレス指定する第2のアドレス指定手段と
を設けたことを特徴とするものである。
このような構成により、オペランドフエツチサ
イクルにおいては、実行中の命令が基本メモリの
延長上にアドレス空間を持つ大容量図形メモリを
アクセスする命令である場合には、基本メモリを
アクセスする場合と異なる方式で第2種アドレス
指定手段によつて指定されたアドレス(即ちセグ
メント情報に代えてnビツトの実効アドレスの上
位ビツトが設定されたセグメントフイールドと残
りのビツトが設定されたアドレスフイールドの各
内容が連結されたアドレス)により図形メモリの
アドレス空間をアクセスし、図形メモリをアクセ
スする命令でない場合にはセグメント/ページ変
換テーブルの出力をもとに第1種アドレス指定手
段によつて指定されたアドレスにより基本メモリ
のアドレス空間をアクセスする。これに対し、命
令フエツチサイクルにおいては、第1種アドレス
指定手段の指定する基本メモリのアドレス空間が
無条件でアクセスされる。
イクルにおいては、実行中の命令が基本メモリの
延長上にアドレス空間を持つ大容量図形メモリを
アクセスする命令である場合には、基本メモリを
アクセスする場合と異なる方式で第2種アドレス
指定手段によつて指定されたアドレス(即ちセグ
メント情報に代えてnビツトの実効アドレスの上
位ビツトが設定されたセグメントフイールドと残
りのビツトが設定されたアドレスフイールドの各
内容が連結されたアドレス)により図形メモリの
アドレス空間をアクセスし、図形メモリをアクセ
スする命令でない場合にはセグメント/ページ変
換テーブルの出力をもとに第1種アドレス指定手
段によつて指定されたアドレスにより基本メモリ
のアドレス空間をアクセスする。これに対し、命
令フエツチサイクルにおいては、第1種アドレス
指定手段の指定する基本メモリのアドレス空間が
無条件でアクセスされる。
第1図はこの発明の一実施例に係るマイクロプ
ロセツサシステムの概略構成を示すブロツク図で
ある。同図において符号101で示される16ビツ
トマイクロプロセツサ(以下μPと称する)には、
当該μP101に基本クロツクEBCLKを与えるク
ロツク発生回路102が信号ライン103により
接続されている。同じくμP101には各種マイ
クロプログラムが格納されているROM構成の制
御記憶(以下、C−ROMと称する)104が、
ROMアドレスライン105により接続されてい
る。C−ROM104から出力されるマイクロ命
令(20ビツト)は割込み信号群(12ビツト)と連
結され、ゲート回路106を介してコモンバス
(以下、C−BUSと称する)107に導かれる。
C−BUS107はμP101と外部との間の共通
データ連絡路であり、32ビツト幅で構成されてい
る。C−BUS107を往来する情報としては、
C−ROM104の出力データ(マイクロ命令)、
後述するメモリアクセス情報、メモリデータ、入
出力データ等がある。これらのデータはC−
BUS107は時分割で往来する。このC−BUS
107にはゲート回路108が設けられている。
ゲート回路108は当該ゲート回路108を境に
C−BUS107を電気的に切離すのに用いられ
る。このゲート回路108には、μP101から
のROM出力可信号(ROM Output Enable
Signal)ROEをレベル反転するインバータ10
9の出力が開閉制御信号として供給される。ま
た、ゲート回路106にはROM出力可信号ROE
が開閉制御信号として供給される。このROM出
力可信号ROEはマイクロ命令リードサイクルに
おいてμP101から出力される。したがつて、
マイクロ命令リードサイクルにおいては、ゲート
回路106が開制御され、C−ROM104の出
力データ(マイクロ命令)がC−BUS107経
由でμP101に取込まれる。このとき、ゲート
回路108は閉制御されるため、C−BUS10
7はゲート回路108を境に電気的に切離され
る。一方、マイクロ命令リードサイクル以外で
は、ゲート回路106が閉制御されると共に、ゲ
ート回路108が開制御される。このとき、ゲー
ト回路110,111などの一つが選択的に開制
御される。ゲート回路110,111は後続する
メモリデータライン(32ビツト)123,127
とC−BUS107とを電気的に接続するのに用
いられる。
ロセツサシステムの概略構成を示すブロツク図で
ある。同図において符号101で示される16ビツ
トマイクロプロセツサ(以下μPと称する)には、
当該μP101に基本クロツクEBCLKを与えるク
ロツク発生回路102が信号ライン103により
接続されている。同じくμP101には各種マイ
クロプログラムが格納されているROM構成の制
御記憶(以下、C−ROMと称する)104が、
ROMアドレスライン105により接続されてい
る。C−ROM104から出力されるマイクロ命
令(20ビツト)は割込み信号群(12ビツト)と連
結され、ゲート回路106を介してコモンバス
(以下、C−BUSと称する)107に導かれる。
C−BUS107はμP101と外部との間の共通
データ連絡路であり、32ビツト幅で構成されてい
る。C−BUS107を往来する情報としては、
C−ROM104の出力データ(マイクロ命令)、
後述するメモリアクセス情報、メモリデータ、入
出力データ等がある。これらのデータはC−
BUS107は時分割で往来する。このC−BUS
107にはゲート回路108が設けられている。
ゲート回路108は当該ゲート回路108を境に
C−BUS107を電気的に切離すのに用いられ
る。このゲート回路108には、μP101から
のROM出力可信号(ROM Output Enable
Signal)ROEをレベル反転するインバータ10
9の出力が開閉制御信号として供給される。ま
た、ゲート回路106にはROM出力可信号ROE
が開閉制御信号として供給される。このROM出
力可信号ROEはマイクロ命令リードサイクルに
おいてμP101から出力される。したがつて、
マイクロ命令リードサイクルにおいては、ゲート
回路106が開制御され、C−ROM104の出
力データ(マイクロ命令)がC−BUS107経
由でμP101に取込まれる。このとき、ゲート
回路108は閉制御されるため、C−BUS10
7はゲート回路108を境に電気的に切離され
る。一方、マイクロ命令リードサイクル以外で
は、ゲート回路106が閉制御されると共に、ゲ
ート回路108が開制御される。このとき、ゲー
ト回路110,111などの一つが選択的に開制
御される。ゲート回路110,111は後続する
メモリデータライン(32ビツト)123,127
とC−BUS107とを電気的に接続するのに用
いられる。
符号112で示される主記憶装置(以下、
MMUと称する)は、UNIXメモリ113および
図形メモリ114を備えている。UNIXメモリ1
13は、基本ソフト(OS)、例えばUNIXおよび
UNIXのもとで走行するプログラム等の格納用メ
モリである。UNIXメモリ113のメモリ領域
(アドレス空間)は1MB(メガバイト)である。
一方、図形メモリ114は、図形表示回路115
によつてCRTモニタ116に表示される図形デ
ータの格納用メモリである。図形メモリ114の
メモリ領域(アドレス空間)は16MBである。こ
の実施例において、図形メモリ114の16MBの
アドレス空間は、UNIXメモリ113の1MBの
アドレス大容量の延長上に存在する。UNIXメモ
リ113に対するアドレス情報(20ビツト)はア
ドレス変換装置117からメモリアドレスライン
118経由で与えられる。これに対し、図形メモ
リ114に対するアドレス情報(24ビツト)はア
ドレス変換装置117または図形表示回路115
から与えられる。即ちアドレス変換装置117か
らのアドレス情報(24ビツト)はメモリアドレス
ライン119経由でマルチプレクサ120に導か
れる。また、図形表示回路115からのアドレス
情報(24ビツト)はメモリアドレスライン121
経由で同じくマルチプレクサ120に導かれる。
マルチプレクサ120はメモリアドレスライン1
19,121のいずれか一方を図形メモリ114
のメモリアドレスライン122に電気的に接続す
る。この結果、アドレス変換装置117または図
形表示回路115からのアドレス情報(24ビツ
ト)が図形メモリ114に導かれる。また、
UNIXメモリ113のメモリデータライン(32ビ
ツト)123は、前記ゲート回路110によりC
−BUS107に電気的に接続される。一方、図
形メモリ114のメモリデータライン(32ビツ
ト)124は、マルチプレクサ125によりメモ
リデータライン(32ビツト)126,127のい
ずれか一方に電気的に接続される。このメモリデ
ータライン126は図形表示回路115に接続さ
れる。また、メモリデータライン127には前記
ゲート回路111によりC−BUS107に電気
的に接続される。
MMUと称する)は、UNIXメモリ113および
図形メモリ114を備えている。UNIXメモリ1
13は、基本ソフト(OS)、例えばUNIXおよび
UNIXのもとで走行するプログラム等の格納用メ
モリである。UNIXメモリ113のメモリ領域
(アドレス空間)は1MB(メガバイト)である。
一方、図形メモリ114は、図形表示回路115
によつてCRTモニタ116に表示される図形デ
ータの格納用メモリである。図形メモリ114の
メモリ領域(アドレス空間)は16MBである。こ
の実施例において、図形メモリ114の16MBの
アドレス空間は、UNIXメモリ113の1MBの
アドレス大容量の延長上に存在する。UNIXメモ
リ113に対するアドレス情報(20ビツト)はア
ドレス変換装置117からメモリアドレスライン
118経由で与えられる。これに対し、図形メモ
リ114に対するアドレス情報(24ビツト)はア
ドレス変換装置117または図形表示回路115
から与えられる。即ちアドレス変換装置117か
らのアドレス情報(24ビツト)はメモリアドレス
ライン119経由でマルチプレクサ120に導か
れる。また、図形表示回路115からのアドレス
情報(24ビツト)はメモリアドレスライン121
経由で同じくマルチプレクサ120に導かれる。
マルチプレクサ120はメモリアドレスライン1
19,121のいずれか一方を図形メモリ114
のメモリアドレスライン122に電気的に接続す
る。この結果、アドレス変換装置117または図
形表示回路115からのアドレス情報(24ビツ
ト)が図形メモリ114に導かれる。また、
UNIXメモリ113のメモリデータライン(32ビ
ツト)123は、前記ゲート回路110によりC
−BUS107に電気的に接続される。一方、図
形メモリ114のメモリデータライン(32ビツ
ト)124は、マルチプレクサ125によりメモ
リデータライン(32ビツト)126,127のい
ずれか一方に電気的に接続される。このメモリデ
ータライン126は図形表示回路115に接続さ
れる。また、メモリデータライン127には前記
ゲート回路111によりC−BUS107に電気
的に接続される。
次にアドレス変換装置117について詳述す
る。第2図はアドレス変換装置117の構成を示
すブロツク図である。アドレス変換装置117は
第1図に示すようにメモリアクセス情報ライン
(32ビツト)128によりC−BUS107に接続
されている。アドレス変換装置117には、第2
図に示すように、32ビツトのラツチレジスタ20
1が設けられている。ラツチレジスタ201は、
メモリアクセス情報ライン128経由でC−
BUS107から供給される情報(32ビツト)が
メモリアクセス情報のときに、当該情報をラツチ
する。これは、C−BUS103上の情報が
MMU112に対するメモリアクセスに関する情
報(メモリアクセス情報)であることを示す信号
MA(Memory Address)が、ラツチレジスタ2
01のラツチタイミング信号として用いられてい
ることによる。この信号MAはμP101から与
えられる。
る。第2図はアドレス変換装置117の構成を示
すブロツク図である。アドレス変換装置117は
第1図に示すようにメモリアクセス情報ライン
(32ビツト)128によりC−BUS107に接続
されている。アドレス変換装置117には、第2
図に示すように、32ビツトのラツチレジスタ20
1が設けられている。ラツチレジスタ201は、
メモリアクセス情報ライン128経由でC−
BUS107から供給される情報(32ビツト)が
メモリアクセス情報のときに、当該情報をラツチ
する。これは、C−BUS103上の情報が
MMU112に対するメモリアクセスに関する情
報(メモリアクセス情報)であることを示す信号
MA(Memory Address)が、ラツチレジスタ2
01のラツチタイミング信号として用いられてい
ることによる。この信号MAはμP101から与
えられる。
第3図はメモリアクセス情報のフオーマツトを
示す。メモリアクセス情報は8ビツトのステータ
スフイールド(ビツト0〜ビツト7)、8ビツト
のセグメントフイールド(ビツト8〜ビツト15)、
16ビツトのアドレスフイールド(ビツト16〜ビツ
ト31)からなつている。ステータスフイールドは
メモリ制御系情報のフイールドである。ステータ
スフイールドは、命令フエツチ(Instruction
Fetch)IFかオペランドフエツチ(Operand
Fetch)OFかを指定するIF/OFビツト(“1”
で命令フエツチ、“0”でオペランドフエツチを
示す)、メモリリードかメモリライトかを指定す
るR/Wビツトを有している。更に、ステータス
フイールドは、図形メモリ114へのアクセスか
否か、即ち図形メモリ114へのアクセスか或い
はUNIXメモリ113へのアクセスかを指定する
Xビツトを有している。また、セグメントフイー
ルドは基本的にはセグメント情報(下位4ビツト
が有効)のフイールドである。またアドレスフイ
ールドは、命令フエツチの場合には16ビツトの命
令アドレス、オペランドフエツチの場合には16ビ
ツトのオペランドアドレスのフイールドである。
但し、Xビツトが図形メモリ114へのアクセス
を指定する(X=“0”)の場合には、セグメント
フイールドは24ビツトのオペランドアドレスの上
位8ビツトのフイールドとなり、アドレスフイー
ルドは24ビツトのオペランドアドレスの残りビツ
ト(下位16ビツト)のフイールドとなる。
示す。メモリアクセス情報は8ビツトのステータ
スフイールド(ビツト0〜ビツト7)、8ビツト
のセグメントフイールド(ビツト8〜ビツト15)、
16ビツトのアドレスフイールド(ビツト16〜ビツ
ト31)からなつている。ステータスフイールドは
メモリ制御系情報のフイールドである。ステータ
スフイールドは、命令フエツチ(Instruction
Fetch)IFかオペランドフエツチ(Operand
Fetch)OFかを指定するIF/OFビツト(“1”
で命令フエツチ、“0”でオペランドフエツチを
示す)、メモリリードかメモリライトかを指定す
るR/Wビツトを有している。更に、ステータス
フイールドは、図形メモリ114へのアクセスか
否か、即ち図形メモリ114へのアクセスか或い
はUNIXメモリ113へのアクセスかを指定する
Xビツトを有している。また、セグメントフイー
ルドは基本的にはセグメント情報(下位4ビツト
が有効)のフイールドである。またアドレスフイ
ールドは、命令フエツチの場合には16ビツトの命
令アドレス、オペランドフエツチの場合には16ビ
ツトのオペランドアドレスのフイールドである。
但し、Xビツトが図形メモリ114へのアクセス
を指定する(X=“0”)の場合には、セグメント
フイールドは24ビツトのオペランドアドレスの上
位8ビツトのフイールドとなり、アドレスフイー
ルドは24ビツトのオペランドアドレスの残りビツ
ト(下位16ビツト)のフイールドとなる。
再び第2図を参照すると、ラツチレジスタ20
1から出力される32ビツトのメモリアクセス情報
のうち、ビツト15の情報およびIF/OFビツトは
オアゲート202に導かれる。しかしてメモリアク
セス情報中のビツト12〜ビツト14の情報と、オア
ゲート202の出力と、メモリアクセス情報中の
ビツト16〜ビツト21の情報との連結情報(10ビツ
ト)は信号ライン203を介してゲート回路20
4に供給される。このゲート回路204にはメモ
リアクセス情報中のXビツトが開閉制御信号とし
て供給される。ゲート回路204はX=“1”の
とき開制御され、信号ライン203上の情報(10
ビツト)を信号ライン205経由でセグメント/
ページ変換テーブル206に供給する。
1から出力される32ビツトのメモリアクセス情報
のうち、ビツト15の情報およびIF/OFビツトは
オアゲート202に導かれる。しかしてメモリアク
セス情報中のビツト12〜ビツト14の情報と、オア
ゲート202の出力と、メモリアクセス情報中の
ビツト16〜ビツト21の情報との連結情報(10ビツ
ト)は信号ライン203を介してゲート回路20
4に供給される。このゲート回路204にはメモ
リアクセス情報中のXビツトが開閉制御信号とし
て供給される。ゲート回路204はX=“1”の
とき開制御され、信号ライン203上の情報(10
ビツト)を信号ライン205経由でセグメント/
ページ変換テーブル206に供給する。
ここで、セグメント/ページ変換テーブル20
6について説明する。UNIXのデータ構造は、第
4図に示す如く一定サイズ(この例では1KB)
のメモリブロツクが樹(Tree)状につながつた
ものである。樹状につながつたブロツク群の大元
となるブロツクはRootセグメント称される。セ
グメント/ページ変換テーブル206は、このよ
うな1KB単位の細分化されたメモリブロツクを、
樹状につなぎ、かつ物理アドレス上にアロケート
するために設けられたものである。UNIXでは、
命令部とデータ部とに常に対となつて1つのプロ
セス(タスクに相当)に割当てられる。そして、
各プロセスが第5図に示される如くセグメント/
ページ変換テーブル206に割振られる。この実
施例では、16のセグメントからなる1MBのア
ドレス空間(論理アドレス空間)が適用されてい
る。1セグメント当りのページ数は64、1ペー
ジの表わすメモリサイズは1KBである。各プロ
セスを構成する命令部、データ部はそれぞれ寄数
セグメント(これを命令セグメントと称する)、
偶数セグメント(これをデータセグメントと称す
る)に割振られる。セグメント/ページ変換テー
ブル206は、各セグメント内の各ページと、こ
れらのページが置かれる、物理アドレス空間(こ
の例ではUNIXメモリ113の1MBのメモリ空
間)内の1KBの領域との対応テーブルである。
即ちセグメント/ページ変換テーブル206は、
セグメント番号(4ビツト)およびページ番号
(6ビツト)と10ビツトのページフレーム番号
(ページデータ)との対応テーブルである。
6について説明する。UNIXのデータ構造は、第
4図に示す如く一定サイズ(この例では1KB)
のメモリブロツクが樹(Tree)状につながつた
ものである。樹状につながつたブロツク群の大元
となるブロツクはRootセグメント称される。セ
グメント/ページ変換テーブル206は、このよ
うな1KB単位の細分化されたメモリブロツクを、
樹状につなぎ、かつ物理アドレス上にアロケート
するために設けられたものである。UNIXでは、
命令部とデータ部とに常に対となつて1つのプロ
セス(タスクに相当)に割当てられる。そして、
各プロセスが第5図に示される如くセグメント/
ページ変換テーブル206に割振られる。この実
施例では、16のセグメントからなる1MBのア
ドレス空間(論理アドレス空間)が適用されてい
る。1セグメント当りのページ数は64、1ペー
ジの表わすメモリサイズは1KBである。各プロ
セスを構成する命令部、データ部はそれぞれ寄数
セグメント(これを命令セグメントと称する)、
偶数セグメント(これをデータセグメントと称す
る)に割振られる。セグメント/ページ変換テー
ブル206は、各セグメント内の各ページと、こ
れらのページが置かれる、物理アドレス空間(こ
の例ではUNIXメモリ113の1MBのメモリ空
間)内の1KBの領域との対応テーブルである。
即ちセグメント/ページ変換テーブル206は、
セグメント番号(4ビツト)およびページ番号
(6ビツト)と10ビツトのページフレーム番号
(ページデータ)との対応テーブルである。
再び第2図を参照すると、セグメント/ページ
変換テーブル206は信号ライン205経由で供
給される10ビツトの情報によつて索引される。こ
の10ビツト情報は、前述したようにメモリアクセ
ス情報中のビツト12〜ビツト14の情報と、IF/
OFビツトとビツト15の情報との論理和出力と、
ビツト16〜ビツト21の情報との連結情報である。
上記ビツト12〜ビツト15の情報は、X=“1”の
場合、セグメント情報(セグメント番号)を示
す。但し、ビツト15は論理“0”となつている。
即ち、X=“1”の場合のビツト12〜ビツト15の
情報は、該当プロセスが割振られる連続する2つ
のセグメントの先頭セグメント(偶数セグメン
ト)を示す。そこで、ビツト15に代えてオアゲー
ト202の出力(IF/OFビツトとビツト15の情
報との論理和出力)を用いることにより、1つの
プロセスを命令セグメントとデータセグメントの
2つに正しく振分けることができる。一方、ビツ
ト16〜ビツト21の情報は、X=“1”の場合、ペ
ージ番号を示す。以上の説明から明らかなよう
に、上記10ビツトの情報はセグメント番号とペー
ジ番号との連結情報である。したがつて、この情
報がセグメント/ページ変換テーブル206に供
給されることにより、当該テーブル206から対
応するページフレーム番号(10ビツト)を信号ラ
イン207に取出すことができる。この信号ライ
ン207上のページフレーム番号は、信号ライン
208により導かれる、ラツチレジスタ201の
ビツト22〜ビツト31の情報と連結され、(UNIX
メモリ113の)メモリアドレスライン118に
導かれる。このビツト22〜ビツト31の情報は、X
=“1”の場合、ページ内のデイスプレースメン
トを示す。したがつて、メモリアドレスライン1
18上の情報はUNIXメモリ113をアドレツシ
ングするための物理アドレス(第1種アドレス情
報)となる。
変換テーブル206は信号ライン205経由で供
給される10ビツトの情報によつて索引される。こ
の10ビツト情報は、前述したようにメモリアクセ
ス情報中のビツト12〜ビツト14の情報と、IF/
OFビツトとビツト15の情報との論理和出力と、
ビツト16〜ビツト21の情報との連結情報である。
上記ビツト12〜ビツト15の情報は、X=“1”の
場合、セグメント情報(セグメント番号)を示
す。但し、ビツト15は論理“0”となつている。
即ち、X=“1”の場合のビツト12〜ビツト15の
情報は、該当プロセスが割振られる連続する2つ
のセグメントの先頭セグメント(偶数セグメン
ト)を示す。そこで、ビツト15に代えてオアゲー
ト202の出力(IF/OFビツトとビツト15の情
報との論理和出力)を用いることにより、1つの
プロセスを命令セグメントとデータセグメントの
2つに正しく振分けることができる。一方、ビツ
ト16〜ビツト21の情報は、X=“1”の場合、ペ
ージ番号を示す。以上の説明から明らかなよう
に、上記10ビツトの情報はセグメント番号とペー
ジ番号との連結情報である。したがつて、この情
報がセグメント/ページ変換テーブル206に供
給されることにより、当該テーブル206から対
応するページフレーム番号(10ビツト)を信号ラ
イン207に取出すことができる。この信号ライ
ン207上のページフレーム番号は、信号ライン
208により導かれる、ラツチレジスタ201の
ビツト22〜ビツト31の情報と連結され、(UNIX
メモリ113の)メモリアドレスライン118に
導かれる。このビツト22〜ビツト31の情報は、X
=“1”の場合、ページ内のデイスプレースメン
トを示す。したがつて、メモリアドレスライン1
18上の情報はUNIXメモリ113をアドレツシ
ングするための物理アドレス(第1種アドレス情
報)となる。
次に、ラツチレジスタ201にラツチされるメ
モリアクセス情報の生成について説明するため
に、まず当該情報を生成出力するμP101につ
いて説明する。第6図はμP101の内部構成を
示すブロツク図である。μP101は32ビツト幅
のC−BUS107用端子、12ビツト幅のROMア
ドレスライン105用端子などを含む合計64個の
端子により外部回路と接続される。μP101内
に収容される機能ロジツクには次のようなものが
ある。
モリアクセス情報の生成について説明するため
に、まず当該情報を生成出力するμP101につ
いて説明する。第6図はμP101の内部構成を
示すブロツク図である。μP101は32ビツト幅
のC−BUS107用端子、12ビツト幅のROMア
ドレスライン105用端子などを含む合計64個の
端子により外部回路と接続される。μP101内
に収容される機能ロジツクには次のようなものが
ある。
(1) MIR(Micro Instruction Register)
……301 20bits
C−ROM104より読出されたマイクロ命
令を格納するためのレジスタであり、C−
ROM104から読出されたマイクロ命令がC
−BUS107を経てこのレジスタにセツトさ
れる。
令を格納するためのレジスタであり、C−
ROM104から読出されたマイクロ命令がC
−BUS107を経てこのレジスタにセツトさ
れる。
(2) IR(Instruction Register)
……302 16bits
現在実行中のユーザ命令を保持するレジスタ
である。ユーザ命令の先取りを行なう命令バツ
フア(IB0〜3バツフア)から、ユーザ命令のフ
エツチ時にユーザ命令コードがこのレジスタに
転送される。
である。ユーザ命令の先取りを行なう命令バツ
フア(IB0〜3バツフア)から、ユーザ命令のフ
エツチ時にユーザ命令コードがこのレジスタに
転送される。
(3) IB0〜3(Instruction Buffer)
……303 16bits×4
ユーザ命令の先取りを行なうためのレジスタ
(命令バツフア)である。IRレジスタ302に
保持されているユーザ命令の実行が終ると、こ
のレジスタから次のユーザ命令がIRレジスタ
302に転送される。マイクロ命令によつて
IB0〜3バツフア303の内容は内部バスT−
BUS327T、R−BUS327Rへ読出すこと
ができるが、T−BUS327TまたはR−BUS
327Rから書込むことはできない。IB0〜3バ
ツフア303へのユーザ命令の書込みはC−
BUS107を経由して行なわれる。
(命令バツフア)である。IRレジスタ302に
保持されているユーザ命令の実行が終ると、こ
のレジスタから次のユーザ命令がIRレジスタ
302に転送される。マイクロ命令によつて
IB0〜3バツフア303の内容は内部バスT−
BUS327T、R−BUS327Rへ読出すこと
ができるが、T−BUS327TまたはR−BUS
327Rから書込むことはできない。IB0〜3バ
ツフア303へのユーザ命令の書込みはC−
BUS107を経由して行なわれる。
(4) MDRH(Memory Data Register High)
……304 16bits
C−BUS107上の32ビツトのデータのう
ち、上位16ビツトを保持するレジスタである。
C−BUS107からのデータセツトとC−
BUS107へのデータ送出ができる。更にR
−BUS327R、T−BUS327Tへのデータ
送出とT−BUS327Tからのデータセツトが
行なえる。
ち、上位16ビツトを保持するレジスタである。
C−BUS107からのデータセツトとC−
BUS107へのデータ送出ができる。更にR
−BUS327R、T−BUS327Tへのデータ
送出とT−BUS327Tからのデータセツトが
行なえる。
(5) MDRL(Memory Data Register Low)
……305 16bits
C−BUS107上の32ビツトのデータのう
ち、下位16ビツトを保持するレジスタである。
C−BUS107からのデータセツトと、C−
BUS107へのデータ送出ができる。更にR
−BUS327R、T−BUS327Tへのデータ
送出と、T−BUS327Tからのデータセツト
が行なえる。
ち、下位16ビツトを保持するレジスタである。
C−BUS107からのデータセツトと、C−
BUS107へのデータ送出ができる。更にR
−BUS327R、T−BUS327Tへのデータ
送出と、T−BUS327Tからのデータセツト
が行なえる。
(6) MAR(Memory Address Register)
……306 16bits
MMU112のオペランドアドレス(論理ア
ドレス)を保持するレジスタである。この
MARレジスタ306は「2」又は「4」単位
毎のカウント機能をもつ。
ドレス)を保持するレジスタである。この
MARレジスタ306は「2」又は「4」単位
毎のカウント機能をもつ。
(7) SGA、SGB(Segment Register A、B)
……3071、30728bits×2
論理アドレス空間に拡張するためのレジスタ
であり、一般にセグメントを指定するための情
報が貯えられる。このレジスタ内容がMARレ
ジスタ306または後述するALOCレジスタ3
09の内容と共に物理アドレスの生成源とな
る。通常はSGAレジスタ3071が用いられ、
特定命令のとき一時的にSGBレジスタ3072
が用いられる。またSGBレジスタ3072は、
図形メモリ114をアクセスする際に、24ビツ
トのオペランドアドレスの上位8ビツトを貯え
るのに用いられる。
であり、一般にセグメントを指定するための情
報が貯えられる。このレジスタ内容がMARレ
ジスタ306または後述するALOCレジスタ3
09の内容と共に物理アドレスの生成源とな
る。通常はSGAレジスタ3071が用いられ、
特定命令のとき一時的にSGBレジスタ3072
が用いられる。またSGBレジスタ3072は、
図形メモリ114をアクセスする際に、24ビツ
トのオペランドアドレスの上位8ビツトを貯え
るのに用いられる。
(8) LOC(Location Counter)
……308 16bits
ユーザ命令アドレスを保持するカウンタで、
ユーザ命令のフエツチ毎に「2」ずつカウント
アツプされ、次のユーザ命令アドレスを保持す
る。
ユーザ命令のフエツチ毎に「2」ずつカウント
アツプされ、次のユーザ命令アドレスを保持す
る。
(9) ALOC(Advanced Location Counter)
……309 16bits
MMU112(のUNIXメモリ113)から
次に読出すユーザ命令のアドレスを格納するレ
ジスタで、命令先取り制御を行なうため、
LOC308が保持しているアドレスより+2
バイト又は+4バイト分進んでいる。
次に読出すユーザ命令のアドレスを格納するレ
ジスタで、命令先取り制御を行なうため、
LOC308が保持しているアドレスより+2
バイト又は+4バイト分進んでいる。
(10) CNTR(Counter Register)
……310 8bits
2進減算カウンタで、マイクロプログラムの
ループカウント、乗除算、シフトの場合等に使
用される。
ループカウント、乗除算、シフトの場合等に使
用される。
(11) WR0〜7(Working Register)
……311 16bits×8
マイクロプログラムの中で演算の途中結果を
保持するために使用される。マイクロ命令にて
ソース、デステイネーシヨンレジスタとして直
接指定できる。
保持するために使用される。マイクロ命令にて
ソース、デステイネーシヨンレジスタとして直
接指定できる。
(12) GR0〜15(General Register)
……312 16bits×16
汎用レジスタであり、ユーザ命令にてアクセ
スできる。アキユームレータ、インデツクスレ
ジスタ等に用いられる。
スできる。アキユームレータ、インデツクスレ
ジスタ等に用いられる。
(13) PSW(Program Status Word)
……313 16bits
μP内部状態を記憶するレジスタで、割込み
マスク、演算結果の内部状態、メモリアドレス
モード、マスタ/スレーブモード等種々の内部
状態を保持している。
マスク、演算結果の内部状態、メモリアドレス
モード、マスタ/スレーブモード等種々の内部
状態を保持している。
(14) FLA FLB(Flag Register A、B)
……3141、3144bits×2
算術/論理演算の状態を記憶するレジスタで
ある。
ある。
(15) QR(Quotient Register)
……315 16bits
算術/論理演算を行なうALU320、及び
高速シフトを行なうSHF321の補助として
使用されるレジスタである。
高速シフトを行なうSHF321の補助として
使用されるレジスタである。
(16) RAR(ROM Address Register)
……316 12bits
次に読出されるマイクロ命令のアドレスを保
持するレジスタであり、このRARレジスタ3
16に貯えられたアドレスは12ビツト幅の
ROMアドレスライン105を経由してC−
ROM104に送られる。このRARレジスタ3
16はマイクロ命令を読出す毎に+1するカウ
ンタ機能をもつ。
持するレジスタであり、このRARレジスタ3
16に貯えられたアドレスは12ビツト幅の
ROMアドレスライン105を経由してC−
ROM104に送られる。このRARレジスタ3
16はマイクロ命令を読出す毎に+1するカウ
ンタ機能をもつ。
(17) SLR(Subroutine Link Register)
……317 12bits
マイクロプログラムでサブルーチン分岐を行
なう場合に、戻り先番地を格納しておくための
レジスタである。
なう場合に、戻り先番地を格納しておくための
レジスタである。
(18) A−ROM(Internal ROM・A)
……318 12bits×2
システルクリア後のマイクロプログラムのス
タート番地、および割込みの発生が検出された
後に展開するマイクロプログラムのスタート番
地を記憶する内部ROMである。
タート番地、および割込みの発生が検出された
後に展開するマイクロプログラムのスタート番
地を記憶する内部ROMである。
(19) B−ROM(Internal ROM・B)
……318 12bits×256
ユーザ命令のOPコードに対するマイクロプ
ログラムの対応テーブルをなす内部ROMであ
り、IRレジスタ302のOPコード部(8ビツ
ト)で指定することのできるC−ROM104
のアドレス(0〜255番地)に対応したアドレ
スを持ち、B−ROM319のその各番地に
は、上記OPコードに対するマイクロプログラ
ムが1ステツプで終了するか、2ステツプ以上
を要するか、イリーガル命令扱いとするか等の
判断情報を記憶している。このときB−ROM
319の各番地に対応するC−ROM104の
各番地には、1マイクロステツプで終了する場
合にはそのマイクロ命令が、又、2マイクロス
テツプ以上を要する場合には1ステツプ目のマ
イクロ命令が記憶され、B−ROM319に2
ステツプ目のマイクロ命令の入つているC−
ROM番地が記憶されている。更に、イリーガ
ル命令のときには、C−ROM104にはイリ
ーガル命令に対するエラー処理用マイクロプロ
グラムの開始番地が記憶されている。
ログラムの対応テーブルをなす内部ROMであ
り、IRレジスタ302のOPコード部(8ビツ
ト)で指定することのできるC−ROM104
のアドレス(0〜255番地)に対応したアドレ
スを持ち、B−ROM319のその各番地に
は、上記OPコードに対するマイクロプログラ
ムが1ステツプで終了するか、2ステツプ以上
を要するか、イリーガル命令扱いとするか等の
判断情報を記憶している。このときB−ROM
319の各番地に対応するC−ROM104の
各番地には、1マイクロステツプで終了する場
合にはそのマイクロ命令が、又、2マイクロス
テツプ以上を要する場合には1ステツプ目のマ
イクロ命令が記憶され、B−ROM319に2
ステツプ目のマイクロ命令の入つているC−
ROM番地が記憶されている。更に、イリーガ
ル命令のときには、C−ROM104にはイリ
ーガル命令に対するエラー処理用マイクロプロ
グラムの開始番地が記憶されている。
(20) ALU(Arithmetic and Logic Unit)
……320
2進・16ビツト並列の算術・論理演算を行な
う組合せ論理回路であり、10進1桁の加減算回
路も含まれる。R−BUS327Rからの演算デ
ータはALU320に直接入力され、又、T−
BUS327Tからの演算データはラツチ回路
(LATCH)330でラツチされた後、ALU3
20に入力される。演算結果はT−BUS32
7Tへ出力される。
う組合せ論理回路であり、10進1桁の加減算回
路も含まれる。R−BUS327Rからの演算デ
ータはALU320に直接入力され、又、T−
BUS327Tからの演算データはラツチ回路
(LATCH)330でラツチされた後、ALU3
20に入力される。演算結果はT−BUS32
7Tへ出力される。
(21) SHF(Shifter)
……321
1〜15ビツトまでの左シフトまたは右シフト
を1サイクルで実行するハードウエアシフタで
ある。シフト数の指定はR−BUS327Rの下
位4ビツトで行なわれる。R−BUS327Rか
らのシフト数指定は直接に、又、T−BUS3
27Tからのデータはラツチ回路(LATCH)
330を介してそれぞれSHF321に入力さ
れる。シフト結果はT−BUS327Tへ出力さ
れる。
を1サイクルで実行するハードウエアシフタで
ある。シフト数の指定はR−BUS327Rの下
位4ビツトで行なわれる。R−BUS327Rか
らのシフト数指定は直接に、又、T−BUS3
27Tからのデータはラツチ回路(LATCH)
330を介してそれぞれSHF321に入力さ
れる。シフト結果はT−BUS327Tへ出力さ
れる。
(22) MUL(Multiplier)
……322
16ビツト×16ビツトの高速乗算器であり、T
−BUS327TおよびR−BUS327Rからデ
ータを入力し、倍長となつた乗算結果は上位レ
ジスタMRH、下位がレジスタMRLに送られ
る。このMRHおよびMRLは何れも仮想的レ
ジスタであり物理的には存在しない。
−BUS327TおよびR−BUS327Rからデ
ータを入力し、倍長となつた乗算結果は上位レ
ジスタMRH、下位がレジスタMRLに送られ
る。このMRHおよびMRLは何れも仮想的レ
ジスタであり物理的には存在しない。
(23) DECODE&CONT(Decoder and
Controler) ……323 MIRレジスタ301に貯えられたマイクロ
命令をデコードし、各種コントロール信号を得
るデコーダおよび制御回路であり、MIRレジ
スタ301の出力以外にも所定の信号が入力さ
れて、デコードされ、又はコントロール信号と
なる。
Controler) ……323 MIRレジスタ301に貯えられたマイクロ
命令をデコードし、各種コントロール信号を得
るデコーダおよび制御回路であり、MIRレジ
スタ301の出力以外にも所定の信号が入力さ
れて、デコードされ、又はコントロール信号と
なる。
(24) XSGN(External Signal Register)
……324 12bits
C−ROM104より読出されるマイクロ命
令と共にC−BUS107経由で入力される割
込み信号群(12ビツト)を貯えるレジスタであ
る。このXSGNレジスタ324の内容は
DECODE&CONT323に送られる。
令と共にC−BUS107経由で入力される割
込み信号群(12ビツト)を貯えるレジスタであ
る。このXSGNレジスタ324の内容は
DECODE&CONT323に送られる。
(25) MCS(Memory Control Status Register)
……326 8bits
DECODE&CONT323より与えられるメ
モリ制御系情報(8種)を貯えるレジスタであ
る。このMCSレジスタ326の肉容はMARレ
ジスタ306(またはALOCレジスタ309)
およびSGAレジスタ3071(またはSGBレジ
スタ3072)の内容と同時にC−BUS107
を経由して外部に送出される。
モリ制御系情報(8種)を貯えるレジスタであ
る。このMCSレジスタ326の肉容はMARレ
ジスタ306(またはALOCレジスタ309)
およびSGAレジスタ3071(またはSGBレジ
スタ3072)の内容と同時にC−BUS107
を経由して外部に送出される。
(26) T−BUS、R−BUS(Transfer Bus、
Receiver Bus) ……327T、327R T−Bus327Tは双方向データ転送が可能
な内部バス、R−Bus327Rは一方向データ
転送のみを行なう内部バスであり、共に16ビツ
ト幅をもち、μP101内部の主としてレジス
タ類相互間におけるデータ転送に供される。
Receiver Bus) ……327T、327R T−Bus327Tは双方向データ転送が可能
な内部バス、R−Bus327Rは一方向データ
転送のみを行なう内部バスであり、共に16ビツ
ト幅をもち、μP101内部の主としてレジス
タ類相互間におけるデータ転送に供される。
また、μP101のC−BUS107(32ビツト)
およびROMアドレスライン105(12ビツト)
を除く各端子に導かれる入出力信号の一部を以下
に示す。
およびROMアドレスライン105(12ビツト)
を除く各端子に導かれる入出力信号の一部を以下
に示す。
(1) ROE(ROM Output Enable)
C−ROM104から読出されたマイクロ命
令をC−BUS107経由で取込むためのタイ
ミング信号。また、C−BUS107を内部側
と外部側とに切離すゲート制御信号、更には割
込み信号群をC−BUS107経由で取込むた
めのタイミング信号としても用いられる。
令をC−BUS107経由で取込むためのタイ
ミング信号。また、C−BUS107を内部側
と外部側とに切離すゲート制御信号、更には割
込み信号群をC−BUS107経由で取込むた
めのタイミング信号としても用いられる。
(2) MA(Memory Address)
C−BUS107上のMMU112に対する
メモリアクセスに関する情報(メモリアクセス
情報)であることを示す信号。この信号によつ
て、メモリアクセス情報を外部に設けた(アド
レス変換装置117内の)ラツチレジスタ20
1にラツチすることができる。
メモリアクセスに関する情報(メモリアクセス
情報)であることを示す信号。この信号によつ
て、メモリアクセス情報を外部に設けた(アド
レス変換装置117内の)ラツチレジスタ20
1にラツチすることができる。
次に、このように構成されたμP101におけ
るメモリアクセス情報の生成と、このメモリアク
セス情報に基づくMMU112のアクセスについ
て説明する。μP101はメモリアクセスに際し、
命令フエツチであるか或いはオペランドフエツチ
であるか、更にはオペランドフエツチであれば当
該オペランドフエツチを伴う命令(実行中の命
令)がα型命令であるか或いはβ型命令であるか
により、対応するメモリアクセス情報(32ビツ
ト)を生成出力する。上記α型命令は(MMU1
12内の)図形メモリ114をアクセスするため
の新規な命令である。これに対しα型命令は
(MMU112内の)UNIXメモリ113のデー
タ部をアクセスするための通常の命令(従来型命
令)である。後述するように、α型命令はセグメ
ント/ページ処理を必要としない命令である。
るメモリアクセス情報の生成と、このメモリアク
セス情報に基づくMMU112のアクセスについ
て説明する。μP101はメモリアクセスに際し、
命令フエツチであるか或いはオペランドフエツチ
であるか、更にはオペランドフエツチであれば当
該オペランドフエツチを伴う命令(実行中の命
令)がα型命令であるか或いはβ型命令であるか
により、対応するメモリアクセス情報(32ビツ
ト)を生成出力する。上記α型命令は(MMU1
12内の)図形メモリ114をアクセスするため
の新規な命令である。これに対しα型命令は
(MMU112内の)UNIXメモリ113のデー
タ部をアクセスするための通常の命令(従来型命
令)である。後述するように、α型命令はセグメ
ント/ページ処理を必要としない命令である。
第7図はβ型命令のフオーマツトを示す。β型
命令は、図示の如く16ビツト部分命令401,4
02からなる2語長命令である。この16ビツト部
分命令401は、8ビツトの命令フイールドOP、
4ビツトのデステイネーシヨンレジスタ指定フイ
ールドGRおよび4ビツトのインデツクスレジス
タ指定フイールドIXからなつている。また16ビ
ツト部分命令402は16ビツトのオペランドアド
レスフイールドAからなる。このオペランドアド
レスフイールドAは、6ビツトのページ番号フイ
ールドPAGEおよび10ビツトのデイスプレイスメ
ントフイールドDISPからなつている。μP101
においては、実行中の命令がβ型命令である場
合、当該命令のフイールドIXで指定されるイン
デツクスレジスタの内容(IX)とフイールドA
の内容との加算A+(IX)が行なわれる。インデ
ツクスレジスタとしてはGR0〜15レジスタ312
の一部が用いられる。この加算(アドレス計算)
はDECODE&CONT323の制御によりALU3
20で行なわれる。ALU320の加算結果、即
ちインデツクス修飾後の16ビツトのアドレス(実
効アドレス)はT−BUS327T経由でMARレ
ジスタ306にロードされる。この実施例では、
オペランドフエツチ時には、実行中の命令がβ型
命令であれば、Xビツトが論理“1”がIF/OF
ビツトが論理“0”である8ビツトのメモリ制御
系情報がDECODE&CONT323の制御により
MCSレジスタ326にセツトされる。これに対
し、命令フエツチサイクル時には、実行中の命令
種別に無関係に、XビツトおよびIF/OFビツト
が共に論理“1”であるメモリ制御系情報が
MCSレジスタ326にセツトされる。
命令は、図示の如く16ビツト部分命令401,4
02からなる2語長命令である。この16ビツト部
分命令401は、8ビツトの命令フイールドOP、
4ビツトのデステイネーシヨンレジスタ指定フイ
ールドGRおよび4ビツトのインデツクスレジス
タ指定フイールドIXからなつている。また16ビ
ツト部分命令402は16ビツトのオペランドアド
レスフイールドAからなる。このオペランドアド
レスフイールドAは、6ビツトのページ番号フイ
ールドPAGEおよび10ビツトのデイスプレイスメ
ントフイールドDISPからなつている。μP101
においては、実行中の命令がβ型命令である場
合、当該命令のフイールドIXで指定されるイン
デツクスレジスタの内容(IX)とフイールドA
の内容との加算A+(IX)が行なわれる。インデ
ツクスレジスタとしてはGR0〜15レジスタ312
の一部が用いられる。この加算(アドレス計算)
はDECODE&CONT323の制御によりALU3
20で行なわれる。ALU320の加算結果、即
ちインデツクス修飾後の16ビツトのアドレス(実
効アドレス)はT−BUS327T経由でMARレ
ジスタ306にロードされる。この実施例では、
オペランドフエツチ時には、実行中の命令がβ型
命令であれば、Xビツトが論理“1”がIF/OF
ビツトが論理“0”である8ビツトのメモリ制御
系情報がDECODE&CONT323の制御により
MCSレジスタ326にセツトされる。これに対
し、命令フエツチサイクル時には、実行中の命令
種別に無関係に、XビツトおよびIF/OFビツト
が共に論理“1”であるメモリ制御系情報が
MCSレジスタ326にセツトされる。
そして、実行中の命令がβ型命令の場合、μP
101はオペランドフエツチに際し、DECODE
&CNT323の制御により、MCSレジスタ32
6の内容とSGAレジスタ3071の内容(下位4
ビツトが有効で最下位ビツトが論理“0”である
8ビツトのセグメント番号)とMARレジスタ3
06の内容との連結情報(32ビツト)をメモリア
クセス情報としてC−BUS107上に送出する。
このとき、μP101は信号MAも出力する。C
−BUS107上のメモリアクセス情報は前述し
たようにメモリアクセス情報ライン128経由で
アドレス変換装置117内のラツチレジスタ20
1に導かれる。このラツチレジスタ201には上
記信号MAがラツチタイミング信号として供給さ
れる。この結果、上記メモリアクセス情報がラツ
チレジスタ201にラツチされる。このときのラ
ツチレジスタ201の内容を第8図に示す。また
μP101は、命令フエツチに際し、実行中の命
令に無関係に、MCSレジスタ326の内容と
SGAレジスタ3071の内容とALOCカウンタ3
09の内容との連結情報をメモリアクセス情報と
してC−BUS107上に送出する。このメモリ
アクセス情報は、上述したオペランドフエツチ時
と同様に、信号MAのタイミングでラツチレジス
タ201にラツチされる。このときのラツチレジ
スタ201の内容を第9図に示す。そしてラツチ
レジスタ201の内容に基づいてUNIXメモリ1
13をアドレツシングするための物理アドレスが
作成されUNIXメモリ113がアクセスされる。
これについては前述しているので説明を省略す
る。
101はオペランドフエツチに際し、DECODE
&CNT323の制御により、MCSレジスタ32
6の内容とSGAレジスタ3071の内容(下位4
ビツトが有効で最下位ビツトが論理“0”である
8ビツトのセグメント番号)とMARレジスタ3
06の内容との連結情報(32ビツト)をメモリア
クセス情報としてC−BUS107上に送出する。
このとき、μP101は信号MAも出力する。C
−BUS107上のメモリアクセス情報は前述し
たようにメモリアクセス情報ライン128経由で
アドレス変換装置117内のラツチレジスタ20
1に導かれる。このラツチレジスタ201には上
記信号MAがラツチタイミング信号として供給さ
れる。この結果、上記メモリアクセス情報がラツ
チレジスタ201にラツチされる。このときのラ
ツチレジスタ201の内容を第8図に示す。また
μP101は、命令フエツチに際し、実行中の命
令に無関係に、MCSレジスタ326の内容と
SGAレジスタ3071の内容とALOCカウンタ3
09の内容との連結情報をメモリアクセス情報と
してC−BUS107上に送出する。このメモリ
アクセス情報は、上述したオペランドフエツチ時
と同様に、信号MAのタイミングでラツチレジス
タ201にラツチされる。このときのラツチレジ
スタ201の内容を第9図に示す。そしてラツチ
レジスタ201の内容に基づいてUNIXメモリ1
13をアドレツシングするための物理アドレスが
作成されUNIXメモリ113がアクセスされる。
これについては前述しているので説明を省略す
る。
なお、セグメントレジスタとしてGR0〜15レジ
スタ312などを用い、命令語中でセグメントレ
ジスタ指定することを行なわないのは次の理由に
よる。即ち、16ビツトマイクロプロセツサシステ
ムでは、命令語中にセグメントレジスタ指定フイ
ールドを設ける余裕が無いためである。そこで、
一般には、この実施例のように特定のセグメント
レジスタ(SGAレジスタ3071)を設け、当該
セグメントレジスタがマイクロプログラムレベル
で(DECODE&CONT223により)自動的に
指定されるようにしている。このセグメントレジ
スタ(SGAレジスタ3071)の内容を更新する
には、特定命令を実行すればよい。しかし、大き
な連続領域をアクセスする場合に、セグメントの
切り替わりを知つてセグメントレジスタ(SGA
レジスタ3071)の内容を逐一更新することは
プログラム上不可能に近い。
スタ312などを用い、命令語中でセグメントレ
ジスタ指定することを行なわないのは次の理由に
よる。即ち、16ビツトマイクロプロセツサシステ
ムでは、命令語中にセグメントレジスタ指定フイ
ールドを設ける余裕が無いためである。そこで、
一般には、この実施例のように特定のセグメント
レジスタ(SGAレジスタ3071)を設け、当該
セグメントレジスタがマイクロプログラムレベル
で(DECODE&CONT223により)自動的に
指定されるようにしている。このセグメントレジ
スタ(SGAレジスタ3071)の内容を更新する
には、特定命令を実行すればよい。しかし、大き
な連続領域をアクセスする場合に、セグメントの
切り替わりを知つてセグメントレジスタ(SGA
レジスタ3071)の内容を逐一更新することは
プログラム上不可能に近い。
次にα型命令によるオペランドフエツチについ
て説明する。α型命令は、第10図に示す如く、
16ビツト部分命令501〜503からなる3語長
命令である。この16ビツト部分命令501は、8
ビツトの命令フイールドOP、4ビツトのデステ
イネーシヨンレジスタ命令フイールドGRおよび
4ビツトのインデツクスレジスタ指令フイールド
IXからなる。また、16ビツト部分命令502は、
8ビツトの転送バイト数指定フイールドnおよび
8ビツトの上位オペランドアドレスフイールドa
からなる。更に16ビツト部分命令503は、16ビ
ツトの下位オペランドアドレスフイールドbから
なる。即ち、この実施例では、24ビツトのオペラ
ンドアドレス(論理アドレス)が上位8ビツト、
下位16ビツトに分割され、それぞれ部分命令50
2,503に分散配置されている。μP101に
おいては、実行中の命令がα型命令である場合、
当該命令のフイールドIXで指定されているイン
デツクスレジスタの内容(IX)と下位オペラン
ドアドレスフイールドbの内容との加算b+
(IX)が行なわれる。この加算(アドレス計算)
はDECODE&CONT323の制御によりALU3
20で行なわれる。ALU320の加算結果、即
ちインデツクス修飾後の16ビツトの下位アドレス
(下位実効アドレス)はT−BUS327T経由で
MARレジスタ306にロードされる。また、
ALU320の加算結果の状態、例えばキヤリー
発生の有無を示すビツト情報はFLAレジスタ3
141に貯えられる。続いて、α型命令の上位オ
ペランドアドレスフイールドaの内容が、ALU
320により+1され、或いはALU320をそ
のまま通過し、T−BUS327T経由でSGBレジ
スタ3072にロードされる。なお、ALU320
による+1処理の有無は、b+(IX)の加算処理
でのキヤリー発生の有無によつて決定される。
て説明する。α型命令は、第10図に示す如く、
16ビツト部分命令501〜503からなる3語長
命令である。この16ビツト部分命令501は、8
ビツトの命令フイールドOP、4ビツトのデステ
イネーシヨンレジスタ命令フイールドGRおよび
4ビツトのインデツクスレジスタ指令フイールド
IXからなる。また、16ビツト部分命令502は、
8ビツトの転送バイト数指定フイールドnおよび
8ビツトの上位オペランドアドレスフイールドa
からなる。更に16ビツト部分命令503は、16ビ
ツトの下位オペランドアドレスフイールドbから
なる。即ち、この実施例では、24ビツトのオペラ
ンドアドレス(論理アドレス)が上位8ビツト、
下位16ビツトに分割され、それぞれ部分命令50
2,503に分散配置されている。μP101に
おいては、実行中の命令がα型命令である場合、
当該命令のフイールドIXで指定されているイン
デツクスレジスタの内容(IX)と下位オペラン
ドアドレスフイールドbの内容との加算b+
(IX)が行なわれる。この加算(アドレス計算)
はDECODE&CONT323の制御によりALU3
20で行なわれる。ALU320の加算結果、即
ちインデツクス修飾後の16ビツトの下位アドレス
(下位実効アドレス)はT−BUS327T経由で
MARレジスタ306にロードされる。また、
ALU320の加算結果の状態、例えばキヤリー
発生の有無を示すビツト情報はFLAレジスタ3
141に貯えられる。続いて、α型命令の上位オ
ペランドアドレスフイールドaの内容が、ALU
320により+1され、或いはALU320をそ
のまま通過し、T−BUS327T経由でSGBレジ
スタ3072にロードされる。なお、ALU320
による+1処理の有無は、b+(IX)の加算処理
でのキヤリー発生の有無によつて決定される。
そして、実行中の命令がα型命令の場合、μP
101はオペランドフエツチに際し、DECODE
&CNT323の制御により、MCSレジスタ32
6の内容とSGBレジスタ3072の内容とMAR
レジスタ306の内容との連結情報(32ビツト)
をメモリアクセス情報としてC−BUS107上
に送出する。このとき、μP101は信号MAも
出力する。C−BUS107上のメモリアクセス
情報はメモリアクセス情報ライン128経由でア
ドレス変換装置117内のラツチレジスタ201
に導かれ、信号MAのタイミングで当該ラツチレ
ジスタ201にラツチされる。このときのラツチ
レジスタ201の内容を第11図に示す。上述の
説明から明らかなように、ラツチレジスタ201
のビツト8〜ビツト15(セグメントフイールド)
には、24ビツトのオペランドアドレス(実効アド
レス)の上位8ビツト(SGBレジスタ3072の
内容)がラツチされている。同じくラツチレジス
タ201のビツト16〜ビツト31(アドレスフイー
ルド)には、24ビツトのオペランドアドレスの残
りの16ビツト(MARレジスタ306の内容)が
ラツチされている。この実施例では、上記24ビツ
トのオペランドアドレス(SGBレジスタ3072
の内容とMARレジスタ306の内容との連結情
報)、即ちa×216+b+(IX)で示されるアドレ
スが、以下に述べるようにMMU112内の図形
メモリ114をアドレツシングするための物理ア
ドレス(第2種アドレス情報)として用いられ
る。
101はオペランドフエツチに際し、DECODE
&CNT323の制御により、MCSレジスタ32
6の内容とSGBレジスタ3072の内容とMAR
レジスタ306の内容との連結情報(32ビツト)
をメモリアクセス情報としてC−BUS107上
に送出する。このとき、μP101は信号MAも
出力する。C−BUS107上のメモリアクセス
情報はメモリアクセス情報ライン128経由でア
ドレス変換装置117内のラツチレジスタ201
に導かれ、信号MAのタイミングで当該ラツチレ
ジスタ201にラツチされる。このときのラツチ
レジスタ201の内容を第11図に示す。上述の
説明から明らかなように、ラツチレジスタ201
のビツト8〜ビツト15(セグメントフイールド)
には、24ビツトのオペランドアドレス(実効アド
レス)の上位8ビツト(SGBレジスタ3072の
内容)がラツチされている。同じくラツチレジス
タ201のビツト16〜ビツト31(アドレスフイー
ルド)には、24ビツトのオペランドアドレスの残
りの16ビツト(MARレジスタ306の内容)が
ラツチされている。この実施例では、上記24ビツ
トのオペランドアドレス(SGBレジスタ3072
の内容とMARレジスタ306の内容との連結情
報)、即ちa×216+b+(IX)で示されるアドレ
スが、以下に述べるようにMMU112内の図形
メモリ114をアドレツシングするための物理ア
ドレス(第2種アドレス情報)として用いられ
る。
第2図に示すように、ラツチレジスタ201の
ビツト16〜ビツト31の内容(24ビツトのオペラン
ドアドレス)は信号ライン209を介してゲート
回路210に導かれる。このゲート回路210に
は、ラツチレジスタ201のビツト0〜ビツト7
の内容であるメモリ制御系情報中のXビツトが、
インバータ211経由で開閉制御信号として供給
される。ゲート回路210は、この実施例のよう
にX=“0”のとき開制御され、信号ライン20
9上の情報(24ビツト)をメモリアドレスライン
119上に出力する。このメモリアドレスライン
119は第1図に示すようにマルチプレクサ12
0に接続されている。このマルチプレクサ120
には図形表示回路115からのメモリアドレスラ
イン121も接続されている。マルチプレクサ1
20はメモリアドレスライン119,121のい
ずれか一方を図形メモリ114のメモリアドレス
ライン122に電気的に接続する。今、マルチプ
レクサ120によつてメモリアドレスライン11
9が図形メモリ114のメモリアドレスライン1
22に切り替え接続されているものとする。この
場合、メモリアドレスライン119上の情報、即
ちa×216+b+(IX)で示される24ビツトのアド
レスがマルチプレクサ120を介してメモリアド
レスライン122上に導かれる。そして、このア
ドレスにより図形メモリ114がアドレツシング
される。なお、UNIXメモリ113、図形メモリ
114のメモリ選択はXビツトに基づいて行なわ
れる。即ち、X=“1”のときUNIXメモリ11
3が選択され、この例のようにX=“0”のとき
図形メモリ114が選択される。
ビツト16〜ビツト31の内容(24ビツトのオペラン
ドアドレス)は信号ライン209を介してゲート
回路210に導かれる。このゲート回路210に
は、ラツチレジスタ201のビツト0〜ビツト7
の内容であるメモリ制御系情報中のXビツトが、
インバータ211経由で開閉制御信号として供給
される。ゲート回路210は、この実施例のよう
にX=“0”のとき開制御され、信号ライン20
9上の情報(24ビツト)をメモリアドレスライン
119上に出力する。このメモリアドレスライン
119は第1図に示すようにマルチプレクサ12
0に接続されている。このマルチプレクサ120
には図形表示回路115からのメモリアドレスラ
イン121も接続されている。マルチプレクサ1
20はメモリアドレスライン119,121のい
ずれか一方を図形メモリ114のメモリアドレス
ライン122に電気的に接続する。今、マルチプ
レクサ120によつてメモリアドレスライン11
9が図形メモリ114のメモリアドレスライン1
22に切り替え接続されているものとする。この
場合、メモリアドレスライン119上の情報、即
ちa×216+b+(IX)で示される24ビツトのアド
レスがマルチプレクサ120を介してメモリアド
レスライン122上に導かれる。そして、このア
ドレスにより図形メモリ114がアドレツシング
される。なお、UNIXメモリ113、図形メモリ
114のメモリ選択はXビツトに基づいて行なわ
れる。即ち、X=“1”のときUNIXメモリ11
3が選択され、この例のようにX=“0”のとき
図形メモリ114が選択される。
このように、この実施例によれば、α型命令を
用いることにより、UNIXメモリ113に格納さ
れているプログラムから(16MBの物理アドレス
空間を有する)図形メモリ114をセグメント/
ページ処理なしにアクセスできる。即ち、この実
施例によれば、16ビツトマイクロプロセツサシス
テムでありながら、64KBを越える大きな連続デ
ータ領域を、セグメント/ページの切り替えなし
にアクセスできる。しかも、この実施例によれ
ば、前述したようにセグメント/ページ処理の適
用を受けるUNIXメモリ113へのアクセスも可
能であり、UNIX等のソフトウエア財産を活用で
きる。
用いることにより、UNIXメモリ113に格納さ
れているプログラムから(16MBの物理アドレス
空間を有する)図形メモリ114をセグメント/
ページ処理なしにアクセスできる。即ち、この実
施例によれば、16ビツトマイクロプロセツサシス
テムでありながら、64KBを越える大きな連続デ
ータ領域を、セグメント/ページの切り替えなし
にアクセスできる。しかも、この実施例によれ
ば、前述したようにセグメント/ページ処理の適
用を受けるUNIXメモリ113へのアクセスも可
能であり、UNIX等のソフトウエア財産を活用で
きる。
ここで、α型命令によるデータ転送について簡
単に説明する。α型命令(第10図参照)は命令
フイールドOPの内容によりα1型命令とα2型命令
に大別される。α1型命令は、デイテイネーシヨン
レジスタ指定フイールドGRで示されるレジスタ
(GR0〜15レジスタ312の一部が割当てられる)
と図形メモリ114との間のデータ転送を指定す
る命令である。これに対しα2型命令は、GRで示
されるレジスタの内容によつて指定されるUNIX
メモリ113と図形メモリ114との間のデータ
転送を指定する命令である。α1型命令として、
MUGR(Move UNIX memory to Graphic
memory)命令およびMGUR(Move Graphic
memory to UNIX memory)命令が用意されて
いる。また、α2型命令として、MUGN(Move
n−bytes UNIX memory to Graphic
memory)命令およびMGUN(Move n−bytes
Graphic memory to UNIX memory)命令が
用意されている。これらの命令で指定されるデー
タ転送の内容は以下の通りである。
単に説明する。α型命令(第10図参照)は命令
フイールドOPの内容によりα1型命令とα2型命令
に大別される。α1型命令は、デイテイネーシヨン
レジスタ指定フイールドGRで示されるレジスタ
(GR0〜15レジスタ312の一部が割当てられる)
と図形メモリ114との間のデータ転送を指定す
る命令である。これに対しα2型命令は、GRで示
されるレジスタの内容によつて指定されるUNIX
メモリ113と図形メモリ114との間のデータ
転送を指定する命令である。α1型命令として、
MUGR(Move UNIX memory to Graphic
memory)命令およびMGUR(Move Graphic
memory to UNIX memory)命令が用意されて
いる。また、α2型命令として、MUGN(Move
n−bytes UNIX memory to Graphic
memory)命令およびMGUN(Move n−bytes
Graphic memory to UNIX memory)命令が
用意されている。これらの命令で指定されるデー
タ転送の内容は以下の通りである。
(1) MUGR 命令
(GR)→M(a×216+b+(IX))
GRで指定されたレジスタの内容の下位8ビ
ツトを図形メモリ114のa×216+b+(IX)
番地に転送する命令である。
ツトを図形メモリ114のa×216+b+(IX)
番地に転送する命令である。
(2) MGUR命令
M(a×216+b+(IX))→GR
図形メモリ114のa×216+b+(IX)番地
の8ビツトをGRで指定されたレジスタの下位
8ビツトの領域に転送する命令である。なお、
当該レジスタの上位8ビツトの領域はクリアさ
れる。
の8ビツトをGRで指定されたレジスタの下位
8ビツトの領域に転送する命令である。なお、
当該レジスタの上位8ビツトの領域はクリアさ
れる。
(3) MUGN命令
M(GR)、M(GR+1)、…M(GR+n−1)
→M(a×216+b+(IX))、
M(a×216+b+(IX)+1)、
…M(a×216+b+(IX)+n−1)
GRで指定されたレジスタに記憶されている
(UNIXメモリ113に対する)アドレス(セ
グメント修飾を必要とする論理アドレス)から
始まるUNIXメモリ113内のnバイト分のデ
ータを、図形メモリ114のa×216+b+
(IX)番地から始まるnバイト分の領域に転送
する命令である。
(UNIXメモリ113に対する)アドレス(セ
グメント修飾を必要とする論理アドレス)から
始まるUNIXメモリ113内のnバイト分のデ
ータを、図形メモリ114のa×216+b+
(IX)番地から始まるnバイト分の領域に転送
する命令である。
(4) MGUN命令
M(a×216+b+(IX)、
M(a×216+b+(IX)+1)、
…M(a×216+b+(IX)+n−1)
→M(GR)、M(GR+1)、…M(GR+n−
1) 上記MUGN命令の場合と、セグメント転送
元およびデータ転送先が逆となつている。
1) 上記MUGN命令の場合と、セグメント転送
元およびデータ転送先が逆となつている。
なお、この実施例では、GRで指定されたレジ
スタの内容が示す、UNIXメモリ113内の
CCB(Channel Control Block)を用いて、ハー
ドデイスクより図形メモリ114へ図形データを
DMA(Direct Memory Access)転送する命令
も用意されている。
スタの内容が示す、UNIXメモリ113内の
CCB(Channel Control Block)を用いて、ハー
ドデイスクより図形メモリ114へ図形データを
DMA(Direct Memory Access)転送する命令
も用意されている。
ところで、図形メモリ114は、マルチプレク
サ120(更にはマルチプレクサ125)の切り
替えにより、図形表示回路115からもアクセス
される。この図形表示回路115からの図形メモ
リ114のアクセスは、μP101からのアクセ
スと時分割で行なわれる。
サ120(更にはマルチプレクサ125)の切り
替えにより、図形表示回路115からもアクセス
される。この図形表示回路115からの図形メモ
リ114のアクセスは、μP101からのアクセ
スと時分割で行なわれる。
なお、前記実施例では、MMU112が独立の
メモリであるUNIXメモリ113および図形メモ
リ114で構成されるものとしたが、これに限る
ものではない。例えば、MMU112を16MBの
メモリ領域を有するメモリ構成とし、最初の
1MBをUNIX領域、残りの15MBを図形データ領
域とすることも可能である。この場合、メモリア
ドレスラインが共通となるため、Xビツトの論理
値に応じUNIX領域用アドレスまたは図形データ
領域用アドレスのいずれか一方を選択する選択手
段が必要となる。また、UNIX領域用アドレスを
選択する際には、前述したセグメント/ページ変
換テーブル206の出力データとメモリアクセス
情報の下位10ビツトとの連結情報(20ビツト)の
上位にオール“0”の4ビツトデータ“0000”を
連結する必要がある。また、図形データ領域用ア
ドレスがUNIX領域を指定しないように、α型命
令の上位オペランドアドレスフイールドaの内容
を設定しておく必要がある。勿論、アドレス計算
(インデツクス修飾)時にaの内容に対してデー
タ操作(例えばa+16)を施すようにしてもよ
い。
メモリであるUNIXメモリ113および図形メモ
リ114で構成されるものとしたが、これに限る
ものではない。例えば、MMU112を16MBの
メモリ領域を有するメモリ構成とし、最初の
1MBをUNIX領域、残りの15MBを図形データ領
域とすることも可能である。この場合、メモリア
ドレスラインが共通となるため、Xビツトの論理
値に応じUNIX領域用アドレスまたは図形データ
領域用アドレスのいずれか一方を選択する選択手
段が必要となる。また、UNIX領域用アドレスを
選択する際には、前述したセグメント/ページ変
換テーブル206の出力データとメモリアクセス
情報の下位10ビツトとの連結情報(20ビツト)の
上位にオール“0”の4ビツトデータ“0000”を
連結する必要がある。また、図形データ領域用ア
ドレスがUNIX領域を指定しないように、α型命
令の上位オペランドアドレスフイールドaの内容
を設定しておく必要がある。勿論、アドレス計算
(インデツクス修飾)時にaの内容に対してデー
タ操作(例えばa+16)を施すようにしてもよ
い。
以上詳述したようにこの発明によれば、16ビツ
トマイクロプロセツサを用いながら、64KBを越
える大きな連続データ領域をセグメントやページ
の切り替えなしでアクセスできる。しかもこの発
明によれば、、セグメント/ページ処理を適用す
るUNIXなど既存のプログラムを搭載できる。
トマイクロプロセツサを用いながら、64KBを越
える大きな連続データ領域をセグメントやページ
の切り替えなしでアクセスできる。しかもこの発
明によれば、、セグメント/ページ処理を適用す
るUNIXなど既存のプログラムを搭載できる。
第1図はこの発明の一実施例に係るマイクロプ
ロセツサシステムの概略構成を示すブロツク図、
第2図は第1図に示すアドレス変換装置の具体的
構成を示すブロツク図、第3図は第2図に示すラ
ツチレジスタにラツチされるメモリアクセス情報
の基本フオーマツトを示す図、第4図はUNIXの
データ構造を説明する図、第5図は第2図に示す
セグメント/ページ変換テーブルとUNIXの命令
部、データ部との対応を説明する図、第6図は第
1図に示すマイクロプロセツサ(μP)の内部構
成を示すブロツク図、第7図はこの発明で適用さ
れるβ型命令のフオーマツトの一例を示す図、第
8図は実行中の命令がβ型命令である場合に、オ
ペランドフエツチに際し第2図に示すラツチレジ
スタにラツチされるメモリアクセス情報の内容を
示す図、第9図は命令フエツチに際し上記ラツチ
レジスタにラツチされるメモリアクセス情報の内
容を示す図、第10図はこの発明で適用されるα
型命令のフオーマツトの一例を示す図、第11図
は実行中の命令がα型命令である場合に、オペラ
ンドフエツチに際し上記ラツチレジスタにラツチ
されるメモリアクセス情報の内容を示す図であ
る。 101…マイクロプロセツサ(μP)、104…
制御記憶(C−ROM)、107…コモンバス
(C−BUS)、112…主記憶装置(MMU)、1
13…UNIXメモリ、114…図形メモリ、11
7…アドレス変換装置、201…ラツチレジス
タ、206…セグメント/ページ変換テーブル、
306…MARレジスタ、3071…SGAレジス
タ、3072…SGBレジスタ、309…ALOCカ
ウンタ、320…ALU、323…DECODE&
CONT、326…MCSレジスタ。
ロセツサシステムの概略構成を示すブロツク図、
第2図は第1図に示すアドレス変換装置の具体的
構成を示すブロツク図、第3図は第2図に示すラ
ツチレジスタにラツチされるメモリアクセス情報
の基本フオーマツトを示す図、第4図はUNIXの
データ構造を説明する図、第5図は第2図に示す
セグメント/ページ変換テーブルとUNIXの命令
部、データ部との対応を説明する図、第6図は第
1図に示すマイクロプロセツサ(μP)の内部構
成を示すブロツク図、第7図はこの発明で適用さ
れるβ型命令のフオーマツトの一例を示す図、第
8図は実行中の命令がβ型命令である場合に、オ
ペランドフエツチに際し第2図に示すラツチレジ
スタにラツチされるメモリアクセス情報の内容を
示す図、第9図は命令フエツチに際し上記ラツチ
レジスタにラツチされるメモリアクセス情報の内
容を示す図、第10図はこの発明で適用されるα
型命令のフオーマツトの一例を示す図、第11図
は実行中の命令がα型命令である場合に、オペラ
ンドフエツチに際し上記ラツチレジスタにラツチ
されるメモリアクセス情報の内容を示す図であ
る。 101…マイクロプロセツサ(μP)、104…
制御記憶(C−ROM)、107…コモンバス
(C−BUS)、112…主記憶装置(MMU)、1
13…UNIXメモリ、114…図形メモリ、11
7…アドレス変換装置、201…ラツチレジス
タ、206…セグメント/ページ変換テーブル、
306…MARレジスタ、3071…SGAレジス
タ、3072…SGBレジスタ、309…ALOCカ
ウンタ、320…ALU、323…DECODE&
CONT、326…MCSレジスタ。
Claims (1)
- 【特許請求の範囲】 1 メモリ制御系情報が設定されるステータスフ
イールド、セグメント情報が設定されるセグメン
トフイールド、および実効アドレスが設定される
アドレスフイールドからなるメモリアクセス情報
を適用するマイクロプロセツサシステムにおい
て、 基本メモリと、 この基本メモリの延長上にアドレス空間を持ち
同基本メモリより大容量の図形メモリと、 上記ステータスフイールドの特定ビツトに上記
図形メモリのアクセスを指定する情報が設定され
たとき、上記セグメントフイールドに上記セグメ
ント情報に代えてnビツトの実効アドレスの上位
ビツトが設定され、かつ上記アドレスフイールド
に残りのビツトが設定された上記メモリアクセス
情報を生成して外部に出力するメモリアクセス情
報出力手段を備えたマイクロプロセツサと、 このマイクロプロセツサから出力される上記メ
モリアクセス情報の上記セグメントフイールドの
内容および上記アドレスフイールドの一部の内容
に基づいて索引され、ページデータを出力するセ
グメント/ページ変換テーブルと、 オペランドフエツチサイクルで上記特定ビツト
が有効できないとき、並びに命令フエツチサイク
ルのときは、上記セグメント/ページ変換テーブ
ルの出力と上記アドレスフイールドの残りの内容
とが連結された第1種アドレス情報により上記基
本メモリのアドレス空間をアドレス指定する第1
のアドレス指定手段と、 オペランドフエツチサイクルで上記特定ビツト
が有効であるときは上記セグメントフイールドと
アドレスフイールドの各内容が連結された第2種
アドレス情報により上記図形メモリのアドレス空
間をアドレス指定する第2のアドレス指定手段
と、 を具備することを特徴とするマイクロプロセツサ
システム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58159285A JPS6051957A (ja) | 1983-08-31 | 1983-08-31 | マイクロプロセツサシステム |
| US06/643,386 US4691282A (en) | 1983-08-31 | 1984-08-23 | 16-bit microprocessor system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58159285A JPS6051957A (ja) | 1983-08-31 | 1983-08-31 | マイクロプロセツサシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6051957A JPS6051957A (ja) | 1985-03-23 |
| JPH027097B2 true JPH027097B2 (ja) | 1990-02-15 |
Family
ID=15690451
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58159285A Granted JPS6051957A (ja) | 1983-08-31 | 1983-08-31 | マイクロプロセツサシステム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4691282A (ja) |
| JP (1) | JPS6051957A (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
| JPS623353A (ja) * | 1985-06-28 | 1987-01-09 | Toshiba Corp | アドレス空間拡張装置 |
| US5053989A (en) * | 1986-08-27 | 1991-10-01 | Minolta Camera Kabushiki Kaisha | Digital image processing apparatus having a microprogram controller for reading microinstructions during a vacant period of the image processing circuit |
| US5450552A (en) * | 1987-08-17 | 1995-09-12 | Nec Corporation | Expanded address bus system for providing address signals to expanding devices |
| JPH0195347A (ja) * | 1987-10-08 | 1989-04-13 | Nec Corp | アドレス変換方式 |
| US5043886A (en) * | 1988-09-16 | 1991-08-27 | Digital Equipment Corporation | Load/store with write-intent for write-back caches |
| US5214767A (en) * | 1989-02-07 | 1993-05-25 | Compaq Computer Corp. | Full address and odd boundary direct memory access controller which determines address size by counting the input address bytes |
| US5249280A (en) * | 1990-07-05 | 1993-09-28 | Motorola, Inc. | Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory |
| US6636963B1 (en) * | 1999-12-30 | 2003-10-21 | Cardiac Pacemakers, Inc. | Quick starting for microprocessor-based system by retrieving a target state memory image and a target state data structure from an image storage medium |
| US7529921B2 (en) * | 2004-12-17 | 2009-05-05 | Cardiac Pacemakers, Inc. | Fast initialization of medical device system having multiple operating systems |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5439979B2 (ja) * | 1972-08-01 | 1979-11-30 | ||
| FR2230258A5 (ja) * | 1973-05-16 | 1974-12-13 | Honeywell Bull Soc Ind | |
| FR2253428A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR122199A (ja) * | 1973-12-17 | |||
| US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
| JPS5448449A (en) * | 1977-09-26 | 1979-04-17 | Hitachi Ltd | Virtual addressing sustem |
| JPS5545549A (en) * | 1978-09-26 | 1980-03-31 | Nippon Steel Corp | Mold in closed head horizontal type continuous casting machine |
| JPS5555490A (en) * | 1978-10-20 | 1980-04-23 | Hitachi Ltd | Memory control system |
| JPS56153461A (en) * | 1980-04-30 | 1981-11-27 | Toshiba Corp | Information processor |
| JPS57108935A (en) * | 1980-12-25 | 1982-07-07 | Mitsubishi Electric Corp | Program memory control system |
| US4481570A (en) * | 1981-08-07 | 1984-11-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Automatic multi-banking of memory for microprocessors |
-
1983
- 1983-08-31 JP JP58159285A patent/JPS6051957A/ja active Granted
-
1984
- 1984-08-23 US US06/643,386 patent/US4691282A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US4691282A (en) | 1987-09-01 |
| JPS6051957A (ja) | 1985-03-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4361868A (en) | Device for increasing the length of a logic computer address | |
| US5652900A (en) | Data processor having 2n bits width data bus for context switching function | |
| US4395758A (en) | Accelerator processor for a data processing system | |
| US4586130A (en) | Central processing unit for a digital computer | |
| US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
| US5390307A (en) | Apparatus for a multi-data store or load instruction for transferring multiple contiguous storage locations in one transfer operation | |
| US4631663A (en) | Macroinstruction execution in a microprogram-controlled processor | |
| EP0248436B1 (en) | Method of and apparatus for processing data | |
| US3380025A (en) | Microprogrammed addressing control system for a digital computer | |
| JP3203401B2 (ja) | データ処理装置 | |
| EP0465248B1 (en) | Pseudo-linear bank switching memory expansion | |
| JPH0827716B2 (ja) | データ処理装置及びデータ処理方法 | |
| US4616331A (en) | Information processing system consisting of an arithmetic control unit formed into a one-chip typed by application of a highly-integrated semiconductor device | |
| JPH027097B2 (ja) | ||
| US4258417A (en) | System for interfacing between main store memory and a central processor | |
| US4812971A (en) | Central processing unit for a digital computer | |
| US6757809B1 (en) | Data processor having 2n bits width data bus for context switching functions | |
| US4893235A (en) | Central processing unit for a digital computer | |
| JP3618868B2 (ja) | 二重モード変換索引バッファを利用したデータ処理システムにおける効率的メモリ管理の方法およびシステム | |
| US5396610A (en) | Register address specifying circuit for simultaneously accessing two registers | |
| US5519881A (en) | Priority encoder for accessing multiple registers simultaneously and a data processing system which uses it | |
| JPS6120889B2 (ja) | ||
| US3990051A (en) | Memory steering in a data processing system | |
| US4853889A (en) | Arrangement and method for speeding the operation of branch instructions | |
| JP2570846B2 (ja) | 先取り制御ユニット |