Hallo, weiß jemand von euch, welchen Sinn es macht, bei den "ganz kleinen Tiny´s" (4-5-9-10) ICALL zu haben? Der Tiny 13A hat auf jeden Fall KEIN ICALL ! Wozu sollte das bei den ganz kleinen gut sein?
Hallo, was hat die Frage mit einem attiny13 zu tun? ICALLer schrieb: > weiß jemand von euch, welchen Sinn es macht, bei den "ganz kleinen > Tiny´s" (4-5-9-10) ICALL zu haben? > Der Tiny 13A hat auf jeden Fall KEIN ICALL ! Wozu sollte das bei den > ganz kleinen gut sein? Ein attiny10 hat die Befehle man im Datenblatt findet und mit denen kann ich dann arbeiten, resp. sie benutzen. Geht es Dir um die Funktion von ICALL, die Beschreibung findet man u.a. im Datenblatt des attiny10 ab S198f. ICALL Indirect Call to (Z) PC(15:0) ← Z, PC(21:16) ← 0 None 3/4 Es ist eine indirekter Funktionsaufruf über das Register Z. Mit einer Hochsprache programmiert würde man Call - Backfunktion dazu sagen. Einem 16 Bit Pointer wird eine Funktionsadresse zu gewiesen. Alles klar ?
Karl M. schrieb: > Mit einer Hochsprache programmiert würde man Call - Backfunktion dazu > sagen. Es hieße eher Callback-Funktion. Aber das hat mit einem indirekten Funktionsaufruf auf Maschinenebene bestenfalls tertiär etwas zu tun... https://de.wikipedia.org/wiki/Rückruffunktion
ICALLer schrieb: > weiß jemand von euch, welchen Sinn es macht, bei den "ganz kleinen > Tiny´s" (4-5-9-10) ICALL zu haben? Ich verstehe den Sinn der Frage nicht. Die Funktion des ICALL Opcodes scheint dir ja klar zu sein. Ansonsten hat ein Maschinenbefehl natürlich keinen "Sinn" (und machen tut er erst recht keinen) sondern er hat einen mehr oder weniger großen Nutzen. > Der Tiny 13A hat auf jeden Fall KEIN ICALL ! Wozu sollte das bei den > ganz kleinen gut sein? Was hat der Nutzen eines bestimmten Maschinenbefehls mit der "Größe" (woran auch immer du die festmachst) eines µC zu tun?
-> Die Frage bezog sich auf die Sinnhaftigkeit dieses Opcodes beim kleinsten Tiny, obwohl der 2.-Kleinste Tiny (13A) diesen eben NICHT hat. Die Frage war, ob jemand versteht, wieso ICALL beim Tiny10 vorhanden, jedoch beim 13A eben NICHT vorhanden ist !
ICALLer schrieb: > Die Frage war, ob jemand versteht, wieso ICALL beim Tiny10 vorhanden, > jedoch beim 13A eben NICHT vorhanden ist ! Woher nimmst du die Aussage, dass der ATtiny13 kein ICALL hätte?
Da hab ich zuviel auf den Kollegen gehört und nicht im Datenblatt geschmökert ! Sorry & Korrektur: Atmel Tiny 13A HAT ICALL.
ICALLer schrieb: > weiß jemand von euch, welchen Sinn es macht, bei den "ganz kleinen > Tiny´s" (4-5-9-10) ICALL zu haben? Zumindest IJMP ist Verschwendung von Silizium. Als IJMP-Ersatz ginge nämlich PUSH+PUSH+RET. So hätten bestimmt noch ein man µm² gesparen werden können...
Johann L. schrieb: > Zumindest IJMP ist Verschwendung von Silizium. Als IJMP-Ersatz ginge > nämlich PUSH+PUSH+RET. So hätten bestimmt noch ein man µm² gesparen > werden können... Hast du chon mal überlegt, wie die Schaltung im uC aussieht, also der Befehlsdekodierer und das zugehörige Steuerwerk? Wenn es icall, push, ret usw. gibt, ist der zusätzliche Aufwand für ijmp nur noch sehr gering, also ist auch die Ersparnis sehr gering, wenn man es weglassen würde. Möglicherweise gibt es nicht mal eine Ersparnis. Bevor du hier meckerst, solltest du einfach mal selber einen Prozessor entwerfen. Da wird dir auffallen, dass sich viele Teile der Strukturen für mehr als einen speziellen Fall nutzen lassen, weil sie sehr ähnlich sind. Das ist eine Frage der Optimierung.
Johann L. schrieb: > Zumindest IJMP ist Verschwendung von Silizium. Als IJMP-Ersatz ginge > nämlich PUSH+PUSH+RET. außer wenn man schon bei 100% Stack Nutzung ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
