JP2001195384A - 処理装置及び処理装置の入出力ピンを制御する方法 - Google Patents

処理装置及び処理装置の入出力ピンを制御する方法

Info

Publication number
JP2001195384A
JP2001195384A JP2000361291A JP2000361291A JP2001195384A JP 2001195384 A JP2001195384 A JP 2001195384A JP 2000361291 A JP2000361291 A JP 2000361291A JP 2000361291 A JP2000361291 A JP 2000361291A JP 2001195384 A JP2001195384 A JP 2001195384A
Authority
JP
Japan
Prior art keywords
register
data
mask
output
input
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
JP2000361291A
Other languages
English (en)
Inventor
Amarjit S Bhandal
エス、ブハンダル アマージット
Graham Short
ショート グレアム
Richard Simpson
シンプソン リチャード
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2001195384A publication Critical patent/JP2001195384A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 処理コアが簡単な読出しまたは書込み命令を
もって関連したデータレジスタから情報を読出し書込む
ことのできる汎用I/Oピンをもった処理装置およびそ
の制御方法を提供すること。 【解決手段】 複数のビットをもった複数のマスクレジ
スタと、前記マスクレジスタのそれぞれのビットに対応
する複数の入力/出力ピンと、前記入力/出力ピンから
データを読出し及びそれに書込むデータ入力レジスタ、
データ出力レジスタおよびマスクレジスタを備え、前記
マスクレジスタの状態に応じて前記データ入力または出
力レジスタのアクセスされた1つが前記入力/出力ピン
からデータを読出しまたはそれに書込むようにした処理
装置及びその制御方法。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に処理装置、特
に入出力ピンをもった処理装置及び処理装置の入出力ピ
ンを制御する方法に関する。
【0002】
【従来の技術】マイクロ処理ユニット(MPU)、デジ
タル信号プロセッサ(DPS)及び他の装置を含む汎用
処理装置は単一の装置を多くの異なるアプリケーション
に使用することを可能にする。処理装置はプログラムに
より所望のアプリケーションに適合される。1つの処理
装置を個々にあるいは同時に多数のプログラムを実行す
るのに使用することができる。アプリケーションを実行
する順序は前記処理装置の作動中に動的に変化する。
【0003】多くの処理装置はプログラマが処理装置を
他の装置に接合するのに用いる汎用の入力/出力(I/
O)ピンを含む。これらのI/Oピンは必要に応じて特
定のアプリケーションに使用される。例えば、セルラー
電話に使用される処理装置は第1群のピンは変復調回路
に接続するように指定され、第2群のピンはLCDスク
リン制御器に接続するように指定される。他のアプリケ
ーションにおいてはこれらの同じピンを全く別の目的に
用いることができる。
【0004】従来技術においては、汎用I/Oピンはレ
ジスタのそれぞれのビット位置の各ピンに関連する値を
格納するI/Oレジスタに結合されていた。ある機能の
ピン信号を読むため、プロセッサはレジスタの値を読
み、処理装置は上記機能に関係ないビットをマスクす
る。所定の機能のピンに信号を送るため、プロセッサは
該機能に関連のないピンの変更を避けて読出−変調−書
込操作を実行しなければならない。プロセッサは汎用I
/Oピンに関連する出力バッファの値を読出し、手もと
の機能に関連したそれらのビットのみを変調し、その変
調された値を前記出力バッファに再び書込む。この汎用
I/Oピンを処理する機構には相当量の処理時間と電力
を使用し、I/Oピンを正確に操作するには長くて綿密
なプログラムの作成が必要である。
【0005】他の重要な問題は、多数の独立したタスク
がI/Oレジスタにアクセスするマルチタスク環境にお
ける汎用I/Oピンの使用を含む。この場合、読出−変
調−書込操作は原子的、すなわち全ての操作が他の操作
が開始する前に完了しなければならない。さもないと、
次のような事象が起こる可能性がある。すなわち、
(1)第1のタスクは汎用I/Oピンのピン0−3にデ
ータを書込むために読出−変調−書込を実行し、(2)
読出の後しかし書込の前に、第2のタスクが第1のタス
クに割込み、汎用I/Oピンのピン4−6に読出−変調
−書込を実行し、(3)第2のタスクの読出−変調−書
込の完了の後に、第1のタスクが制御を再度獲得して、
その読出−変調−書込を終了する。この場合、ピン4−
6を駆動するデータは第1のタスクの読出−変調−書込
の書込操作により上書きされるであろう。この状態の発
生を避けるため、読出−変調−書込の間の処理コアに対
する全ての割込を不可能にすることが必要であり、処理
コアに対する割込を不可能にすることは装置の操作にお
いて不要な待ち時間を発生する可能性がある。
【0006】従って、処理装置における汎用入力/出力
ピンについて容易にプログラムでき、プロセッサの機能
を妨害しないことが要求される。
【0007】
【発明の概要】本発明において処理装置は、各々が複数
のビットをもった複数のマスクレジスタを含む。複数の
入力/出力ピンは各マスクレジスタのそれぞれのビット
に対応する。1つまたは複数のデータレジスタが前記入
力/出力ピンに結合され、該データレジスタの各々は、
各マスクレジスタのそれぞれのビットに対応する複数の
ビットをもつ。論理回路は前記マスクレジスタの選択さ
れた1つにより画定される位置においてのみ前記データ
レジスタにアクセスする。
【0008】本発明は、従来技術より充分に優れた利点
をもつ。前記マスクレジスタと論理回路は、処理コアが
読出−変調−書込操作の実行に巻き込まれることなく、
簡単な読出しまたは書込み命令をもって、前記汎用I/
Oピンに関連したデータレジスタから情報を読出し、書
込むことを許す。さらに、本発明は読込−変調−書込操
作の割込によるエラーの可能性を排除する。また、デー
タのピンへの書込み及び読出しのためのプログラミング
が従来技術よりも格別に簡易化され、エラーを起こり難
くする。
【0009】
【実施例】本発明は図面の図1−5を参照して最良に理
解される。各図面において同じ数字は同様の要素に用い
られる。
【0010】図1は本発明による融通性のある汎用入力
/出力構造を用いた処理装置10のブロック図を示す。
図示のため処理装置10のブロック図面はデジタル信号
プロセッサ(DSP)の特定の実施として示されるが、
本発明は図1に示されるものと相当に異なるプロセッサ
構造についても使用できることを注意すべきである。本
発明は、汎用ピンの設けられた任意の処理装置、例えば
それに限定されるものでないが、マイクロプロセッサ、
デジタル信号プロセッサ、複合アナログ/デジタル信号
プロセッサとコプロセッサを含む処理装置の設計に使用
されるものと考えられる。
【0011】図1の実施例において、処理装置10はレ
ベル1命令(L1I)キャッシュ14とレベル1データ
(L1D)キャッシュ16に結合されたCPU(処理)
コア12を含む。L1Iキャッシュ14とL1Dキャッ
シュ16はレベル2(L2)キャッシュ18に結合され
る。L2キャッシュ18は転送制御器20、構成バス2
2及び転送要求バス24に結合される。転送制御器20
はまたEMIF(外部メモリインタフェース)26及び
バッファ管理装置28に結合される。構成バス22はE
MIF26,監視タイマ30、XDMA(外部直接メモ
リアクセス(external direct memory access))制御器
31、タイマ0 32、タイマ1 34、割込み選択器
35、GPIO(汎用入力/出力)回路36、UART
(汎用非同期受信/送信(universal asynchronous rec
eive/transmit))38、Mc BSP(多重チャネルバッ
ファ直列ポート(multi-channel buffered serial por
t))40及びバッファ管理装置28に結合される。バッ
ファ管理装置28はまたUART38,Mc BSP4
0,HDLC(高レベルデータリンク)制御器42、M
AC(媒体アクセス制御器)44及びMDIO(直列M
II管理直接入力/出力(serial MII management direc
t input/output) )制御器46に結合される。転送要求
バス24はL2キャッシュ18、転送制御器20、バッ
ファ管理装置28及びXDMA制御器31に結合され
る。
【0012】動作において、装置は1組のデータ入力/
出力ユニット(MAC44,McBSP40,UART
38,HDLC制御器42、GPIO36,MDIO4
6),データ操作及び処理ユニット(CPUコア1
2)、データ移動及び格納ユニット(L1及びL2キャ
ッシュ14−18、転送制御器20、バッファ管理装置
28、EMIF26)及び支持ユニット(XDMA制御
器31、割込み選択器35、タイマ0 32、タイマ1
34、監視タイマ30)に分割される。転送制御器2
0、XDMA制御器31の組み合わせは強化DMA(E
DMA)として公知である。
【0013】上述の実施例において、全ての構成要素は
32ビットのアドレスバスによりアクセスされる記憶ス
ペースを共有する。このスペースの上方半分,アドレス
範囲0×80000000−0×FFFFFFFは12
8メガバイトまでの4つの別個のスペースに分割され、
各スペースはEMIF26を介してアクセスされる外部
メモリとして設けられる。下方半分、アドレス範囲0×
00000000−0×7FFFFFFFは内部にマッ
プ(mapped) される。このアドレス範囲はさらに多数の
スペースに細分される。装置のインタフェースと支持要
素はこれらの内部アドレススペースにメモリマップされ
る(memory-mapped)。全メモリスペースを横切る任意の
位置間のデータ移動は、転移要求バス24を介して受け
取られるバッファ管理装置28、L2キャッシュ18及
び/又はXDMA制御器31からの要求に従って、転移
制御器20により実行される。加えて、アドレス範囲0
×01800000−0×01FFFFFFに延在する
メモリ領域はCPUコア12に代わって構成バス22に
よりアクセスされる。この構成バススペースは一次的に
システムの制御と構成に使用されるレジスタをアクセス
するためのものである。CPUコア12に必要なデータ
及び命令は、別個の第1のレベルの命令及びデータキャ
ッシュ(それぞれL1命令キャッシュ14とL1データ
キャッシュ16)と統合された第2のレベルのキャッシ
ュ(L2キャッシュ)18よりなる2レベルキャッシュ
構成により与えられる。
【0014】処理装置10は、毎秒10または100メ
ガビット(10または100Mbps)で作動するイー
サネット(登録商標)MACインタフェース、167k
迄の全ての共通通信速度(baud rates) にセットされる
汎用非同期受信/送信(UART)インタフェース3
8、多重チャネルバッファ直列ポート(Mc BSP)イ
ンタフェース40、高レベルデータ連結制御(HDL
C)インタフェース42、直列MII管理(MDIO)
インタフェース46、外部処理コア割込み源を含む他の
外部装置の接続及び2つの内部タイマ32と34の制御
信号のための16の汎用入力/出力(GPIO)ピンを
含む多数の外部インタフェースを備える。
【0015】内部資源は各種の計数と計時の目的に使用
される2つの32−ビットタイマ32と34、CPUに
割込みを起こす全ての装置の事象を取り扱う割込み選択
器35、割込み事象に反応するCPUに類似した態様で
起動されるXDMA制御器31を含む。割込み選択器3
5は割込み事象に対して、割込みサービス手順にジャン
プする代わりに転送制御器20に対する予め画定された
データ転送要求の1つを遅らすように反応する。さら
に、バッファ管理装置28が主内部資源を構成する。こ
のユニットはMAC44,HDLC制御器42、Mc B
SP40及びUART38が装置のメモリスペースに対
し及びそれからパケット化されたデータを転送する手段
である。このユニットは、それ自身とそれがサーブする
周辺装置の間にデータを移動し、そのデータをパケット
の列(データの流れとして知られる)に組み込み、その
データ列をCPUコア12がアプリケーションの要求す
るデータにアクセスしそれを処理することのできる外部
メモリに対し及びそれから転送するのに前記転送制御器
を使用するための専用のハードウエアを提供する。
【0016】以下により詳細に説明するように、多数
(図示の実施例においては16)の汎用I/Oピンが設
けられる。各GPIOピンは入力または出力として独立
に設定できる。GPIOピンは1組のメモリマップされ
た(memory mapped)レジスタを読出し及び書込むように
駆動され監視される。図示の実施例において、GPIO
レジスタは構成バス22のアドレススペースにメモリマ
ップされる。
【0017】図2は処理装置10の例示的メモリマップ
を示す。図示の実施例において、処理装置は単一の統合
された(unified)メモリマップであるが、これは本発明
を実行するのに必須なことではない。図示の実施例にお
いて、構成バスアドレススペースは0×0180000
0(6進法(hex notation)による全てのアドレス)から
0×01FFFFFFのアドレススペースをもつ。構成
バスアドレススペース内で、GPIOは0×01B81
000−0×01B81FFFのアドレススペースを使
用する。しかし、GPIOアドレススペースは処理装置
10のアドレススペースの任意の好都合の位置にマップ
することができる。
【0018】図3aはGPIO回路の基本的ブロック図
を示す。論理50は0×01B81000から0×01
B81FFF(図2の実施例において)の範囲について
GPIO36に対する読出し及び書込み要求を受け取
る。このアドレスは図3aにおいて一般にBBBBBM
MRで表され、ここでBBBBBは“基本”フィール
ド、MMは“マスク”フィールド、Rは“レジスタ”フ
ィールドである。従って、論理50は基本アドレスがB
BBBB=01B81のアドレスに対する読出し及び書
込み要求を受け取る。16の汎用I/Oピン52をもつ
構成に対して、GPIOハードウエア36は16−ビッ
トデータ入力レジスタ54(各ピンについて1ビッ
ト)、16−ビットデータ出力レジスタ56、16−ビ
ットデータエネーブルレジスタ58及び図示の実施例に
おいては32の16−ビットマスクレジスタ60(個々
にマスクレジスタ600-601Fで示される)を含む。デ
ータ入力レジスタ54の16ビットの各ビットは対応す
るピン52に結合される。出力エネーブルレジスタ58
の各ビットは対応する3−状態バッファ62の制御ゲー
トに結合される。データ出力レジスタ56の各ビットは
対応するバッファ62の入力に結合される。3−状態バ
ッファ62の出力はピン52に結合される。
【0019】マスクレジスタ60、データ入力レジスタ
54、データ出力レジスタ56、出力エネーブルレジス
タ58について、レジスタビットとピン52の間には直
接の対応がある。データ入力レジスタ54はそれらの最
後のサンプル点におけるGPIOピンの状態を格納す
る。データ出力レジスタ56は、出力レジスタ56にお
いて出力エネーブルレジスタビットがセットされている
ピン52に駆動されるべきデータを画定する。データ出
力レジスタ56は3−状態バッファを制御して、それに
よりデータ出力レジスタ56からピン52に駆動される
データを画定する。
【0020】都合により、ここに記載される各レジスタ
は32ビットレジスタに形成されその下位16ビットの
みが使用されるものとする。ここに示される実施例は追
加のGPIOピンを設け、レジスタにおいて追加のビッ
トを使用することにより容易に拡大される。
【0021】図3bはGPIO回路36の論理回路を示
す。レジスタ54、56、58、60の各々はGPIO
アドレススペースにメモリマップされる。一方好ましい
実施例において、マスクレジスタ60はアドレススペー
スに独特にマップされ(すなわち各マスクレジスタ60
は単一のアドレスによりアクセスされる)、データ入力
レジスタ54、データ出力レジスタ56、出力エネーブ
ルレジスタ58はアドレススペースに32度マップされ
る(各マスクレジスタについて1度)。従って、データ
入力レジスタ54は多重アドレスの1つをアクセスする
ことにより読出され、データ出力レジスタ56は多重ア
ドレスの何れか1つにアクセスして書込まれ、出力エネ
ーブルレジスタ58は多重アドレスの何れか1つにアク
セスしてそれから読出し、またはそれに書込まれる。図
示の実施例は32マスクレジスタ60を用いた構成を示
すが、任意の数のマスクレジスタをマスクレジスタの数
に等しい数のデータ入力レジスタ54、データ出力レジ
スタ56、出力エネーブルレジスタ58への論理マッピ
ングと共に使用することができる。
【0022】図示の実施例において、アドレスのマスク
フィールド(MM)は与えられたマスクに関連した1組
の(論理)レジスタを一意的に画定する。ここにMM=
00に対して、R=0はマスクレジスタ0600に対応
し、R=4は論理データ入力レジスタ0に対応し、R=
8は論理データ出力レジスタ0に対応し、R=Cは論理
出力エネーブルレジスタ0に対応する。同様に、MM=
1Fに対して、R=0はマスクレジスタ1F601Fに対
応し、R=4は論理データ入力レジスタ1Fに対応し、
R=8は論理データ出力レジスタ1Fに対応し、R=C
は論理出力エネーブルレジスタ1Fに対応する。論理デ
ータ入力レジスタ0と論理データ入力レジスタ1Fは例
えば、図3aに示されると同様な物理的データ入力レジ
スタ54であるが、多重マップされたレジスタ54、5
6、58の各々にアクセスするのに使用されるアドレス
は、関連するマスクレジスタ60を識別することにより
レジスタがどのようにアクセスされるかを画定する。
【0023】動作において、多重マップされたレジスタ
がアクセスされるとき、関連するマスクレジスタ60の
対応するビットにおいて、エネーブルされたビットのみ
がその動作により影響される。各マスクレジスタ60と
その関連する(論理)データ入力レジスタ54、データ
出力レジスタ56、出力エネーブルレジスタ58がGP
IOマスクレジスタ組を構成する。特定のデータ入力レ
ジスタ、データ出力レジスタ、または出力エネーブルレ
ジスタ位置がアクセスされるとき、そのアクセスにより
影響される対応するハードウエアレジスタ内のビットは
そのアクセスされた位置と同じ組のマスクレジスタ60
により決められる。アクセスされるレジスタがデータ入
力レジスタ54、データ出力レジスタ56または出力エ
ネーブルレジスタ58であるとき、論理50は該レジス
タにアクセスするのに使用されたアドレスに対応するマ
スクレジスタ60の状態に従ってレジスタにアクセスす
る。データ入力レジスタ54、データ出力レジスタ56
または出力エネーブルレジスタ58は、適当なビット
(関連するマスクレジスタ60のビットの組に対応す
る)のみが影響されるようにアクセスされる。処理コア
12による読出し動作について、論理50は対応するマ
スクビットがセットされているビットに対してのみ正し
いハードウエアレジスタ値に戻し、その他のビットは
“0”に戻る。処理コア12による書込動作に対して、
論理50は対応するセットされたマスクビットをもった
レジスタのビットに直接書込み、対応するセットされた
マスクビットをもたないレジスタのビットは書込動作に
より影響されない。
【0024】レジスタにアクセスするこの構造はGPI
Oインタフェースを、多重ソフトウエア処理が互いに独
立に異なるGPIOピンにアクセスすることができるよ
うに構成する。GPIOピン52の1つまたは複数を使
用するタスクはどのピンが使用されるかを画定するよう
にマスクレジスタを設定することのみが必要であり、そ
の後それは適当なアドレスへの簡単な読出し、書込み命
令を用いて(アクセスされるデータレジスタと関連する
マスクレジスタに基づいて)上記ピンにアクセスするこ
とができる。プログラミングはこのようにして非常に簡
易化される。さらに、CPUコア12がソフトウエアを
介してデータレジスタに書込むよりはむしろ、論理50
がハードウエアを介してデータレジスタに書込むので、
コア12は論理50が書込を実行するときにさえ、異な
るタスクによりデータを上書する危険無しに割り込まれ
る。
【0025】図4は、図3a,3bに示されるGPIO
回路36の動作を示すフローチャートである。ブロック
80において、読出しまたは書込み要求に関連して論理
50がアドレスを受け取る。基本アドレスBBBBB=
01B81(図示の実施例において)をもったアドレス
のみがGPIO回路36に与えられる。もし、決定ブロ
ック82においてマスクフィールドが0と1Fの間にあ
れば(すなわち0≦MM≦1F),要求はマスクレジス
タ組のレジスタの1つに向けられる。マスクフィールド
範囲外のアドレスに対するアクセスは正規にブロック8
4において処理される。もしアクセスがマスク組のデー
タレジスタに対するならば、ブロック86においてレジ
スタが識別される。マスクレジスタ60(R=0)に対
するアクセスは正規に処理され、ブロック84において
データがマスクレジスタから読出し、またはそれに書込
まれる。
【0026】もしアクセスされるレジスタがデータ入力
レジスタ54(R=4)であるなら、ブロック88で関
連するマスクレジスタビットのセットされているビット
のみが正しいハードウエアレジスタ値に戻され、他のビ
ットは0に戻される。データ入力レジスタ54は読出専
用メモリである。もしアクセスされるレジスタがデータ
出力レジスタ56(R=8)で、アクセスが読出しであ
るなら、ブロック90で対応するマスクレジスタビット
のセットされているビットのみにデータが戻され、他の
ビットは0に戻される。データ出力レジスタ56に対す
る書込動作に対して、書込データは対応するマスクビッ
トのセットされているハードウエアレジスタビットにの
み書き込まれる。データ出力レジスタ56の他のビット
は影響されない。もしアクセスされるデータレジスタが
出力エネーブルレジスタ58(R=C)であるなら、ブ
ロック92においてデータはこのレジスタから対応する
マスクビットのセットされているビットについてのみ読
み取られ、他のビットは0に戻される。出力エネーブル
レジスタ58に対する書込動作に対しては、書込データ
は対応するマスクビットがセットされているハードウエ
アレジスタビットにのみ書込まれ、他のビットは影響さ
れない。
【0027】図5aから5dはマスクレジスタ60、デ
ータ入力レジスタ54、データ出力レジスタ56、出力
エネーブルレジスタ58の詳細構造を示す。各レジスタ
の動作はそれぞれ表Iから表IVに示される。
【0028】
【表1】
【0029】
【表2】
【0030】
【表3】
【0031】
【表4】
【0032】動作において、プロセッサ10により実行
される各ソフトウエア手順は1つまたは複数のマスクレ
ジスタをセットしてその手順により監視され、または駆
動されるピン52を画定する。例えば、1つの手順があ
る装置への入力/出力ポートとしてピン3−0にアクセ
スするなら、“0,,,,01111”の値がマスク0に書
込まれる。このポートに対する全てのアクセスはアドレ
ス0×1B81004によりアクセスされるデータ入力
レジスタ54、アドレス0×1B81008によりアク
セスされるデータ出力レジスタ56、アドレス0×1B
8100Cによりアクセスされる出力エネーブルレジス
タを用いてなされる。マスクレジスタ600をセットし
た後は、マスクにより画定されるピンに対する書込はマ
スクレジスタにより使用不能にされたピンの使用に影響
しないので、ソフトウエア手順は他の汎用ピンの使用に
係わる必要がない。
【0033】本発明は従来技術に較べて大きな利点を与
える。従って、処理コア12による簡単な書込命令が論
理50によるアクセスされるレジスタの特定のビット、
書込アドレスにより画定される関連するマスクレジスタ
60に設定される特定のビットに対するハードウエアの
書込を開始する。論理50による書込はコア12に明ら
かであり、それによりタスクのコーデングが簡易化さ
れ、割込みによるエラーを受けることがない。
【0034】本発明の詳細な説明は特定の例示的実施例
に向けられたが、この実施例の各種変形及び他の実施例
が当業者には明らかであろう。例えば、ここに示される
アドレス、レジスタの大きさ、マスクレジスタ(及び論
理的データ入力レジスタ、データ出力レジスタ、出力エ
ネーブルレジスタ)の数、ピンの数は特定の実施例を説
明するためのもので、当業者に良く知られているように
容易に各種の変更をこれら要素になすことができる。同
様に、ここに示されるマスク組は4つのレジスタ(マス
ク、データ入力、データ出力、出力エネーブル)からな
るが、ある実施例においては望ましい機能を与えるため
必要に応じて各マスク組のレジスタの数を増加または減
少することができる。本発明は添付の請求項の範囲内の
任意の修正、変形を含むものである。
【0035】以上の説明に関して更に以下の項を開示す
る。 (1)それぞれが複数のビットをもった複数のマスクレ
ジスタと;各マスクレジスタのそれぞれのビットに対応
する複数の入力/出力ピンと;前記入力/出力ピンに結
合され、各々が各マスクレジスタのそれぞれのビットに
対応する複数のビットをもった1つまたは複数のデータ
レジスタと;前記マスクレジスタの選択された1つによ
り画定される位置において前記データレジスタにアクセ
スする論理回路と;を含む処理装置。 (2)前記1つまたは複数のデータレジスタが前記入力
/出力ピンに印加される信号に対応した値を格納するデ
ータ入力レジスタを含む、第1項に記載の処理装置。 (3)前記1つまたは複数のデータレジスタが前記入力
/出力ピンに印加されるべき値を格納するデータ出力レ
ジスタを含む、第1項に記載の処理装置。 (4)前記1つまたは複数のデータレジスタが前記デー
タ出力レジスタと前記入力/出力ピンの間に結合された
バッファに印加される信号に対応した値を格納する出力
エネーブルレジスタを含む、第3項に記載の処理装置。 (5)前記データレジスタがメモリマップされている第
1項に記載の処理装置。 (6)前記選択されたマスクレジスタが前記データレジ
スタをアクセスするのに使用されるアドレスにより画定
される、第5項に記載の処理装置。
【0036】(7)プロセッサの1組の入力/出力ピン
を制御する方法にして、前記プロセッサが処理コアと、
前記ピンのそれぞれに結合された複数のビットをもった
1つまたは複数のデータレジスタとを含むものにおい
て、前記方法が、論理回路において前記処理コアから前
記データレジスタの1つに向けられたアクセス要求を受
け取ること;複数のマスクレジスタの関連する1つを識
別すること;前記関連するマスクレジスタの状態により
画定されるビット位置においてのみ、前記1つのデータ
レジスタにアクセスすること;の各工程を含む前記方
法。 (8)前記アクセスを受け取る工程が、前記データ入力
レジスタに向けられたアクセス要求を受け取り、前記入
力/出力ピンに与えられるべき値を格納する工程を含
む、第7項に記載の方法。 (9)前記アクセスを受け取る工程が、前記データ出力
レジスタに向けられたアクセス要求を受け取り、前記入
力/出力ピンに与えられるべき値を格納する工程を含
む、第7項に記載の方法。 (10)前記アクセスを受け取る工程が、前記出力エネ
ーブルレジスタに向けられたアクセス要求を受け取り、
前記データ出力レジスタと前記入力/出力ピンの間に結
合されたバッファに与えられるべき信号に対応する値を
格納する工程を含む、第7項に記載の方法。 (11)前記データレジスタがメモリマップされてい
る、第7項に記載の方法。 (12)前記識別する工程が、前記データレジスタにア
クセスするのに使用されるアドレスに基づき関連するマ
スクレジスタを識別する工程を含む、第11項に記載の
方法。
【0037】(13)1組の入力/出力ピンと;処理コ
アと;それぞれのピンに結合された複数のビットをもっ
た1つまたは複数のデータレジスタと;複数のマスクレ
ジスタと;前記データレジスタの1つに向けられたアク
セス要求を前記処理コアから受け取り、前記マスクレジ
スタの関連する1つを識別し、前記1つのデータレジス
タを前記関連するマスクレジスタの状態により画定され
るビット位置においてアクセスするようにした論理回路
と;を含む処理装置。 (14)前記データレジスタが前記入力/出力ピンに与
えられる信号に対応する値を格納するデータ入力レジス
タを含む、第13項に記載の処理装置。 (15)前記データレジスタが前記入力/出力ピンに与
えられる値を格納するデータ出力レジスタを含む、第1
3項に記載の処理装置。 (16)前記データレジスタが前記データ出力レジスタ
と前記入力/出力ピンの間に結合されたバッファに与え
られる信号に対応する値を格納する出力エネーブルレジ
スタを含む、第13項に記載の処理装置。 (17)前記データレジスタがメモリマップされている
第13項に記載の処理装置。 (18)前記論理回路が前記データレジスタにアクセス
するのに使用されるアドレスに基づいて前記関連するマ
スクレジスタを認識する、第17項に記載の処理装置。
【0038】(19)処理装置(10)は必要に応じて
ソフトウエア手順により使用する汎用入力/出力ピン
(52)を備える。データ入力レジスタ(54)は各ピ
ン(52)上の信号の値を格納するため前記ピンに対応
するビットをもつ。データ出力レジスタ(56)はピン
(52)上の信号を所望の値に駆動するため各ピンに対
応するビットをもつ。出力エネーブルレジスタ(58)
は前記出力レジスタ(56)と前記ピン(52)の間に
結合された出力バッファ(62)を制御する。複数のマ
スクレジスタ(60)は個々に前記マスクに関連する1
組のピンを画定するようにセットされる。前記データレ
ジスタ、データ入力レジスタ(54)、データ出力レジ
スタ(56)及び出力エネーブルレジスタ(58)の各
々は複数のアドレスによりアクセスされ、ここにアドレ
スはアクセスされるデータレジスタと関連するマスクレ
ジスタの両者を特定するものである。論理(50)は関
連するマスクレジスタ(60)の状態を考慮して前記デ
ータレジスタをアクセスする。
【図面の簡単な説明】
【図1】汎用入力/出力回路を組み込んだ処理装置のブ
ロック図面。
【図2】図1の処理装置の例示的メモリマップを示す。
【図3a】汎用入力/出力回路の物理的な斜視図。
【図3b】汎用入力/出力回路の論理的な斜視図。
【図4】汎用入力/出力回路の動作を説明するフローチ
ャート。
【図5a】マスクレジスタの詳細な接続を示す図面。
【図5b】データ入力レジスタの詳細な接続を示す図
面。
【図5c】データ出力レジスタの詳細な接続を示す図
面。
【図5d】出力エネーブルレジスタの詳細な接続を示す
図面。
【符号の説明】
52 汎用入力/出力ピン 62 3−状態バッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リチャード シンプソン イギリス国 ベドフォード、カールトン、 ザ マーシュ 21

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 それぞれが複数のビットをもった複数の
    マスクレジスタと;前記各マスクレジスタのそれぞれの
    ビットに対応する複数の入力/出力ピンと;前記入力/
    出力ピンに結合され、各々が各マスクレジスタのそれぞ
    れのビットに対応する複数のビットをもった1つまたは
    複数のデータレジスタと;前記マスクレジスタの選択さ
    れた1つにより画定される位置において前記データレジ
    スタにアクセスする論理回路と;を含む処理装置。
  2. 【請求項2】 プロセッサの1組の入力/出力ピンを制
    御する方法にして、前記プロセッサが処理コアと、前記
    ピンのそれぞれに結合された複数のビットをもった1つ
    または複数のデータレジスタとを含むものにおいて、前
    記方法が、 論理回路において前記処理コアから前記データレジスタ
    の1つに向けられたアクセス要求を受け取ること;複数
    のマスクレジスタの関連する1つを識別すること;前記
    関連するマスクレジスタの状態により画定されるビット
    位置においてのみ、前記1つのデータレジスタにアクセ
    スすること;の各工程を含む前記方法。
JP2000361291A 1999-11-29 2000-11-28 処理装置及び処理装置の入出力ピンを制御する方法 Pending JP2001195384A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US450889 1982-12-20
US09/450,889 US6532533B1 (en) 1999-11-29 1999-11-29 Input/output system with mask register bit control of memory mapped access to individual input/output pins

Publications (1)

Publication Number Publication Date
JP2001195384A true JP2001195384A (ja) 2001-07-19

Family

ID=23789926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000361291A Pending JP2001195384A (ja) 1999-11-29 2000-11-28 処理装置及び処理装置の入出力ピンを制御する方法

Country Status (6)

Country Link
US (1) US6532533B1 (ja)
EP (1) EP1103889B1 (ja)
JP (1) JP2001195384A (ja)
KR (1) KR100721091B1 (ja)
CN (1) CN1167018C (ja)
DE (1) DE60025788T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041024A (ja) * 2009-08-11 2011-02-24 Renesas Electronics Corp シリアル通信装置、及びシリアル通信方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694385B1 (en) * 1999-09-10 2004-02-17 Texas Instruments Incorporated Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
US7185183B1 (en) * 2001-08-02 2007-02-27 Mips Technologies, Inc. Atomic update of CPO state
US20040127207A1 (en) * 2002-09-25 2004-07-01 Interdigital Technology Corporation Programmable radio interface
US7634638B1 (en) * 2002-10-22 2009-12-15 Mips Technologies, Inc. Instruction encoding for system register bit set and clear
JP2005352568A (ja) * 2004-06-08 2005-12-22 Hitachi-Lg Data Storage Inc アナログ信号処理回路、並びに、そのデータレジスタ書換方法とそのデータ通信方法
CN1302394C (zh) * 2004-08-31 2007-02-28 威盛电子股份有限公司 配置存储器空间的方法与使用该方法的集成电路产品
TWI291152B (en) * 2005-07-05 2007-12-11 Quanta Comp Inc Interface unit and interface transmission method
CN100468378C (zh) * 2005-12-17 2009-03-11 鸿富锦精密工业(深圳)有限公司 Spi设备通信电路
JP2009187615A (ja) * 2008-02-05 2009-08-20 Elpida Memory Inc 半導体記憶装置
US8209509B2 (en) * 2008-05-13 2012-06-26 Atmel Corporation Accessing memory in a system with memory protection
US8549251B1 (en) * 2010-12-15 2013-10-01 Juniper Networks, Inc. Methods and apparatus for efficient modification of values within computing registers
CN102103543B (zh) * 2011-02-22 2012-07-04 哈尔滨工业大学 利用处理器gpio管脚扩展m模块地址空间的方法
US20120254591A1 (en) * 2011-04-01 2012-10-04 Hughes Christopher J Systems, apparatuses, and methods for stride pattern gathering of data elements and stride pattern scattering of data elements
US9692966B2 (en) 2012-06-11 2017-06-27 Sony Corporation Image capturing device and image capturing method
US9400650B2 (en) 2012-09-28 2016-07-26 Intel Corporation Read and write masks update instruction for vectorization of recursive computations over interdependent data
US10180925B2 (en) * 2016-03-28 2019-01-15 Nxp Usa, Inc. Integrated circuit with pin level access to IO pins
CN110795369B (zh) * 2019-09-19 2023-05-30 深圳震有科技股份有限公司 基于gpio管脚实现mdio从机功能的方法及终端
CN111562946B (zh) * 2020-05-06 2023-09-08 青岛信芯微电子科技股份有限公司 一种数据处理方法及芯片
CN113836069B (zh) * 2021-09-30 2023-04-14 龙芯中科技术股份有限公司 芯片、引脚操作方法、可读存储介质和电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5089955A (en) * 1984-11-02 1992-02-18 Hitachi, Ltd. Programmable counter/timer device with programmable registers having programmable functions
US5185859A (en) * 1985-10-22 1993-02-09 Texas Instruments Incorporated Graphics processor, a graphics computer system, and a process of masking selected bits
JPH0511889A (ja) * 1991-07-04 1993-01-22 Nec Corp データ処理装置の初期設定回路
JPH07225727A (ja) * 1994-02-14 1995-08-22 Fujitsu Ltd 計算機システム
WO1996013902A1 (en) * 1994-11-01 1996-05-09 Virtual Machine Works, Inc. Programmable multiplexing input/output port
US5826093A (en) * 1994-12-22 1998-10-20 Adaptec, Inc. Dual function disk drive integrated circuit for master mode and slave mode operations
US5737748A (en) * 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
US6058443A (en) * 1997-02-18 2000-05-02 Advanced Micro Devices, Inc. System for partitioning PC chipset functions into logic and port integrated circuits
US5923894A (en) * 1997-11-03 1999-07-13 Teragen Corporation Adaptable input/output pin control
SE520126C2 (sv) * 1997-12-11 2003-05-27 Axis Ab I/U-Processor och metod för styrning av periferienheter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041024A (ja) * 2009-08-11 2011-02-24 Renesas Electronics Corp シリアル通信装置、及びシリアル通信方法

