DE10122309A1 - Adressgeneriereinheit - Google Patents

Adressgeneriereinheit

Info

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
Application number
DE10122309A
Other languages
English (en)
Inventor
Uwe Porst
Wolfram Drescher
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.)
NXP BV
Original Assignee
Systemonic AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Systemonic AG filed Critical Systemonic AG
Priority to DE10122309A priority Critical patent/DE10122309A1/de
Priority to JP2002101427A priority patent/JP3668464B2/ja
Priority to US10/139,733 priority patent/US7577818B2/en
Publication of DE10122309A1 publication Critical patent/DE10122309A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension 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.
Bezugszeichenliste
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

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.
DE10122309A 2001-05-08 2001-05-08 Adressgeneriereinheit Ceased DE10122309A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 어드레스 확장이 가능한 데이터 처리 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
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