JP2001273192A - Digital system having microprocessor and method for operating the same - Google Patents

Digital system having microprocessor and method for operating the same

Info

Publication number
JP2001273192A
JP2001273192A JP2001039895A JP2001039895A JP2001273192A JP 2001273192 A JP2001273192 A JP 2001273192A JP 2001039895 A JP2001039895 A JP 2001039895A JP 2001039895 A JP2001039895 A JP 2001039895A JP 2001273192 A JP2001273192 A JP 2001273192A
Authority
JP
Japan
Prior art keywords
cache
memory
address
data
level
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.)
Abandoned
Application number
JP2001039895A
Other languages
Japanese (ja)
Other versions
JP2001273192A5 (en
Inventor
Steven D Krueger
ディ、クリューガー スチーブン
David Comisky
コミスキイ デビッド
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
Priority claimed from US09/702,477 external-priority patent/US6629187B1/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2001273192A publication Critical patent/JP2001273192A/en
Publication of JP2001273192A5 publication Critical patent/JP2001273192A5/ja
Abandoned legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To properly cope with the case of erroneously address-designating a device which does not exist in the address space of a system in a digital system having various kinds of memories and devices. SOLUTION: In a digital system having a microprocessor 100, a cache 120 and the various kinds of memories and devices (140a to 140n), a physical address attribute memory(PAAM) 130 generates a signal for controlling a cash memory mode of a fixed map. When, plural devices exist in the address space of the digital system having different functions and characteristics, in response to an attribute bit in the PAAM related with the memory mapped address of the device, an error is reported or using of each device is restricted to prevent its misuse.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、概して、マイク
ロプロセッサを有するディジタル・システム及びそのデ
ィジタル・システムを動作させる方法に関し、特にキャ
ッシュ・メモリ回路を備えたこのディジタル・システム
及びこのディジタル・システムを動作させる方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates generally to a digital system having a microprocessor and a method of operating the digital system, and more particularly to a digital system having a cache memory circuit and operating the digital system. On how to make it.

【0002】マイクロプロセッサは、作動中のソフトウ
ェアを実行するために高い命令スループットが達成さ
れ、かつ含まれる特定のソフトウェア・アプリケーショ
ンに従って広範な処理必要条件を備えることができる汎
用プロセッサである。異なる多形式のプロセッサが知ら
れている。例えば、ディジタル信号プロセッサ(DS
P)は、移動電話処理アプリケーションのように、特定
のアプリケーションに広く使用される。DSPは、関係
するアプリケーションのパフォーマンスを最適化するよ
う典型的に構築され、またこれを達成するために,これ
らは更に特殊化された実行ユニット及び命令セットを採
用している。
A microprocessor is a general purpose processor that can achieve high instruction throughput to execute running software and can have a wide range of processing requirements according to the particular software application involved. Different polymorphic processors are known. For example, a digital signal processor (DS
P) is widely used for certain applications, such as mobile phone processing applications. DSPs are typically built to optimize the performance of the applications involved, and to achieve this they employ more specialized execution units and instruction sets.

【0003】命令及び/又はデータのメモリ・アクセス
時間を短くして、高い命令スループットを得るために、
キャッシュ・メモリが設けられる。キャッシュ・メモリ
を使用するコンピュータ・システムでは、ある種のキャ
ッシュ・メモリ・モードを制御する必要がある。一般的
なマイクロプロセッサ・システムにおけるキャッシュ・
メモリを制御する信号は、しばしばメモリ管理ユニット
から入力される。しかしながら、埋め込みシステム、例
えばディジタル信号プロセッサを採用しているもので
は、メモリ管理ユニットが存在しないことがしばしばあ
る。
In order to reduce instruction and / or data memory access time and obtain high instruction throughput,
A cache memory is provided. In computer systems that use cache memory, certain cache memory modes need to be controlled. Caches in common microprocessor systems
Signals for controlling the memory are often input from a memory management unit. However, in embedded systems, such as those employing digital signal processors, there is often no memory management unit.

【0004】加えて、特定の埋め込みシステムに設けら
れることがある種々のメモリ・マップド周辺装置は、全
てが同一のアクセス機能を有していない恐れがある。
[0004] In addition, the various memory mapped peripherals that may be provided in a particular embedded system may not all have the same access capabilities.

【0005】一般的に、本発明の形式では、ディジタル
・システムが、マイクロプロセッサと、キャッシュ及び
種々のメモリと、複数のデバイスを備えている。あるキ
ャッシュ・メモリ・モードを制御する信号が物理アドレ
ス属性メモリ(physical address a
ttribute memory:PAAM)から供給
される。異なる機能及び特性を有するディジタル・シス
テムのアドレス空間に複数のデバイスが存在するとき
は、デバイスのメモリ・マップド・アドレスに関連した
PAAM内の属性ビットに応答して、誤りを伝えるか、
そうでなければ各デバイスの使用を制限することによっ
て、その誤用を防止している。更に、アドレス変換機能
及び/又はメモリ保護構成を備えたメモリ管理ユニット
も存在し得るが、これはPAAMの動作には必要でな
い。
Generally, in the form of the present invention, a digital system comprises a microprocessor, cache and various memories, and a plurality of devices. A signal controlling a certain cache memory mode is a physical address attribute memory (physical address a).
tribute memory (PAAM). When there are multiple devices in the address space of a digital system having different functions and characteristics, an error is signaled in response to an attribute bit in the PAAM associated with the memory-mapped address of the device,
Otherwise, restricting the use of each device prevents its misuse. In addition, there may be a memory management unit with address translation and / or memory protection features, but this is not required for PAAM operation.

【0006】以下、添付図面を参照して本発明による特
定の一実施例を単なる例として説明する。これらの図に
おいて、特に指摘しない限り、同一部分を指すために同
一の参照符号を使用する。
A specific embodiment according to the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: In these figures, the same reference numerals are used to refer to the same parts unless otherwise indicated.

【0007】異なる図面及び表において対応する番号及
びシンボルは、特に指摘しない限り対応する部分を指
す。
[0007] Corresponding numbers and symbols in different drawings and tables refer to corresponding parts unless otherwise indicated.

【0008】本発明は、例えば特定用途向け集積回路
(ASIC)に実施されたディジタル信号プロセッサ
(DSP)に対する応用を見出すが、他の形式のプロセ
ッサに対する応用も見出す。ASICは、互いに設計ラ
イブラリにより提供されるプリデザインの機能回路と組
み合わせたカスタム・デザイン機能回路を含む1以上の
メガセルを備えていてもよい。
The invention finds application, for example, to a digital signal processor (DSP) implemented in an application specific integrated circuit (ASIC), but also finds application to other types of processors. The ASIC may include one or more megacells that include custom-designed functional circuits combined with pre-designed functional circuits provided by a design library with each other.

【0009】図1は、本発明の一実施例を含むディジタ
ル・システムのブロック図である。明確さのため、図1
は、本発明の一実施例の理解に関連するマイクロプロセ
ッサ(DSP)100の複数部分のみを示す。DSP1
00の一般的な構造の詳細については、周知であり、他
で容易に見出すことができる。例えば、ボトー(Fre
derick Boutaoud)ほかに対して発行さ
れた米国特許第5,072,418号は、DSPを詳細
に説明している。スボボダ(Gary Swobod
a)ほかに対して発行された米国特許第5,329,4
71号は、DSPをテストし、かつエミュレートする方
法を詳細に説明している。マイクロプロセッサに通常に
習熟する者が本発明を実施し、かつ使用できるように、
以下で本発明の一実施例に関連するDSP100の複数
部分の詳細を十分詳細に説明する。
FIG. 1 is a block diagram of a digital system including one embodiment of the present invention. Figure 1 for clarity
Shows only portions of a microprocessor (DSP) 100 that are relevant to understanding one embodiment of the present invention. DSP1
Details of the general structure of 00 are well known and can easily be found elsewhere. For example, Boto (Fre
U.S. Pat. No. 5,072,418 issued to Derick Boutaud et al. describes a DSP in detail. Gary Swobod
a) US Patent No. 5,329,4 issued to others
No. 71 describes in detail how to test and emulate a DSP. To enable those of ordinary skill in the microprocessor to make and use the present invention,
The details of the multiple parts of the DSP 100 relating to one embodiment of the present invention are described in sufficient detail below.

【0010】図1を参照する。DSP100は、命令実
行パイプライン用の回路を備えている。命令実行パイプ
ライン内には、メモリ及びデバイス回路140a〜14
0nからデータ及び命令をアクセスするアドレス・バス
102上にアドレスを形成するアドレス発生回路が備え
られている。更に、メモリ及びデバイス回路140a〜
140nには、メモリ・マップド・レジスタ、及びタイ
マ、直列ポート、並列ポート等のように種々の物理装置
に対するインターフェースも含まれている。メモリ管理
ユニット(MMU)110は、アドレス・バス102を
介してDSPアドレス発生器に接続されている。MMU
110は、アドレス・バス102上の論理アドレスを物
理アドレスに変換し、これを物理アドレス・バス112
に供給する。論理アドレス指定は、DSP100に接続
されている実際の物理メモリに直接接続されていない命
令及びデータ用の固定参照フレームを供給する。当該技
術分野に習熟している者は、アドレス変換のためのMM
Uユニットの動作を概要的に知っているので、ここで、
MMU110の動作を更に説明することはしない。本発
明の目的のために、MMU110は、任意選択的に存在
する。実際のところ、大多数のDPSシステムは、MM
U110のようなメモリ管理ユニットを現在備えていな
い。MMU110がないときは、DSP100のアドレ
ス発生回路は、論理アドレスの代わりに物理アドレスを
発生し、物理アドレス・バス112は、DSP100の
アドレス・バス102に直接接続されている。
Referring to FIG. The DSP 100 includes a circuit for an instruction execution pipeline. The instruction and execution pipeline includes memory and device circuits 140a to 140a.
Address generation circuits are provided for forming addresses on the address bus 102 for accessing data and instructions from 0n. Further, the memory and device circuits 140a to 140a to
140n also includes memory mapped registers and interfaces to various physical devices such as timers, serial ports, parallel ports, and the like. A memory management unit (MMU) 110 is connected via an address bus 102 to a DSP address generator. MMU
110 translates the logical address on address bus 102 into a physical address and translates it to physical address bus 112.
To supply. Logical addressing provides fixed reference frames for instructions and data that are not directly connected to the actual physical memory connected to DSP 100. Those skilled in the art are advised to use MM for address translation.
Now that we know the general operation of the U unit,
The operation of MMU 110 will not be further described. For the purposes of the present invention, the MMU 110 is optionally present. In fact, most DPS systems use MM
It does not currently have a memory management unit such as U110. When there is no MMU 110, the address generation circuit of the DSP 100 generates a physical address instead of a logical address, and the physical address bus 112 is directly connected to the address bus 102 of the DSP 100.

【0011】図1を引き続き参照すると、キャッシュ・
メモリ120が物理アドレス・バス112に接続され
て、メモリ及びデバイス回路140a〜140nより高
速のDSP100に要求された命令及び/又はデータを
供給する。バス122は、キャッシュに接続されたアド
レス・バス、及びアクセスによる命令及び/又はデータ
をDSP100の中央処理装置(CPU)に供給するデ
ータ・バスの両者を表す。当該技術分野に習熟する者
は、キャッシュ回路に慣れ親しんでおり、従ってここで
キャッシュ・メモリ120の動作を詳細には説明しな
い。更に、物理アドレス属性(PAAM)130は、物
理アドレス・バス112に接続されており、キャッシュ
120及びDSP 100に任意に与えられた物理的ア
ドレスで、オン・チップ又はオフ・チップ・システムに
おいて下層ハードウェアの能力を説明するために使用さ
れる。下層のハードウェアがメモリ意味論でランダム・
アクセス・メモリ(RAM)のときは、キャッシュは、
その位置へのアクセスに多数の自由度を取ることができ
る。下層のハードウェアが、例えば直列ポートの受信F
IFOバッファのときは、意味論的には、RAMと非常
に異なり、キャッシュは、FIFOの揮発性の作動をマ
スクしないように注意する必要がある。
Still referring to FIG.
A memory 120 is connected to the physical address bus 112 to provide requested instructions and / or data to the DSP 100 faster than the memory and device circuits 140a-140n. Bus 122 represents both an address bus connected to the cache, and a data bus that supplies access instructions and / or data to the central processing unit (CPU) of DSP 100. Those skilled in the art are familiar with cache circuits, and thus will not describe the operation of cache memory 120 in detail here. In addition, a physical address attribute (PAAM) 130 is connected to the physical address bus 112 and is a physical address arbitrarily provided to the cache 120 and the DSP 100, and may be used in an on-chip or off-chip Used to describe the capabilities of the ware. The underlying hardware is random in memory semantics
For access memory (RAM), the cache is
There are many degrees of freedom to access that location. The lower layer hardware is, for example, a serial port receiving F.
In the case of an FIFO buffer, semantics are very different from RAM, and the cache must be careful not to mask the volatile operation of the FIFO.

【0012】PAAM130は、通常、キャッシュ・ミ
スのときにのみ、考慮される。キャッシュ・ミスをトリ
ガさせるアドレスの特性は、PAAM130が発生する
キャッシュ可能属性信号132により、キャッシュに接
続されている。キャッシュ120は、キャッシュ可能属
性信号に応答して、キャッシュ・ミスをトリガさせた物
理アドレスで実行されたそのデバイスの種類に関する検
知可能キャッシュ行動を選択する。行動信号134は、
種々のメモリ及びデバイス回路140a〜140nにも
供給されており、バス・インターフェースにアドレス指
定されたデバイスをより良く利用するための情報を知ら
せる。
[0012] PAAM 130 is typically only considered on cache misses. The nature of the address that triggers a cache miss is connected to the cache by a cacheable attribute signal 132 generated by PAAM 130. Cache 120 selects a detectable cache behavior for that device type performed at the physical address that triggered the cache miss in response to the cacheable attribute signal. The action signal 134 is
It is also provided to various memory and device circuits 140a-140n to inform the bus interface of information to make better use of the addressed device.

【0013】図1のシステムのように、DSPシステム
を典型とする埋め込みシステムについて、いくつかの仮
定を設定することができる。例えば、以上で説明したよ
うに、MMUは存在し得るが、これを必要としないこ
と、及び存在しないことがしばしばある。物理アドレス
空間は、RAM、読み出し専用メモリ(ROM)、及び
入力/出力(I/O)、タイマなどのような種々のデバ
イスで占められる。ROM及び種々のデバイスに対する
プログラム・アクセスは、まれなことではない。埋め込
みシステムでのキャッシュは、MMUの有無により、そ
の位置をバックアップする物理アドレスがRAM、RO
M又はデバイスか否かに合理的に基づいて行動する必要
がある。一旦、埋め込みシステムが設計されて製作され
ると、アドレス・マッピングがプログラム可能でもない
限り、RAM、ROM及びデバイスの構成及びアドレス
割り当ては、殆ど変更されない。一般に、空のメモリ空
間アドレスに対する誤アクセスが、誤りとして速やかに
通告されて適切に処理されることを除き、システムの遅
延に至らないように、空のメモリ空間アドレスに注意を
払うことは、重要なことである。エラーは、いくつかの
方法で示され、例えば、バス・トランザクション完了ス
テータスにより、又は割り込みにより通知される。通知
されると、プロセッサは、環境に従って割り込みに対す
るベクトルにより、又はエラー・ステータスをセットす
ることにより、応答する。
Several assumptions can be made for an embedded system, such as the system of FIG. 1, typical of a DSP system. For example, as described above, an MMU may be present, but often not required and not present. The physical address space is occupied by various devices such as RAM, read only memory (ROM), and input / output (I / O), timers and the like. Program access to ROMs and various devices is not uncommon. In the cache in the embedded system, the physical address for backing up the location is determined by the presence or absence of the MMU.
It is necessary to act rationally based on M or device. Once the embedded system is designed and built, the configuration and address assignments of RAM, ROM and devices are hardly changed unless the address mapping is also programmable. In general, it is important to pay attention to empty memory space addresses so that they do not lead to system delays, except that erroneous accesses to empty memory space addresses are promptly reported as errors and properly handled. That is what. Errors are signaled in several ways, for example, by a bus transaction completion status or by an interrupt. When notified, the processor responds with a vector to the interrupt, depending on the environment, or by setting an error status.

【0014】市販、自作及びむき出しのハードウェアを
含む種々の埋め込みシステムによる異なる多くのオペレ
ーティング・システム(OS)が採用されている。都合
のよいことに、物理アドレス属性マップを使用すると、
これらオペレーティング・システムのいずれかを備えた
ディジタル・システムの動作の信頼性を改善することが
できる。
Many different operating systems (OSs) have been employed with various embedded systems, including commercially available, self-made and bare hardware. Conveniently, using a physical address attribute map,
The reliability of operation of a digital system with any of these operating systems can be improved.

【0015】図2Aは、図1のシステムの物理アドレス
属性マップ130をアソシアティブ・マッピング(as
sociative mapping)により実施した
ブロック図である。アソシアティブ・マッピングは、ア
ドレス・レンジ比較に基づいて属性アソシエーションを
見出すことによっている。物理アドレスは、いくつかの
アドレス範囲と比較され、一致するものは、そのアドレ
スの属性を提供する。比較ブロック210は、PAAM
130において実証可能とされる任意数の比較ブロック
210a〜210nを代表している。比較ブロック21
0a内には、上限レジスタ220及び下限レジスタ22
1がある。比較器222は、上限レジスタ220の内容
とアドレス・バス112からの提供される物理アドレス
とを比較し、物理アドレスが上限に等しい又はより小さ
いのであれば、出力信号をアサートする。同様に、比較
器223は、物理アドレスが下限レジスタ221の内容
に等しい又は大であれば、出力信号をアサートする。A
NDゲート224は、2つの比較器から2つの信号を受
け取り、かつ属性レジスタ225をエネーブルするよう
に接続されており、入力された物理アドレスが下限と上
限との間の値を持っているときにのみ、キャッシュ可能
属性信号132及び属性信号134を駆動する。上限レ
ジスタ220及び下限レジスタ221、及びそれぞれに
関連する属性レジスタは、メモリ・マップド・レジスタ
としてDSP100により読み出し及び書き込みができ
るように、構成されている。例えば、他の実施例とし
て、これらのレジスタのうちのいくつか又は全てをRO
M、又は電気的に書き換え可能なプログラマブルROM
(EAPROM)として構築されてもよい。
FIG. 2A shows the physical address attribute map 130 of the system of FIG.
FIG. 2 is a block diagram implemented by a sociative mapping. Associative mapping relies on finding attribute associations based on address range comparisons. A physical address is compared to several address ranges, and a match provides the attributes of the address. The comparison block 210 determines whether the PAAM
At 130 represents any number of comparison blocks 210a-210n that can be verified. Comparison block 21
0a, the upper limit register 220 and the lower limit register 22
There is one. Comparator 222 compares the contents of upper limit register 220 with the physical address provided from address bus 112 and asserts an output signal if the physical address is less than or equal to the upper limit. Similarly, comparator 223 asserts an output signal if the physical address is equal to or greater than the contents of lower limit register 221. A
The ND gate 224 receives two signals from the two comparators and is connected to enable the attribute register 225 so that when the input physical address has a value between the lower limit and the upper limit, Only the cacheable attribute signal 132 and the attribute signal 134 are driven. The upper limit register 220, the lower limit register 221, and the attribute registers associated with each other are configured to be readable and writable by the DSP 100 as memory-mapped registers. For example, in other embodiments, some or all of these registers may be RO
M or electrically rewritable programmable ROM
(EEPROM).

【0016】従って、メモリ・サブシステムに関連した
アドレス空間内に一組のレジスタが認識される。メモリ
・サブシステムにそれぞれアクセスするときは、PAA
Mは、メモリ・サブシステムに対する各メモリ要求のア
ドレスを監視することにより、一組のレジスタのうちの
いずれがアクセスされるのかを検出して、その領域に関
連した属性信号を提供する。キャッシュは、PAAMか
ら供給される属性信号に応答して、第1のメモリ領域内
のアクセスを検出すると、第1のモードにより動作す
る。また、キャッシュは、第2のメモリ領域内のアクセ
スを検出すると、第2のモードにより動作する。同様
に、キャッシュは、PAAMから供給される属性信号に
応答して、特定のメモリ領域内のアクセスを検出する
と、第1のモードにより動作し、また、メモリ・サブシ
ステムは、異なるメモリ領域内のアクセスを検出する
と、第2のモードにより動作する。空領域のように、あ
る特定の領域がアクセスされれば、PAAMは、この領
域が検出されたときに、制御信号をアサートして、DS
P100に通告し、適当な操作を実行する。
Thus, a set of registers is recognized in the address space associated with the memory subsystem. When accessing each of the memory subsystems, the PAA
M monitors the address of each memory request to the memory subsystem to detect which of a set of registers is accessed and provides an attribute signal associated with the area. The cache operates in the first mode when detecting an access in the first memory area in response to an attribute signal supplied from the PAAM. When the cache detects an access in the second memory area, it operates in the second mode. Similarly, when the cache detects an access in a particular memory area in response to an attribute signal supplied from the PAAM, the cache operates in the first mode, and the memory subsystem operates in a different memory area. When the access is detected, it operates in the second mode. If a particular area is accessed, such as an empty area, PAAM asserts a control signal when this area is detected,
Notify P100 and perform appropriate operation.

【0017】アソシアティブ・マッピングは、以下のよ
うに推奨されるべきいくつかの特徴を有する。即ち、比
較レジスタの数を増減することにより複雑さを容易に設
定できる。異なる物理アドレス・サイズをサポートする
ように容易に調整できる。また、非常に小さい又は大き
い領域を含め、可変範囲の大きなアドレス領域をサポー
トする。更に、アソシアティブ・マッピングは、以下の
ようないくつかの欠点もある。即ち、1以上の限界レジ
スタが誤って設定され、以上のアドレス範囲が提供され
た物理アドレスに一致するときに発生し得る。PAAM
を含むメガモジュールは、システムの特定の例示に対す
る十分な数のアドレス範囲の比較ブロックを有し得な
い。各比較ブロックは、トランジスタ総数の点と、その
結果の集積回路(IC)のダイ・サイズから比較的に高
価となり、完全に配列されたアソシアティブ・アドレス
マップドPAAMは、埋め込みシステム・アプリケーシ
ョンにとって受け入れ難いものとなり得る。
[0017] Associative mapping has several features that should be recommended as follows. That is, the complexity can be easily set by increasing or decreasing the number of comparison registers. Can be easily adjusted to support different physical address sizes. It also supports large address areas with a variable range, including very small or large areas. In addition, associative mapping has some disadvantages, such as: That is, it can occur when one or more limit registers are incorrectly set and the above address ranges match the provided physical addresses. PAAM
May not have a sufficient number of address range comparison blocks for a particular instance of the system. Each compare block is relatively expensive in terms of transistor count and the resulting integrated circuit (IC) die size, and fully aligned associatively address mapped PAAM is unacceptable for embedded system applications. Can be something.

【0018】図2Bは、図1のシステムの物理アドレス
属性マップ130を直接マッピングにより実施した他の
実施例のブロック図である。直接マッピングは、物理ア
ドレスの一部を属性テーブルへのインデックスとして使
用する。テーブルが全ての物理アドレスをマッピングす
るのに十分な大きさがあれば、アソシアティブ形式の比
較の必要性はない。図2Bにおいて、テーブル250
は、デコーダ251を介して物理アドレス・バス112
の一部をデコードすることにより選択可能な多数のエン
トリを備えている。本実施例において、アドレス・バス
112は32ビットのバスである。テーブル250にお
ける各エントリは、4バイトのエントリであり、16M
B固定サイズの全4ギガバイトの物理アドレス空間を表
わす。各エントリは、24ビットのアドレス範囲を表わ
し、従って、8最上位アドレス・ビットのみをデコード
回路251によりデコードすればよい。8アドレス・ビ
ットを完全にカバーするためには、256エントリを必
要とする。各エントリは、1メモリ・マップド・アイテ
ムとして読み出せるように配列される。従って、PAA
Mテーブル250全体は、1024バイトのアドレス空
間を占める。PAAMテーブル・メガセルのベース・ア
ドレスは、種々の埋め込みシステムにおける種々の位置
で例示することが可能とされ、そのサイズ(1024バ
イト)により配列される。各エントリは、更に、それぞ
れ1MBの物理アドレス空間を表す16副領域に副分割
される。経路設定回路252は、各テーブル・エントリ
に記憶されている情報をキャッシュ可能属性信号13
2、属性信号134又はその両方に経路設定できるよう
にする。他の実施例として、これらの属性信号は分離さ
れない。
FIG. 2B is a block diagram of another embodiment in which the physical address attribute map 130 of the system of FIG. 1 is implemented by direct mapping. Direct mapping uses a portion of the physical address as an index into the attribute table. If the table is large enough to map all physical addresses, then there is no need for associative comparisons. In FIG. 2B, table 250
Is connected to the physical address bus 112 via the decoder 251.
Has a large number of entries that can be selected by decoding a part of. In this embodiment, address bus 112 is a 32-bit bus. Each entry in the table 250 is a 4-byte entry, 16M
B represents a total of 4 gigabytes of physical address space of fixed size. Each entry represents a 24-bit address range, so that only the eight most significant address bits need to be decoded by decode circuit 251. In order to completely cover eight address bits, 256 entries are required. Each entry is arranged so that it can be read as one memory-mapped item. Therefore, PAA
The entire M table 250 occupies an address space of 1024 bytes. The base address of the PAAM table megacell can be instantiated at various locations in various embedded systems and is ordered by its size (1024 bytes). Each entry is further subdivided into 16 sub-areas each representing a 1 MB physical address space. The path setting circuit 252 converts the information stored in each table entry into the cacheable attribute signal 13.
2. Enable routing to the attribute signal 134 or both. In another embodiment, these attribute signals are not separated.

【0019】直接マッピングは、トランジスタ数及びI
C面積の点で安価にすることができるという利点があ
る。これは、多重一致に煩わされることはなく、完全に
埋めれば、物理メモリ・アドレス空間全体を常時カバー
する。しかしながら、直接メモリは、直接マップド機構
の複雑さが簡単にはスケーリングできない固定オーバヘ
ッドにあるといういくつかの欠点を有する。こては、テ
ーブル・エントリ数を過度にすることなく、小領域サイ
ズをサポートするのが容易でない。
The direct mapping is based on the number of transistors and I
There is an advantage that the cost can be reduced in terms of the C area. This does not bother with multiple matches and, if completely filled, will always cover the entire physical memory address space. However, direct memory has some disadvantages in that the complexity of the direct mapped mechanism is in fixed overhead that cannot be easily scaled. It is not easy to support small region sizes without excessive number of table entries.

【0020】多くの埋め込みシステム実施において、P
AAMテーブルの大抵の内容は、オン・チップ・リソー
ス用のためのアドレス、又はバス制限のためにどのデバ
イスも持ち得ないアドレスに対応しているので、一定し
ている。多くの場合に、プログラム可能なレジスタを備
える必要があるのは、外部バス上のデバイスをアドレス
指定できる物理アドレスのみである。従って、テーブル
250の一部分は、ROMによって実施される。これに
代わり、一部分は、例えばEAPROMにより実施され
てもよい。
In many embedding system implementations, P
Most of the contents of the AAM table are constant because they correspond to addresses for on-chip resources or addresses that no device can have due to bus limitations. In many cases, only the physical address that can address a device on an external bus needs to have a programmable register. Therefore, a part of the table 250 is implemented by the ROM. Alternatively, a portion may be implemented, for example, by an EEPROM.

【0021】図3は、図2A及び図2Bの物理アドレス
属性マップの各エントリに対する1組の物理アドレス属
性を例示している。物理アドレス空間の領域は、32ビ
ットのPAAMエントリによって指定される。これらの
ビットは、以下で説明するように、いくつかのグルー
プ、即ち、コピー管理、アクセス指定子及び副領域空き
フラグに分割される。
FIG. 3 illustrates a set of physical address attributes for each entry in the physical address attribute map of FIGS. 2A and 2B. The area of the physical address space is specified by a 32-bit PAAM entry. These bits are divided into several groups, as described below, namely, copy management, access specifiers, and secondary area free flags.

【0022】4属性指定子ビットは、コピー管理グルー
プ(Copy Management Group)に
含まれ、表1に示すように、その領域のデータの複数コ
ピーを作成可能とするキャッシング機構の動作を制御す
るように定義される。これらは、この領域からデータを
アクセスするときに、一定の環境により、どのようなキ
ャッシュが実施可能か又は必要かを指定する。
The four attribute specifier bits are included in a copy management group, and as shown in Table 1, control the operation of a caching mechanism that enables a plurality of copies of data in the area to be created. Defined. These specify what caching is feasible or necessary, depending on certain circumstances, when accessing data from this area.

【0023】[0023]

【表1】 [Table 1]

【0024】図3内に同期ストア(Synchrono
us Store:SS)と呼ぶ順序指定ビットが存在
する。これは、アウト・オブ・オーダメモリ動作をサポ
ートする実施システムで使用される。SSビットは、厳
密な指定順序となるようにこの領域にストアされる。1
のSSを有するアドレスに対するストアは、同期ストア
である。DSPパイプラインは、このストアがデバイス
で完了するまで、他のロード又はストア動作を実行して
はならない。1のSSは、IWが1のとき、又はPCが
0のときにのみ有意となる。PCが1であり、かつIW
が0であるときは、チップの動作は、定義されず、また
実施する度に変化する可能性がある。SSが1、IWが
1、かつWAが1の場合に、領域への書き込みが書き込
み割り当てを発生させると、このような状況が発生し得
る。この場合に、動作は、デバイス及びキャッシュ(又
は複数のキャッシュ)に対する同期書き込みを実行する
前に、必要ならばキャッシュ復元と、キャッシュ・ライ
ン読み出しとを実行するように定義される。
FIG. 3 shows a synchronous store (Synchrono).
us Store: SS). This is used in implementation systems that support out-of-order memory operations. The SS bits are stored in this area in a strict order. 1
The store for an address with SS of is a synchronous store. The DSP pipeline must not perform any other load or store operations until this store has completed on the device. An SS of 1 is significant only when IW is 1 or PC is 0. PC is 1 and IW
Is 0, the operation of the chip is undefined and may change from implementation to implementation. If SS is 1, IW is 1, and WA is 1, and writing to an area causes a write assignment, such a situation may occur. In this case, the operation is defined to perform a cache restore and a cache line read if necessary before performing a synchronous write to the device and cache (or caches).

【0025】アクセス指定子グループは、表2に定義し
ているように、デバイスが読み出し動作か、及び/又は
書き込み動作をサポートするかを表す。
The access specifier group indicates whether the device supports a read operation and / or a write operation, as defined in Table 2.

【0026】[0026]

【表2】 [Table 2]

【0027】副領域空きフラグe15〜e0は、空にな
っている副領域を示す。各領域は、16分割され、それ
ぞれはフラグのうちの1つにより制御される。副領域フ
ラグが0のときは、領域指定子NR、NW、SS、P
S、IW、WA及びPCが副領域を制御する。副領域フ
ラグが1のときは、副領域は、意味付けした指定子PA
AM_EMPTY(NR及びNWは1であり、他の全て
は0である。)
The sub-region empty flags e15 to e0 indicate empty sub-regions. Each region is divided into 16 and each is controlled by one of the flags. When the sub area flag is 0, the area specifiers NR, NW, SS, P
S, IW, WA and PC control the sub-area. When the sub area flag is 1, the sub area is designated by the designated specifier PA.
AM_EMPTY (NR and NW are 1 and everything else is 0)

【0028】予約済みビットr5およびr8〜r15は
予約済みであり、本実施例では0として読み出す必要が
ある。これらのビットに対する書き込みは、無視する必
要がある。他の実施例は、種々の機能に対するこれらの
ビットを定義することができる。
The reserved bits r5 and r8 to r15 are reserved and must be read as 0 in this embodiment. Writes to these bits must be ignored. Other embodiments may define these bits for various functions.

【0029】表3は、埋め込みシステムの初期化プログ
ラム内でPAAMにおけるプログラマブル・エントリを
プログラムするために使用可能な定義セットを示す。定
義9〜16を使用することにより、システム内の最も一
般的なデバイスに適当な行動を得るプログラムを書き込
むことができる。例えば、定義9は、実施されないアド
レス領域に対応する各PAAMテーブル・エントリにス
トアされる。定義14は、ROMとして実施されるメモ
リ領域に対応する各PAAMテーブル・エントリにスト
アされる。PAAMにおける他のエントリは、関連した
アドレス領域の特徴に従って適当にロードされる。
Table 3 shows a set of definitions that can be used to program the programmable entries in PAAM in the embedded system initialization program. By using definitions 9-16, programs can be written that will take appropriate action on the most common devices in the system. For example, definition 9 is stored in each PAAM table entry corresponding to an address area that is not implemented. Definition 14 is stored in each PAAM table entry corresponding to a memory area implemented as ROM. Other entries in the PAAM are loaded appropriately according to the characteristics of the associated address area.

【0030】PAAMは、PAM_DEVとして符号化
された領域、定義15に存在する必要がある。これがS
Sをセットするために、PAAMエントリに対する変化
は、次のDSPロード又はストア動作により直ちに認識
される。PAAMを変更するときは、しばしば、関連し
たキャッシュをフラッシュすることが必要である。例え
ば、以下、即ちPAAM_PCをクリアする、PAAM
_PCをエントリにセットするときにPAAM_IWを
セットする、エントリにPAAM_PCをセットすると
きにPAAM_NW若しくはPAAM_NRをセットす
る、又はPAAM_PCをエントリにセットするときに
PAAM_PSをセットすることが発生するときに変更
領域エントリに含まれる領域にあるアドレスのキャッシ
ュをフラッシュする必要がある。
The PAAM needs to be in the region coded as PAM_DEV, definition 15. This is S
To set S, changes to the PAAM entry are immediately recognized by the next DSP load or store operation. When changing the PAAM, it is often necessary to flush the associated cache. For example, PAAM_PC is cleared as follows:
Change area entry when setting PAAM_IW when setting _PC in an entry, setting PAAM_NW or PAAM_NR when setting PAAM_PC in an entry, or setting PAAM_PS when setting PAAM_PC in an entry It is necessary to flush the cache of the address in the area included in.

【0031】[0031]

【表3】 [Table 3]

【0032】IW及びWA指定子は、相互作用がある。
これら2つに対して完全に機能的なキャッシュ・システ
ムの行動を表4に示す。種々のシステム実施はいくつか
の又は全て環境においてWAを無視することができるこ
とに注意すべきである。
The IW and WA specifiers have an interaction.
Table 4 shows the behavior of a fully functional cache system for these two. It should be noted that various system implementations may ignore WA in some or all environments.

【0033】[0033]

【表4】 [Table 4]

【0034】メモリの16MB領域がいくつかの形式の
デバイスを含むときは、PAAMエントリをその領域の
全てのデバイスと両立可能な機能にセットする必要があ
る。通常、これは、その領域における全てのデバイスを
キャッシュすることができるときにのみ、セットされる
ことを意味する。NR及びNWは、その領域の全てのデ
バイスに適用されるときにのみ、セットされる。IW
は、その領域内のデバイスが必要とするとにセットされ
る必要がある。
When a 16 MB area of memory contains some type of device, the PAAM entry must be set to a function compatible with all devices in that area. Usually, this means that it will only be set when all devices in the area can be cached. NR and NW are set only when applied to all devices in the region. IW
Need to be set as needed by the devices in that area.

【0035】本発明の他の実施例において、実施するた
めに指定されたPAAMをどのくらい選択するのかに
は、大きな自由度がある。この選択には、プログラマブ
ルPAAMの機能及び柔軟性と全機構を実施するときの
コストとの間で均衡を取ることが含まれる。システム実
施は、2つの方法:(1)一定のエントリ方法、(2)
レジスタ当たり一定のビットのみを実施する方法により
使用されるチップ領域を減少させることができる。
In another embodiment of the present invention, there is a great deal of freedom in selecting the designated PAAM for implementation. This choice involves balancing the functionality and flexibility of programmable PAAM with the cost of implementing the entire mechanism. The system implementation has two methods: (1) constant entry method, (2)
The method of implementing only a certain number of bits per register can reduce the chip area used.

【0036】(1)多くの物理アドレス空間の多くの部
分は、プログラマブルPAAMレジスタを必要とせず、
一定のエントリにより実施されてもよい。物理アドレス
空間の大部分は何らのデバイスを有しないことがある。
加えて、オン・チップ・デバイスにマップする物理アド
レス空間は、プログラマブル・レジスタを必要としな
い、又はプログラマブルとなるために一定のビットのみ
を必要とすると思われる。例えば、オン・チップRAM
は、PSビットのみ必要とすると思われる。一般的に、
(実施した範囲に対して)完全にプログラマブルである
ためには、PAAMを含むIC又はメガモジュールを設
計するときに、知られていないデバイスを含むように構
築されてもよい外部バスに与えられるべきである。
(1) Many parts of many physical address spaces do not require programmable PAAM registers,
It may be implemented by certain entries. Most of the physical address space may not have any devices.
In addition, the physical address space that maps to on-chip devices may not require programmable registers, or may require only certain bits to be programmable. For example, on-chip RAM
Would need only the PS bit. Typically,
To be fully programmable (for the implemented range), when designing an IC or megamodule that includes a PAAM, it should be provided with an external bus that may be built to include unknown devices It is.

【0037】(2)実施は、指定子ビットの数ビットの
みを実施できる。チップは、これがキャッシュを有する
ときに、PCを実施する必要がある。更に、他のコピー
管理ビットを実施できる。メモリ共有をサポートすると
きは、PSを実施できる。共有をサポートするために、
キャッシュ・スヌーピングを実施できる。そのキャッシ
ュがこれらの値を使用できるときは、WA及びIWを実
施できる。チップは、エラー検出をサポートするとき
は、NR及びNWを実施する必要があるが、サポートし
ないときは、これらを省略できる。SSを実施しなくと
も入出力デバイス書き込みの十分な同期が得られるチッ
プは、省略してもよい。多重制御レジスタにより信頼性
のあるデバイス動作を妨げるアウト・オブ・オーダメモ
リ動作をチップが実施するときは、SSを実施する必要
がある。プログラマブル・レジスタを有するマップの部
分には、書き込みにより実施するビットをセット即ち読
み込む必要がある。実施しないビットは、常に0として
読み出す必要がある。常に書き込み割り当て又は書き戻
しを実行するキャッシュ・システムを有する実施は、こ
れらのビット位置にPAAMリターン定数1を有し得
る。しかしながら、PAAMは、キャッシュ構成即ち内
容に基づき異なる値を戻すと期待されていない。実施で
は、副領域空フラグを実施しないように選択できる。こ
の場合に、全16ビットは、0として読み出され、書き
込みで無視される。これらの実施では、そのエントリに
関連した全ての副領域に与えられたエントリにおける指
定子を使用する。
(2) Only a few designator bits can be implemented. The chip needs to implement a PC when it has a cache. In addition, other copy management bits can be implemented. When supporting memory sharing, PS can be implemented. To support sharing,
Can perform cache snooping. When the cache can use these values, WA and IW can be implemented. The chip needs to implement NR and NW when supporting error detection, but can omit these if not. A chip that can obtain sufficient synchronization of input / output device writing without performing SS may be omitted. SS must be performed when the chip performs out-of-order memory operations that prevent reliable device operation due to multiple control registers. Portions of the map that have programmable registers need to set or read the bits to be implemented by writing. Bits that are not implemented must always be read as 0. Implementations that have a cache system that always performs write allocations or writebacks may have a PAAM return constant of 1 in these bit positions. However, PAAM is not expected to return different values based on cache configuration or content. In the implementation, it is possible to select not to implement the sub-region empty flag. In this case, all 16 bits are read as 0 and ignored in writing. These implementations use the specifier in the given entry for all sub-regions associated with that entry.

【0038】他の実施例において、直接マップド・テー
ブルによりアドレスの一部分を含むことができ、1以上
のアソシアティブ・マップド比較ブロックにより、他の
アドレス空間の他の部分を含むことができる。
In another embodiment, a direct mapped table may include a portion of an address, and one or more associatively mapped compare blocks may include other portions of another address space.

【0039】他の実施例において、種々のアソシアティ
ブ・マップド実施例の各比較ブロックは、物理アドレス
の全ビット、又は物理アドレスの限定数の最上位ビット
を比較して粗いアドレス範囲に帰結することができる。
In another embodiment, each compare block of the various associatively mapped embodiments may compare all bits of the physical address, or a limited number of the most significant bits of the physical address, resulting in a coarse address range. it can.

【0040】他の実施例において、PSを実施する実施
は、共有され得るオン・チップ・メモリ用のプログラマ
ブル・レジスタを必要としてもよく、またいくつかの実
施例において、PAAMからのPSビットは、使用され
るオペレーション・コードのようなプロセッサからの情
報及び/又はMMUからの情報と組み合わせてキャッシ
ュにおけるデータの共有ステータスを判断するために、
使用されてもよい。
In other embodiments, implementing PS may require a programmable register for on-chip memory that may be shared, and in some embodiments, the PS bit from PAAM may be To determine the sharing status of the data in the cache in combination with information from the processor and / or information from the MMU, such as the operation codes used,
May be used.

