JPH11312084A - プロセッサおよびプログラム生成装置 - Google Patents
プロセッサおよびプログラム生成装置Info
- Publication number
- JPH11312084A JPH11312084A JP10118351A JP11835198A JPH11312084A JP H11312084 A JPH11312084 A JP H11312084A JP 10118351 A JP10118351 A JP 10118351A JP 11835198 A JP11835198 A JP 11835198A JP H11312084 A JPH11312084 A JP H11312084A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- unit
- instructions
- information
- sequence
- 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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
の解読より前の段階で何らかの先行処理を行う必要があ
るが、組み込み等でよく使われる可変長命令体系のプロ
セッサの場合には、命令の先頭位置を決定する必要があ
り、その為には前回の命令フェッチの状態を保存する命
令フェッチ状態保存器1631が必要となり、かつ、そ
の状態は分岐発生時にリセット制御する必要があるな
ど、ハードウェアが増加したりクリティカルパスが発生
するという問題があるだけでなく、制御的にも複雑でバ
グ発生の要因にも成り得るという問題がある。 【解決手段】 可変命令語長の命令列を実行するプロセ
ッサであって、前記命令列に含まれ、操作を記述する命
令語を解読する命令解読器と、前記命令語とは排他的
に、かつ一定間隔毎に前記命令列に含まれる、命令の位
置情報を取り出す命令位置取得手段とを備えることを特
徴とする。
Description
軽減するプロセッサ、プログラム生成装置および記録媒
体に関するものである。
によりマイクロプロセッサの性能が向上し、あらゆる機
器に組み込まれ広く利用されている。その様なプロセッ
サでは、パイプライン処理により高い性能を達成してい
る。パイプライン処理とは命令の処理を複数に分割し、
それらを時間的にずらして別の命令を並列に処理するも
のである。特に組み込み用途の場合には、コードサイズ
の増加を抑制する目的で可変命令語長の命令体系を採用
する必要があるが、可変命令語長の命令は命令解読が複
雑となるために、命令解読を複数のパイプラインに分割
して行う事が多い。
ォーマットである。従来技術の命令は、21ビットを単
位として(以下ユニットと表現する)同図(a)に示す
1ユニットで構成される命令と同図(b)に示す2ユニ
ットで構成される命令の2種類の命令を持ち、2つの命
令はそれぞれの命令の先頭の0ビット目の命令フォーマ
ット情報101の値で区別されており、0ビット目が0
の時には1ユニット命令を、0ビット目が1の時には2
ユニット命令を示す。またこれらの命令は、メモリ上で
は(c)に示すように、1回のフェッチ幅である64ビ
ットの中に3ユニット入れた形で格納されている。
サのブロック図である。本プロセッサは、サイクル毎に
2命令を同時実行するプロセッサであり、分岐先は必ず
命令フェッチ単位の先頭であるとする。
列321は、命令供給発行部1620に入力される。
変換器1622によって可変命令語長命令から解読の容
易な固定長命令へ変換される。変換された固定長命令は
命令バッファ223によって一時的に蓄えられ、命令解
読部230からの要求に従って2命令ずつ命令レジスタ
224に供給される。命令レジスタ224に格納された
2つの命令は、命令解読部230へ供給される。命令解
読部230では、2つの命令解読器233、234が命
令を解読する。命令実行部240では、2つの演算器2
43、244により演算が行われる。
図である。命令フェッチ状態保存器1631は、通常は
前回の命令フェッチと今回の命令フェッチを命令が跨い
でいるかどうかの状態を保存している。命令が跨いでい
ない場合には今回の命令フェッチの先頭と命令の先頭が
一致している事を、跨いでいる場合には今回の命令フェ
ッチの先頭は2ユニットで構成される命令の後半1ユニ
ットであることを示している。また、分岐が発生した場
合には、命令実行部21内のPC制御部242から命令
フェッチ制御部1621経由で命令フェッチに同期して
命令フェッチ状態保存器1631へ分岐が発生したこと
が伝えられる。この場合には、命令フェッチ状態保存器
1631の値は、命令が跨いでいない状態に初期化さ
れ、命令フェッチの先頭が命令の先頭となることを示
す。第2先頭検出器322bは命令フェッチ状態保存器
1631、および、先頭のユニット321aの先頭ビッ
トの情報から2つ目のユニット321bが命令の先頭か
どうかを判断する。同様に、第3先頭検出器322cは
第2先頭検出器322b、および、2つ目のユニット3
21bの先頭ビットの情報から3つ目のユニット321
cが命令の先頭かどうかを判断する。最後に次状態発生
器1622dは第3先頭検出器322c、および、3つ
目のユニット321cの先頭ビットの情報から321c
から始まる命令が今回の命令フェッチで終わるかどうか
を判断し、結果を命令フェッチ状態保存器1631に保
存すると共に、命令フェッチで終わらない場合には一時
保存レジスタ323へ3つ目のユニット321cを保存
する。
が命令の途中から始まっていた場合には、一時保存レジ
スタ323に格納した命令の前半部分と命令の後半部分
である321aの値を連結したものを、321aが命令
の先頭で1ユニットで終わる命令であった場合には、図
4(a)の様に、321aの値と1ユニット分の意味の
無いデータを出力したものを、321aが命令の先頭で
2ユニットで終わる命令であった場合には、図4(b)
の様に、321aの値と321bの値を連結したものを
命令バッファ223に出力し、それ以外の場合には何も
出力しない。
命令の先頭で1ユニットで終わる命令であった場合に
は、321bの値と1ユニット分の意味の無いデータを
連結したものを、321bが命令の先頭で2ユニットで
終わる命令であった場合には、321bの値と321c
の値を連結したものを命令バッファ223に出力し、そ
れ以外の場合には何も出力しない。
命令の先頭で1ユニットで終わる命令であった場合に
は、321cの値と1ユニット分の意味の無いデータを
連結したものを命令バッファ223へ出力し、それ以外
の場合には何も出力しない。
命令フェッチと次回の命令フェッチを命令が跨いでいる
かどうかの情報を命令フェッチ状態保存器1631に出
力するとともに、跨いでいる場合には一時保存レジスタ
323に命令の先頭を保存させる。
ァ223へは、最大6ユニットの命令325が供給され
る。
3に毎回供給される最大6ユニットの命令325を、4
ユニットずつ、FIFO部333に入力する。
要求に従って4ユニットの命令を命令レジスタ224へ
出力する。
の高性能化を図るためには、命令の解読より前の段階で
何らかの先行処理を行う必要があるが、組み込み等でよ
く使われる可変命令語長の命令体系のプロセッサの場合
には、命令の先頭位置を決定する必要があり、その為に
は前回の命令フェッチの状態を保存する命令フェッチ状
態保存器1631が必要となり、かつ、その状態は分岐
発生時にリセット制御する必要があるなど、ハードウェ
アが増加したりクリティカルパスが発生するという問題
があるだけでなく、制御的にも複雑でバグ発生の要因に
も成り得るという問題がある。
に、請求項1、2記載の発明は、命令中に配置された情
報を元に可変長命令を固定長命令に変換するプロセッサ
である。これにより、簡単なプロセッサの構成で可変長
命令を実行できる。
に配置された情報を元に命令セットを切り換えるプロセ
ッサである。これにより、命令セットを切り換える命令
を使用しなくても済むため、コードサイズが小さくでき
る。
中に配置された情報を元にキャッシュに対するライトア
クセスがミスであった場合に主記憶装置のみを書き換え
るかまたはキャッシュメモリのみを書き換えるかを切り
換えるプロセッサである。これにより、より効率的なキ
ャッシュ制御ができる。
プログラム生成装置、及び記録媒体の実施の形態につい
て、図面を用いて詳細に説明する。
態におけるプロセッサの命令フォーマットである。
(以下ユニットと表現する)、同図(a)に示す1ユニ
ットで構成される命令と同図(b)に示す2ユニットで
構成される2種類の命令を持ち、2つの命令はそれぞれ
の命令の先頭である0ビット目にある命令フォーマット
情報ビット101の値で区別されており、0ビット目が
0の時には1ユニット命令を、0ビット目が1の時には
2ユニット命令を示す。またこれらの命令は、メモリ上
では同図(c)、(d)に示すように、1回のフェッチ
幅である64ビットの中に3ユニットの命令と、フェッ
チ単位内の最初のユニットが命令の先頭かどうかを示す
命令の先頭情報102を格納したことになっている。
1の時には命令の先頭が最初のユニットに存在すること
を、同図(d)に示す様に0の時には命令の後半が最初
のユニットに存在することを示している。
本発明の第1の実施の形態におけるプロセッサのブロッ
ク図である。
プロセッサであり、分岐先は必ず命令フェッチ単位の先
頭であるとする。
テム、220は命令フェッチから固定長命令への変換ま
でを担当する命令供給発行部、221は命令フェッチを
制御する命令フェッチ制御部、222は命令フェッチし
た可変長命令を固定長命令に変換する固定長命令変換
器、223は固定長命令をバッファリングする命令バッ
ファ、224は解読する命令を格納する命令レジスタ、
230は命令解読全般を行う命令解読部、231は命令
解読を制御する命令発行制御部、232は命令を解読す
る命令解読器、233は命令を解読する第1命令解読
器、234は命令を解読する第2命令解読器、240は
解読結果に従って命令を実行する命令実行部、241は
命令実行を制御する命令実行制御部、242は分岐関係
を担当するPC制御部、243は第1演算器、244は
第2演算器、245はレジスタを格納するレジスタファ
イルである。
ック図である。321はメモリシステムから供給される
64ビットの命令フェッチデータ、321aは命令フェ
ッチデータ321中の1つ目のユニットのデータ、32
1bは命令フェッチデータ321中の2つ目のユニット
のデータ、321cは命令フェッチデータ321中の3
つ目のユニットのデータ、321dは命令フェッチデー
タ321中の命令の位置情報ビット、322bは2つ目
のユニットのデータ321bが命令の先頭かどうかを判
断する第2先頭検出器、322cは3つ目のユニットの
データ321cが命令の先頭かどうかを判断する第3先
頭検出器、322dは次の命令フェッチの1つ目のユニ
ットのデータ321aが命令の先頭かどうかを判断する
次状態発生器、323は今回の命令フェッチ内にある命
令の後半が次回の命令フェッチに存在する場合に命令の
前半を格納する一時保存レジスタ、324aは1つ目の
ユニットが末尾、あるいは、先頭の時に2ユニットの固
定長命令325aを出力するMIXa、324bは2つ
目のユニットが先頭の時に2ユニットの固定長命令32
5bを出力するMIXb、324cは3つ目のユニット
が1ユニット命令の先頭の時に2ユニットの固定長命令
325cを出力するMIXc、331は命令バッファを
制御する命令バッファ制御部、332は固定長命令変換
器222の出力する6ユニットの命令を2ユニット命令
の連続に変換する命令列変換器、333は命令をためる
FIFOである。
の形態のプロセッサについて、以下、その動作を説明す
る。
列321は、命令供給発行部220に入力される。命令
供給発行部内では、固定長命令変換器222によって可
変長命令から解読の容易な固定長命令へ変換される。変
換された固定長命令は命令バッファ223によって一時
的に蓄えられ、命令解読部230からの要求に従って2
命令ずつ命令レジスタ224に供給される。命令レジス
タ224に格納された2つの命令列は、命令解読部23
0へ供給される。命令解読部230では、2つの命令解
読器233、234が命令を解読する。命令実行部24
0では、2つの演算器243、244により演算が行わ
れる。
固定長命令への変換器の詳細を述べる。
報ビット321dは、前回の命令フェッチと今回の命令
フェッチで命令が跨いでいたかどうかの状態を保存して
いる。命令が跨いでいない場合には今回の命令フェッチ
の先頭と命令の先頭が一致している事を、跨いでいる場
合には今回の命令フェッチの先頭は2ユニットで構成さ
れる命令の後半1ユニットであることを示している。
ータ321中の命令位置情報ビット321d、および、
先頭のユニット321aの先頭ビットの情報から2つ目
のユニット321bが命令の先頭かどうかを判断する。
頭検出器322b、および、2つ目のユニット321b
の先頭ビットの情報から3つ目のユニット321cが命
令の先頭かどうかを判断する。最後に次状態発生器32
2dは第3先頭検出器322c、および、3つ目のユニ
ット321cの先頭ビットの情報から321cから始ま
る命令が今回の命令フェッチで終わるかどうかを判断
し、命令フェッチで終わらない場合には一時保存レジス
タ323へ3つ目のユニット321cを保存する。
が命令の途中から始まっていた場合には、一時保存レジ
スタ323に格納した命令の前半部分と命令の後半部分
である321aの値を連結したものを、321aが命令
の先頭で1ユニットで終わる命令であった場合には、図
4(a)の様に、321aの値と1ユニット分の意味の
無いデータを連結したものを、321aが命令の先頭で
2ユニットで終わる命令であった場合には、図4(b)
の様に、321aの値と321bの値を連結したものを
命令バッファ223に出力し、それ以外の場合には何も
出力しない。
命令の先頭で1ユニットで終わる命令であった場合に
は、321bの値と1ユニット分の意味の無いデータを
連結したものを、321bが命令の先頭で2ユニットで
終わる命令であった場合には、321bの値と321c
の値を連結したものを命令バッファへ223に出力し、
それ以外の場合には何も出力しない。
命令の先頭で1ユニットで終わる命令であった場合に
は、321cの値と1ユニット分の意味の無いデータを
連結したものを命令バッファ223へ出力し、それ以外
の場合には何も出力しない。
図7は命令列変換器の動作を説明する表である。
ト、あるいは、2ユニットの命令列が存在している。
から2ユニット、あるいは4ユニット、あるいは6ユニ
ットの命令を受け取る。
命令が用意された時には命令列変換器332は、FIF
O333へ4ユニットの命令を出力する。4ユニット未
満の命令が存在する時には、FIFO333へは出力せ
ずに命令列変換器332に保存する。
を、命令解読部230からの要求に従って4ユニットず
つ命令レジスタ224へ出力する。
解読実行した場合の本プロセッサの動作について説明す
る。
おけるプログラムの例である。本プログラム例では、0
x1000番地(”0x”は16進数を表す。以下同
様。)から1ユニットで構成されたadd r0,r1
命令、2ユニットで構成されたadd 0x1234,
r2命令、add 0x2345,r3命令、sub
0x3456,r4命令、1ユニットで構成されたno
p命令、cmpr1,r2命令、sub r3,r4命
令、sub r5,r6命令、subr6,r7命令が
続くとする。この命令列中で、0x1004番地の命令
フェッチは次の命令フェッチに命令が続いているので、
命令の位置情報ビット102は0に、それ以外は1にな
る(本来、バイナリの機械語命令だが、ここではニモニ
ック表記している)。
と、命令実行制御部241はPC制御部242に分岐の
指令を出力する。PC制御部242は命令フェッチ制御
部221へ分岐命令を出力し、IAバス211へ分岐ア
ドレスを出力する。メモリシステム210はIAバス2
11に対応した命令列64ビットをIDバス212へ出
力し、命令供給発行部220内の固定長命令変換器22
2が受け取る。
フェッチデータ中の命令の先頭情報ビット102が1で
あることから、1つ目のユニットのデータ321aが命
令の先頭であることがわかる。また、第2先頭検出器3
22bでは、321aが命令の先頭であることと、1つ
目のユニット321aの先頭ビットが0であることか
ら、2つ目のユニットも命令の先頭であることがわか
る。同じ様にして、第3先頭検出器322cでは、32
1bが命令の先頭であることと、2つ目のユニット32
1bの先頭ビットが1であることから、3つ目のユニッ
トは2つ目のユニットを先頭とする命令の後半である事
がわかる。最後に、次状態発生器322dでは、321
cが命令の末尾である事から3つ目のユニット321c
の先頭ビットを見るまでもなく、3つ目のユニットで命
令が終っている事が分かるので、一時保存レジスタ32
3には3つ目のユニットのデータ321cを保存する必
要はない事がわかる。
ットのデータ321aが命令の先頭であり、かつ1ユニ
ット命令である事から、命令データ321aと意味の無
いデータ21ビットを連結したものを命令バッファ22
3に出力する。同様に、MIXb324bは、2つ目の
データ321bが命令の先頭であり、2ユニット命令の
先頭であることから、命令データ321bと321cを
連結したものを命令バッファ223へ出力する。同様に
MIXc324cは、3つ目のデータ321cが2ユニ
ット命令の後半である事から、何も出力しない。
ッチにより命令バッファへは、図6(a1)及び図6
(b1)及び図6(c1)の様に4ユニットの命令が命
令バッファ223に出力される。
行う。同様の処理を行うことによって、MIXa324
aは、2ユニット命令の先頭であるので、1つ目のユニ
ットのデータ321aと2つ目のユニットのデータ32
1bを連結して命令バッファ223へ出力する。MIX
b324bは、2ユニット命令の後半であるので、何も
出力しない。MIXc324cは、2ユニット命令の前
半であるので、何も出力しない。次状態発生器322d
は、321cが次命令の前半であるので、321cのデ
ータを一時保存レジスタ323へ保存する。
ェッチにより命令バッファへは、図6(a2)及び図6
(b2)及び図6(c2)の様に2ユニットの命令が命
令バッファ223に出力される。
行う。同様の処理を行うことによって、MIXa324
aは、2ユニット命令の後半であるので、一時保存レジ
スタ323に保存した前半の命令と1つ目のユニットの
データ321aを連結して命令バッファ223へ出力す
る。MIXb324bは、1ユニット命令なので、2ユ
ニット目のデータ321bと21ビットの意味のないデ
ータを連結して命令バッファ223へ出力する。MIX
c324cは、3つ目のユニットが1ユニット命令であ
るので、3ユニット目のデータ321cと21ビットの
意味のないデータを連結して命令バッファ223へ出力
する。
ェッチにより命令バッファへは、図6(a3)及び図6
(b3)及び図6(c3)の様に6ユニットの命令が命
令バッファ223に出力される。
命令フェッチにより命令バッファへは、図6(a4)及
び図6(b4)及び図6(c4)の様に6ユニットの命
令が命令バッファ223に出力される。
222によって固定長命令に変換された命令を命令バッ
ファ223や命令レジスタ224を経由して2命令ずつ
解読を行う。
発明の第1の実施の形態におけるプログラム生成装置の
ブロック図である。
ソースプログラム格納手段、1420は3ユニット毎の
グループに分ける命令抽出手段、1430は命令がグル
ープを跨いでいるかどうかを判別する先頭位置情報生成
手段、1440はグループ化された命令列と先頭位置情
報を合成する命令列生成手段、1450は生成した命令
列を格納する命令列格納手段である。
の形態のプログラム生成装置について、以下、その動作
を説明する。
1ユニットあるいは、2ユニットで構成されるソースプ
ログラムが格納されている。命令抽出手段1420は、
ソースプログラムをソースプログラム格納手段1410
から取得し、それぞれ3ユニットで構成されるグループ
に分割する。先頭位置情報生成手段1430は、命令抽
出手段1420が出力するグループに分割された命令を
取得し、グループの先頭が命令の先頭と一致しているか
どうかを判断し、一致している場合には1を、一致して
いないときには0の値を出力する。命令列生成手段14
40は命令抽出手段1420の出力と先頭位置情報生成
手段1430の出力を合成して位置情報を付加した命令
列を出力する。
な命令を解読実行した場合の本命令列生成装置の動作に
ついて説明する。
実施の形態におけるプログラム生成装置の入力プログラ
ムと出力されるプログラムの例である。
同図(a)に示す、1ユニットで構成されたadd r
0,r1命令、2ユニットで構成されたadd 0x1
234,r2命令、add 0x12345,r3命
令、sub 0x3456,r4命令、1ユニットで構
成されたnop命令、cmp r1,r2命令、sub
r3,r4命令と、sub r5,r6命令、sub
r6,r7命令が格納されている。
ム格納手段1410に格納されたソースプログラムから
図5(b1)の様に3ユニットの命令add r0,r
1命令と2ユニットで構成されたadd 0x123
4,r2命令を抽出し、先頭位置情報生成手段1430
及び命令列生成手段1440に出力する。
抽出手段1420から3ユニットの命令を受け取ると、
その先頭のユニットが命令の先頭であるかどうかを判断
する。add r0,r1命令は命令の先頭であるので
1を出力する。
1420が出力する3ユニットの命令及び先頭位置情報
生成手段1430が出力する1ビットの値1を合成し
て、64ビットの命令列を出力する。
は、図5(b2)の様にadd 0x2345,r3命
令と、sub 0x3456,r4命令の前半の3ユニ
ットを出力し、先頭のユニットはadd 0x234
5,r3命令命令の先頭であるので、先頭位置情報生成
手段1430は1を出力する。
は、図5(b3)の様にsub 0x3456,r4命
令の後半と、1ユニットで構成されたnop命令の3ユ
ニットを出力し、先頭のユニットはsub 0x345
6,r4命令の後半であるので、先頭位置情報生成手段
1430は0を出力する。
列生成手段1440は命令位置情報を付加した命令列を
出力する。
位置情報を付加した命令列である。 (第2の実施の形態) (命令フォーマット)図8は、本発明の第2の実施の形
態におけるプロセッサの命令フォーマットである。
ている。同図(a)は21ビット固定長命令で構成され
る第1の命令セットであり、同図(b)は63ビット固
定長命令で構成される第2の命令セットである。
ェッチ毎単位内に存在する命令セット選択情報で選択さ
れる。
情報FMが0の場合の、3個の第1の命令セットで構成
される3命令列であり、同図(d)は、1ビットの命令
セット選択ビットFMが1の場合の、1個の第2の命令
セットで構成される命令列である。
るプロセッサの構成図である。910は命令列を格納し
ているメモリシステム、920は命令フェッチした命令
を命令レジスタに格納する命令供給発行部、921は命
令フェッチを制御する命令フェッチ制御部、924は解
読する命令を格納する命令レジスタ、930は命令解読
全般を行う命令解読部、931は命令解読を制御する命
令発行制御部、932は命令を解読する命令解読器、9
33aは21ビットの命令3つで構成される命令列を解
読する第1命令解読器、933bは63ビットの命令1
つで構成される命令列を解読する第2命令解読器、93
5はいずれかの命令解読器の解読結果を選択するMU
X、936は命令セットを決定する命令セット選択器、
940は解読結果に従って命令を実行する命令実行部、
941は命令実行を制御する命令実行制御部、942は
分岐関係を担当するPC制御部、943は演算器、94
5はレジスタを格納するレジスタファイルである。
の形態のプロセッサについて、以下、その動作を説明す
る。
列は、命令供給発行部920に入力される。命令供給発
行部内では、命令解読部930からの要求に従って64
ビットずつ命令レジスタ924に供給される。命令レジ
スタ924に格納された命令列は、命令解読部930へ
供給される。命令解読部930では、64ビットの命令
を2種類の命令列として、第1命令解読器933aと第
2命令解読器933bによって解読を行う。命令セット
選択器936は2つの解読結果のうちどちらかを決定
し、その情報によりMUX935は2つの解読結果のう
ちの1つを選択する。命令実行部940では、演算器9
43により演算が行われる。
読器の詳細を述べる。
ビットの命令列は、第1命令解読器933a及び第2命
令解読器933bによって解読される。
の命令列の内の最初の21ビットを解読しマイクロ命令
934aを出力する。
の命令列の内の63ビットを解読しマイクロ命令934
bを出力する。
の命令列の内の1ビットの命令セット選択情報を用いて
命令セットの選択を行う。命令セット選択情報が0の時
には、現在命令レジスタ924に格納されている命令は
第1の命令セットの命令3つで構成されていることを、
命令セット選択情報が1の時には、現在命令レジスタ9
24に格納されている命令は第2の命令セットの命令1
つで構成されていることを示す。MUX935は、命令
セット選択器936が選択した命令セット情報を用い
て、第1命令解読器933aの出力するマイクロ命令9
34aあるいは、第2命令解読器933bの出力するマ
イクロ命令934bのどちらかを選択する。これによっ
て命令解読器932は、命令レジスタ924に格納され
た命令列を正しい命令として解読し、命令実行部940
へ演算命令を発行する。
令セットを選択した場合、第1命令解読器933aは続
けて命令レジスタ924に格納されている、残りの2つ
の第1の命令セットの命令の解読を行ない、命令実行部
へマイクロ命令934aを出力する。
解読実行した場合の本プロセッサの動作について説明す
る。
第2の実施の形態におけるプログラムの例である。
命令である、add1 r0,r0命令、sub1 r
2,r1命令、cmp1 r4,r1命令が続き、0x
1004番地から第2の命令セットの命令である、ad
d2 r5,r6命令、sub2 r7,r6命令、c
mp2 r9,r6命令、jmp2 0x2000命令
が続き、離れて0x2000番地からは第1の命令セッ
トの命令である、mul1 r0,r1命令、div1
r2,r3命令、sub1 r1,r2命令が続くと
する。この命令列中で、0x1000、及び0x200
0番地の命令フェッチは第1の命令セットの命令が格納
されているので命令セット選択情報は0に、それ以外は
第2の命令セットの命令が格納されているので1になる
(本来バイナリの機械語命令だが、ここではニモニック
で表記している。また、add1命令とsub2命令の
機械語が同じであるという様に、命令セットが異なると
同一の機械語に異なる命令が割り当てられる事もある
し、add1命令とadd2命令が同じ機械語であると
いう様に、命令セットが異なっても同一の命令は同一の
機械語に割り当てられることもある。)。
と、命令実行制御部941はPC制御部942に分岐の
指令を出力する。PC制御部942は命令フェッチ制御
部921へ分岐命令を出力し、IAバス911へ分岐ア
ドレスを出力する。メモリシステム910はIAバス9
11に対応した0x1000番地から始まる命令列64
ビットをIDバス912へ出力し、命令供給発行部92
0内の命令レジスタ924が受け取る。
3aは、命令レジスタ924の先頭21ビット925a
を参照してadd1 r0,r0命令を解読、第2命令
解読器933bは、命令レジスタ924の先頭63ビッ
ト925a、925b、925cを参照して解読を行
い、それぞれマイクロ命令934a及びマイクロ命令9
34bを出力する。同時に、命令セット選択器936は
命令レジスタ924を参照し、命令セット選択情報が0
である事から命令セットが第1の命令セットであること
を決定する。MUX935は、第1命令解読器933a
の出力するマイクロ命令934aを選択するので、命令
実行部940ではadd1 r0,r0命令が実行され
る。
ので、第1命令解読器933aは続けて命令レジスタ9
24に格納されている、残りの2つの第1の命令セット
の命令の解読を行ない、命令実行部940へマイクロ命
令934aを出力する。これによって、sub1 r
2,r1命令、cmp1 r4,r1命令が実行され
る。
る。命令レジスタ924に格納される0x1004番地
の命令フェッチデータの命令セット選択情報は1である
ので、第2の命令セットとして、add2 r5,r6
命令が解読され、命令実行部940で実行される。
命令セットであるsub2 r7,r6命令が、0x1
00c番地は第2の命令セットであるcmp2 r9,
r6命令が、0x1010番地は第2の命令セットであ
るjmp2 0x2000命令が、分岐先の0x200
0番地は、第1の命令セットであるmul1 r0,r
1命令、div1 r2,r3命令、sub1 r1,
r2命令が実行される。
発明の第2の実施の形態におけるプログラム生成装置の
ブロック図である。
ソースプログラム格納手段、1620は3ユニット毎の
グループに分ける命令抽出手段、1630は命令がどち
らの命令セットに属しているかの情報を生成する命令セ
ット選択情報生成手段、1640はグループ化された命
令列と命令セット選択情報を合成する命令列生成手段、
1650は生成した命令列を格納する命令列格納手段で
ある。
の形態のプログラム生成装置について、以下、その動作
を説明する。
1ユニットで構成される第1の命令セットに属する命
令、及び、3ユニットで構成される第2の命令セットに
属する命令のソースプログラムが格納されている。命令
抽出手段1620は、ソースプログラムをソースプログ
ラム格納手段1610から取得し、それぞれ3ユニット
で構成されるグループに分割する。命令セット選択情報
生成手段1630は、命令抽出手段1620が出力する
グループに分割された命令を取得し、グループ内の命令
がどちらの命令セットに属しているかを判断し、第1の
命令セットに属している時には0を、第2の命令セット
に属しているときには1の値を出力する。命令列生成手
段1640は命令抽出手段1620の出力と命令セット
選択情報生成手段1630の出力を合成して命令セット
選択情報を付加した命令列を出力する。
な命令を解読実行した場合の本命令列生成装置の動作に
ついて説明する。
の実施の形態におけるプログラム生成装置の入力プログ
ラムと出力されるプログラムの例である。
同図(a)に示す、第1の命令セットの命令である、a
dd1 r0,r0命令、sub1 r2,r1命令、
cmp1 r4,r1命令が続いて、第2の命令セット
の命令である、add2 r5,r6命令、sub2
r7,r6命令、cmp2 r9,r6命令、jmp2
0x2000命令が続くとする。
ム格納手段1610に格納されたソースプログラムから
図10(b1)の様に3ユニット分の命令である、第1
の命令セットの命令である、add1 r0,r0命
令、sub1 r2,r1命令、cmp1 r4,r1
命令を抽出し、命令セット選択情報生成手段1630及
び命令列生成手段1640に出力する。
は、命令抽出手段1620から3ユニットの命令を受け
取ると、命令列がどちらの命令セットに属するかを判断
する。これら3ユニットの命令は第1の命令セットであ
るので0を出力する。
1620が出力する3ユニットの命令及び命令セット選
択情報生成手段1630が出力する1ビットの値0を合
成して、64ビットの命令列を出力する。
は、図10(b2)の様に第2の命令セットの命令であ
る、add2 r5,r6命令の3ユニットを出力し、
該当ユニットは第2の命令セットに属する命令であるの
で、命令セット選択情報生成手段1630は1を出力す
る。
列生成手段1640は命令セット選択情報を付加した命
令列を出力する。
に命令セット選択情報を付加した命令列である。
様に従来の命令セット選択方式では、プログラムカウン
タ1830に実装されたTビットによって命令セットの
選択を行うが、1バイト単位の命令を持つプロセッサで
はこの方式は使用できないという問題がある。また、命
令セットの選択は実行時のプログラムカウンタ1830
の値によってのみ決まり、実際に動作させないと命令セ
ットは決定できないため、例えば0x1000番地の命
令列を見た時にそれがどちらの命令セットなのかを判断
することができず、機械語レベルでのデバッグに困難が
あったり、例えば0x1001に分岐命令を記述するな
ど、プログラマの間違いで第1の命令セットで記述され
たプログラムに、最下位ビットが1の分岐アドレスで分
岐した場合に動作の保証ができないという問題がある。
号に従来例として記載されているVAX11コンピュー
ターの様に、プロセッサステータスレジスタに実装した
命令セット切り替えレジスタへの書込によって命令セッ
トを選択する方式では、プロセッサステータスレジスタ
に書き込む命令が必要となるので、プログラムが余分に
必要とされ、プログラム領域が肥大したり、書込処理に
よりプロセッサの性能が低下してしまうという問題があ
る。また通常のレジスタ書込は、例えばライトバックス
テージの様な、命令の解読よりも後のパイプラインステ
ージで行われるために、プロセッサステータスレジスタ
への書き込み命令の解読と、プロセッサステータスレジ
スタへの実際の書き込みの間に時間差が発生してしまう
ため、命令セットの切替えが高速に行えないという問題
もある。
形態におけるプロセッサの命令フォーマットである。
に、21ビットを単位とした固定長命令形式となってい
る。64ビットの命令フェッチ単位は、21ビットの3
つの命令と1ビットの命令キャッシュ制御情報で構成さ
れる。命令キャッシュ制御情報が0の時は、その命令フ
ェッチ単位に含まれる命令をキャッシュに登録しない事
を、1の時は、その命令フェッチ単位に含まれる命令を
キャッシュに登録する制御を示す。同図(b)は、命令
キャッシュ制御情報が0の場合で、命令フェッチ単位に
含まれる3つの命令は命令キャッシュに登録しない事を
示す。同図(c)は、命令キャッシュ制御情報が1の場
合で、命令フェッチ単位に含まれる3つの命令は命令キ
ャッシュに登録する事を示す。
は本発明の第3の実施の形態におけるプロセッサのブロ
ック図である。
ステム、1250は命令列に対するキャッシュを制御す
る命令キャッシュ装置、1252は命令列を命令キャッ
シュ装置1250に登録するかどうかを判断する命令キ
ャッシュ制御解読器、1253は命令キャッシュ、12
20はメモリシステム1210或いは命令キャッシュ装
置1250から命令を得る命令供給発行部、1221は
命令フェッチを制御する命令フェッチ制御部、1224
は解読する命令を格納する命令レジスタ、1230は命
令解読全般を行う命令解読部、1231は命令解読を制
御する命令発行制御部、1232は命令を解読する命令
解読器、1240は解読結果に従って命令を実行する命
令実行部、1241は命令実行を制御する命令実行制御
部、1242は分岐関係を担当するPC制御部、124
3は演算器、1245はレジスタを格納するレジスタフ
ァイルである。
の形態のプロセッサについて、以下、その動作を説明す
る。
ッチアドレスが発行されると、命令キャッシュ装置12
50は該当する命令が命令キャッシュ1253に格納さ
れているかを確認し、命令キャッシュ1253に格納さ
れていない場合には、メモリシステム1210へIAバ
ス1211を通じて命令フェッチアドレスを出力する。
2を通じて命令列を命令キャッシュ装置1250へ供給
する。
ャッシュ制御解読器1252は命令列の内の命令キャッ
シュ制御情報を解読し、命令キャッシュ制御情報が1の
時には命令キャッシュ1253への登録を行い、命令キ
ャッシュ情報が0の時には命令キャッシュ1253への
登録を行わない。
テム1210或いは命令キャッシュ1253のいずれか
に格納された命令列をCDバス1255を介して命令供
給発行部1220に供給する。
1230からの要求に従って64ビットずつ命令レジス
タ1224に命令列を供給する。命令レジスタ1224
に格納された命令列は、命令解読部1230へ供給され
る。命令解読部1230では、64ビットの命令を3つ
の21ビット命令として、命令解読器1232によって
解読を行う。
により演算が行われる。 (プロセッサの動作)次に具体的な命令を解読実行した
場合の本プロセッサの動作について説明する。
るプログラムの例である。このプログラムは、割り込み
処理プログラムの様な通常プログラムの流れとは異な
り、本プログラムに分岐して来た時、命令キャッシュに
は本プログラムは格納されていない状況を想定してい
る。
らclr r1命令、 mov imm,r4命令、m
ov r5,r0命令、mov (r0),r3命令、
mul r3,r4命令、add r4,r1命令、s
ub imm,r0命令、cmp r1,r0命令、b
ne 0x1004命令、rti命令が配置されてお
り、この命令列中、0x1004番地及び0x1008
番地に格納されている6つの命令は内部で繰り返して実
行されるのに対して、ほかの命令は1度しか実行されな
い。この為、0x1004番地及び0x1008番地に
格納されている命令は命令キャッシュに登録した方が効
率が高いので命令キャッシュ制御情報は1に、それ以外
の命令キャッシュ情報は0に設定されている。
地への分岐命令を検出すると、命令実行制御部1241
はPC制御部1242に分岐の指令を出力する。PC制
御部1242は命令フェッチ制御部1221へ分岐命令
を出力し、CAバス1254へ分岐アドレスを出力す
る。
グラムは格納されていないので、命令キャッシュ装置1
250はIAバス1211を通じてメモリシステム12
10から命令列を要求する。メモリシステム1210は
命令列をIDバス1212を通じて命令キャッシュ装置
1250へ供給する。
CDバス1255を介して命令供給発行部1220内の
命令レジスタ1224へ供給する。また、キャッシュ制
御解読器1252は命令列の内の命令キャッシュ制御情
報を解読し、命令キャッシュ制御情報が0であることか
ら、命令キャッシュ1253への登録を行わない。
24の命令を21ビットずつ、clr r1命令、 m
ov imm,r4命令、mov r5,r0命令とし
て解読し、命令実行部1240は演算を行う。
008番地の6つの命令の実行を行う。これらの命令列
は命令キャッシュ制御情報が1に設定されているので、
メモリシステム1210から命令フェッチすると同時
に、命令キャッシュ装置1250では命令キャッシュ1
253への登録が行われる。これによってmov (r
0),r3命令、mul r3,r4命令、add r
4,r1命令、subimm,r0命令、cmp r
1,r0命令、bne 0x1004命令が解読、実行
されると同時に、命令キャッシュ1253への登録が行
われる。
08番地の6つの命令を実行する場合、これらの命令列
は命令キャッシュ1253に既に格納されているので、
メモリシステム1210にアクセスすることなく、高速
に実行される。
実行する場合には、0x1000番地の命令を実行する
場合と同じく、メモリシステム1210から命令列を獲
得して実行するが、命令キャッシュ1253への登録は
行わない。
特許公報特開平8−44557号に従来例として記載さ
れているVAX11コンピューターの様に、プロセッサ
ステータスレジスタに実装したキャッシュ制御レジスタ
への書込によってキャッシュの登録や参照などの動作を
制御する方式では、プロセッサステータスレジスタに書
き込む命令が必要となるので、プログラムが余分に必要
とされ、プログラム領域が肥大したり、書込処理により
プロセッサの性能が低下してしまうという問題がある。
また通常のレジスタ書込は、例えばライトバックステー
ジの様な、解読ステージよりも後のパイプラインステー
ジで行われるために、プロセッサステータスレジスタへ
の書き込み命令の解読と、プロセッサステータスレジス
タへの実際の書き込みの間に時間差が発生してしまうた
め、キャッシュの制御が高速に行えないという問題もあ
る。
た実施の形態について説明したが、本発明はこれら実施
の形態のみに限定されるものではなく、当業者であれば
特許請求の範囲に記載した発明の要旨から逸脱すること
なく、種々の変形及び変更が可能であると理解すべきで
ある。
では命令フェッチ幅や命令長を規定したがそれらを特に
限定するものではない。
令フェッチ幅としたが、この単位は、一定間隔、あるい
は分岐先の命令毎であれば特に限定しない、例えば、命
令フェッチ幅や、命令フェッチ幅の整数倍や、命令フェ
ッチ幅の整数分の1であっても構わない。
在する必要は無く、例えば、分岐先を含む単位のみに存
在していたり、分岐先を含む単位の次の単位のみに存在
していたり、分岐命令を含む単位や、メモリアクセス命
令を含む単位にのみ存在していたりしても構わない。
位の番地に位置する命令の位置情報としたが、この位置
情報は、単位の中で最低位の番地の命令が命令のどの部
分であるかという情報でも構わないし、また、単位内に
含まれる全ての命令の位置情報であっても構わない。
ら固定長への変換に用いたが、この情報を何に利用する
かは特に限定しない。例えば、解読時の処理の負荷分散
を目的とした前解読処理であっても構わないし、分岐命
令の分岐先を予測する分岐予測や、先行投機実行の為に
使用しても構わない。
ータは、ニモニックであっても機械語であっても構わな
いし、C言語の様な高級言語であっても構わない。
定長を抽出したが、固定長の長さは何でも構わないし、
また、分岐先の命令語の間隔に対応した長さの命令を抽
出する機能であっても構わない。
るかは限定しない。例えば、フロッピーディスクやハー
ドディスクや、光ディスクなどの媒体であっても構わな
い。
では命令フェッチ幅や命令長を規定したがそれらを特に
限定するものではない。
位を命令フェッチ幅としたが、この単位は、一定間隔あ
るいは分岐先の命令毎であれば特に限定しない、例え
ば、命令フェッチ幅や、命令フェッチ幅の整数倍や、命
令フェッチ幅の整数分の1であっても構わない。
必ず存在する必要は無く、例えば、分岐先を含む単位の
みに存在していたり、分岐先を含む単位の次の単位のみ
に存在していたり、分岐命令を含む単位や、メモリアク
セス命令を含む単位にのみ存在していたりしても構わな
い。
力するマイクロ命令の無効化に用いたが、この情報を何
に利用するかは特に限定しない。例えば、解読器に入力
する命令列の無効化処理に使っても構わないし、解読器
の動作状態の制御に使用しても構わない。
それらを限定するものではない。例えば、全て可変長命
令であっても構わないし、混在であっても構わない。ま
た、可変長命令の場合には、命令の先頭あるいは末尾が
格納されている単位の命令セット選択情報であっても構
わない。
ータは、ニモニックであっても機械語であっても構わな
いし、C言語の様な高級言語であっても構わない。
定長の命令列を抽出したが、固定長の長さは何でも構わ
ないし、また、分岐先の命令語の間隔に対応した可変の
長さの命令列を抽出する機能であっても構わない。
るかは限定しない。例えば、フロッピーディスクやハー
ドディスクや、光ディスクなどの媒体であっても構わな
い。
では命令フェッチ幅や命令長を規定したがそれらを特に
限定するものではない。
位を命令フェッチ幅としたが、この単位は、一定間隔あ
るいは分岐先の命令毎であれば特に限定しない、例え
ば、命令フェッチ幅や、命令フェッチ幅の整数倍や、命
令フェッチ幅の整数分の1であっても構わない。
必ず存在する必要は無く、例えば、分岐先を含む単位の
みに存在していたり、分岐先を含む単位の次の単位のみ
に存在していたり、分岐命令を含む単位や、メモリアク
セス命令を含む単位にのみ存在していたりしても構わな
い。
令キャッシュへの登録制御に用いたが、命令キャッシュ
へのアクセス制御であっても構わないし、データキャッ
シュへの登録制御やアクセス制御であっても構わない。
それらを限定するものではない。例えば、全て可変長命
令であっても構わないし、混在であっても構わない。ま
た、可変長命令の場合には、命令の先頭あるいは末尾が
格納されている単位の命令セット選択情報であっても構
わない。
限定しない。具体的には、先行命令フェッチ制御であっ
たり、割り込み制御であったり、MMUに対する制御情
報であったりしても構わない。先行命令フェッチの場合
には、先行命令フェッチの一時禁止情報であったり、命
令フェッチした命令列を一時的に格納する命令バッファ
の格納バイト数をソフトウェア的に制御するものであっ
たり、先行命令フェッチのフェッチバス幅であったりし
ても構わない。割り込み制御情報の場合には、割り込み
禁止情報であったり、割り込み禁止レベル情報であった
りしても構わない。また、単一の制御情報ではなく、複
数の制御情報を混在させても構わない。混在するときに
は、同一単位内に混在させても構わないし、単位毎に異
なる制御情報を組み込む形式にしても構わない。
御情報であっても構わないし、次の単位に対する制御情
報であっても構わない。
は、命令中に付加情報を配置し、この情報に基づいて制
御することによりプロセッサの構造を簡単にするもので
ある。
の命令フォーマットおよび、命令フェッチ時の命令列の
並びを示す図
のブロック構成図
行部のブロック構成図
変換器の出力フォーマットを示す図
を示す図
を変換した固定長命令を示す図
器の動作の説明図
の命令フォーマットおよび、命令フェッチ時の命令列の
並びを示す図
のブロック構成図
ムを示す図
サの命令フォーマットおよび、命令フェッチ時の命令列
の並びを示す図
サのブロック構成図
ムを示す図
ム生成装置のブロック構成図
ム生成装置のブロック構成図
び、命令フェッチ時の命令列の並びを示す図
ブロック構成図
る命令供給発行部 921 命令フェッチを制御する命令フェッチ制御部 924 解読する命令を格納する命令レジスタ 930 命令解読全般を行う命令解読部 931 命令解読を制御する命令発行制御部 932 命令を解読する命令解読器 933a 21ビットの命令3つで構成される命令列を
解読する第1命令解読器 933b 63ビットの命令1つで構成される命令列を
解読する第2命令解読器 935 いずれかの命令解読器の解読結果を選択するM
UX 936 命令セットを決定する命令セット選択器 940 解読結果にしたがって命令を実行する命令実行
部 941 命令実行を制御する命令実行制御部 942 分岐関係を担当するPC制御部 943 演算器 945 レジスタを格納するレジスタファイル 1210 命令列を格納しているメモリシステム 1220 メモリシステム1210或いは命令キャッシ
ュ装置1250から命令を得る命令供給発行部 1221 命令フェッチを制御する命令フェッチ制御部 1224 解読する命令を格納する命令レジスタ 1230 命令解読全般を行う命令解読部 1231 命令解読を制御する命令発行制御部 1232 命令を解読する命令解読器 1240 解読結果にしたがって命令を実行する命令実
行部 1241 命令実行を制御する命令実行制御部 1242 分岐関係を担当するPC制御部 1243 演算器 1245 レジスタを格納するレジスタファイル 1250 命令列に対するキャッシュを制御する命令キ
ャッシュ装置 1252 命令列を命令キャッシュ装置1250に登録
するかどうかを判断するキャッシュ制御解読器 1253 命令キャッシュ
Claims (6)
- 【請求項1】 複数のユニットからなる可変長命令を並
列実行するプロセッサであって、 前記命令中には前記最初のユニットが命令の先頭である
か否かを示す情報が配置されており、前記情報に基づい
て可変長命令を固定長命令に変換して実行することを特
徴とするプロセッサ。 - 【請求項2】 可変命令語長の命令列を生成するプログ
ラム生成装置であって、入力されたプログラムから一定
の長さの命令語を抽出する命令抽出手段と、前記命令抽
出手段により抽出された前記命令語の位置情報を生成す
る位置情報生成手段と、前記命令抽出手段により抽出さ
れた前記命令語と、前記位置情報生成手段により生成さ
れた前記位置情報とを合成して前記命令列を生成する命
令列生成手段とを備えることを特徴とするプログラム生
成装置。 - 【請求項3】 複数の固定長のユニットからなる命令を
可変長命令として並列実行するプロセッサであって、 前記命令中には前記命令がどの命令セットに属するかを
示す命令セット選択情報が配置されており、前記情報に
基づいて命令セットを切り換えることを特徴とするプロ
セッサ。 - 【請求項4】 複数の命令セットからなる命令列を生成
するプログラム生成装置であって、入力されたプログラ
ムから一定の長さの命令語を抽出する命令抽出手段と、
前記命令抽出手段により抽出された前記命令語がどの前
記命令セットに属するかを規定する命令セット選択情報
を生成する命令セット選択情報生成手段と、前記命令抽
出手段により抽出された前記命令語と、前記命令セット
選択情報生成手段により生成された前記命令セット選択
情報とを合成して前記命令列を生成する命令列生成手段
とを備えることを特徴とするプログラム生成装置。 - 【請求項5】 複数の固定長のユニットからなる命令を
可変長命令として並列実行するプロセッサであって、 前記命令中には前記キャッシュに対するライトアクセス
がミスであった場合に主記憶装置のみを書き換えるかま
たはキャッシュメモリのみを書き換えるかの情報が配置
されており、この情報に基づいてキャッシュに対するラ
イトアクセスがミスであった場合主記憶装置のみを書き
換えるかまたはキャッシュメモリのみを書き換えるかの
切り換えを行うことを特徴とするプロセッサ。 - 【請求項6】 命令列を生成するプログラム生成装置で
あって、入力されたプログラムから一定の長さの命令語
を抽出する命令抽出手段と、前記命令抽出手段により抽
出された前記命令語に対するキャッシュ制御を規定する
キャッシュ制御情報を生成するキャッシュ制御情報生成
手段と、前記命令抽出手段により抽出された前記命令語
と、前記キャッシュ制御情報生成手段により生成された
前記キャッシュ制御情報とを合成して前記命令列を生成
する命令列生成手段とを備えることを特徴とするプログ
ラム生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11835198A JP3861452B2 (ja) | 1998-04-28 | 1998-04-28 | プロセッサおよびプログラム生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11835198A JP3861452B2 (ja) | 1998-04-28 | 1998-04-28 | プロセッサおよびプログラム生成装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006216894A Division JP4349392B2 (ja) | 2006-08-09 | 2006-08-09 | プロセッサおよびプログラム生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11312084A true JPH11312084A (ja) | 1999-11-09 |
JP3861452B2 JP3861452B2 (ja) | 2006-12-20 |
Family
ID=14734558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11835198A Expired - Lifetime JP3861452B2 (ja) | 1998-04-28 | 1998-04-28 | プロセッサおよびプログラム生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3861452B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008083873A (ja) * | 2006-09-26 | 2008-04-10 | Yamaha Corp | デジタル信号処理装置 |
JP4862100B1 (ja) * | 2011-03-25 | 2012-01-25 | 好一 北岸 | 中央演算処理装置及びマイクロコンピュータ |
US8516225B2 (en) | 2011-03-25 | 2013-08-20 | Koichi Kitagishi | Central processing unit and microcontroller |
JP2013546100A (ja) * | 2010-12-16 | 2013-12-26 | マイクロソフト コーポレーション | セキュリティサンドボックス |
-
1998
- 1998-04-28 JP JP11835198A patent/JP3861452B2/ja not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008083873A (ja) * | 2006-09-26 | 2008-04-10 | Yamaha Corp | デジタル信号処理装置 |
JP2013546100A (ja) * | 2010-12-16 | 2013-12-26 | マイクロソフト コーポレーション | セキュリティサンドボックス |
JP4862100B1 (ja) * | 2011-03-25 | 2012-01-25 | 好一 北岸 | 中央演算処理装置及びマイクロコンピュータ |
WO2012132104A1 (ja) * | 2011-03-25 | 2012-10-04 | Kitagishi Koichi | 中央演算処理装置及びマイクロコンピュータ |
US8516225B2 (en) | 2011-03-25 | 2013-08-20 | Koichi Kitagishi | Central processing unit and microcontroller |
Also Published As
Publication number | Publication date |
---|---|
JP3861452B2 (ja) | 2006-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5303356A (en) | System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag | |
US4879646A (en) | Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging | |
JP3797471B2 (ja) | マルチスレッドvliwプロセッサにおける分割可能なパケットを識別するための方法および装置 | |
US5504932A (en) | System for executing scalar instructions in parallel based on control bits appended by compounding decoder | |
US5944841A (en) | Microprocessor with built-in instruction tracing capability | |
US5911057A (en) | Superscalar microprocessor having combined register and memory renaming circuits, systems, and methods | |
JP6807383B2 (ja) | 転送プレフィックス命令 | |
JP2003085000A (ja) | トレース情報生成装置およびその方法 | |
US8176478B2 (en) | Process for running programs on processors and corresponding processor system | |
JPH0128415B2 (ja) | ||
KR20010050792A (ko) | 2개의 서로 다른 고정 길이 명령 세트를 실행하기 위한프로세서 아키텍쳐 | |
JP2004171573A (ja) | 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ | |
US6014739A (en) | Increasing general registers in X86 processors | |
US6687808B2 (en) | Data processor using indirect register addressing | |
TW202314497A (zh) | 用於加速串流資料變換運算之電路系統及方法 | |
JPH0248732A (ja) | 命令パイプライン方式のマイクロプロセッサ | |
JP2008146544A (ja) | 演算処理装置 | |
KR101497346B1 (ko) | 명령으로서 데이터 값을 평가하기 위한 시스템 및 방법 | |
US20040255095A1 (en) | Data access program instruction encoding | |
JPH11312084A (ja) | プロセッサおよびプログラム生成装置 | |
CN108920188B (zh) | 一种扩展寄存器堆的方法及装置 | |
US20070245120A1 (en) | Multiple microcontroller system, instruction, and instruction execution method for the same | |
JP4349392B2 (ja) | プロセッサおよびプログラム生成装置 | |
EP0545927B1 (en) | System for preparing instructions for instruction parallel processor and system with mechanism for branching in the middle of a compound instruction | |
KR920003182B1 (ko) | 마이크로프로세서 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050427 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050512 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060918 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091006 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |