Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.sci.electronics > #263384 > unrolled thread
| Started by | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| First post | 2019-09-10 10:48 +0200 |
| Last post | 2019-09-13 02:27 +0200 |
| Articles | 7 — 4 participants |
Back to article view | Back to de.sci.electronics
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
| From | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| Date | 2019-09-10 10:48 +0200 |
| Subject | DSP 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]
| From | wernertrp <vintage1918@yahoo.de> |
|---|---|
| Date | 2019-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]
| From | wernertrp <vintage1918@yahoo.de> |
|---|---|
| Date | 2019-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]
| From | Stefan Engler <stefan@epiket.de> |
|---|---|
| Date | 2019-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]
| From | Andreas Fecht <forum@aftec.de> |
|---|---|
| Date | 2019-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]
| From | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| Date | 2019-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]
| From | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| Date | 2019-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