DE10122309A1 - Adressgeneriereinheit - Google Patents
AdressgeneriereinheitInfo
- Publication number
- DE10122309A1 DE10122309A1 DE10122309A DE10122309A DE10122309A1 DE 10122309 A1 DE10122309 A1 DE 10122309A1 DE 10122309 A DE10122309 A DE 10122309A DE 10122309 A DE10122309 A DE 10122309A DE 10122309 A1 DE10122309 A1 DE 10122309A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- generation unit
- address generation
- extension
- unit according
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Abstract
Um flexibel auf die jeweiligen Bedürfnisse bei Adressberechnungen in einem Mikroprozessor eingehen zu können, wird eine Adressgeneriereinheit mit einer Schnittstelle vorgeschlagen, die einen oder mehrere Eingangsdatenpfade (ED0, ED1) und einen Ausgangsdatenpfad (AD0) bereitstellt, über welche für die Erzeugung benötigte Informationen geführt werden können. Insbesondere kann über die Schnittstelle eine auf den spezifischen Bedarf ausgerichtete Adressgeneriererweiterungseinheit (AGEE) angeschlossen werden, womit die Funktionalität der Adressgeneriereinheit durch das Bereitstellen von weiteren Registern (ER0...2) und eines zusätzlichen Rechenwerks (ERW) erhöht werden kann.
Description
Die Erfindung betrifft eine Adressgeneriereinheit nach dem
Oberbegriff des Anspruchs 1.
Als wesentliche Bestandteile eines Digitalsignalprozessors
(DSP) sind das Steuerwerk, das Rechenwerk, der Registersatz,
die Adressgeneriereinheit sowie die Busschnittstelle zu nen
nen. Die Steuereinheit legt die Reihenfolge, in der die Befeh
le aus dem Programmspeicher ausgelesen werden, fest und über
wacht die Verbindungen zu den Peripheriegeräten und steuert
den Registersatz, das Rechenwerk sowie die Adressgenerier
einheit. In der Adressgeneriereinheit werden die benötigten
Adressen, mit deren Hilfe der Datenspeicher gelesen oder be
schrieben wird, in einem speziellen Adressrechenwerk berech
net. Hierbei werden aus dem Inhalt von Registern mittels
arithmetischen und logischen Verknüpfungen gültige Adressen
ermittelt. Je nach spezifischem Aufbau des Prozessors bzw. des
von diesem angesprochenen Speicher sind sehr variable Berech
nungsmethoden im Adressrechenwerk notwendig. Bei Multitasking
prozessoren verwaltet die Adressgeneriereinheit auch geschütz
te Datenbereiche und prüft die Zugriffsberechtigung.
Um eine hohe Flexibilität im Hinblick auf den Speicherzugriff
bereitstellen zu können, ist häufig eine Vielzahl von Adres
sierungsarten implementiert, die zur Erzielung einer Zeit
optimierung durch das Vorsehen von mehreren Adressrechenwerken
realisiert sein kann. Damit verbunden ist ein hoher Schaltungsaufwand,
welcher ferner Laufzeiten nach sich zieht, die
unter Umständen dem Ziel eines schnellen Programmablaufs ent
gegenstehen.
Demgegenüber ist eine Vielzahl von Adressierungsarten mit nur
einem Adressrechenwerk in der Adressgeneriereinheit häufig nur
durch umständliche und damit zeitaufwändige Berechnungen, die
unter Umständen außerhalb der Adressgeneriereinheit durch
geführt werden müssen, zu realisieren.
Somit besteht die Aufgabe der Erfindung darin, eine Adress
generiereinheit bereitzustellen, mit welcher bei Bedarf belie
bige Adressberechnungen durchführbar sind, die jedoch im Hin
blick auf die Laufzeiten optimiert ist.
Diese Aufgabe löst die Erfindung auf überraschend einfache
Weise schon mit einer Adressgeneriereinheit mit den Merkmalen
des Anspruchs 1. Um flexibel auf die jeweiligen Bedürfnisse
bei den Adressberechnungen eingehen zu können, weist die er
findungsgemäß Adressgeneriereinheit eine Schnittstelle auf,
die einen Ausgangsdatenpfad und einen Eingangsdatenpfad be
reitstellt, über welche zur Erhöhung der Funktionalität der
Adressgeneriereinheit Daten führbar sind, welche zur Erzeugung
der jeweiligen Adresse verwendet werden können.
Der Erfindung liegt die Idee zugrunde, dass bei spezifischen
Anwendungen häufig nur ein geringer Teil der üblicherweise in
einem Prozessor implementierten Adressierungsmöglichkeiten
ausgenutzt wird. Demgemäß kann eine Optimierung dadurch er
reicht werden, dass eine Basisfunktionalität der Adressgene
riereinheit durch ein entsprechend ausgebildetes Basisrechen
werk bereitgestellt wird und die für eine spezifische Anwen
dung benötigte zusätzliche Funktionalität durch das Anschlie
ßen einer weiteren Schaltungsanordnung über eine Schnittstelle
der Adressgeneriereinheit. Diese Schnittstelle kann zumindest
einen Ausgangsdatenpfad und zumindest einen Eingangsdatenpfad
umfassen, über welche für die Erzeugung benötigte Informatio
nen geführt werden können.
Weitere vorteilhafte Ausführungsformen der Erfindung sind in
den Unteransprüchen angegeben.
Um die für die spezifische Aufgabenstellung notwendige er
weiterte Funktionalität bei der Adressberechnung bereitstellen
zu können, kann vorgesehen sein, dass über die Schnittstelle
eine Adressgeneriererweiterungseinheit an die Basisregister
und/oder das Basisrechenwerk der Adressgeneriereinheit an
schließbar ist. Dabei kann die Adressgeneriererweiterungsein
heit zumindest ein weiteres Register und ein zusätzliches
Rechenwerk aufweisen, die für eine erweiterte Adressberech
nungn zur Verfügung stehen. Sowohl Daten aus den Basisregi
stern als auch Ausgangsdaten des Basisrechenwerks können zur
Adressgeneriererweiterungseinheit geführt werden. Es ist fer
ner auch möglich, dass dem Basisrechenwerk über die Schnitt
stelle Ausgangsdaten des Erweiterungsrechenwerks zugeführt
werden.
Ferner können Ausgangs- und Eingangsdatenpfad durch das Vorse
hen eines internen Buses in der Adressgeneriereinheit zusam
mengefasst werden, was den Anschluss von mehreren Adressgene
riererweiterungseinheiten vereinfacht, die je nach Bedarf
zugeschaltet werden können. Hierzu kann vorgesehen sein, dass
die Schnittstelle beispielsweise durch das Steuerwerk des
Prozessors steuerbar ist. Damit ist es möglich, die Adress
generierung im Hinblick auf den Ablauf eines bestimmten Pro
gramms zu optimieren, da eine für den Bedarf angepasste
Adressgeneriererweiterungseinheit anschaltbar ist.
Um innerhalb der Adressgeneriererweiterungseinheit Zugriff auf
Daten in den Basisregistern bereitzustellen, kann zusätzlich
vorgesehen sein, dass die Basisregister mit dem zumindest
einen Erweiterungsregister verbunden sind.
Die Erfindung wird im Folgenden durch das Beschreiben zweier
Ausführungsformen unter Bezugnahme auf die beiliegenden Zeich
nungen erläutert, wobei
Fig. 1 eine erste Ausführungsform der Erfindung und
Fig. 2 eine zweite Ausführungsform der Erfindung zeigt.
Die in Fig. 1 dargestellte Adressgeneriereinheit (AGE) weist
für die Bereitstellung der Grundfunktionalität sechs Basis
register (BR0 bis BR5) und ein zugeordnetes Basisrechenwerk
(BRW) auf. Dabei kann jedes Basisregister für die Berechnung
ausgewählt werden, wobei das Ergebnis in eines der sechs Regi
ster zurückgeschrieben wird. Das Basisrechenwerk ist zum Bil
den der Summe der Registerinhalte BR2 und BR5 ausgebildet,
wobei das Ergebnis in das Register BR0 geschrieben wird.
Über zwei Eingangsdatenpfade (ED0, ED1) und einen Ausgangs
datenpfad (AD0) ist eine Adressgeneriererweiterungseinheit
(AGEE) an die beschriebene Schaltung angeschlossen. Die
Adressgeneriererweiterungseinheit umfasst weitere drei Regi
ster ER0, ER1 und ER2 sowie ein zusätzliches Erweiterungs
rechenwerk ERW. Dabei verbinden die beiden Eingangsdatenpfade
ED0 bzw. ED1 die Basisregister BR2 bzw. BR5 mit zwei Eingängen
des Erweiterungsrechenwerks ERW, in welchem eine Bitreverse-
Funktion ausgeführt wird. Der dritte Eingang des Erweiterungs
rechenwerks ist mit dem Register ER2 verbunden, in welchem
eine als Displacement bezeichnete Konstante angegeben ist, die
auf das Ergebnis der Bitreverse-Funktion angewendet wird. Die
Adressgeneriererweiterungseinheit AGEE wird durch ein Steuer
signal ST1 aufgeschaltet. Das Ergebnis des Erweiterungsrechen
werks wird gemeinsam mit dem Ergebnis des Basisrechenwerks auf
einen Multiplexer M0 gegeben, an dem über das Steuersignal ST0
ausgewählt werden kann, welche der berechneten Adressen in das
Register BR0 eingeschrieben wird.
Eine andere interne Verschaltung der Komponenten der Adress
generiereinheit ist in Fig. 2 dargestellt. Wiederum werden
durch das Steuersignal ST1 zwei Eingangsdatenpfade ED0, ED1
und ein Ausgangsdatenpfad AD0 geschaltet, mit welchen Basis
komponenten mit vorgegebenen Erweiterungskomponenten der
Adressgeneriereinheit verbunden werden. Vorliegend wird das
Basisregister BR2 über den Eingangsdatenpfad ED0 mit einem
Eingang des Erweiterungsrechenwerks ERW und der Ausgang des
Basisrechenwerks BRW über den Eingangsdatenpfad ED1 mit einem
zweiten Eingang des Erweiterungsrechenwerks ERW verbunden.
Am dritten Eingang des Erweiterungsrechenwerks liegt das Er
weiterungsregister ER2 an. Im Erweiterungsrechenwerk wird eine
Addition der Registerwerte BR2 und ER2 durchgeführt und das
Ergebnis des Basisrechenwerks BRW um die ermittelte Anzahl von
Stellen nach links verschoben.
Am Multiplexer M0 kann wiederum mittels des Steuersignals ST0
entschieden werden, ob das Ergebnis des Basisrechenwerks oder
des Erweiterungsrechenwerks in das Basisregister BR0 einge
schrieben wird.
AD0 Ausgangsdatenpfad
AGE Adressgeneriereinheit
AGEE Adressgeneriererweiterungseinheit
BR0. . .5 Basisregister
BRW Basisrechenwerk
ED0, ED1 Eingangsdatenpfad
ER0. . .2 Erweiterungsregister
ERW Erweiterungsrechenwerk
M0 Multiplexer
M1, M2 Schalter
ST0 Steuersignal für den Multiplexer M0
ST1 Steuersignal für die Schalter M1, M2
AGE Adressgeneriereinheit
AGEE Adressgeneriererweiterungseinheit
BR0. . .5 Basisregister
BRW Basisrechenwerk
ED0, ED1 Eingangsdatenpfad
ER0. . .2 Erweiterungsregister
ERW Erweiterungsrechenwerk
M0 Multiplexer
M1, M2 Schalter
ST0 Steuersignal für den Multiplexer M0
ST1 Steuersignal für die Schalter M1, M2
Claims (10)
1. Adressgeneriereinheit, insbesondere für einen Mikroprozes
sor, umfassend mehrere Basisregister und zumindest ein
Basisrechenwerk, mit welchem registerbezogene Operationen
zur Erzeugung einer Adresse durchführbar sind, ge
kennzeichnet durch eine Schnittstelle,
die einen oder mehrere Eingangsdatenpfade (ED0, ED1) und
einen Ausgangsdatenpfad (AD0) bereitstellt, über welche
zur Erhöhung der Funktionalität der Adressgeneriereinheit
(AGE) die Erzeugung der Adresse beeinflussende Daten führ
bar sind.
2. Adressgeneriereinheit nach Anspruch 1, gekenn
zeichnet durch eine Adressgeneriererweite
rungseinheit (AGEE), die über die Schnittstelle an die
Basisregister (BR0. . .5) und/oder an das Basisrechenwerk
(BRW) anschließbar ist.
3. Adressgeneriereinheit nach einem der Ansprüche 1 oder 2,
dadurch gekennzeichnet, dass die
Schnittstelle steuerbar ist.
4. Adressgeneriereinheit nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, dass mehrere
Adressgeneriererweiterungseinheiten an die Adressgenerier
einheit (AGE) angeschlossen sind, wobei eine von den mehreren
Adressgeneriererweiterungseinheiten zur Adressbe
rechnung auswählbar ist.
5. Adressgeneriereinheit nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, dass eine
Adressgenerierweiterungseinheit (AGEE) zumindest ein Er
weiterungsregister (ER0. . .2) und ein Erweiterungsrechen
werk (ERW) aufweist.
6. Adressgeneriereinheit nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, dass über den
Eingangsdatenpfad (ED0, ED1) Daten aus den Basisregistern
(BR0. . .5) und/oder Ausgangsdaten des Basisrechenwerks
(BRW) zur Adressgeneriererweiterungseinheit (AGEE) führbar
sind.
7. Adressgeneriereinheit nach einem der Ansprüche 1 bis 6,
dadurch gekennzeichnet, dass dem Ba
sisrechenwerk (BRW) über den Ausgangsdatenpfad (AD0) Daten
aus dem Erweiterungsrechenwerk (ERW) zuführbar sind.
8. Adressgeneriereinheit nach einem der Ansprüche 1 bis 7,
dadurch gekennzeichnet, dass Ausgangs
daten des Basisrechenwerks (BRW) und/oder des Erweite
rungsrechenwerks (ERW) in ein Basisregister (BR0. . .5)
einschreibbar sind.
9. Adressgeneriereinheit nach einem der Ansprüche 1 bis 8,
dadurch gekennzeichnet, dass Eingangs
datenpfad (ED1, ED2) und Ausgangsdatenpfad (AD0) durch
einen internen Bus der Adressgeneriereinheit gebildet
sind.
10. Adressgeneriereinheit nach einem der Ansprüche 1 bis 9,
dadurch gekennzeichnet, dass die
Schnittstelle ein Mittel zum Verbinden der Basisregister
(BR0. . .5) und des zumindest einen Erweiterungsregisters
(ER0. . .2) bereitstellt.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10122309A DE10122309A1 (de) | 2001-05-08 | 2001-05-08 | Adressgeneriereinheit |
JP2002101427A JP3668464B2 (ja) | 2001-05-08 | 2002-04-03 | アドレス生成ユニット |
US10/139,733 US7577818B2 (en) | 2001-05-08 | 2002-05-06 | Microprocessor program addressing arrangement having multiple independent complete address generators |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10122309A DE10122309A1 (de) | 2001-05-08 | 2001-05-08 | Adressgeneriereinheit |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10122309A1 true DE10122309A1 (de) | 2002-11-21 |
Family
ID=7684016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10122309A Ceased DE10122309A1 (de) | 2001-05-08 | 2001-05-08 | Adressgeneriereinheit |
Country Status (3)
Country | Link |
---|---|
US (1) | US7577818B2 (de) |
JP (1) | JP3668464B2 (de) |
DE (1) | DE10122309A1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050169376A1 (en) * | 2004-01-30 | 2005-08-04 | Pai Ramadas L. | Motion vector address computer error detection |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4009382A1 (de) * | 1990-03-23 | 1991-09-26 | Licentia Gmbh | Anordnung zur beeinflussung der von mindestens einem prozessor mit einer vorgegebenen stellenzahl ausgegebenen adressen |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4306287A (en) * | 1979-08-31 | 1981-12-15 | Bell Telephone Laboratories, Incorporated | Special address generation arrangement |
US4349888A (en) * | 1980-09-08 | 1982-09-14 | Motorola, Inc. | CMOS Static ALU |
US4926317A (en) * | 1987-07-24 | 1990-05-15 | Convex Computer Corporation | Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses |
JPH01271838A (ja) * | 1988-04-22 | 1989-10-30 | Fujitsu Ltd | マイクロプログラム分岐方法 |
KR930007185B1 (ko) * | 1989-01-13 | 1993-07-31 | 가부시키가이샤 도시바 | 레지스터뱅크회로 |
JP2741014B2 (ja) * | 1995-03-07 | 1998-04-15 | 株式会社メルコ | コンピュータ用電子装置 |
US5983338A (en) * | 1997-09-05 | 1999-11-09 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor for communicating register write information |
US6079002A (en) * | 1997-09-23 | 2000-06-20 | International Business Machines Corporation | Dynamic expansion of execution pipeline stages |
US6029241A (en) * | 1997-10-28 | 2000-02-22 | Microchip Technology Incorporated | Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor |
JP3983394B2 (ja) * | 1998-11-09 | 2007-09-26 | 株式会社ルネサステクノロジ | 幾何学処理プロセッサ |
KR100496856B1 (ko) * | 1999-05-20 | 2005-06-22 | 삼성전자주식회사 | 어드레스 확장이 가능한 데이터 처리 시스템 |
-
2001
- 2001-05-08 DE DE10122309A patent/DE10122309A1/de not_active Ceased
-
2002
- 2002-04-03 JP JP2002101427A patent/JP3668464B2/ja not_active Expired - Fee Related
- 2002-05-06 US US10/139,733 patent/US7577818B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4009382A1 (de) * | 1990-03-23 | 1991-09-26 | Licentia Gmbh | Anordnung zur beeinflussung der von mindestens einem prozessor mit einer vorgegebenen stellenzahl ausgegebenen adressen |
Also Published As
Publication number | Publication date |
---|---|
JP2002358197A (ja) | 2002-12-13 |
JP3668464B2 (ja) | 2005-07-06 |
US20020169939A1 (en) | 2002-11-14 |
US7577818B2 (en) | 2009-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2755273C2 (de) | ||
DE69632655T2 (de) | Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen | |
DE2758829A1 (de) | Multiprozessor-datenverarbeitungssystem | |
DE3507584C2 (de) | ||
DE2625113C2 (de) | Speicherschutzeinrichtung | |
DE4430195B4 (de) | Verfahren zur Auswertung von Booleschen Ausdrücken | |
DE1271433B (de) | Adressiereinrichtung fuer einen Tabellenwertspeicher | |
DE69516888T2 (de) | Speicheranordnung nach erweiterter harvard-architektur | |
DE3486073T2 (de) | Vektorverarbeitungsgeraet. | |
DE10122309A1 (de) | Adressgeneriereinheit | |
DE102006061050A1 (de) | Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung | |
DE3640670C2 (de) | ||
DE2846537C2 (de) | Mikroprogrammierte Datenverarbeitungseinrichtung | |
DE69331294T2 (de) | Mikroprozessorgesteuertes Gerät | |
DE4001232C2 (de) | Gleitkommaeinheit | |
DE1499284B2 (de) | Datenverarbeitungsanlage | |
DE10206830B4 (de) | Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden | |
DE1524211A1 (de) | Datenverarbeitungsanlage | |
DE3216905C2 (de) | Modular erweiterbare Datenverarbeitungsanlage mit assoziativen Subprozessoren | |
DE4017132A1 (de) | Datenverarbeitungsanlage | |
DE3726659C2 (de) | Schaltungsanordnung zur Erweiterung der Anschlußmöglichkeiten für mit einer zentralen Steuereinrichtung zusammenarbeitende periphere Einheiten | |
DE10101949C1 (de) | Datenverarbeitungsverfahren | |
DE10308295B4 (de) | Verfahren und System zur Anbindung von Baugruppen an ein Bussystem | |
DE19717970B4 (de) | Schaltungsanordnung einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen | |
DE10121745A1 (de) | Verfahren und Anordnung zu einem Stack mit einem, in Datengruppen mit mehreren Elementen aufgeteilten Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: NXP SEMICONDUCTORS GERMANY GMBH, 22529 HAMBURG, DE |
|
8127 | New person/name/address of the applicant |
Owner name: NXP B.V., EINDHOVEN, NL |
|
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |
Effective date: 20120314 |