【0041】図4は、ディジタル・システム400のブ
ロック図であり、二重の第1レベル・キャッシュ41
0、420及び単一の第2レベル・キャッシュ430を
有し、本発明の実施例を含む。中央処理装置(CPU)
401は、以下で更に詳細に説明する。第1レベル・キ
ャッシュ410は、キャッシュ・メモリ410a内に1
6kバイト容量を有する直接マップド・プログラム・キ
ャッシュ410、及びL1プログラム(L1P)コント
ローラ410bは、CPU401の命令フェッチ段に接
続されている。キャッシュ・メモリ420a内に16K
バイト容量を有する2ウェイ・アソシアティブ・データ
・キャッシュ420、及びレベル1データ(L1D)コ
ントローラ420bは、CPU401のデータ・ユニッ
トD1及びD2に接続されている。4バンクのメモリ
(総計128Kバイト)を有するレベル2(L2)キャ
ッシュ・メモリ430は、バス412及び422を介し
てL1P410及びL1D420にそれぞれ接続されて
データ及びプログラムのためのメモリを提供する。レベ
ル1命令キャッシュ(L1P)410は、中央処理装置
コア401により使用される命令を記憶する。中央処理
装置コア401は、まずレベル1命令キャッシュ410
から何らかの命令をアクセスするための試行をする。レ
ベル1データ・キャッシュ(L1D)420は、中央処
理装置コア401により使用されるデータを記憶する。
2つのレベル1キャッシュは、レベル2統合キャッシュ
(L2)430により支持されている。レベル1命令キ
ャッシュ410又はレベル1データ・キャッシュ420
に対するキャッシュ・ミスの場合は、レベル2統合キャ
ッシュ430から要求する命令又はデータを探し出す。
要求する命令又はデータがレベル2統合キャッシュ(L
2)430に記憶されているときは、これを要求するレ
ベル1キャッシュに供給して中央処理装置コア401に
転送する。当該技術分野において知られているように、
要求する命令又はデータは、高速使用のために、要求す
るキャッシュ及び中央処理装置コア401の両者に同時
に供給されてもよい。
FIG. 4 is a block diagram of the digital system 400, showing a dual first level cache 41.
0, 420 and a single second level cache 430, and includes embodiments of the present invention. Central processing unit (CPU)
401 is described in further detail below. The first level cache 410 stores one in cache memory 410a.
The direct mapped program cache 410 having a capacity of 6 Kbytes and the L1 program (L1P) controller 410b are connected to the instruction fetch stage of the CPU 401. 16K in cache memory 420a
A two-way associative data cache 420 having a byte capacity and a level 1 data (L1D) controller 420b are connected to the data units D1 and D2 of the CPU 401. A Level 2 (L2) cache memory 430 having four banks of memory (128 Kbytes total) is connected to L1P 410 and L1D 420 via buses 412 and 422, respectively, to provide memory for data and programs. Level 1 instruction cache (L1P) 410 stores instructions used by central processing unit core 401. The central processing unit core 401 first has the level 1 instruction cache 410
Try to access some instruction from. Level 1 data cache (L1D) 420 stores data used by central processing unit core 401.
Two level 1 caches are supported by a level 2 unified cache (L2) 430. Level 1 instruction cache 410 or level 1 data cache 420
In the case of a cache miss, the requested instruction or data is searched from the level 2 unified cache 430.
The requested instruction or data is stored in the level 2 unified cache (L
2) If stored in 430, it is supplied to the requesting level 1 cache and transferred to the central processing unit core 401. As known in the art,
The requested instruction or data may be provided simultaneously to both the requesting cache and the central processing unit core 401 for high speed use.

【0042】外部メモリ・インターフェース(EMI
F)450は、外部メモリ(図示なし)に64ビットの
データ・パスを与えており、このデータ・パスは、メモ
リ・データを拡張直接メモリ・アクセス(DMA)コン
トローラ440を介してレベル2キャッシュ・メモリ4
30に供給する。拡張DMAコントローラ440は、物
理アドレス/データ・バス431を介してL2キャッシ
ュ430から全ての読み出され及び書き込み要求を受け
取るように接続されている。拡張DMAコントローラの
動作の詳細は、本発明にとって重要ではない。詳細は、
読み出すアドレス及びデータ・バスと書き込み・アドレ
ス及びデータ・バスとを含む同期待機ループを使用した
データ・バス(Data Bus Using Synchronous Latency Lo
op Including Read Address And Data Busses And Writ
e Address And Data Busses)と題する米国特許出願第
号(TI−26021)、及び拡張直接メモ
リ・アクセス・プロセッサ用のハブ・インターフェース
・ユニット及びアプリケーション・ユニット・インター
フェース(Hub Interface Unit And Applicatrion Unit
Interface For Expanded Direct Memory Access Proces
sor)と題する米国特許出願第 号(TI−2
8979)に記載されている。
External memory interface (EMI
F) 450 provides a 64-bit data path to external memory (not shown), which passes memory data through an extended direct memory access (DMA) controller 440 to a level 2 cache. Memory 4
30. Extended DMA controller 440 is connected to receive all read and write requests from L2 cache 430 via physical address / data bus 431. The details of the operation of the extended DMA controller are not important to the present invention. Detail is,
A data bus using a synchronous standby loop including a read address and data bus and a write address and data bus (Data Bus Using Synchronous Latency Lo)
op Including Read Address And Data Busses And Writ
e Address And Data Busses)
(TI-26021), and a hub interface unit and an application unit interface for an extended direct memory access processor (Hub Interface Unit And Applicatrion Unit)
Interface For Expanded Direct Memory Access Proces
US Patent Application No. (TI-2)
8979).

【0043】EMIF452は、図示しない外部周辺装
置をアクセスするための16ビット・インターフェース
を与える。拡張バス470は、ホスト及び入出力のサポ
ートをする。
The EMIF 452 provides a 16-bit interface for accessing an external peripheral device (not shown). The expansion bus 470 supports a host and input / output.

【0044】3マルチ・チャネル・バッファ直列ポート
(McBSP)460、462、464は、DMAコン
トローラ440に接続されている。McBSPの詳細な
説明は、米国特許出願第09/055,011号(TI
−26204、セスハン(Seshan)ほか)に記載されてい
る。エミュレーション回路50は、外部テスト/開発シ
ステム(XDS)51により制御可能な集積回路1の内
部動作に対するアクセスを行う。
The three multi-channel buffer serial ports (McBSP) 460, 462, 464 are connected to a DMA controller 440. A detailed description of McBSP can be found in US patent application Ser. No. 09 / 055,011 (TI
-26204, Seshan et al.). The emulation circuit 50 accesses the internal operation of the integrated circuit 1 that can be controlled by the external test / development system (XDS) 51.

【0045】CPU401は、更に命令フェッチ、命令
ディスパッチ及び命令コード・パイプライン及び二重デ
ータ・パス1及びデータ・パス2を有する。データ・パ
ス1は、演算及びロード/ストア・ユニットD1、乗算
器M1、ALU/シフタS1、演算論理ユニット(AL
U)L1、データを読み出し、かつデータを書き込む共
有マルチポート・レジスタ・ファイルAを含む複数の実
行ユニットを有する。デコードされた命令は、命令フェ
ッチ/デコード・パイプラインから図示されていない種
々の制御ライン・セットを介して機能ユニットD1、M
1、S1及びL1に供給される。データは、レジスタ・
ファイルから/へ第1組のバスを介してロード/ストア
・ユニットD1に、第2組のバスを介して乗算器M1
に、第3組のバスを介してALU/シフタ・ユニットS
1に、そして第4組のバスを介してALU L1に供給
される。データは、第4組のバスを介してロード/スト
ア・ユニットD1から/にキャッシュ・メモリ420に
/から供給されることに注意すべきである。以上で説明
したデータ・パス全体は、レジスタ・ファイルB及び実
行ユニットD2、M2、S2及びL2有するデータ・パ
ス2により二重化されている。命令は、1組のバス命令
キャッシュ・メモリ410から命令フェッチ・ユニット
によりフェッチされる。種々のキャッシュのサイズ及び
構成は、本発明にとって重要な意味はない。これらは、
設計選択の問題である。更に、特定の選択及び実行ユニ
ット数は、設計選択の問題であって、本発明にとって重
要なことではない。図4のマイクロプロセッサ400の
種々のアーキテクチャ構成の説明は、改良された命令セ
ット・アーキテクチャを有するマイクロプロセッサ( Mi
croprocessor with Improved Instruction Set Archtec
ture )と題する同一出願人による出願番号第09/70
3,096号(TI−30302)に記載されている。
マイクロプロセッサ400用の基本セットの命令の説明
は、更に、改良された命令セットアーキテクチャを有す
るマイクロプロセッサ( Improved Microprocessor )と
題する同一出願人による出願番号第09/012,81
3号(TI−25311)にも記載されている。
The CPU 401 further has an instruction fetch, an instruction dispatch and an instruction code pipeline, a dual data path 1 and a data path 2. Data path 1 includes an arithmetic and load / store unit D1, a multiplier M1, an ALU / shifter S1, an arithmetic logic unit (AL
U) L1, having a plurality of execution units including a shared multiport register file A for reading data and writing data. The decoded instructions are passed from the instruction fetch / decode pipeline via various control line sets (not shown) to functional units D1, M
1, S1 and L1. Data is stored in registers
From the file to / to the load / store unit D1 via a first set of buses, a multiplier M1 via a second set of buses.
ALU / shifter unit S via the third set of buses
1 and to the ALU L1 via the fourth set of buses. It should be noted that data is supplied to / from load / store units D1 to / from cache memory 420 via a fourth set of buses. The entire data path described above is duplicated by the data path 2 having the register file B and the execution units D2, M2, S2 and L2. Instructions are fetched from a set of bus instruction cache memories 410 by an instruction fetch unit. The size and configuration of the various caches are not significant to the present invention. They are,
This is a matter of design choice. Further, the particular choice and number of execution units is a matter of design choice and is not critical to the present invention. A description of the various architectural configurations of the microprocessor 400 of FIG.
croprocessor with Improved Instruction Set Archtec
No. 09/70 by the same applicant entitled
3,096 (TI-30302).
A description of the basic set of instructions for microprocessor 400 is further described in commonly-assigned application Ser. No. 09 / 012,81 entitled Improved Microprocessor.
No. 3 (TI-25311).

【0046】外部テスト・システム404は、集積回路
をデバッグ及びエミュレーションする種々の既知のテス
ト・システムを表している。このようなシステムの1つ
は、プロセッサ状態検知回路、システム及び方法( Pro
cessor Condition Sensing Circuits, System, and Met
hods)と題する米国特許第5,535,331号に説明
されている。テスト回路403は、集積回路400をテ
ストするために制御レジスタ及び並列シグネチュアアナ
リシス回路を含む。
External test system 404 represents various known test systems for debugging and emulating integrated circuits. One such system is a processor state sensing circuit, system and method (Pro
cessor Condition Sensing Circuits, System, and Met
hods) is described in U.S. Pat. No. 5,535,331. The test circuit 403 includes a control register and a parallel signature analysis circuit for testing the integrated circuit 400.

【0047】本発明の特徴によれば、PAAM480
は、物理アドレス・バス431に接続されている。キャ
ッシュ可能属性信号482は、キャッシュ可能情報をL
2キャッシュ430に供給するように接続されている。
属性信号484は、拡張DMAコントローラ440に接
続された物理メモリ及びデバイスに関する属性情報に接
続される。
According to a feature of the present invention, PAAM480
Are connected to the physical address bus 431. The cacheable attribute signal 482 indicates that the cacheable information is L
2 cache 430.
The attribute signal 484 is connected to attribute information on a physical memory and a device connected to the extended DMA controller 440.

【0048】図5は、図4のディジタル・システムのブ
ロック図であり、PAAM480の動作をよく説明する
ために種々のキャッシュ、メモリ及びデバイス間で種々
のデータ転送を示す。ディジタル信号プロセッサ・シス
テム400は、図4を参照して説明したように、多数の
キャッシュ・メモリを含む。ディジタル信号プロセッサ
・システム400の複数部分の複雑な相互関係は、多数
のデータの移動を可能にする。これらは、図5に概要的
に示されており、以下で説明する。まず、レベル1プロ
グラム・キャッシュ410がキャッシュ・ミス・フィル
501用のレベル2統合メモリ430から呼び戻された
命令を受信可能である。この実施例において、レベル1
プログラム・キャッシュ410にストアされた命令が変
更されないように、自己変更コード(self-modifying co
de) に対するハードウェア・サポートは、存在しない。
レベル1データ・キャッシュ420とレベル2統合メモ
リ430との間で2つの可能データの移動が存在する。
第1のこれらデータ移動は、レベル2統合メモリ430
からレベル1データ・キャッシュ420へのキャッシュ
・ミス・フィル502である。データは、更に、503
に示すように、レベル1データ・キャッシュ420から
レベル2統合メモリ430に転送される。このデータの
移動は、レベル2統合メモリ430によりサービスされ
るべきレベル1データ・キャッシュ420への書き込
み、レベル1データ・キャッシュ420からレベル2統
合メモリ430への犠牲追い出し(victim eviction)、
レベル1データ・キャッシュ420からレベル2統合メ
モリ430へのスヌープ応答により、発生する。データ
は、504及び505に示すように、レベル2統合メモ
リ430と外部メモリ160との間で移動可能とされ
る。これは、外部メモリからレベル2統合メモリ430
サービスへのキャッシュ・ミス、又は外部メモリ560
からSRAMとして構成されたレベル2統合メモリ43
0への直接メモリ・アクセス440データ移動により、
及びレベル2統合メモリ430から外部メモリ560へ
の犠牲追い出し、又はSRAMとして構成されたレベル
2統合メモリ430の一部から外部メモリ560への直
接メモリ・アクセス440データ移動により、発生す
る。最後に、データは、506及び507に示すよう
に、レベル2統合メモリ430と周辺装置570との間
で移動することができる。これらの移動は、L2読み出
し又は書き込みミス、又は周辺装置570及びSRAM
として構成されたレベル2統合メモリ430の直接メモ
リ・アクセス440データ移動により、又はSRAMと
して構成されたレベル2統合メモリ430の一部から周
辺装置570への直接メモリ・アクセス440データ移
動により、発生する。レベル2統合メモリ430と外部
メモリ560との間、及びレベル2統合メモリ430と
周辺装置570との間の全てのデータ移動は、データ転
送バス543を利用しており、直接メモリ・アクセス4
40により制御されている。これらの直接メモリ・アク
セスのデータ移動は、中央処理装置コア401からのコ
マンド、又は転送要求バス541を介して受信した他の
信号プロセッサシステムからのコマンドの結果により発
生し得る。
FIG. 5 is a block diagram of the digital system of FIG. 4, showing various data transfers between various caches, memories, and devices to better describe the operation of PAAM 480. Digital signal processor system 400 includes a number of cache memories, as described with reference to FIG. The complex interrelationships of the parts of digital signal processor system 400 allow for the movement of large numbers of data. These are shown schematically in FIG. 5 and are described below. First, the level one program cache 410 can receive instructions recalled from the level two unified memory 430 for the cache miss fill 501. In this example, level 1
To prevent the instructions stored in the program cache 410 from being modified, a self-modifying code
There is no hardware support for de).
There are two possible data moves between the level 1 data cache 420 and the level 2 unified memory 430.
The first of these data moves is the level 2 unified memory 430
From the cache miss fill 502 to the level 1 data cache 420. The data is further 503
The data is transferred from the level 1 data cache 420 to the level 2 unified memory 430 as shown in FIG. This movement of data may include writing to the level 1 data cache 420 to be serviced by the level 2 unified memory 430, victim eviction from the level 1 data cache 420 to the level 2 unified memory 430,
Raised by a snoop response from level 1 data cache 420 to level 2 unified memory 430. The data can be moved between the level 2 unified memory 430 and the external memory 160, as shown at 504 and 505. This is because the external memory stores the level 2 integrated memory 430
Cache miss to service or external memory 560
2 integrated memory 43 configured as SRAM
With direct memory access 440 data movement to 0,
And a sacrificial eviction from the level 2 unified memory 430 to the external memory 560, or a direct memory access 440 data transfer from a part of the level 2 unified memory 430 configured as an SRAM to the external memory 560. Finally, data can move between the level 2 unified memory 430 and the peripheral device 570, as shown at 506 and 507. These movements may be due to L2 read or write misses, or peripheral 570 and SRAM
Occurs by direct memory access 440 data movement of level 2 unified memory 430 configured as a memory, or by direct memory access 440 data movement from a portion of level 2 unified memory 430 configured as an SRAM to peripheral device 570. . All data movement between the level 2 unified memory 430 and the external memory 560 and between the level 2 unified memory 430 and the peripheral device 570 uses the data transfer bus 543, and the direct memory access 4
40. These direct memory access data movements may occur as a result of commands from the central processing unit core 401 or from other signal processor systems received via the transfer request bus 541.

