mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Warum "Interrupt-Vektoren" und nicht "Interrupt-Adressen" ?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Pan Peter (Gast)
Datum:

Bewertung
-4 lesenswert
nicht lesenswert
Hallo

ich beschäftige mich derzeit mit den µC der AVR Serie.
Diese bieten natürlich auch Interrupts an, welche wenn sie auftreten und 
alle Verbreitungen getroffen wurden zur entsprechenden Interuptroutine 
Springen und diese dann ausgeführt wird.
Die erste Adresse der Interruptroutine muss sich an eine feste, durch 
die Hardware des AVR bzw. wohl generell bei jeden µC, vorgegebene 
Adresse befinden.
Soweit wohl jeden bekannt der sich schon mal mit den Thema auseinander 
gesetzt hat.

Aber warum in aller Welt wird diese jeweilige vom Typ des Interrupt 
abhängige Adresse  Interrupt -> Vektor <- genannt und nicht Interrupt 
Adresse oder von mir aus auch Interrupteinsprungadresse genannt?
Das Wort Vektor verwirrt doch nur, vor allem weil es noch etliche andere 
Bedeutungen in ganz anderen Gebieten hat (Die auch nicht unbedingt 
sofort verständlich sind - Vektor gehört nun mal nicht unbedingt zum 
Alltagswortschatz).

Auch wenn nicht Weltbewegend oder Entscheidend wenn man es mal 
verstanden hat wie es Funktioniert so ist es doch gerade für den 
Anfänger unnötig verwirrend und abschreckend.
Nach außen sieht es natürlich sehr hochtrabend aus mit solchen Begriffen 
um sich zu werfen, aber das wird ja wohl nicht der Sinn gewesen sein das 
diese Bezeichnung gewählt wurde (Obwohl einige "Spezialisten" das 
sicherlich gut so finden unverständlich zu sein - aber diese 
"Spezialisten" gibt es überall und sind zum Glück immer nur eine 
komische Minderheit).

Pan Peter

