Tiny 4/5/9/10 und ICALL

Gast #4469646
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 ?
#4469674
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?
Gast #4469753
-> 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 !
Gast #4469884
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.