【0049】ディジタル信号プロセッサ400内での可
能データ移動の数及び変形は、コヒーレンス保持を困難
にする問題を発生させる。どのようなキャッシュ・シス
テムにおいても、データのコヒーレンスは問題となる。
キャッシュ・システムは、それぞれが最近のデータを戻
すように、データ・アクセスを制御する必要がある。例
えば、単一レベル・キャッシュにおいて、キャッシュ内
に保持された同一メモリ・アドレスに対する書き込み後
の読み出しは、新しい書き込みデータを戻す必要があ
る。このコヒーレンスは、キャッシュ内の処理と無関係
に保持される必要がある。このコヒーレンスは、キャッ
シュ・システムのトランスペアレンシを保存する。即
ち、プログラマは、キャッシュ内のデータ移動について
関心を持つ必要はなく、かつキャッシュ・システムの有
無に関連なしにプログラマブルすることができる。この
トランスペアレンシ特性は、データ・プロセッサがキャ
ッシュなし又は変動するキャッシュ量を有するデータ・
プロセッサ・ファミリのメンバのために書き込まれたプ
ログラムを正しく実行することである。キャッシュ・ハ
ードウェアは、単一メモリ空間のプログラマの幻影を保
持する必要がある。例えば、ハザード指令の例は、単に
犠牲にされてキャッシュから追い出されたキャッシュ・
エントリの読み出しである。非書き込み割り当てキャッ
シュにおける他の例は、メイン・メモリに対する書き込
み待機中の書き込みバッファ内に新たな書き込みデータ
を有するアドレスに対する書き込みミス後の、キャッシ
ュ・エントリからの読み出しである。キャッシュ・シス
テムは、このような特殊な場合を検出して処理するハー
ドウェアを含む必要がある。
The number and variation of possible data movements within digital signal processor 400 creates problems that make coherence maintenance difficult. In any cache system, data coherence is a problem.
Cache systems need to control data access so that each returns recent data. For example, in a single-level cache, a read after write to the same memory address held in the cache will need to return new write data. This coherence needs to be maintained independent of processing in the cache. This coherence preserves the transparency of the cache system. That is, the programmer need not be concerned with data movement in the cache and can be programmed with or without a cache system. This transparency characteristic means that the data processor has no cache or has a variable amount of cache.
The correct execution of programs written for members of the processor family. The cache hardware needs to maintain the illusion of a single memory space programmer. For example, the Hazard Directive example is simply a cache
Read entry. Another example of a non-write-allocated cache is reading from a cache entry after a write miss to an address that has new write data in a write buffer waiting to be written to main memory. Cache systems need to include hardware to detect and handle such special cases.

【0050】図5に関連して以上で説明したシステムの
ように、第2レベル・キャッシュを含むキャッシュ・シ
ステムは、追加的なハザードを導入する。コヒーレンス
は、最近書き込みデータがどこに位置していようともキ
ャッシュのレベル間で保持される必要がある。一般的
に、データをアクセスするレベル1キャッシュは、最近
のデータを有し、一方レベル2キャッシュは、古いデー
タを有する可能性がある。アクセスがレベル2キャッシ
ュに対しておこなったときは、キャッシュ・システム
は、レベル1キャッシュにより新しいコピーのデータが
ストアされているか否かを判断する必要がある。一般的
に、これは、スヌープ・サイクルをトリガして、レベル
2キャッシュがそのアクセスに応答する前に、より新し
いデータのためにレベル1キャッシュをポーリングす
る。スヌープは、一般的に、高い優先順位が与えられる
ことを除き、スヌープド・キャッシュに対する通常のア
クセスとほぼ同一である。他レベルのキャッシュがスト
ールしてそのスヌープに対する応答を待機しているの
で、スヌープには高い優先順位が与えられる。高レベル
のキャッシュに対する最後の書き込みのために、低レベ
ルのキャッシュにストアされたデータが変更されたとき
は、そのデータは高レベルのキャッシュに供給される。
これは、スヌープ・ヒットと呼ばれる。低レベルのキャ
ッシュに対する最後の書き込みのために、低レベルのキ
ャッシュにストアされたデータがクリーンされ、従って
変更されなかったときは、このことは、スヌープ応答に
記録されるが、しかしデータは移動しない。この場合
に、高レベルのキャッシュはデータの有効コピーをスト
アしてこのデータを供給することができる。
As with the system described above in connection with FIG. 5, a cache system that includes a second level cache introduces additional hazards. Coherence needs to be maintained between levels in the cache, no matter where the recently written data is located. In general, level 1 caches accessing data have the most recent data, while level 2 caches may have stale data. When an access is made to a level 2 cache, the cache system needs to determine whether a new copy of the data is stored by the level 1 cache. Generally, this will trigger a snoop cycle to poll the level 1 cache for newer data before the level 2 cache responds to its access. Snooping is generally similar to normal access to a snooped cache, except that it is given a higher priority. Snoops are given higher priority because the other level cache is stalled waiting for a response to the snoop. If the data stored in the lower level cache has changed because of the last write to the higher level cache, that data is provided to the higher level cache.
This is called a snoop hit. When the data stored in the low-level cache has been cleaned, and thus has not changed, for the last write to the low-level cache, this is recorded in the snoop response, but the data does not move . In this case, the high-level cache can store a valid copy of the data and supply this data.

【0051】2レベル・キャッシュは、ハザードが存在
する特殊な場合を増加させる。2レベル・キャッシュに
よる追加的なハザードには、対応するデータが追い出に
よる犠牲である低レベル・キャッシュに対するスヌープ
と、書き込みバッファにデータを置く非書き込む割り当
てシステムに対する低レベル・キャッシュでの書き込み
ミス中のデータ入力に対するスヌープとが含まれる。更
に他のハザードもあり得る。コヒーレンス管理の詳細
は、本発明に無関係であり、キャッシュとして選択的に
構成されたメモリ又は直接アクセス・メモリと直接メモ
リ・アクセスとのマルチレベル・キャッシュ・システム
・コヒーレンス(Multilevel Cache SystemCoherence Wi
th Memory Selectively Configured As Cache Or Direc
t AccessMemory And Direct Memory Access)と題する同
一出願人による米国特許出願第09/603,637号
(TI−29344)に詳細に説明されている。
The two-level cache increases the special case where a hazard exists. Additional hazards from the two-level cache include snooping on the low-level cache, where the corresponding data is the victim of eviction, and write misses on the low-level cache for non-writing allocation systems that place data in the write buffer. And a snoop for the data input. Still other hazards are possible. The details of coherence management are irrelevant to the present invention, and the multilevel cache system coherence between memory selectively configured as a cache or direct access memory and direct memory access.
th Memory Selectively Configured As Cache Or Direc
t Access Memory And Direct Memory Access) is described in detail in commonly assigned U.S. patent application Ser. No. 09 / 603,637 (TI-29344).

【0052】PAAM480は、PAAM130と同じ
ように動作する。しかしながら、マルチレベル・キャッ
シュの動作は、キャッシュ・システムにおいて領域指定
子を慎重に供給することによっている。例えば、PC
は、常に要求を受け入れられる必要がある。いずれのキ
ャッシュ410、420及び430もその領域が0とし
てPCによりマークされたアドレスからのコピーを含め
ることができない。同様に、全てのキャッシュは、IW
を受け入れる必要がある。レベル1キャッシュにとって
属性エントリを意識するために、レベル1キャッシュで
ミスが発生すると、バス412/422を介してレベル
1キャッシュ・コントローラ410a/420aのコピ
ーが提供される。
PAAM 480 operates similarly to PAAM 130. However, the operation of a multi-level cache relies on careful provision of region specifiers in a cache system. For example, PC
Must always be able to accept requests. None of the caches 410, 420, and 430 can contain a copy from an address marked by the PC as having an area of 0. Similarly, all caches are IW
Need to accept. In order to make the level 1 cache aware of the attribute entries, a copy of the level 1 cache controller 410a / 420a is provided via bus 412/422 when a miss occurs in the level 1 cache.

【0053】いくつかのビットのために、キャッシュ・
ヒット毎にキャッシュ・タグを調べることができるよう
に、これらビットのコピーをキャッシュにより保持する
のが都合がよい。レベル2キャッシュ430におけるリ
モートPAAM551は、キャッシュ・データ・ストレ
ージ・メモリ540に記憶される各エントリに応答し
て、キャッシュ属性信号482を受け取り、かつストア
するように接続されている。PAAM551は、物理ア
ドレス・バス431a上に物理アドレスを発生すること
を必要とすることなく、レベル2キャッシュ430にお
ける各有効エントリ用の属性ビットが利用できるように
キャッシュ・タグ・ストレージ550に関連される。
For some bits, the cache
It is convenient to keep a copy of these bits in the cache so that the cache tag can be examined for each hit. Remote PAAM 551 in level 2 cache 430 is connected to receive and store cache attribute signal 482 in response to each entry stored in cache data storage memory 540. PAAM 551 is associated with cache tag storage 550 so that attribute bits for each valid entry in level 2 cache 430 are available without having to generate a physical address on physical address bus 431a. .

【0054】本発明のこの実施例の他の特徴は、キャッ
シュ・ミスの時点で知る必要がある定義された2PAA
Mビットが存在することである。これらの2ビットは、
WA(書き込み割り当て)ビット及びSS(同期スト
ア)ビットである。これらの2ビットのみのときに、リ
モートPAAM556がレベル1データ・キャッシュ4
20に実施され、かつ物理アドレス・バス412aに接
続され、この物理アドレス・バス412aは、要求用の
アドレスをレベル2キャッシュ430に提供するように
接続される。CPUコア401は、データ・ユニットD
1及びD2により提供される2X32ビットアドレス・
バスを有することに注意すべきである。いずれかのアド
レス・バスに応答してのキャッシュ・ミスは、物理アド
レス・バス412b上の要求に帰結して、リモートPA
AM556により監視される。リモートPAAM556
に供給する理由は、キャッシュ・ミスと取引することに
あるので、リモートPAAM556は、キャッシュ・タ
グ・ストレージ555と直接的な関連はない。与えられ
たチップ設計に関して各値は固定されているので、これ
らは直接マップド・テーブルとして小さなROMに実施
される。リモートPAAM556におけるPAAM属性
ビットは、それぞれの同一アドレス範囲に対してPAA
M480における属性ビットと一致することを保証する
ように、注意する必要がある。この実施例において、レ
ベル1命令キャッシュ410にストアされた命令を変更
しないように自己変更コードをサポートするハードウェ
アは、存在しない。従って、リモートPAAMは、L1
P410に必要でない。
Another feature of this embodiment of the invention is that a defined 2PAA that needs to be known at the time of a cache miss
M bits are present. These two bits are
The WA (write allocation) bit and the SS (synchronous store) bit. When only these two bits are present, the remote PAAM 556
20 and connected to a physical address bus 412a, which is connected to provide an address for the request to the level 2 cache 430. The CPU core 401 has a data unit D
2x32 bit address provided by 1 and D2
Note that it has a bus. A cache miss in response to either address bus results in a request on the physical address bus 412b resulting in a remote PA.
Monitored by AM 556. Remote PAAM556
The remote PAAM 556 has no direct association with the cache tag storage 555 because the reason for supplying is to trade with a cache miss. Since each value is fixed for a given chip design, they are implemented in a small ROM as a direct mapped table. The PAAM attribute bits in the remote PAAM 556 are PAA for each same address range.
Care must be taken to ensure that the attribute bits in M480 match. In this embodiment, there is no hardware supporting the self-modifying code so as not to modify the instructions stored in the level one instruction cache 410. Therefore, the remote PAAM is
Not required for P410.

【0055】しかしながら、自己変更コードをサポート
する他の実施例において、L1PにおけるリモートPA
AMは構成に従って好都合である。例えば、WA及びS
Sは、ストアがそのキャッシュから発生し得るときにの
み、必要とされる。自己変更コードは、通常、書き込み
命令を無効又は置換するプログラム・キャッシュ及び、
関連のバッファをスヌープするデータ・サイド書き込み
により、進行する。この構成において、WAビット及び
SSビットは、プログラム・キャッシュではなく、デー
タ・キャッシュに依然として必要である。
However, in another embodiment that supports self-modifying codes, the remote PA in L1P
AM is advantageous according to the configuration. For example, WA and S
S is only needed when a store can originate from its cache. The self-modifying code typically contains a program cache that invalidates or replaces the write instruction, and
Proceed with a data side write that snoops the associated buffer. In this configuration, the WA and SS bits are still needed for the data cache, not the program cache.