Autor: foobar (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Warum Peter und nicht Hans?

Autor: Dirk B. (dirkb2)
Datum:

Bewertung
4 lesenswert
nicht lesenswert
Ein Vektor zeigt von einem Punkt auf einen anderen Punkt.

Das dies nicht Allgemeinsprache ist, spielt keine Rolle, da es ein 
Spezialgebiet ist.

Autor: A. S. (achs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist wohl die eindeutschung von Vector, was ja auch Sinn macht.

Autor: Pan Peter (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Hallo

Danke an Dirk B.

Wobei das Konzept aber auch nicht konsequent durchgezogen wird (wohl 
nicht nur von Microchip bzw. Atmel sondern generell)- es gibt ja noch 
weitere Dinge beim µC wo von einen "Punkt" (Adresse) zu einen anderen 
Punkt (Adresse) gezeigt wird, dort aber der Begriff Vektor nicht mehr 
auftaucht

Hat wohl auch was mit der Historie zu tun und das "ganz früher" µC 
Technik und Computer wirklich ein Gebiet von sehr wenigen ausgesuchten 
Spezialisten, teilweise sogar Erfindern und auch "Urentwicklern" war - 
Mathematiker waren dabei sicher überrepräsentiert und die sprechen ja 
ihre ganz spezielle Sprache.

An den Witzbold:

Gegenfrage: Warum foobar und nicht Fußbad ?
Wow wa der "Scherz" jetzt witzig und so gut passend...fast so gut wie 
deine Ausführung...

Pan Peter

Autor: Larry (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
> Interrupteinsprungadresse

So haette es wohl bei Siemens heissen koennen.
Gluecklicherweise musste ich nie Siemensdatenblaetter
funktionsverstehend lesen.

> Vektor gehört nun mal nicht unbedingt zum Alltagswortschatz

Bei einem Ingenieur schon. Bei einem Bastler vielleicht nicht.
Die sind aber auch nicht die Adressaten von Datenblaettern.

Und Interruptadresse ist als Begriff viel zu allgemein um
die spezielle Funktion eines Interruptvektor zu beschreiben.

Autor: Route_66 H. (route_66)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Pan Peter schrieb:
> Hat wohl auch was mit der Historie zu tun

Richtig. Der Z80 z.B. hat ein richtiges vektorisiertes Interruptsystem.
Da wird mit der Änderung eines einzigen Registers (I) auf eine komplett 
andere Adresstabelle umgeschaltet. In dieser Tabelle wird dann mit dem 
Low-Teil, das von einem INT Auslöser (z.B. PIO) geliefert wird, die 
eigentliche Startadresse der INT-Routine ermittelt.
Die eigentliche Adresse ist also nicht fest, sondern wird als Pointer 
oder Vektor zusammengesetzt aus I-Register (H-Teil) und Vektor-L-Teil 
von der auslösenden Hardware.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pan Peter schrieb:
> Die erste Adresse der Interruptroutine muss sich an eine feste, durch
> die Hardware des AVR bzw. wohl generell bei jeden µC, vorgegebene
> Adresse befinden.

Muss sie nicht.
I.A. kann die Interruptroutine irgendwo im Speicher stehen und es kann 
eine Tabelle geben, wo zu jedem Interrupt die Startadresse der 
Interruptroutine eingetragen ist. Dann wäre das eine Tabelle mit 
Interruptvektoren.

Je nach Architektur kann diese Tabelle natürlich statt der Adressen auch 
Sprungbefehle auf die eigentliche Startadresse enthalten. Dann sind das 
keine Adressvektoren mehr, sondern wirklich die durch die Hardware 
festgelegten Startadressen (von denen es gleich mit einem Sprung 
weitergeht).

> Auch wenn nicht Weltbewegend oder Entscheidend wenn man es mal
> verstanden hat wie es Funktioniert so ist es doch gerade für den
> Anfänger unnötig verwirrend und abschreckend.

Nein, auch ein Anfänger darf lernen, was indirekte Adressierung ist.
Das sind Grundlagen.

Autor: Pan Peter (Gast)
Datum:

Bewertung
-4 lesenswert
nicht lesenswert
Wow :-0

da Lob ich mir doch da AVR Konzept - wobei das allerdings auch etwas 
"moderner" ist.

Peter Pan

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Pan Peter schrieb:
> Vektor gehört nun mal nicht unbedingt zum Alltagswortschatz

Ähm, doch?
Zumindest wer die Realschule oder ein Gymnasium besucht hat ist 
spätestens in Physikunterricht mit Vektorrechnung in Berührung gekommen.

Autor: A. S. (achs)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Pan Peter schrieb:
> An den Witzbold

Falls Du mich meinst: Vector hat im englischen eine breitere Bedeutung 
als bei uns. Manche Dinge erklären sich halt nur über die 
Originalsprache. So hätte es ein www im englischen vermutlich nicht 
gegeben.

Autor: Georg G. (df2au)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Larry schrieb:
> bei Siemens

hatten wir auch den Kellerspeicherzeiger (abgekürzt als SP) und das 
Namensfeld (mit der Abkürzung OpLab) sowie viele andere einprägsame 
Bezeichner.

Autor: foobar (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
> Gegenfrage: Warum foobar und nicht Fußbad ?
> Wow wa der "Scherz"

Ganz einfach: es war kein Scherz sondern eine ernstgemeinte Gegenfrage 
aus der du eine Antwort auf deine Ausgangsfrage ableiten kannst.

Autor: Route_66 H. (route_66)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Pan Peter schrieb:
> da Lob ich mir doch da AVR Konzept - wobei das allerdings auch etwas
> "moderner" ist.

Nein, es ist einfach primitiver und weniger leistungsfähig.
Bei der schlecht gelösten Interrupt-Konzeption der AVR aber gerade 
ausreichend.

Autor: Georg (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Pan Peter schrieb:
> da Lob ich mir doch da AVR Konzept - wobei das allerdings auch etwas
> "moderner" ist

Das ist ein Missverständnis aufgrund mangelhafter Sachkenntniss - feste 
IS-Adressen sind das unflexibleste aller möglichen Konzepte.

Es dürfte aber sinnlos sein dir alle anderen Möglichkeiten verständlich 
zu machen.

Georg

Autor: Larry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kellerspeicherzeiger

Einem deutschen Maustreiber verdanke ich die Bezeichnung:
Unterbrecherbruecke.

Die gesetzt sein musste um die Maus wandern zu lassen.

Weswegen ich eigentlich ganz gerne und grundsaetzlich bei der
Auswahl einer Systemsprache ganz auf Deutsch verzichte.
Was sicher nicht am Mangel von Ausdrucksmoeglichkeiten liegt.
Vermutlich eher umgekehrt.

Autor: Helmut L. (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Larry schrieb:
>> Interrupteinsprungadresse
>
> So haette es wohl bei Siemens heissen koennen.

Wenn dann "Unterbrechungssteuerungseinsprungadresse"....

Autor: Pan Peter (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo

an A.S. - Nein du warst nicht gemeint - denn auch dein erster Beitrag 
war sinnvoll und freundlich.

An foobar - Dann schreib bitte Klartext, wer so formuliert wie du muss 
sich über eine entsprechende Reaktion nicht wundern - für mich ist aber 
hiermit die Diskussion mit dir beendet.

An Route_66H - Ok dazu kann ich noch nichts ernsthaft sagen, eventuell 
sieht das in einigen (oder einigen mehr...) Monaten anders aus.
Es wird aber schon seinen Grund haben warum die 8Bit AVRs zumindest im 
Hobby und Amateurumfeld so beliebt sind, und auch die Profis sie 
durchaus verwenden.
Und zumindest ich bin reiner Hobbyist und Amateur und lerne die AVR (als 
für mich ersten µC) von der Hardwareseite detailliert via Assembler und 
natürlich den Datenblättern im Jahre 2019 kennen und halt nicht das was 
198x noch ohne Internet, teuren Programmern und Software (IDE war da 
schon?) und wohl mit Beruflichen und oder Universitären Hintergrund der 
typische(?) Weg der meisten war die natürlich(?) heute den absoluten 
Überblick haben.
Das soll jetzt keineswegs kritisierend oder ironisch gemeint sein - ich 
nehme doch stark an das du Route_66H vernünftig Diskutieren bzw. 
erzählen möchtest, zumindest kommt mir das so vor.

Pan Peter

Autor: Günter R. (guenter-dl7la) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kellerspeicherzeiger... den kannte ich noch nicht, das war der 
Stackpointer, nehme ich an. Ist niedlich, meist ist doch der Speicher 
eher im Dachboden...

Genauso schlimm für den, der mit den englischen Begriffen aufgewachsen 
war, 'gelang' die gut gemeinte Übersetzung von OS/2 seinerzeit, die 
durch das Weglassen von Satzelementen ('Programm System', fehlender 
Bindestrich brachte dauernde Verwechslung mit 'Programmsystem' mit sich 
und ähnlichen Diskomfort) glänzte.

: Bearbeitet durch User
Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei kleinen Mikrocontrollern hat man meist viel mehr ROM als RAM und 
eine ROM-Zelle benötigt viel weniger Platz RAM- oder Registerzellen. 
Weshalb es bei solchen Typen bei vielen Interrupt-Quellen 
nachvollziehbar ist, wenn feste ROM-Adressen verwendet werden, statt 
RAM, Register eines Interrupt-Controllers oder Register der 
Peripherieeinheiten.

Ob in diesen Stellen vom ROM nun die Adresse drinsteht, oder 
Sprungbefehle, ist ziemlich schnuppe, so lange man damit den ganzen 
relevanten Programmadressraum erreicht. Daher ist es nicht wirklich ein 
Problem, auch bei AVRs von einer Vektortabelle zu reden. Der Begriff ist 
älter als die AVRs.

Eine mögliche Priorisierung von Interrupts, die eine saubere 
Verschachtelung von Handlern ermöglicht bzw stark vereinfacht, ist davon 
unabhängig. Das ist die schwache Seite der AVRs.

: Bearbeitet durch User
Autor: John Doe (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
A. S. schrieb:
> Pan Peter schrieb:
>> An den Witzbold
>
> Falls Du mich meinst: Vector hat im englischen eine breitere Bedeutung
> als bei uns. Manche Dinge erklären sich halt nur über die
> Originalsprache. So hätte es ein www im englischen vermutlich nicht
> gegeben.


So ein Quatsch. Nur weil hier die meisten mit offensichtlich 
eingeschränkter Ingenieurssicht mathematische Begriffe uminterpretieren, 
ist das noch lange nicht auf "das Deutsche" verallgemeinerbar.

Dirk B. schrieb:
> Ein Vektor zeigt von einem Punkt auf einen anderen Punkt.


Ebenfalls nicht richtig.

Mathematisch ist die Sache eindeutig:
Ein Vektor ist ein Element eines Vektorraums. Punkt.

Die hier gemeinten Vektoren sind spezielle Vektoren über bestimmten 
Körpern (R2 oder R3).

Autor: A. S. (achs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pan Peter schrieb:
> Aber warum in aller Welt wird diese jeweilige vom Typ des Interrupt
> abhängige Adresse  Interrupt -> Vektor <- genannt und nicht Interrupt
> Adresse oder von mir aus auch Interrupteinsprungadresse genannt?

Oh, noch eins zurück. Bei so primitiven Architekturen wäre Adresse noch 
OK, weil sie ja fix ist. Der PC springt beim Interrupt an die Adresse.

Inerrupt-Vector  impliziert meist, dass zu einer veränderlichen Adresse 
gesprungen wird. Bei den primitiven Architekturen wie AVR oder kleine 
PICs ist der Vektor dann halt fest verdrahtet und konnte begrifflich 
entfallen (und tut das manchmal auch).

Autor: Route_66 H. (route_66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Eine mögliche Priorisierung von Interrupts, die eine saubere
> Verschachtelung von Handlern ermöglicht bzw stark vereinfacht, ist davon
> unabhängig. Das ist die schwache Seite der AVRs.

AVRs haben eine Priorisierung von Interrupts.
Die ist fest vorgegeben.
Das war auch bei den Motorola 68HC05 so.

Besser ist eine flexible Priorisierung mit der Möglichkeit von "nested" 
Interrupts.
Das können jedenfalls viele der uralten Mikrocontroller.
Mir fallen spontan die Z8- oder 8051er-Serien ein.

Autor: A. K. (prx)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Route_66 H. schrieb:
> AVRs haben eine Priorisierung von Interrupts.

Das haben wohl alle µCs mit mehreren Handler-Adressen für mehrere 
Interrupt-Quellen. Oder gibts einen, der das zufällig auswürfelt? Für 
"nested interrupts" bringt das exakt nichts.

> Besser ist eine flexible Priorisierung mit der Möglichkeit von "nested"
> Interrupts.

Weshalb ich ausdrücklich von Priorisierung im Zusammenhang mit "nested 
interrupts" schrieb, allerdings auf Deutsch:

> A. K. schrieb:
>> Eine mögliche Priorisierung von Interrupts, die eine saubere
>> Verschachtelung von Handlern ermöglicht bzw stark vereinfacht

: Bearbeitet durch User
Autor: Rainer V. (a_zip)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John Doe schrieb:
> Mathematisch ist die Sache eindeutig:
> Ein Vektor ist ein Element eines Vektorraums. Punkt.

...und hat eine Länge und eine Richtung (Winkel im Koordinatensystem) 
Insofern ist der Begriff Vektor für eine Sprungtabelle zumindest 
mathematisch nicht korrekt. Aber die Diskussion eines "Anfängers", der 
gerade in die Sache einsteigt, geht wohl an der Sache vorbei! Erst wenn 
man sich eine gehörige Portion Sachkenntnis angeeignet hat, macht es 
auch Sinn, über dies und das als "Verbesserungswürdig" zu sprechen. 
Zuerst mal muß ich verstanden haben, wie bei meinem Proz. Interrupts 
funzen und wenn ich dann später vielleicht gesehen habe, dass es auch 
andere Konzepte gibt, kann ich mich darüber auslassen, wie blöd und 
unverständlich ich das jetzt bei meinem ersten Proz. mittlerweile finde! 
Dazu gehört auch nicht die Mäkelei an umgangssprachlichem Gebrauch 
verschiedener Begriffe. Datenblätter mögen fehlerhaft sein, aber 
umgangssprachliche Prosa sind sie sicher nur, wenn sie per 
Übersetzungsmaschine aus dem Russischen oder Chinesischen ins Englische 
oder Deutsche übersetzt worden sind.
Will sagen: jeder kämpft jeden Tag mit Verständnisproblemen, die viele, 
viele Ursachen haben können. Da muß man durch...
Gruß Rainer

Autor: Wolfgang (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Rainer V. schrieb:
> ...und hat eine Länge und eine Richtung (Winkel im Koordinatensystem)
> Insofern ist der Begriff Vektor für eine Sprungtabelle zumindest
> mathematisch nicht korrekt.

Wer sagten denn, dass es sich hier um Vektoren in euklidischen Räumen 
handelt?

Autor: Route_66 H. (route_66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
>> A. K. schrieb:
>>> Eine mögliche Priorisierung von Interrupts, die eine saubere
>>> Verschachtelung von Handlern ermöglicht bzw stark vereinfacht

Das sind zwei Paar Schuhe. Priorisierung hat nichts mit Verschachtelung 
zu tun.
AVRs haben eine (feste) Priorisierung, kennen aber keine 
Verschachtelung.
Das ist auch z.B. beim 68HC05 so.

Eine variable Priorisierung ohne Verschachtelung hat z.B. der alte 
PIC18F84.

Die von mir bereits genannten Z8 oder die 8051er haben variable 
Prioritäten und erlauben Verschachtelungen bis zum Stackoverflow.

Autor: Rainer V. (a_zip)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> Wer sagten denn, dass es sich hier um Vektoren in euklidischen Räumen
> handelt?

Ich würde fast sagen, typischer Einwurf in einer Pflichtübung 
"Mathematik für Elektrotechniker", um den Leiter zu nerven...du hast 
hier schlicht eine Ganzzahl(Speicherstelle) die auf eine andere Ganzzahl 
"zeigt". Das ist nix mit Vektor. Das ist eine simple Abbildung im Raum 
der ganzen Zahlen, die gerade mal "injektiv" ist und sonst gar 
nichts...meist noch im Wertebereich deutlich eingeschränkt!
Gruß Rainer

Autor: boing (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pan Peter schrieb:
> Aber warum in aller Welt wird diese jeweilige vom Typ des Interrupt
> abhängige Adresse  Interrupt -> Vektor <- genannt

Das hat damit zu tun dass früher nicht jeder Plöbs studieren konnte 
sondern meist nur die 1-2% die es aufs Gymnasium geschafft hatten. Also 
konnte man damals voraussetzen dass Wissenschaftler Latein und evtl. 
sogar Altgriechisch beherrschen.

https://de.pons.com/übersetzung/latein-deutsch/vector

Autor: boing (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein weiteres Beispiel welches mir in den Sinn kommt ist das Basic Input 
Output System, zufällig gibt es nämlich das (alt-)griechische Wort βίος 
- Leben

https://de.m.wiktionary.org/wiki/βίος

Autor: GEKU (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Larry schrieb:
> Interrupteinsprungadresse

Wenn schon dann Unterbrechungseinsprungadresse.

Autor: Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Pan Peter schrieb:
> aber diese
> "Spezialisten" gibt es überall und sind zum Glück immer nur eine
> komische Minderheit

Von der du jetzt eine Antwort auf deine dämliche Frage erwartest.

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pan Peter schrieb:
> Aber warum in aller Welt wird diese jeweilige vom Typ des Interrupt
> abhängige Adresse  Interrupt -> Vektor <- genannt

Man kann natürlich endlos Zeit damit zubringen sich zu fragen, wieso der 
Prozessor Prozessor heisst und das RAM RAM, aber zum Fachmann wird man 
dadurch nicht. Wer ein Fach beherrschen will kommt nicht darum herum, 
gebräuchliche Fachausdrücke zu verstehen und zu benutzen.

Und wieso Elektronik und nicht Schaltungslehre?

Selbst in einem so unakademischen (sprich primitiven) Beruf wie Küfer 
muss man wissen, was eine Daube ist, und wenn man den Meister mit der 
Frage auf die Nerven geht, wieso die Daube ausgerechnet Daube heisst 
lernt man eine alternative Verwendung derselben kennen.

Georg

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Route_66 H. schrieb:
> Das sind zwei Paar Schuhe. Priorisierung hat nichts mit Verschachtelung
> zu tun.

Die gängigen Formen hardwaregestützter Verschachtelung setzen 
Priorisierung voraus.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rainer V. schrieb:
> Das ist nix mit Vektor.
So gesehen ist die Gesamttabelle ein Vektor und die Tabelleneinträge 
sind programmiertechnisch gesprochen Zeiger.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Günter R. schrieb:
> Kellerspeicherzeiger... den kannte ich noch nicht, das war der
> Stackpointer, nehme ich an. Ist niedlich, meist ist doch der Speicher
> eher im Dachboden...

Schaut man sich mal die IT-Bereiche verschiedenster Nicht-IT-Unternehmen 
an, liegen diese tatsächlich meist im Keller. Daher ist Kellerspeicher 
nicht weit hergeholt.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> So gesehen ist die Gesamttabelle ein Vektor und die Tabelleneinträge
> sind programmiertechnisch gesprochen Zeiger.

Dann bist du aber bei der Vektortabelle entweder beim weissen Schimmel, 
oder in der zweiten Dimension.

Das kommt vielleicht eher von der bildhaften Gestaltung von Vektoren als 
Pfeil, hier einen Verweis auf oder eine Bewegung zu einem Ziel 
symbolisierend. Vielleicht war jener, der diesen Begriff anfangs prägte, 
mehr an Symbolik als an Mathematik interessiert.

: Bearbeitet durch User
Autor: Rainer V. (a_zip)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Wolfgang schrieb:
> So gesehen ist die Gesamttabelle ein Vektor und die Tabelleneinträge
> sind programmiertechnisch gesprochen Zeiger.

Ja, nein...eben nicht! Die Gesamttabelle ist eine Auflistung von 
Ganzzahlen, die eine Speicherstelle bezeichnen, in der wiederum eine 
Ganzzahl steht (wie auch immer diese weiter interpretiert wird!!)

Und der umgangssprachliche Betriff Vektor hat lediglich verdeutlicht, 
dass es einen Beginn (Adresse in Tabelle) mit einem Ziel (Inhalt der 
Adresse in Tabelle) gibt...also what...
Gruß Rainer

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rainer V. schrieb:
>> So gesehen ist die Gesamttabelle ein Vektor und die Tabelleneinträge
>> sind programmiertechnisch gesprochen Zeiger.
>
> Ja, nein...eben nicht! Die Gesamttabelle ist eine Auflistung von
> Ganzzahlen

Eine eindimensionale Zahlenfolge wird auch als Vektor bezeichnet.
https://de.wikipedia.org/wiki/Lineare_Algebra#Vektoren_und_Matrizen

Bloss wäre dann eben die Interrupt-Tabelle der Vektor, nicht der 
einzelne Eintrag.

: Bearbeitet durch User
Autor: A. S. (achs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Vektor ist im Umfeld uC-Einsprungadressen immer nur eine einzelne 
adresse. Die Tabelle heißt immer Vector table oder zumindest plural 
(Vektoren).

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. S. schrieb:
> Die Tabelle heißt immer Vector table oder zumindest plural
> (Vektoren).

Vielleicht wäre Interrupt Pointer Table treffender gewesen, aber ich 
vermute, dass Interrupts älter sind als der Begriff "pointer".

Günter R. schrieb:
> Kellerspeicherzeiger... den kannte ich noch nicht, das war der
> Stackpointer, nehme ich an. Ist niedlich, meist ist doch der Speicher
> eher im Dachboden...

Den Begriff hat damals der Prof auch verwendet. Ob jeder seinen Keller 
wirklich so voll stellt, dass er nur noch an das eine Ding rankommt was 
er zuletzt dort abgelegt hat, ist aber eher fraglich.
Der Lehrer im Computertechnik-Unterricht hatte es noch 
Pfannkuchenspeicher genannt, weil man da auch immer den frischesten 
zuerst bekommt.

Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pan Peter schrieb:

> Die erste Adresse der Interruptroutine muss sich an eine feste, durch
> die Hardware des AVR bzw. wohl generell bei jeden µC, vorgegebene
> Adresse befinden.

Nein, Interruptvektoren sind längst nicht bei jedem µC auf einer fixen 
Adresse zu finden. Nicht mal bei jedem AVR8. Bei allen Mega und XMega 
z.B. nicht...

> Aber warum in aller Welt wird diese jeweilige vom Typ des Interrupt
> abhängige Adresse  Interrupt -> Vektor <- genannt und nicht Interrupt
> Adresse oder von mir aus auch Interrupteinsprungadresse genannt?

Weil's halt so ist. Grund? Wayne interessierts...

Autor: Egon D. (egon_d)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Günter R. schrieb:

> Kellerspeicherzeiger... den kannte ich noch nicht,
> das war der Stackpointer, nehme ich an.

Die Ironie ist, dass der Kellerspeicher von einem
Deutschen, nämlich von Friedrich Ludwig Bauer,
erfunden wurde.

"Stack" ist also die anglisierte Form von "Keller-
speicher".

Autor: Larry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> und lerne die AVR (als
> für mich ersten µC) von der Hardwareseite detailliert via Assembler und
> natürlich den Datenblättern im Jahre 2019 kennen

Sehr lobenswert.

Zur Erweiterung des Horizonts, empfehle ich noch das Studium
der Literatur eines zweiten Prozessors. Das koennte z.B.
der 6502 oder der Z80 sein. Da wirst du dann selbst die Analogien
sehen und aus den benutzten Architekturelementen deine eigenen
Schluesse ziehen koennen. Die eigenen Schluesse sind das
wichtige dabei.
Beide sind noch einigermassen einfach gestrickt und das Ziel
muss auch nicht darin bestehen reale Programme darauf laufen
zu lassen. Der Vergleich wie was jeweils geloest ist, reicht da
schon.

Autor: Rainer V. (a_zip)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Bloss wäre dann eben die Interrupt-Tabelle der Vektor, nicht der
> einzelne Eintrag.

...man kann fühlen, wie blöd die Diskussion noch werden kann...
Gruß Rainer

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Larry schrieb:
> Zur Erweiterung des Horizonts, empfehle ich noch das Studium
> der Literatur eines zweiten Prozessors. Das koennte z.B.
> der 6502 oder der Z80 sein.

Ich würde dafür einen mit im Vergleich zu AVRs besser entwickeltem 
Interrupt-System nehmen. Z80 im IM2 wäre möglich, aber zu vorgestrig und 
zu weit weg von heutigen Systemen. Bei 6502 müsste man den NMI mit 
reinnehmen, als einfachste Form verschachtelter Interrupts. Diverse 
8-Bit PICs haben 2 Levels, ebenso 8051, und die AVRs XMEGAs 3.

: Bearbeitet durch User
Autor: Larry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> aber zu vorgestrig

Es muss ja ausser dem Vergleich keinen weiteren Seinszweck haben.
Zumindest ist es umfassend und durch viele Autoren auch aus
vielen Sichtwinkeln beschrieben.

Das gilt ebenso fuer den 6502. Ein C64 o.ae. wird sich sicher
im Verwandten-/Bekanntenkreis als Testsystem auftreiben lassen.

Wenn es denn auch noch aktuell und umfassend nuetzlich sein soll,
wuerde sich fast eher ein aktueller M0 empfehlen.
Wenn man die detaillerte Betrachtung der Peripherie ausblendet,
auch noch einigermassen uebersichtlich.

Und es sind mit den kostenfreien kommerziellen Compilern auch
Simulatoren verfuegbar. War die Keilversion fuer die M0 von ST
nicht auch kostenfrei?

Aber das mag der TO sicher selber entscheiden.

Autor: Stefan H. (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich ging immer davon aus, der Name kommt daher, weil der Programmzähler 
automatisch inkrementiert. Der Interrupt-Vektor meint daher den 
Programmabschnitt, welches bei der Interruptadresse beginnt.

Autor: NichtWichtig (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Manche Leute machen sich Probleme wo keine sind.

Autor: Egon D. (egon_d)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Stefan H. schrieb:

> Ich ging immer davon aus, der Name kommt daher, weil
> der Programmzähler automatisch inkrementiert. Der
> Interrupt-Vektor meint daher den Programmabschnitt,
> welches bei der Interruptadresse beginnt.

Daher auch der Witz mit dem Briefträger, der übrigens
ohnehin verrückt geworden wäre -- zumal die Grube eine
Tiefe von nicht einmal zwei Metern aufwies.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.