Diskussion:Befehlssatz

Letzter Kommentar: vor 11 Jahren von VÖRBY in Abschnitt Mnemonics im Maschinencode?
Diese Diskussionsseite dient dazu, Verbesserungen am Artikel „Befehlssatz“ zu besprechen. Persönliche Betrachtungen zum Thema gehören nicht hierher. Für allgemeine Wissensfragen gibt es die Auskunft.

Füge neue Diskussionsthemen unten an:

Klicke auf Abschnitt hinzufügen, um ein neues Diskussionsthema zu beginnen.
Bearbeiten

Zitat Artikel:

Die Datentypen eines Prozessors umfassen dabei alle Typen, die unmittelbar mittels Maschinenbefehlen (d.h. ohne eine softwaremäßige Emulation) bearbeitet werden können.

Datentyp wie in Integer, real, bool etc.? Habe schonmal einen Link zum Artikel Datentyp gesetzt. Danke, --Abdull 13:32, 16. Mär 2005 (CET)

Bearbeiten
zZ funktioniert er mal wieder --SonniWP2 21:17, 31. Aug. 2007 (CEST)Beantworten

Nicht nur Mikroprozessoren

Bearbeiten

sondern fast alle frühen Rechnerarchitekturen enthalten in ihrer Beschreibung einen solchen Begriff oder eine Übersetzung davon. Bei alten Zuserechnern gab es noch Begriffe wie Torschaltungen, mit denen verschiedene Teile der Rechenwerke verbunden werden konnten. --SonniWP2 21:20, 31. Aug. 2007 (CEST)Beantworten

Überarbeitung dringlich

Bearbeiten

Ich kann kein Konzept des Artikels mehr erkennen - zu heterogen zwischen verschiedenen Architekturansätzen, Ausführungen, Zufallsbezeichnungen und Sortierkriterien. --SonniWP2 21:25, 31. Aug. 2007 (CEST)Beantworten

Sei mutig! Mach was dagegen. Ich hab schon ein paar Details beigesteuert, aber wie man hier eine klarere Struktur reinbringen kann, kann ich auch nicht sagen. --PeterFrankfurt 22:39, 31. Aug. 2007 (CEST)Beantworten

Es gab eine Schnelllöschung des Artikels Instruktion (Mikroprozessor)

Bearbeiten

Ich habe erst einmal von Instruktion (Mikroprozessor) ein Redirekt zu diesem Artikel gemacht. Wie ich gerade sehe muß an Befehlssatz auch noch gearbeitet werden. Habe den Begriff Instruktion in verschiedenen Artikeln gefunden und ich bin der Meinung, dass dieser Begriff hier eingearbeitet werden könnte. --Simone 21:08, 4. Dez. 2007 (CET)Beantworten

Ich habe es in die Einleitung geschoben nachdem ich den Redirect wieder gelöscht habe (Klammerlemma eignen sich nicht als Weiterleitung). Wenn das nicht passen sollte, bitte gerne ändern. Grüße --AT talk 21:16, 4. Dez. 2007 (CET)Beantworten

Eigenschaften von Befehlssätzen

Bearbeiten

Im Abschnitt "Eigenschaften von Befehlssätzen" werden die Attribute "orthogonal" und "symmetrisch" genannt. Kann das mal jemand etwas genauer erläutern, ein paar Beispiele währen auch nicht schlecht. Ich programmiere seit über 15 Jahren auf verschiedenen CPUs in Assembler aber hab es trotzdem nicht begriffen.

P.S. Ich hab unten im Artikel noch einen Link auf die ARM-Architektur eingefügt, ist schließlich im Embedded-Bereich aber auch z.B. bei Handys eine der wichtigsten 32Bit-Architekturen.

-- Erik, 2008-10-19

Das wird doch eigentlich im verlinkten Artikel über Orthogonalität dargestellt: Ein Befehlssatz ist orthogonal, wenn im Idealfall jeder Befehl mit jeder Adressierungsart und evtl. auch noch mit jedem Register funktioniert (soweit halt überhaupt möglich, es gibt graduell fließende Übergänge). Beispiel dafür ist der 68000, Gegenbeispiel der 8080. --PeterFrankfurt 02:41, 21. Okt. 2008 (CEST)Beantworten