【0056】この実施例において、PAAM480は、
物理アドレス・バス431aに接続されている。キャッ
シュ可能性属性信号482は、L2キャッシュ430に
接続されてキャッシュ可能性情報を提供する。属性信号
484信号は、転送要求回路541に接続されて拡張D
MAコントローラ440に接続されている物理メモリ5
60及びデバイス570用の属性情報を提供する。他の
実施例において、PAAM480を物理デバイスに接続
するものは存在しない。
In this embodiment, PAAM480
Connected to physical address bus 431a. The cacheability attribute signal 482 is connected to the L2 cache 430 and provides cacheability information. The attribute signal 484 is connected to the transfer request circuit 541 and
Physical memory 5 connected to MA controller 440
Provides attribute information for the device 60 and the device 570. In other embodiments, nothing connects the PAAM 480 to the physical device.

【0057】他の実施例において、良好な設計モジュー
ル性は、各デバイスでPAAMの完全なコピーを保持す
ることにより得られる。プロセッサは、WAビット及び
SSビット用のデバイスからの情報をキャッシュ又は自
動構成してこのモジュール性を保存する必要がある。
In another embodiment, good design modularity is obtained by maintaining a complete copy of the PAAM at each device. The processor needs to cache or auto-configure information from the device for the WA and SS bits to preserve this modularity.

【0058】ここで、図5を引き続き参照し、PAAM
480の更なる構成を説明するためにデータ転送の更に
詳細な説明をする。レベル1命令キャッシュ・インター
フェースは、レベル2統合メモリ430からレベル1命
令キャッシュL1P410への256ビット・データ・
パスを含む。このデータ・パスのサイズは、レベル1命
令キャッシュ410内の64バイトのキャッシュ・エン
トリ・サイズの1/2に対応し、かつ1命令フェッチ・
パケットに等しい。好ましい実施例において、256ビ
ットは、4バンクのレベル2統合メモリ430のそれぞ
れから64ビットである。従って、レベル2統合メモリ
430は、単一サイクル内でこのデータ量を供給するこ
とができる。これは、キャッシュとして構築されたレベ
ル2統合キャッシュ430の量に拘わらず、発生する。
レベル2統合メモリ430は、キャッシュ・メモリの代
わりに、可変量のスタティク・ランダム・アクセス・メ
モリ(SRAM)を含むように構築されてもよい。ディ
ジタル信号プロセッサ・システムの構成は、キャッシュ
及びアドレス可能なスタティク・ランダム・アクセス・
メモリを含む統合メモリ・システム・アーキテクチャ(U
nified Memory System Archtecture Including Cache A
nd Addressable Static Random Access Memory)と題す
る米国特許出願第09/603,645号(TI−29
343)に更に詳細に説明されている。レベル2統合メ
モリ430内でパーティションするキャッシュ/SRA
Mは、データ・バンク内でというよりもデータ・バンク
にわたっている。従って、レベル2統合メモリ430
は、常に、任意の部分がキャッシュとしてパーティショ
ンされたときは、レベル1命令キャッシュ410に25
6ビットを供給することができる。レベル1命令キャッ
シュ410は、更に、例えばキャッシュ不能メモリのア
ドレスからコードをフェッチする際に、データ転送バス
543から直接データを受け取ることができる。データ
転送バス543は、サイクル当たり64ビットのみを供
給し、従って256ビットを累算するためには少なくと
も4サイクル必要とする。レベル1命令キャッシュ41
0に転送するデータ・ソースは、マルチプレクサ531
により選択される。図5は、レベル1命令キャッシュ4
10からレベル2統合メモリ430への32アドレス・
ビットの供給を示す。レベル1命令キャッシュ410は
256ビットの境界で動作するので、8最下位ビットが
常にゼロとなり、アドレスから除外されてもよい。レベ
ル1命令キャッシュ410に対する書き込みは、許可さ
れず、従ってレベル1命令キャッシュ410がレベル2
統合メモリ430にデータを供給することは決してない
ことに注意すべきである。
Referring now to FIG.
A more detailed description of the data transfer is provided to explain the further configuration of 480. The level 1 instruction cache interface provides a 256 bit data transfer from the level 2 unified memory 430 to the level 1 instruction cache L1P 410.
Include path. The size of this data path corresponds to half the size of the 64-byte cache entry in level one instruction cache 410, and one instruction fetch
Equal to packet. In the preferred embodiment, the 256 bits are 64 bits from each of the four banks of level 2 unified memory 430. Thus, level two unified memory 430 can provide this amount of data within a single cycle. This occurs regardless of the amount of the Level 2 unified cache 430 configured as a cache.
Level 2 unified memory 430 may be constructed to include a variable amount of static random access memory (SRAM) instead of cache memory. The construction of the digital signal processor system consists of a cache and an addressable static random access memory.
Integrated memory system architecture including memory (U
nified Memory System Archtecture Including Cache A
No. 09 / 603,645 entitled nd Addressable Static Random Access Memory (TI-29).
343) is described in further detail. Cache / SRA Partitioning in Level 2 Unified Memory 430
M spans the data bank rather than within the data bank. Therefore, the level 2 unified memory 430
Always has 25 in the level 1 instruction cache 410 when any part is partitioned as a cache.
Six bits can be supplied. The level one instruction cache 410 can also receive data directly from the data transfer bus 543, for example, when fetching code from an address in non-cacheable memory. Data transfer bus 543 provides only 64 bits per cycle, thus requiring at least 4 cycles to accumulate 256 bits. Level 1 instruction cache 41
The data source for transferring to 0 is the multiplexer 531
Is selected by FIG. 5 shows a level 1 instruction cache 4
32 addresses from 10 to the level 2 unified memory 430
Indicates the supply of bits. Because the level one instruction cache 410 operates on 256 bit boundaries, the eight least significant bits are always zero and may be excluded from the address. Writes to the level 1 instruction cache 410 are not allowed, so the level 1 instruction cache 410
It should be noted that data is never provided to unified memory 430.

【0059】レベル1データ・キャッシュ・インターフ
ェースは、レベル2統合メモリ430からレベル1デー
タ・キャッシュ420への128ビットのデータ・パス
を含む。好ましい実施例において、128ビットは、2
バンクのレベル2統合メモリ430のそれぞれからの6
4ビットである。これは、他のデータ転送とバンク競合
なしと仮定する。レベル2統合メモリ430は、レベル
1データ・キャッシュ420にサイクル当たり1キャッ
シュ・フィル・データ転送のみをサービスする。従っ
て、中央処理装置401における2ロード/ストア・ユ
ニットがそれぞれデータを要求し、レベル1データ・キ
ャッシュ420内の読み出しキャッシュ・ミスを発生す
るときは、レベル2統合メモリ430に対する2つの読
み出しミス要求がシーケンスによりサービスされる。以
上で述べたように、レベル2統合メモリ430のキャッ
シュ/SRAMパーティションは、メモリ・バンクにわ
たっている。従って、レベル2統合メモリ430が何ら
かのキャッシュを含むようにパーティションされる限
り、レベル2統合メモリ430は、2バンクからレベル
1データ・キャッシュ420にデータを供給することが
できる。レベル1データ・キャッシュ420は、更に、
例えばキャッシュ不能メモリのアドレスからデータをフ
ェッチする際に、データ転送バス543から直接データ
を受け取ることができる。データ転送バス543は、サ
イクル当たり64ビットのみを供給する。しかしなが
ら、キャッシュ不能メモリのアドレスに対するアクセス
は、高々64ビットである。この場合に、64ビット
は、単一のデータ転送サイクルにより転送される。レベ
ル1データ・キャッシュ420に転送するデータ・ソー
スは、マルチプレクサ433により選択される。図5
は、レベル1データ・キャッシュ420からアドレス・
バス422a及びアドレス・バス423aを介してレベ
ル2統合メモリ430へ2セットの32アドレス・ビッ
トの供給を示す。レベル1命令キャッシュ420は25
6ビットの境界で動作するので、6最下位ビットが常に
ゼロとなり、アドレスから除外されてもよい。
The level 1 data cache interface includes a 128-bit data path from level 2 unified memory 430 to level 1 data cache 420. In the preferred embodiment, 128 bits are 2
6 from each of the bank's level 2 unified memories 430
4 bits. This assumes no bank contention with other data transfers. Level two unified memory 430 services only one cache fill data transfer per cycle to level one data cache 420. Thus, when two load / store units in central processing unit 401 each request data and cause a read cache miss in level one data cache 420, two read miss requests to level two unified memory 430 Serviced by a sequence. As mentioned above, the cache / SRAM partitions of the level 2 unified memory 430 span memory banks. Thus, as long as level 2 unified memory 430 is partitioned to include some cache, level 2 unified memory 430 can supply data to level 1 data cache 420 from two banks. Level 1 data cache 420 further includes:
For example, when fetching data from an address of a non-cacheable memory, the data can be received directly from the data transfer bus 543. Data transfer bus 543 provides only 64 bits per cycle. However, accesses to non-cacheable memory addresses are at most 64 bits. In this case, 64 bits are transferred in a single data transfer cycle. The data source to transfer to level 1 data cache 420 is selected by multiplexer 433. FIG.
Addresses from the level 1 data cache 420
The supply of two sets of 32 address bits to the level two unified memory 430 via bus 422a and address bus 423a is shown. Level 1 instruction cache 420 is 25
Since it operates on a 6-bit boundary, the 6 least significant bits are always zero and may be excluded from the address.

【0060】レベル1データ・キャッシュ420は、レ
ベル2統合メモリ430にデータを供給することができ
る。これは、レベル1データ・キャッシュ420内の変
更状態において書き込みミス、キャッシュ・エントリ追
い出し、及びデータに対するスヌープ・ヒットの応答に
より発生する。中央処理装置10内の各ロード/ストア
・ユニットは、同一サイクルでレベル1データ・キャッ
シュ420からレベル2統合メモリ430にデータ転送
を要求することが可能である。レベル1データ・キャッ
シュ420内の書き込みミスにより、書き込みデータの
32ビットのみがレベル1データ・キャッシュ420か
らL2統合メモリ430に供給される。キャッシュ追い
出し又はスヌープ・データ応答のために、レベル1デー
タ・キャッシュ420は、逆の転送として同一のデータ
幅により、128ビットをレベル2統合メモリ430に
供給される。レベル1データ・キャッシュ420からの
データは、更に、マルチプレクサ537により選択され
たようにデータ転送バス543に供給されてもよい。こ
れは、キャッシュ不能アドレスに対する書き込みの結果
として発生し得る。
Level 1 data cache 420 can provide data to level 2 unified memory 430. This is caused by a write miss, cache entry eviction, and a snoop hit response to the data in the modified state within the level 1 data cache 420. Each load / store unit in the central processing unit 10 can request a data transfer from the level 1 data cache 420 to the level 2 unified memory 430 in the same cycle. Due to a write miss in level 1 data cache 420, only 32 bits of write data are provided from level 1 data cache 420 to L2 unified memory 430. For cache eviction or snoop data response, level 1 data cache 420 provides 128 bits to level 2 unified memory 430 with the same data width as the reverse transfer. Data from level one data cache 420 may also be provided to data transfer bus 543 as selected by multiplexer 537. This can occur as a result of a write to a non-cacheable address.

【0061】レベル2統合メモリ430とデータ転送バ
ス543との間のインターフェースは、2X64ビット
のデータ・バス431b及び431cを含む。データ・
バス431bは、データ転送バス543からレベル2統
合メモリ430にデータを供給する。このデータは、マ
ルチプレクサ535により選択されたように単一の64
ビットの書き込み部分を介してレベル2統合メモリ43
0にストアされてもよい。データ・バス431cは、マ
ルチプレクサ535により選択されたようにレベル2統
合メモリ430又はレベル1データ・キャッシュ420
からデータを供給する64ビット・バスである。データ
転送バス543を使用した全ての転送は、転送要求バス
541を介してコマンドに応答して直接メモリ・アクセ
ス・ユニット150を利用する。
The interface between level 2 unified memory 430 and data transfer bus 543 includes 2 × 64 bit data buses 431b and 431c. data·
The bus 431b supplies data from the data transfer bus 543 to the level 2 integrated memory 430. This data is combined into a single 64 as selected by multiplexer 535.
Level 2 unified memory 43 via the bit write portion
0 may be stored. Data bus 431c is connected to level 2 unified memory 430 or level 1 data cache 420 as selected by multiplexer 535.
Is a 64-bit bus that supplies data from All transfers using data transfer bus 543 utilize memory access unit 150 directly in response to a command via transfer request bus 541.

【0062】物理アドレス・バス431aは、データ・
バス431b及び431c上で並列転送を可能にするた
めに2物理アドレス部分を備えている。本発明のこの実
施例において、PAAM480は、PAAM480によ
り物理アドレス・バス431a上に存在する両物理アド
レス部分を監視できるように、二重ポート化されてい
る。
The physical address bus 431a is connected to the data
Two physical address portions are provided to enable parallel transfer on buses 431b and 431c. In this embodiment of the invention, PAAM 480 is dual ported so that both physical address portions present on physical address bus 431a can be monitored by PAAM 480.

【0063】本発明の構成により効果が得られるいくつ
かのシステム例は、米国特許第5,072,418号、
特に米国特許第5,072,418号の図2〜図18を
参照して説明されている。パフォーマンスを改善し、か
つコストを低減するために本発明の構成に関連するマイ
クロプロセッサを使用して米国特許第5,072,41
8号において説明されているシステムを更に改良するこ
とができる。このようなシステムは、限定的ではなく、
工業的なプロセス制御、自動車システム、モータ制御、
ロボット制御システム、衛星通信システム、エコー打ち
消しシステム、モデム、ビデオ・イメージング・システ
ム、速度認識システム、暗号化によるボーコーダ・モデ
ム・システム等を含む。
Some examples of systems that can benefit from the configuration of the present invention are described in US Pat. No. 5,072,418;
In particular, reference is made to FIGS. 2 to 18 of U.S. Pat. No. 5,072,418. U.S. Pat. No. 5,072,41 using a microprocessor in conjunction with the present invention to improve performance and reduce costs.
The system described in No. 8 can be further improved. Such a system is not limiting,
Industrial process control, automotive systems, motor control,
Includes robot control systems, satellite communication systems, echo cancellation systems, modems, video imaging systems, speed recognition systems, encrypted vocoder modem systems, and the like.

