Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.sci.electronics > #263384 > unrolled thread

DSP Architektur

Started byHans-Peter Diettrich <DrDiettrich1@aol.com>
First post2019-09-10 10:48 +0200
Last post2019-09-13 02:27 +0200
Articles 7 — 4 participants

Back to article view | Back to de.sci.electronics


Contents

  DSP Architektur Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2019-09-10 10:48 +0200
    Re: DSP Architektur wernertrp <vintage1918@yahoo.de> - 2019-09-10 02:28 -0700
      Re: DSP Architektur wernertrp <vintage1918@yahoo.de> - 2019-09-10 02:28 -0700
    Re: DSP Architektur Stefan Engler <stefan@epiket.de> - 2019-09-12 11:14 +0200
      Re: DSP Architektur Andreas Fecht <forum@aftec.de> - 2019-09-12 13:39 +0200
        Re: DSP Architektur Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2019-09-13 02:28 +0200
      Re: DSP Architektur Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2019-09-13 02:27 +0200

#263384 — DSP Architektur

FromHans-Peter Diettrich <DrDiettrich1@aol.com>
Date2019-09-10 10:48 +0200
SubjectDSP Architektur
Message-ID<gtp6arF6lfeU1@mid.individual.net>
Kann mir jemand zeigen, wie die Rechenwerke eines DSP aufgebaut sind, 
die z.B. in einem Takt zwei 64 Bit Zahlen multiplizieren können?

DoDi

[toc] | [next] | [standalone]


#263389

Fromwernertrp <vintage1918@yahoo.de>
Date2019-09-10 02:28 -0700
Message-ID<63bdd3c1-9542-4cab-a4bc-34b0fa144a6f@googlegroups.com>
In reply to#263384
Am Dienstag, 10. September 2019 10:48:28 UTC+2 schrieb Hans-Peter Diettrich:
> Kann mir jemand zeigen, wie die Rechenwerke eines DSP aufgebaut sind, 
> die z.B. in einem Takt zwei 64 Bit Zahlen multiplizieren können?
> 
> DoDi

Der 64 Bit Multiplizierer ist 2 hoch 32 mal so groß wie ein 2 Bit Multiplizierer.

Das stimmt nicht.


[toc] | [prev] | [next] | [standalone]


#263390

Fromwernertrp <vintage1918@yahoo.de>
Date2019-09-10 02:28 -0700
Message-ID<80afea22-6110-414c-b7c2-4cfbc54f7eec@googlegroups.com>
In reply to#263389
Am Dienstag, 10. September 2019 11:28:23 UTC+2 schrieb wernertrp:
> Am Dienstag, 10. September 2019 10:48:28 UTC+2 schrieb Hans-Peter Diettrich:
> > Kann mir jemand zeigen, wie die Rechenwerke eines DSP aufgebaut sind, 
> > die z.B. in einem Takt zwei 64 Bit Zahlen multiplizieren können?
> > 
> > DoDi
> 
> Der 64 Bit Multiplizierer ist 2 hoch 32 mal so groß wie ein 2 Bit Multiplizierer.
> 
> Das stimmt nicht.

... aber wie viel mal stimmt nun ?

[toc] | [prev] | [next] | [standalone]


#263547

FromStefan Engler <stefan@epiket.de>
Date2019-09-12 11:14 +0200
Message-ID<qld294$hnq$1@dont-email.me>
In reply to#263384
Am 10.09.2019 um 10:48 schrieb Hans-Peter Diettrich:
> Kann mir jemand zeigen, wie die Rechenwerke eines DSP aufgebaut sind, 
> die z.B. in einem Takt zwei 64 Bit Zahlen multiplizieren können?

mal im Internet gesucht: https://github.com/openrisc/mor1kx
https://upcommons.upc.edu/bitstream/handle/2099.1/22632/Degree_thesis_Sergi_Caelles.pdf

Ich vermute, dass der Takt, wie bei RISC üblich in 4 oder
mehr "Untertakte" aufbereitet wird (clock generation) und
daher tatsächlich mehr Syncronisations-Signale als der
eine Takt zu Verfügung stehen und genutzt werden.

Ich glaube nicht, dass sich Multiplikationen von 64Bit-Zahlen mit einer
LUT abbilden lassen. Ansonsten wird häufig so gerechnet, wie in der
Grundschule (Aufspalten in kleinere Multiplikationen und dann addieren,
es muss auch nicht alles Taktsyncron laufen).

[toc] | [prev] | [next] | [standalone]


#263568

FromAndreas Fecht <forum@aftec.de>
Date2019-09-12 13:39 +0200
Message-ID<qldapq$1uo$1@solani.org>
In reply to#263547
Am 12.09.2019 um 11:14 schrieb Stefan Engler:

> Ich glaube nicht, dass sich Multiplikationen von 64Bit-Zahlen mit einer
> LUT abbilden lassen. Ansonsten wird häufig so gerechnet, wie in der
> Grundschule (Aufspalten in kleinere Multiplikationen und dann addieren,
> es muss auch nicht alles Taktsyncron laufen).

Hier ist eine sehr gute Erklärung, wie das prinzipiell funktioniert:

https://userpages.uni-koblenz.de/~unikorn/lehre/gdra/ss16/02%20Bin%84re%20Arithmetik%20(VL08).pdf

