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) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum