Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Operationsgeschwindigkeit Kategorie: CC-Pro Unit & Appl.Board (von PeterS - 27.11.2005 0:20)
Als Antwort auf Re: Operationsgeschwindigkeit von Dietmar - 26.11.2005 22:29

> Hallo Peter
>
> > Ah, stimmt das kannst Du ja nicht wissen. Wenn man nur 8bit hat, ist die Welt etwas einfacher.
> Du bist ganz schön arrogant. Ich habe in meinem Leben mehr gemacht als mich "nur" mit 8 Bit CPUs zu
Ich wollte Dich eigentlich nur aufziehen. :-) Wenn Du mir Ineffizienz vorwirfst, und mir dann einen Lösungs-
ansatz nennst, der für die CC-Pro ungeeignet ist, dann kommt das auch bei mir ziemlich arrogant an.

> Für die Entwicklung der Open-M-Unit habe ich bereits über einen Rechenstack im 32-Bit-Format
> nachgedacht. Beim Longinteger-Format und bei Fest- oder Flie�kommazahlen hätte das Vorteile. Die
> Nachteile des langsameren Stackhandlings bei 8 und 16 Bit sind gegenüber dem durch die Interpretation
> erzeugten Overhead minimal. Und da aus Kompatiblitätsgründen für Berechnungen und �bergaben je
> Thread ohnehin nur 7 Stackeinträge zur Verfügung gestellt werden müssen und die Kontroller bis zu 2 KB
> RAM haben, ist auch der Speicherplatz kein Hinderungsgrund. Lokale Variablen auf dem Stack und
> Rekursion sind bei diesem Stackmodell zwar nicht direkt vorgesehen, können aber durch Pointer realisiert
> werden.
Nur zur Information: Aufgrund der verschiedenen Prioritäten der Sprachoperatoren benötige ich bei C und
BASIC im "worst case" minimal 14 Stackeinträge auf dem Arithmetikstack pro Thread und Funktion. Wegen
der Rekursion gibt es auf dem Arithmetikstack keine Begrenzung auÃ?er dem Speicherplatz.

> > Wenn man den Stack auch zur �bergabe verwendet, würde man bei 8Bit Parametern immer 24 Bit verschwenden
> Bei einer Parameterübergabe "by value" wird z.B. auf dem PC normalerweise nur soviel Stackspeicher
> benutzt, wie unbedingt notwendig ist. Bei "by reference" wird dagegen unabhängig vom Format die Adresse
> (ein Pointer) übergeben, die eine Grö�e von 32 Bit besitzt.
Eben, wenn ich den Arithmetik Stack zur �bergabe nutzen würde, bräuchte ich pro Parameter 32bit, das
wären dann 24bit "slack" bei jedem �bergabeparameter. Deshalb gibt es einen getrennten �bergabestack
für Aufraufe der nicht 32bit aligned ist, und nur soviel Platz braucht wie tatsächlich benötigt werden.

Gruss Peter


    Antwort schreiben


Antworten:

Re: Operationsgeschwindigkeit (von Dietmar - 27.11.2005 8:16)