Also Published As

Publication number Publication date
DE60025788D1 (de) 2006-04-13
EP1103889A3 (en) 2004-05-19
CN1305133A (zh) 2001-07-25
KR20010051991A (ko) 2001-06-25
EP1103889A2 (en) 2001-05-30
DE60025788T2 (de) 2006-09-07
KR100721091B1 (ko) 2007-05-23
EP1103889B1 (en) 2006-02-01
US6532533B1 (en) 2003-03-11
CN1167018C (zh) 2004-09-15

Similar Documents

Publication Publication Date Title
JP2001195384A (ja) 処理装置及び処理装置の入出力ピンを制御する方法
US9830285B2 (en) Memory mapping in a processor having multiple programmable units
US6701405B1 (en) DMA handshake protocol
JP4887313B2 (ja) 複雑な非線形データの転送制御システム
JP4098241B2 (ja) プロセッサをコプロセッサに接続する方法及び装置
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JP4562107B2 (ja) 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン
JP2010517182A (ja) 内容終了型dma
US6898646B1 (en) Highly concurrent DMA controller with programmable DMA channels
JP2002073527A (ja) Dmaコントローラ
US7376777B2 (en) Performing an N-bit write access to an M×N-bit-only peripheral
EP1431878A2 (en) Shared write buffer in a peripheral interface and method of operating
JPS581451B2 (ja) デ−タ転送方式
JP2568017B2 (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
JP3558559B2 (ja) 情報処理装置
EP0436211B1 (en) Apparatus enabling observation of internal memory-mapped registers
JP2004199187A (ja) Cpu内蔵lsi
JP4363431B2 (ja) データ転送方式
JPH05165641A (ja) シングルチップマイクロコンピュータ
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JPH02207363A (ja) データ転送制御方式、デバイスコントローラ、およびメモリ・コントローラ
JP4319788B2 (ja) マイクロコンピュータ
JP2001297012A (ja) マイクロプロセッサ及びエミュレータ
JPH0378049A (ja) マイクロコンピュータ
JPH08235102A (ja) Dma転送期間に代替デバイス・ストリームとメモリ・スペースを指定するメカニズムを備えたdmaコントローラ