Besonders auf Seite 86 sieht man, was das für ein Aufwand ist.
Hier am Beispiel eines 32Bit-Multiplizierers.

Bei 64-Bit wird's nochmal heftiger. Mit dieser Methode packt man die 
64Bit Multiplikation dann in log2(64)=6 Takten. Wenn man das dann in 
einem Takt schaffen will, muss man das Ganze dann noch 6x bauen und in 
einer Pipeline organisieren.
Eventuell geht's etwas einfacher, wenn man das Design teilweise 
zusätzlich noch mit kleinen LUTs mischt.

Gruß Andreas

[toc] | [prev] | [next] | [standalone]


#263614

FromHans-Peter Diettrich <DrDiettrich1@aol.com>
Date2019-09-13 02:28 +0200
Message-ID<gu0730Fl7hkU4@mid.individual.net>
In reply to#263568
Am 12.09.2019 um 13:39 schrieb Andreas Fecht:
> Am 12.09.2019 um 11:14 schrieb Stefan Engler:
>
>> Ich glaube nicht, dass sich Multiplikationen von 64Bit-Zahlen mit einer
>> LUT abbilden lassen. Ansonsten wird häufig so gerechnet, wie in der
>> Grundschule (Aufspalten in kleinere Multiplikationen und dann addieren,
>> es muss auch nicht alles Taktsyncron laufen).
>
> Hier ist eine sehr gute Erklärung, wie das prinzipiell funktioniert:
>
> https://userpages.uni-koblenz.de/~unikorn/lehre/gdra/ss16/02%20Bin%84re%20Arithmetik%20(VL08).pdf
>
>
> Besonders auf Seite 86 sieht man, was das für ein Aufwand ist.
> Hier am Beispiel eines 32Bit-Multiplizierers.

Das ist aber noch nicht alles. Meine Erfahrung mit 74181 Rechenwerken 
war, daß die ohne Carry Lookahead (74182) elend langsam waren.

Beim parallelen Multiplizieren ist das Hauptproblem nicht die 
Multiplikation selbst, da reicht ein UND Gatter für 1x1 Bit, aber dann 
kommen bei 64x64 Bit bis zu 64 Additionen mit bis zu 64 Carry Ripples 
dazu, und die kosten alle Zeit.

> Bei 64-Bit wird's nochmal heftiger. Mit dieser Methode packt man die
> 64Bit Multiplikation dann in log2(64)=6 Takten. Wenn man das dann in
> einem Takt schaffen will, muss man das Ganze dann noch 6x bauen und in
> einer Pipeline organisieren.

Ich sehe nicht, wie das mit nur 6x Hardware schneller werden soll? Wenn 
Die Verweildauer in der Pipeline egal ist, könnte man das ja auch in 64 
einfachen Stufen erledigen, mit vielfach höherer Pipeline-Taktfrequenz.

> Eventuell geht's etwas einfacher, wenn man das Design teilweise
> zusätzlich noch mit kleinen LUTs mischt.

Das könnte durchaus was bringen.

DoDi

[toc] | [prev] | [next] | [standalone]


#263612

FromHans-Peter Diettrich <DrDiettrich1@aol.com>
Date2019-09-13 02:27 +0200
Message-ID<gu0730Fl7hkU3@mid.individual.net>
In reply to#263547
Am 12.09.2019 um 11:14 schrieb Stefan Engler:
> Am 10.09.2019 um 10:48 schrieb Hans-Peter Diettrich:
>> Kann mir jemand zeigen, wie die Rechenwerke eines DSP aufgebaut sind,
>> die z.B. in einem Takt zwei 64 Bit Zahlen multiplizieren können?
>
> mal im Internet gesucht: https://github.com/openrisc/mor1kx
> https://upcommons.upc.edu/bitstream/handle/2099.1/22632/Degree_thesis_Sergi_Caelles.pdf

Darin kann ich nichts über die digitale Architektur finden?

> Ich vermute, dass der Takt, wie bei RISC üblich in 4 oder
> mehr "Untertakte" aufbereitet wird (clock generation) und
> daher tatsächlich mehr Syncronisations-Signale als der
> eine Takt zu Verfügung stehen und genutzt werden.

Das ist durchaus denkbar, aber bei 64 Bit sehe ich da schon erhebliche 
Grenzen in der Taktvervielfachung. Es wäre ja auch gemogelt, wenn man 
die (externe) Taktfrequenz so weit reduziert, bis alle aufwendigen 
Operationen (Division!) in 1 Takt ablaufen können, und der DSP dann eben 
nur noch mit 32kHz Uhrenquarz läuft.

> Ich glaube nicht, dass sich Multiplikationen von 64Bit-Zahlen mit einer
> LUT abbilden lassen. Ansonsten wird häufig so gerechnet, wie in der
> Grundschule (Aufspalten in kleinere Multiplikationen und dann addieren,
> es muss auch nicht alles Taktsyncron laufen).

Asynchron würde das doch ein Alptraum, wenn man nicht vorhersehen oder 
feststellen kann, wann eine Operation abgeschlossen ist?

DoDi

[toc] | [prev] | [standalone]


Back to top | Article view | de.sci.electronics


csiph-web