Re: bytegroesse, was endianess/Re: audio-cd

From: Oliver Fromme <olli(at)secnetix.de>
Date: Fri, 22 Mar 2002 10:37:47 +0100 (CET)

clemensF <ino-waiting(at)gmx.net> wrote:
>> Oliver Fromme:
>> Stimmt. Da sieht man mal wieder, wie unsinnig die i386-
>> Architektur von intel ist ...
>
> bursts und buszyklen, in denen der rapiditaet halber eher mal ein wort
> statt eines bytes verabfolgt wird, gibts beim i386 auch, das macht fast
> jeder moderne prozessor.

Ja, auf Bus-Ebene schon, das ist klar. Du kannst aus einem
DIMM ja gar kein einzelnes Byte herausholen, und auch beim
Cache wird immer eine ganze Cache-Line auf einmal angespro-
chen. Ich sprach jetzt von der Ebene das Maschinencodes
des Prozessors.

Das Problem bei i386 ist aber, daß das Design von einem
8-Bit-Prozessor abstammt und (nach Meinung von intel) auch
heute noch damit kompatibel sein muß. Daher gibt es bei
i386 Maschinencode-Befehle, um auf einzelne Bytes im RAM
zuzugreifen, und -- was eigentlich noch schlimmer ist --
man kann das Alignment völlig ignorieren, auf Kosten der
Performance. Schlimmstenfalls muß er zwei Cache-Lines
füllen, um _ein_ Wort aus dem Speicher zu laden, das sich
an einer ungerade Adresse befindet. Der Programmierer
merkt nichts davon, außer daß der Code langsamer wird (was
er typischerweise auch nicht merkt, oder es ist ihm egal,
aber dem Anwender nicht). Auf Alphas kann Dir das nicht
so leicht passieren.

i386 ist halt RISC übelster Sorte. Daß man RISC auch
besser designen kann, hat Motorola vorgemacht (68k).

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 22 Mar 2002 - 10:37:50 CET

search this site