【0064】図6は、集積化されたキーボード12及び
表示4を有する無線電話のような移動電気通信装置にお
けるディジタル・システム400を含む、集積回路40
の一例の例示的な実施を示す。図6に示すように、プロ
セッサ401を有するディジタル・システム400は、
キーボード・アダプタ(図示なし)を介してディスプレ
イ14に使用され、またキーボード・アダプタ(図示な
し)を介して無線周波数(RF)回路16に使用される
キーボード12に接続されている。
FIG. 6 shows an integrated circuit 40 including a digital system 400 in a mobile telecommunications device such as a radiotelephone having an integrated keyboard 12 and display 4.
1 illustrates an example implementation of As shown in FIG. 6, a digital system 400 having a processor 401 comprises:
It is used for a display 14 via a keyboard adapter (not shown) and to a keyboard 12 used for radio frequency (RF) circuitry 16 via a keyboard adapter (not shown).

【0065】ディジタル・システム400の製造は、半
導体基板に種々な量の不純物を打ち込む工程、及び基板
内の選択した深さに不純物を拡散する工程からなる多重
工程を含む。不純物の配置を制御するためにマスクが形
成される。種々のデバイスを相互接続するために導電材
料及び絶縁材料からなる多層が堆積され、かつエッチン
グされる。これらの工程は、クリーン・ルーム環境にお
いて実行される。
The fabrication of the digital system 400 includes a multiple step of implanting various amounts of impurities into the semiconductor substrate and diffusing the impurities to a selected depth in the substrate. A mask is formed to control the arrangement of the impurities. Multiple layers of conductive and insulating materials are deposited and etched to interconnect various devices. These steps are performed in a clean room environment.

【0066】データ処理デバイスを製作するコストの重
要な部分は、テストを含む。ウェーハ形成において、個
々のデバイスは、動作状態にバイアスされて、基本的な
動作機能に関してプローブ・テストされる。次いで、ウ
ェーハは、ベア・ダイ又はパッケージとして販売可能な
個々のダイスに分割される。パッケージ処理後、半製品
は、動作状態にバイアスされて、動作機能に関してテス
トされる。
A significant part of the cost of fabricating a data processing device involves testing. In wafer formation, individual devices are biased to an operational state and probe tested for basic operational functions. The wafer is then split into individual dies that can be sold as bare dies or packages. After packaging, the semi-finished product is biased to an operational state and tested for operational functionality.

【0067】以上の実施例のいずれかを含む集積回路
は、表面マウント用の複数のコンタクトを含む。しかし
ながら、集積回路は、他の構成、例えばゼロ挿入力ソケ
ットにマウントする回路の下面の複数のピン、実際には
他の適当な構成を含むものでもよい。
An integrated circuit including any of the above embodiments includes a plurality of contacts for surface mounting. However, the integrated circuit may include other configurations, such as a plurality of pins on the underside of the circuit mounted in a zero insertion force socket, indeed any other suitable configuration.

【0068】ディジタル・システム400は、最新のデ
バッグ機能用のハードウェア・エクステンションを含
む。これらは、アプリケーション・システムの開発に役
立つ。これらの能力は、CPU401のコア自体の一部
であるから、拡張動作モード・エクステンションを有す
るJTAGインターフェースのみに利用可能である。こ
れらは、簡単かつ安価であり、コストの掛かるケーブル
敷設を必要とすることなく、複雑なデバッグ処理及び経
済的なシステム開発用のコアに対する速度に依存しない
アクセス、及び従来のエミュレータ・システムが必要と
する、又はシステム・リソースを導入するプロセッサ・
ピンに対するアクセスを提供する。
The digital system 400 includes hardware extensions for advanced debugging functions. These are useful for developing application systems. Since these capabilities are part of the core of the CPU 401 itself, they are only available for the JTAG interface with the extended operation mode extension. They are simple and inexpensive, do not require costly cabling, require speed-independent access to cores for complex debugging and economical system development, and require traditional emulator systems. Processor that implements or introduces system resources
Provides access to pins.

【0069】従って、ディジタル・システムは、アドレ
ス変換マップが提供されようが、されまいが、物理アド
レス属性マップが提供される。都合よいことに、PAA
Mにより、一定のキャッシュ・ミス・モードを制御する
信号が提供される。
Thus, the digital system is provided with a physical address attribute map, whether or not an address translation map is provided. Conveniently, PAA
M provides a signal that controls certain cache miss modes.

【0070】都合よいことに、異なる能力及び特徴を有
するディジタル・システムのアドレス空間に存在するデ
バイスのときに、デバイスのメモリ・マップド・アドレ
スに関連したPAAM内の属性ビットに応答して、エラ
ーを通知することにより、又は各デバイスの使用を制限
することにより、誤使用が防止される。
Conveniently, for devices residing in the address space of a digital system having different capabilities and features, errors may be reported in response to attribute bits in the PAAM associated with the device's memory-mapped address. By notifying or restricting the use of each device, misuse is prevented.

【0071】都合よいことに、PAAMエントリにより
指定された能力は、強制的というよりも、宣言的であ
る。即ち、属性ビットがその行動に関してキャッシュ指
令を与えるよりも、それぞれのデバイスの能力を宣告す
る。
Advantageously, the capabilities specified by a PAAM entry are declarative rather than mandatory. That is, the attribute bits declare the capabilities of each device, rather than giving a cache directive on its behavior.

【0072】都合よいことに、PAAMは、メモリ管理
ユニット又はオペレーティング・システム制御を必要と
しない。PAAMにおけるエントリは、チップ上のシス
テムを含む多種類のシステム用のチップ設計時間でRO
Mとして信頼性をもってセットする可能とされる。
Advantageously, PAAM does not require a memory management unit or operating system control. Entries in PAAM are RO at chip design time for many types of systems, including systems on chip.
M can be set with reliability.

【0073】都合よいことに、PAAMは、キャッシュ
可能性、ライトスルー、共有、読み易さ、書き易さ及び
入出力に関連される。
Advantageously, PAAM is related to cacheability, write-through, sharing, readability, writeability, and I / O.

【0074】都合よいことに、多くのプログラミング・
エラーは、例えばデバイスを有しないアドレスに対する
アクセスを検出して報告可能にされる。
Advantageously, many programming
The error can be reported by detecting an access to an address having no device, for example.

【0075】都合よいことに、PAAMは、デバイス・
アクセスのプログラミングをより簡単にするために入出
力メモリの整理された行動の制御を提供する。
Conveniently, PAAM is a device
Provides organized behavior control of I / O memory to make programming access easier.

【0076】都合よいことに、PSがオペレーション・
コード又はMMUステータスに基づく他の情報との組み
合わせで使用されるときは、非常に精密な共有制御が可
能となる。従って、真に共有データに対して存在する単
なるメモリ動作での使用に、コヒーレンスのパフォーマ
ンス及びパワー・コストを慎重に制御することができ
る。
Conveniently, the PS is
When used in combination with other information based on code or MMU status, very precise sharing control is possible. Thus, the coherence performance and power cost can be carefully controlled for use in mere memory operations that exist for truly shared data.

【0077】ここで使用しているように、用語「適用さ
れる」、「接続される」及び「接続」は、電気的な接続
経路内に追加的な要素が存在し得ることを含め、電気的
に接続されることを意味する。「関連される」は、関連
されたポートにより制御されるメモリ・リソースのよう
な制御関係を意味する。用語アサートする、アサート、
アサートしない、アサートなし、否定する、及び否定
は、アクティブ・ハイ信号、及びアクティブ・ロー信号
の組み合わせを処理するときに、混乱を避けるために使
用される。アサートする、及びアサートは、信号がアク
ティブ即ち論理的に真にされたことを表すために使用さ
れる。アサートしない、アサートなし、否定する、及び
否定は、信号がインアクティブ即ち論理的に偽にされた
ことを表すために使用される。
As used herein, the terms “applied,” “connected,” and “connection” include electrical, including the possibility that additional elements may be present in the electrical connection path. Means to be connected. "Associated" means a control relationship such as a memory resource controlled by an associated port. The terms assert, assert,
No assert, no assert, negate, and negation are used to avoid confusion when processing a combination of active high and active low signals. Assert, and assert is used to indicate that the signal has been activated. No-assert, no-assert, negate, and negation are used to indicate that the signal has been inactive.

【0078】実施例を参照して本発明を説明したが、こ
の説明は、限定する意味に解釈されることを意図するも
のではない。本発明の他の種々の実施例は、この説明を
参照することにより当該技術分野に習熟する者に明らか
となる。例えば、異なる数及びサイズのキャッシュを実
施することもできる。種々の周辺装置内にPAAMのリ
モート部分を埋め込むこともできる。異なるサイズ及び
構成の物理アドレス及びデータ・バスを備えることもで
きる。他のDSPからの要求を転送要求回路541及び
データ転送バス543により協調させるマイクロプロセ
ッサ・システムを構成することもできる。
While the invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various other embodiments of the invention will be apparent to those skilled in the art from this description. For example, different numbers and sizes of caches may be implemented. The remote part of the PAAM can also be embedded in various peripheral devices. Different sizes and configurations of physical address and data buses may be provided. A microprocessor system that cooperates requests from other DSPs with the transfer request circuit 541 and the data transfer bus 543 can also be configured.

【0079】従って、付記する特許請求の範囲は、本発
明の真の範囲及び精神内に含まれる実施例の如何なる変
更も包含することを意図している。
It is therefore intended that the appended claims cover any such modifications of the embodiments as fall within the true scope and spirit of the invention.

【0080】以上の説明に関して更に以下の項を開示す
る。
The following items are further disclosed with respect to the above description.

【0081】(1)マイクロプロセッサを有するディジ
タル・システムにおいて、前記マイクロプロセッサは、
アドレス発生ユニットに接続された中央処理装置(CP
U)と、第1のアドレス・バスを介して前記アドレス発
生ユニットに接続されたキャッシュと、データ・バスを
介して前記キャッシュに接続されたメモリ回路であっ
て、第2のアドレス・バスを介して前記アドレス発生ユ
ニットからアドレスを受け取るように接続された前記メ
モリ回路と、前記第2のアドレス・バスに接続された少
なくとも第1のメモリ・マップド・デバイスであって、
第1のアドレスでマッピングされた前記第1のメモリ・
マップド・デバイスと、前記第2のアドレス・バスに接
続された物理アドレス属性マップ(PAAM)であっ
て、少なくとも第1の属性制御信号を介して前記キャッ
シュに接続されている前記PAAMとを備え、前記PA
AMは前記アドレス・バス上に存在する前記第1のアド
レスに応答して前記第1の属性制御信号をアサートする
ように動作可能であり、一定のキャッシュ・メモリ・モ
ードを制御する信号は、異なる能力及び特性を有する前
記ディジタル・システムのアドレス空間に存在するデバ
イスに供給されるディジタル・システム。
(1) In a digital system having a microprocessor, the microprocessor includes:
Central processing unit (CP) connected to the address generation unit
U), a cache connected to said address generation unit via a first address bus, and a memory circuit connected to said cache via a data bus, said memory circuit being connected via a second address bus. The memory circuit connected to receive an address from the address generation unit, and at least a first memory mapped device connected to the second address bus.
Said first memory mapped at a first address;
A mapped device and a physical address attribute map (PAAM) connected to the second address bus, the PAAM being connected to the cache via at least a first attribute control signal; The PA
An AM is operable to assert the first attribute control signal in response to the first address present on the address bus, wherein the signals controlling certain cache memory modes are different. A digital system provided to devices residing in an address space of the digital system having capabilities and characteristics.

【0082】(2)前記メモリ回路に前記PAAMを接
続する第2の属性制御信号を更に備え、前記PAAMは
第2のアドレス・バス上に存在する第2のアドレスに応
答して前記第2の属性制御信号をアサートするように動
作可能である第1項記載のディジタル・システム。
(2) The memory circuit further includes a second attribute control signal for connecting the PAAM to the memory circuit, wherein the PAAM is responsive to a second address present on a second address bus. The digital system of claim 1, operable to assert an attribute control signal.

【0083】(3)前記アドレス発生ユニットに接続さ
れたアドレス変換能力を有し、かつ前記第1のアドレス
・バスを提供するための出力を有するメモリ管理ユニッ
トを更に備えた第1項記載のディジタル・システム。
(3) The digital device according to (1), further comprising a memory management unit having an address translation capability connected to the address generation unit and having an output for providing the first address bus. ·system.

【0084】(4)前記第1のアドレス・バス及び第2
のアドレス・バスは、同一バスである第3項記載のディ
ジタル・システム。
(4) The first address bus and the second address bus
4. The digital system according to claim 3, wherein said address buses are the same bus.

【0085】(5)前記PAAMは、前記第1の属性制
御信号を供給する少なくとも第1の属性ストレージ回路
と、前記第2のアドレス・バスを受け取るようにそれぞ
れ接続された少なくとも第1対の比較器であって、前記
第2のアドレス・バスに送出されたアドレスがロー値と
ハイ値との間の値を有するときにのみ、前記第1の属性
ストレージ回路をエネーブルするように動作可能な前記
第1の比較器とを備えた第1項記載のディジタル・シス
テム。
(5) The PAAM includes at least a first attribute storage circuit for supplying the first attribute control signal and at least a first pair of comparison circuits respectively connected to receive the second address bus. Operable to enable the first attribute storage circuit only when an address delivered to the second address bus has a value between a low value and a high value. The digital system according to claim 1, further comprising a first comparator.

