|
| Assembler-Prograaaaaamierung |
 |
22 Mar 2008 21:04:30 GMT |
http://de.wikipedia.org/wiki/MP3-Encoder#GoGo-No-Coda
Ich stieß mal die diskussion an warum man nun in C oder Assembler coden
sollte.
Zwar leuchtete mir die Argumentation ein, dass moderne C-Compiler
mindestens gleichwertigen Code wie "direkte Assembler" Programmierung
liefern kann, weil die Compiler auf die CPU-Architekturen kalibrierbar
sind.
Geglaubt habe ich das aber eigentlich nie so richtig wirklich und nur aus
mangel an Argumenten den Rückzug angetreten.
Nun die Frage.
Warum sollte ein Assembler-Mp3-encoder 3x schneller sein, wenn der Code
gleichwertig ist?
Ich bleibe vorerst bei meiner Meinung.
Assembler liefert (Maschinensprache) meiner Meinung nach die schnellsten
Computerprogramme.
Schon zu Zeiten des Amiga-Computer-Systems konnte damit ein Mailbox-System
32 Serielle Ports bedienen, bei 25 Mhz Taktfrequenz.
Aber der Weg zum Assembler-Code sieht ziemlich steinig aus.
|
| Post Reply
|
| Re: Assembler-Prograaaaaamierung |
 |
Sat, 22 Mar 2008 22:32:29 +010 |
Francis Debord wrote:
> http://de.wikipedia.org/wiki/MP3-Encoder#GoGo-No-Coda
>
> Ich stieß mal die diskussion an warum man nun in C oder Assembler coden
> sollte.
>
> Zwar leuchtete mir die Argumentation ein, dass moderne C-Compiler
> mindestens gleichwertigen Code wie "direkte Assembler"
Programmierung
> liefern kann, weil die Compiler auf die CPU-Architekturen kalibrierbar
> sind.
Schnipp----Schnapp
>
> Aber der Weg zum Assembler-Code sieht ziemlich steinig aus.
Hallo Francis
1. Ja, sehr steinig. Man muss die Hardware genau kennen ( CPU-Struktur,
RAM-Adressierung ,usw)
2. Das Prog in eine grafische Oberfäche einzubetten ist damit schon fast
eine Lebensaufgabe.
Ich habe lange Jahre mit Assembler auf dem Z80 gearbeitet. Das war/ist
übersichtlich, vor allem wenn man die Hardware dazu selber strickt. Einen
Wandler von RS232 nach DMX512 (Ausgabe der DMX-Werte aus einem Programm)
ist dann in ca. 2k zu realisieren. Wobei der Eingang mit 56k und er Ausgang
mit 250k liefen.
Aber bei einer 80x86 Architektur möchte ich das nicht mehr machen.
Gruß
Manfred
|
| Post Reply
|
| Re: Assembler-Prograaaaaamierung |
 |
23 Mar 2008 00:37:17 GMT |
Am Sat, 22 Mar 2008 22:32:29 +0100 schrieb Manfred Kuhn:
> Aber bei einer 80x86 Architektur möchte ich das nicht mehr machen.
Tja, ich halte auch den Windows-Krempel für überzogen Innovativ.
Was Microsoft ständig den Leuten als "Neu" verkauft basiert im Grunde
auch
alles auf DOS/NTV3.1
dos kernel
nt kernel
wenn man überlegt wie lange schon an dem gleichen "konzept"
rumgefrickelt
wird, kann man sagen das Microsoft in den letzten 32 jahren nicht viel
geschafft hat.
32 Jahre Microsft und man hat mit WinXP grade mal was, dass "einigermaßen
funktioniert"
Insgesamt eine Schwache Leistung, weniger Pompös waren andere schon
genauso weit.
Wenn wie bei Win-Vista 1 Gigabyte Arbeitsspeicher braucht nur um
Geräte-Treiber, Kernel und Betriebsystemumgebung zu erzeugen muss man doch
davon ausgehen, dass der CODE grottenschlecht ist.
Je mehr Programmierer sich den Luxus einer Hochsprache leisten um so
schneller müssen die CPU´s werden um die gleiche Arbeit zu verrichten wie
eine direkt programmierte CPU.
wenn man für Hello World nur 4 Taktzyklen braucht, für einen
Hochsprachencompiler 8 oder vielleicht 12 zyklen, weil der CODE
generalisiert geschrieben werden muss, dann ist ein assemblerprogramm auf
einer 200 Mhz maschine genauso schnell wie ein Hochsprachenprogramm auf
400 Mhz CPU´s.
Intel Itanium Optimiert ... lass ich nicht gelten.
MMX
SSE
3DNow!
Das sind doch mehr oder minder Features und schwache Verkaufs-Argumente.
Ein richtig gutes Verkaufsargument wäre ein x86 Prozessor mit 128 MEGABYTE
2nd Level-Cache, oder mehr.
Wenn man 128 MB Cache synchron zur CPU laufen hat, kann man alle Features
in die Tonne treten. An der Gigahertzschraube drehen doch die CPU
hersteller nur, weil sich damit am einfachsten Geld verdienen lässt.
Geld Verdienen ---------- nein abschöpfen.
Es ist schön leicht die CPU hochzutakten und der Kundschaft
aufzuschwatzen, dass es was ganz tolles wäre, wenn man auch gleich noch
eine große Kühlanlage dazu kaufen muss. Dann ist das ein gutes Geschäft
(für den Verkäufer).
Intel Pentium 9 - Codename: Arctic-Beer
So heiss, dass er ins Tiefkühlfach muss.
MfG Francis
Je mehr in Hochsprache gehackt wird umso mehr muss die CPU ackern um sich
durch den ganzen Code durchzuschlagen.
4x VIA Esther 1500 Mhz @ 7 Watt parallel dürfte jeden Intel in die Knie
zwingen.
|
| Post Reply
|
| Assembler-Programmierung (was: Assembler-Prograaaaaamierung) |
 |
Sun, 23 Mar 2008 09:30:10 +010 |
· Manfred Kuhn <Manfred.Kuhn@kuhn-m.de> schrieb:
> Ich habe lange Jahre mit Assembler auf dem Z80 gearbeitet. Das war/ist
> übersichtlich, vor allem wenn man die Hardware dazu selber strickt. Einen
> Wandler von RS232 nach DMX512 (Ausgabe der DMX-Werte aus einem Programm)
> ist dann in ca. 2k zu realisieren. Wobei der Eingang mit 56k und er
> Ausgang mit 250k liefen.
Hochinteressant. Nur was hat das alles mit SuSE-Linux zu tun?
Martin.
|
| Post Reply
|
| Re: Assembler-Prograaaaaamierung |
 |
Sun, 23 Mar 2008 09:40:52 +010 |
|
| Post Reply
|
|
|
|
|
|
|
|
|
|