orthogonalität und symetrie ... erläuterung und abgrenzung !!

Bearbeiten

interessant ...

"Ein Befehlssatz heißt orthogonal, wenn jeder Befehl auch jede Adressierungsart des Prozessors verwenden kann."
"Ein Befehlssatz wird als symmetrisch bezeichnet, wenn alle Datentypen und Adressierungsarten eines Befehls nicht nur für seine Quell-, sondern auch für seine Zieloperanden erlaubt sind."

ich glaube bei dem absatz fehlt etwas ...

ist jeder orthogonale auch symmetrisch?

oder sind damit doch eher solche befehle wie DIV beim x86 gemeint? (obwohl der weder symmetrisch noch orthogonal ist)

mir fällt jetzt auch keiner ein der orthogonal aber nicht symmetrisch ist ... ein solcher müsste ja wie div z.B. die ausgabe auf eine nicht spezifizierbares register lenken andererseits als eingabe beliebige addressen zulassen ... wer baut denn solche prozessoren??

erläutern ... speziell wodurch sich orthogonalität von der symmetrie abgrenzt 
ein paar befehle als "kuriositäten" wären da wohl gut (nicht signierter Beitrag von 87.146.153.202 (Diskussion) 17:28, 2. Jun. 2012 (CEST)) Beantworten

