Re: Endianness

From: Bernd Walter <ticso(at)cicely8.cicely.de>
Date: Fri, 22 Mar 2002 23:18:33 +0100

On Fri, Mar 22, 2002 at 09:21:27PM +0100, Oliver Fromme wrote:
> Bernd Walter <ticso(at)cicely8.cicely.de> wrote:
> > On Fri, Mar 22, 2002 at 12:59:30AM +0000, Christian Weisgerber wrote:
> > > VAX war little-endian, da überrascht es nicht, dass DEC das bei den
> > > Nachfolgern beibehalten hat.
> >
> > Eine real existierende Alternative gibt es auch nicht.
> > Und selbst wenn würde der benötigte PALcode nicht mitspielen.
>
> Meines Wissens kann ein Prozeß für sich von little-endian
> auf big-endian umschalten, wenn er auf seine Daten so zu-
> greifen will. An den Interfaces zu »fremden« Librabries
> und zum Kernel ändert sich dadurch natürlich nichts, so
> daß er da entsprechend aufpassen und nötigenfalls zurück-
> schalten muß. Aber es betrifft ja ohnehin nur Zugriffe
> auf Daten im RAM.

Es gibt zwar eine Big-Endian Betriebsart bei allen verfügbaren
Alpha CPUs, aber nutzbar ist die praktisch nicht.

- die Implementation ist optional - jedoch bislang in allen
  existierenden CPUs vorhanden.
- Eine dynamische Umschaltung ist selbst wenn Big-Endian
  implementiert ist optional.
  Dürfte aber auch aktuell noch in jeder CPU verfügbar sein.
- gesetzt wird das global für den Addressraum im Virtual Address
  Control Register.
  FreeBSDs Kernel Code nutzt aber den Addressraum der Anwendungen,
  was deshalb jedesmal enorme Performaceeinbussen für Syscalls
  bedeuten würde wenn mans pro Anwendung macht.
- Der PALcode muss mit der jeweiligen Betriebsart zurecht kommen.
  Es gibt für die Boards aber in der Regel nur Little-Endian
  PALcode und Selbstschreiben bedarf Detailkenntnisse vom Board.
  Genaugenommen kenne ich überhaupt kein Big-Endian PALcode
  für irgendein Board.
- Instruktionszugriffe sind immer noch Little-Endian.
- Big-Endian Betrieb ist langsammer.
- gcc kann damit nicht umgehen - keine Ahnung welcher Compiler das
  überhaupt kann.

Kurz: Big-Endian auf real existierenden Alphas ist Theorie.

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso(at)cicely.de         Usergroup           info(at)cosmo-project.de
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 - 23:20:25 CET

search this site