【0086】(6)前記PAAMは、複数の属性ストレ
ージ回路及び複数対の比較器とを更に備え、前記複数の
属性ストレージ回路のそれぞれは、エネーブルするため
に前記対の比較器のうちのただ1つに接続されている第
5項記載のディジタル・システム。
(6) The PAAM further comprises a plurality of attribute storage circuits and a plurality of pairs of comparators, wherein each of the plurality of attribute storage circuits has only one of the pair of comparators for enabling. 6. The digital system of claim 5, wherein the digital system is connected to one of:

【0087】(7)前記PAAMは、直接マップド・マ
ルチワード・ストレージ回路を備え、前記ストローブ回
路は、前記PAAMが前記組の最上位アドレス・ビット
に応答して前記第1の属性制御信号を供給して動作可能
となるように、前記第2のアドレス・バスの一組の最上
位ビットを受け取るように接続されている第1項記載の
ディジタル・システム。
(7) The PAAM comprises a direct mapped multiword storage circuit, wherein the strobe circuit supplies the first attribute control signal in response to the PAAM responding to the most significant address bits of the set. 2. The digital system of claim 1, wherein said digital system is connected to receive a set of most significant bits of said second address bus so as to be operable.

【0088】(8)前記属性制御信号は、共有メモリを
表し、かつ前記キャッシュは、データのコヒーレンスを
保持するように動作可能であり、前記第2のアドレス・
バス上のデータ項目のアドレスに応答して、前記データ
項目が共有されていないことを前記第1の属性制御信号
が表示しているときに、前記キャッシュは、アクセスさ
れた前記データ項目に対してコヒーレンスを保持しない
ように前記第1の属性信号に応答する第1項記載のディ
ジタル・システム。
(8) The attribute control signal represents a shared memory, and the cache is operable to maintain data coherence, and the second address
When the first attribute control signal indicates that the data item is not shared in response to the address of the data item on the bus, the cache may The digital system of claim 1 responsive to said first attribute signal so as to preserve coherence.

【0089】(9)キーボード・アダプタを介して前記
プロセッサに接続された集積キーボードと、ディスプレ
イ・アダプタを介して前記プロセッサに接続されたディ
スプレイと、前記プロセッサに接続された無線周波数
(RF)回路と、前記RF回路に接続されたアンテナと
を更に備えたセルラ電話である第5項記載のディジタル
・システム。
(9) An integrated keyboard connected to the processor via a keyboard adapter, a display connected to the processor via a display adapter, and a radio frequency (RF) circuit connected to the processor. The digital system of claim 5, further comprising a cellular telephone further comprising an antenna connected to said RF circuit.

【0090】(10)キャッシュ・メモリ及びメモリ・
サブシステムを有するマイクロプロセッサを備えたディ
ジタル・システムを動作させる方法において、前記メモ
リ・サブシステムに関連されたアドレス空間内の複数の
領域を識別するステップと、前記メモリ・サブシステム
に対する各メモリ要求のアドレスを監視することによ
り、前記複数の領域のいずれがアクセスされているのか
を検出するステップと、第1のメモリ領域におけるアク
セスを検出することに応答して第1のモードにより前記
キャッシュを動作させ、かつ第2のメモリ領域における
アクセスを検出することに応答して第2のモードにより
前記キャッシュを動作させるステップとを備えている方
法。
(10) Cache memory and memory
A method of operating a digital system comprising a microprocessor having a subsystem, the method comprising: identifying a plurality of regions in an address space associated with the memory subsystem; Detecting which of the plurality of areas is being accessed by monitoring addresses; and operating the cache in a first mode in response to detecting an access in a first memory area. Operating the cache in a second mode in response to detecting an access in a second memory area.

【0091】(11)前記識別するステップは、他の領
域より小さいサイズを有する1以上の領域を識別するこ
とを含む第10項記載の方法。
11. The method of claim 10, wherein said step of identifying includes identifying one or more regions having a smaller size than other regions.

【0092】(12)前記マイクロプロセッサは、検出
することに応答して、第3のメモリ領域におけるアクセ
スを検出する応答が通知される第10項記載の方法。
(12) The method according to the above (10), wherein the microprocessor is notified of a response for detecting an access in the third memory area in response to the detection.

【0093】(13)第3のメモリ領域におけるアクセ
スを検出することに応答して第1のモードにより前記メ
モリ・サブシステムを動作させ、かつ第4のメモリ領域
におけるアクセスを検出することに応答して第2のモー
ドにより前記メモリ・サブシステムを動作させるステッ
プを更に備えている第10項記載の方法。
(13) In response to detecting an access in the third memory area, operating the memory subsystem in the first mode, and in response to detecting an access in the fourth memory area. 11. The method of claim 10, further comprising operating the memory subsystem in a second mode.

【0094】(14)マイクロプロセッサ(100)
と、キャッシュ(120)と、種々のメモリ及びデバイ
ス(140a〜140n)とを有するディジタル・シス
テムを提供する。物理アドレス属性メモリ(PAAM)
(130)によりマップ一定のキャッシュ・メモリ・モ
ードを制御する信号を発生する。デバイスが異なる能力
及び特性を有するディジタル・システムのアドレス空間
に存在するときは、前記デバイスのメモリ・マップド・
アドレスに関連した前記PAAMにおける属性ビットに
応答して、エラー通知するか、又は各デバイスの使用を
制限することにより、誤使用を防止する。更に、前記P
AAMの動作を必要とすることなく、アドレス変換能力
及び/又はメモリ保護機能を有するメモリ管理ユニット
(110)を備えてもよい。
(14) Microprocessor (100)
, A cache (120), and various memories and devices (140a-140n). Physical address attribute memory (PAAM)
(130) generates a signal for controlling the map-constant cache memory mode. When a device resides in the address space of a digital system with different capabilities and characteristics, the memory mapped
In response to an attribute bit in the PAAM related to an address, an error is notified or use of each device is restricted, thereby preventing misuse. Further, the P
A memory management unit (110) having an address translation capability and / or a memory protection function may be provided without requiring the operation of the AAM.

【0095】この出願は、2000年2月18日に出願
された予備出願第60/183,527号(TI−30
302PS)、及び予備出願第60/183,418号
(TI−29846PS)の35USC§119e
(1)に基づく優先権を主張する。
This application is based on the provisional application No. 60 / 183,527 filed on Feb. 18, 2000 (TI-30).
302PS), and 35 USC §119e of Preliminary Application No. 60 / 183,418 (TI-29846PS).
Claim priority based on (1).

【図面の簡単な説明】[Brief description of the drawings]

【図1】単一のキャッシュを有し、かつ、本発明の実施
例を含むディジタル・システムのブロック図である。
FIG. 1 is a block diagram of a digital system having a single cache and including an embodiment of the present invention.

【図2】Aは、図1システムの物理アドレス属性マップ
を直接マッピングにより実施したブロック図である。B
は、図1システムの物理アドレス属性マップを直接マッ
ピングにより実施された他の実施例のブロック図であ
る。
FIG. 2A is a block diagram in which a physical address attribute map of the system in FIG. 1 is implemented by direct mapping; B
FIG. 4 is a block diagram of another embodiment in which the physical address attribute map of the system in FIG. 1 is implemented by direct mapping.

【図3】図2A及び図2Bの物理アドレス属マップ用の
物理アドレス属性セットを示す図である。
FIG. 3 is a diagram showing a physical address attribute set for a physical address belonging map of FIGS. 2A and 2B.

【図4】二重第1レベル・キャッシュ及び単一第2レベ
ル・キャッシュを有し、かつ本発明の一実施例を含むデ
ィジタル・システムのブロック図である。
FIG. 4 is a block diagram of a digital system having a dual first level cache and a single second level cache and including one embodiment of the present invention.

【図5】種々のキャッシュ、メモリ及びデバイス間のデ
ータ転送を示す図4のディジタル・システムのブロック
図である。
FIG. 5 is a block diagram of the digital system of FIG. 4 illustrating data transfer between various caches, memories and devices.

【図6】図4のDSPを含む無線電話ディジタル・シス
テムを示す図である。
FIG. 6 illustrates a radiotelephone digital system including the DSP of FIG.

【符号の説明】[Explanation of symbols]

100 マイクロプロセッサ(DSP) 110 メモリ管理ユニット(MMU) 112 物理アドレス・バス 120 キャッシュ・メモリ 122 バス 130、480、551、556 物理アドレス属性マ
ップ(PAAM) 140a〜140n メモリ及びデバイス回路 410 レベル1命令キャッシュ 420 レベル1データ・キャッシュ 430 レベル2統合メモリ 440 直接メモリ・アクセス
Reference Signs List 100 Microprocessor (DSP) 110 Memory management unit (MMU) 112 Physical address bus 120 Cache memory 122 Bus 130, 480, 551, 556 Physical address attribute map (PAAM) 140a-140n Memory and device circuit 410 Level 1 instruction cache 420 Level 1 data cache 430 Level 2 unified memory 440 Direct memory access

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 マイクロプロセッサを有するディジタル
・システムにおいて、前記マイクロプロセッサは、 アドレス発生ユニットに接続された中央処理装置(CP
U)と、 第1のアドレス・バスを介して前記アドレス発生ユニッ
トに接続されたキャッシュと、 データ・バスを介して前記キャッシュに接続されたメモ
リ回路であって、第2のアドレス・バスを介して前記ア
ドレス発生ユニットからアドレスを受け取るように接続
された前記メモリ回路と、 前記第2のアドレス・バスに接続された少なくとも第1
のメモリ・マップド・デバイスであって、第1のアドレ
スでマッピングされた前記第1のメモリ・マップド・デ
バイスと、 前記第2のアドレス・バスに接続された物理アドレス属
性マップ(PAAM)であって、少なくとも第1の属性
制御信号を介して前記キャッシュに接続されている前記
PAAMとを備え、前記PAAMは前記アドレス・バス
上に存在する前記第1のアドレスに応答して前記第1の
属性制御信号をアサートするように動作可能であり、一
定のキャッシュ・メモリ・モードを制御する信号は、異
なる能力及び特性を有する前記ディジタル・システムの
アドレス空間に存在するデバイスに供給されるディジタ
ル・システム。
1. In a digital system having a microprocessor, the microprocessor includes a central processing unit (CP) connected to an address generation unit.
U), a cache connected to the address generation unit via a first address bus, and a memory circuit connected to the cache via a data bus, the memory circuit being connected via a second address bus. The memory circuit connected to receive an address from the address generating unit, and at least a first circuit connected to the second address bus.
The first memory-mapped device mapped by a first address, and a physical address attribute map (PAAM) connected to the second address bus. The PAAM connected to the cache via at least a first attribute control signal, the PAAM being responsive to the first address present on the address bus. A digital system operable to assert a signal, the signal controlling a certain cache memory mode being provided to devices residing in an address space of the digital system having different capabilities and characteristics.
【請求項2】 キャッシュ・メモリ及びメモリ・サブシ
ステムを有するマイクロプロセッサを備えたディジタル
・システムを動作させる方法において、 前記メモリ・サブシステムに関連されたアドレス空間内
の複数の領域を識別するステップと、 前記メモリ・サブシステムに対する各メモリ要求のアド
レスを監視することにより、前記複数の領域のいずれが
アクセスされているのかを検出するステップと、 第1のメモリ領域におけるアクセスを検出することに応
答して第1のモードにより前記キャッシュを動作させ、
かつ第2のメモリ領域におけるアクセスを検出すること
に応答して第2のモードにより前記キャッシュを動作さ
せるステップとを備えている方法。
2. A method of operating a digital system with a microprocessor having a cache memory and a memory subsystem, comprising: identifying a plurality of regions in an address space associated with the memory subsystem. Detecting which of the plurality of areas is being accessed by monitoring the address of each memory request to the memory subsystem; and responding to detecting an access in the first memory area. Operating the cache in a first mode
Operating the cache in a second mode in response to detecting an access in a second memory area.
JP2001039895A 2000-02-18 2001-02-16 Digital system having microprocessor and method for operating the same Abandoned JP2001273192A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US18341800P 2000-02-18 2000-02-18
US702477 2000-10-31
US09/702,477 US6629187B1 (en) 2000-02-18 2000-10-31 Cache memory controlled by system address properties
US183418 2002-06-28

Publications (2)

Publication Number Publication Date
JP2001273192A true JP2001273192A (en) 2001-10-05
JP2001273192A5 JP2001273192A5 (en) 2008-04-03

Family

ID=26879107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001039895A Abandoned JP2001273192A (en) 2000-02-18 2001-02-16 Digital system having microprocessor and method for operating the same

Country Status (1)

Country Link
JP (1) JP2001273192A (en)

Similar Documents

Publication Publication Date Title
US6775750B2 (en) System protection map
US6769052B2 (en) Cache with selective write allocation
EP1182559B1 (en) Improved microprocessor
US6760829B2 (en) MMU descriptor having big/little endian bit to control the transfer data between devices
US5809524A (en) Method and apparatus for cache memory replacement line identification
US6754781B2 (en) Cache with DMA and dirty bits
US8037281B2 (en) Miss-under-miss processing and cache flushing
US6968400B2 (en) Local memory with indicator bits to support concurrent DMA and CPU access
US11853225B2 (en) Software-hardware memory management modes
US11474951B2 (en) Memory management unit, address translation method, and processor
US20010001868A1 (en) Computer system including core logic unit with internal register for peripheral status
US7712098B2 (en) Data transfer controlled by task attributes
US20140189192A1 (en) Apparatus and method for a multiple page size translation lookaside buffer (tlb)
US6629187B1 (en) Cache memory controlled by system address properties
US9183161B2 (en) Apparatus and method for page walk extension for enhanced security checks
CN111164581A (en) System, method and apparatus for patching pages
US6772326B2 (en) Interruptible and re-entrant cache clean range instruction
US8108621B2 (en) Data cache with modified bit array
US6766421B2 (en) Fast hardware looping mechanism for cache cleaning and flushing of cache entries corresponding to a qualifier field
JP2000339221A (en) System and method for invalidating entry of conversion device
JP4490585B2 (en) Processor or core logic unit with internal registers for peripheral status
US20020029310A1 (en) Method for operating core logic unit with internal register for peripheral status
JP2002116954A (en) Cache system
KR20220058542A (en) Facilitates page table entry (PTE) maintenance on processor-based devices
CN113849262A (en) Techniques for moving data between virtual machines without replication

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080218

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20090911