Ich habe den Eindruck, hier im Artikel liegt Vieles im Argen. Sieht zum Teil sehr nach TF aus. Beispiel: Orthogonalität wird in ( h t t p://www.uni-protokolle.de/Lexikon/Orthogonaler_Befehlssatz_%28Programmiersprachen%29.html) total anders definiert, nämlich als 'überschneidungsfreie Befehle'. Wo sind die Fachleute? --VÖRBY (Diskussion) 12:50, 11. Feb. 2013 (CET)Beantworten

Mnemonics als unterstriche Buchstaben in Menüs

Bearbeiten

Ich kenne den Ausdruck Mnemonics für die unterstrichenen Buchstaben in Computerprogrammen: bei Befehlen, Menüs, Dialogen. Die englische Wikipedia beschreibt das auch so: http://en.wikipedia.org/wiki/Mnemonics_%28keyboard%29 Könnte man das hier ergänzen? Oder ist das in der deutschsprachigen EDV ganz anders? --Peter2 (Diskussion) 22:12, 5. Aug. 2012 (CEST)Beantworten

Dein en:Link verweist auf Mnemonics(keyboard); insofern hat das (z.B. 'unterstrichen') mit den hier beschriebenen mnemotechnischen Abkürzungen eigentlich nichts zu tun. ERLEDIGT.--VÖRBY (Diskussion) 16:40, 11. Feb. 2013 (CET)Beantworten

Mnemonics im Maschinencode?

Bearbeiten

Anderer Aspekt zu Mnemonics: Kann es sein, dass hier etwas beschrieben ist, was nichts mit dem Befehlssatz des Prozessors (so definiert und beschreibt der Artikel dieses Lemma) zu tun hat, sondern lediglich in vorgelagerten Phasen des Programmcodes (zB auf Quellcodeebene, im Assembler, auf Zwischencodeebene etc.) existiert? Wenn das so wäre, sollte man den Abschnitt kürzen und auf Programmiersprache verweisen, ggf. dort die hier stehenden Texte einfügen/integrieren. Wenn nicht, dann sollte ausdrücklich darauf hingewiesen werden, dass das bei bestimmten Prozessoren (welchen?) so ist. Wenn evtl. vorgelagerte Betriebssoftware (wie Interpreter etc) solche Mnemonic-Codes treansformiert, hat das nicht mit dem 'Prozessor' zu tun, der Mnemonic-Code also nichts mit dem Befehlssatz.--VÖRBY (Diskussion) 09:38, 10. Feb. 2013 (CET)Beantworten

Würde man 'Befehlssatz' nicht auf die Maschinensprache begrenzen (wer sagt eigentlich, dass das richtig ist?), sondern einfach auf ~ 'mögliche Befehle in einer bestimmten Sprache', dann würden die Mnemonic-Aussagen wieder Sinn machen. Dann sollte die Definition aber anders lauten. --VÖRBY (Diskussion) 08:38, 11. Feb. 2013 (CET)Beantworten
Der Informatik-Duden nennt den Befehlssatz auch "Befehlsvorrat" und definiert das zunächst nur als "Gesamtmenge der unterschiedlichen Befehle". Die weiteren Ausführungen beziehen sich aber auf eine "Rechenanlage" (heutzutage besser 'Computer'?). 'Mikroprozessor' ist m.E. zu spezialisiert und sollte ersetzt werden durch das allgemeinere 'Prozessor (Hardware)'.--VÖRBY (Diskussion) 10:28, 11. Feb. 2013 (CET)Beantworten
Die meisten Definitionen im Netz und auch in Büchern definieren 'Befehlssatz' auch als den 'von einer Programmiersprache unterstützten Befehlsvorrat'. Das scheint mir korrekt zu sein. Es gibt also auch hier (so wie in vielen anderen Lemmas) enger und weiter gefasste Definitionen. Das sollte der Artikel dann auch beschreiben.
Ich möchte die erkannten und beschriebenen Aspekte demnächst in den Artiekel einarbeiten.--VÖRBY (Diskussion) 12:58, 11. Feb. 2013 (CET)Beantworten
Im englischen Artikel 'Instruction set' sind solche Mnemonics nicht erwähnt. Das liegt wohl daran, dass dieser Artikel den Sachverhalt als 'Instruction Set Architecture' beschreibt - was etwas anderes (wirklich nur den Prozessoraspekt beschreibend) sein mag als 'instruction set' alleine. --VÖRBY (Diskussion) 16:40, 11. Feb. 2013 (CET)Beantworten
Auch in der deutschen WP gibt es auch den Artikel Befehlssatz-Architektur. Die Texte HIER und die dort überschneiden sich. Eine passende Lösung wäre also, BS zu verallgemeinern (inkl. 'Programmiersprache') und die speziellen ´Maschinencode-Aspekte' nach BSA zu übernehmen. Meinungen? Oder hier eben nur um PrSpr zu erweitern. --VÖRBY (Diskussion) 11:03, 13. Feb. 2013 (CET)Beantworten

Bisher keinerlei Feedback. Ich habe die Definition (Einleitung) erweitert (Vorrat einer Programmiersprache) - mit Beleg. Der Mnemonic-Absatz sollte nun zumindest dahingehend präzisiert werden, ob er wirklich Maschinensprachen betrifft. Wenn nein, gehört er eigentlich nicht hierher, sondern nach Programmiersprache. Siehe Quelle-Baustein, auch 'orthogonal' betreffend (s.o.). --VÖRBY (Diskussion) 09:47, 15. Feb. 2013 (CET)Beantworten

Auch in anderen Abschnitten (zB 'Befehlsarten') ist häufig von mnemotechnischen 'Befehlsnamen' die Rede (wie 'push') - die m.E. nur für den Befehlscode im Quellcode (zB in Assembler) stehen, aber nicht im Maschinencode verwendet werden. Falls keine 'Einsprüche' geltend gemacht werden, möchte ich das in Kürze auch bereinigen. Wenn das doch richtig wäre, bin ich dankbar für die Belehrungen. --VÖRBY (Diskussion) 19:03, 18. Feb. 2013 (CET)Beantworten
Beim 6502-Link ist ausdrücklich vermerkt, dass es sich hierbei um die 'Assembler-Mnemonics' handelt, es ist also nicht der Maschinencode (des Prozessors). Gleiches gilt für das zu Mnemonics in Zilog Z80 Beschriebene.
Wir haben es also hier einfach mit den Kürzeln für OP-Codes zu tun - die in verschiedenen Quellsprachen nun mal unterschiedlich sind, manchmal Mnemonics und je nach Sprache mehr oder weniger nah am Maschinencode orientiert. Der gesamte Abschnitt ist also m.E. HIER nicht relevant, sondern könnte irgendwo bei Programmiersprache oder Assembler eingefügt werden. Vorschlag/Ankündigung: Abschnitt hier einfach löschen.--VÖRBY (Diskussion) 13:56, 22. Feb. 2013 (CET)Beantworten

Habe den Abschnitt 'Mnemonics' komplett gelöscht. Auch die englische Übersetzung (lt. Link) zeigt nichts zu diesem Aspekt.--VÖRBY (Diskussion) 10:41, 25. Feb. 2013 (CET)Beantworten