Forum: Mikrocontroller und Digitale Elektronik ALU Einheit im PIC Mikrocontroller


von Simon R. (simonfta)


Lesenswert?

Hallo zusammen,
mir wurde folgende aufgabe im Unterricht gestellt:

"In der ALU sollen zwei Werte miteinander addiert werden. Im 16-bit 
Befehl ist das d-bit gesetzt und als Adresse 0x07 angegeben. Welche 
Werte werden miteinander addiert wo wird das Ergebnis gespeichert?"

ich hoffe irgendjemand kann mir meine frage beantworten und mir auch 
noch eine erklärung geben. Für mich ist die Mikrocontroller Welt neu und 
ich versuche mich gerade auf eine Klassenarbeit vorzubereiten.
Vielen Dank schon mal im vorraus.
MfG Simon

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Da fehlen noch Angaben zur Prozessorarchitektur...

von P. M. (o-o)


Lesenswert?

Garantiert nicht. Denn da fehlen Informationen. Welcher Mikrocontroller 
ist gemeint? Aber nein, nein, du musst die Infos nicht nachliefern. 
Schaue einfach selbst ins Datenblatt / in die Beschreibung des 
Mikrocontrollers. Dann sollte alles klar werden.

von Simon R. (simonfta)


Lesenswert?

Also im Unterricht benutzen wir den Pickit 3 mit einem PIC18F45K20 von 
dem her denke ich es müsst die Harvard-Architektur sein!
Wie gesagt absoluter neuling, ich hoffe du wolltest das wissen.

von Edson (Gast)


Lesenswert?

Simon Ruf schrieb:
> Also im Unterricht benutzen wir den Pickit 3 mit einem PIC18F45K20 von
> dem her denke ich es müsst die Harvard-Architektur sein!

Die Einteilung Harvard vs. von Neumann macht keinen Sinn in dem Kontext 
(wenn sie es denn je tut). Es ist die Architektur des Kerns, die uns 
interessiert. In deinem Fall ist das die PIC18-Architektur, die von 
Microchip erdacht und produziert wird. Jetzt wissen wir also, womit du 
arbeitest.

von Simon R. (simonfta)


Lesenswert?

Ok danke, wir kommen weiter :) ist doch schon mal was!
Die Frage, die ich oben gestellt habe, hat die Überschrift "Grundlagen 
des Mikrocontrollers" daher wusste ich nicht dass die Frage sich auf 
einen speziellen bezieht, dachte es gibt eine allgemeine antwort!
Aber ja, PIC18-Architektur kommt hin also das hab ich schon gehört und 
auch meines Wissens nach einmal Einstellen müssen im Programm (MPLAB 
IDE).

von Edson (Gast)


Lesenswert?

Simon Ruf schrieb:
> Die Frage, die ich oben gestellt habe, hat die Überschrift "Grundlagen
> des Mikrocontrollers" daher wusste ich nicht dass die Frage sich auf
> einen speziellen bezieht, dachte es gibt eine allgemeine antwort!

Die kann es nicht geben. Aus der Frage lässt sich leicht entnehmen, dass 
das sogenannte d-Bit Teil des Opcode ist, welcher ja schlecht allgemein 
für alle Mikrocontroller gültig sein kann. Unter "Grundlagen" ist die 
Frage genau richtig und hat dir jetzt schon gezeigt, dass es da noch 
hapert.

von Simon R. (simonfta)


Lesenswert?

Danke für die Antwort, hilft mir aber in keinster Weise. Ich denke jeder 
hat mal Angefangen und nicht alles gewusst, war bei dir sicher auch 
nicht anderst!
Von demher wäre ich dankbar für eine Antwort auf meine Frage.

von PIC18 (Gast)


Lesenswert?

Simon Ruf schrieb:
> Danke für die Antwort, hilft mir aber in keinster Weise.

Was hindert Dich denn daran, mal im Datenblatt des Controllers 
nachzuschauen?

von Juergen G. (jup)


Lesenswert?

Wir muessen das aber auch aus den Datenblaettern herauslesen.
insofern hat P. M. die Antwort schon geschrieben

P. M. schrieb:
> Schaue einfach selbst ins Datenblatt / in die Beschreibung des
> Mikrocontrollers.

von chris (Gast)


Lesenswert?

guck mal inter http://en.wikipedia.org/wiki/PIC_microcontroller 
vielleicht hilft das weiter

unter PIC18 16-bit instruction set -> ALU operations ->    opcode
                                                        0 0 1 1 1 d a

aber wenn ich das so sehe sicher das da addiert wird ?? denn in der 
ersten Zeile wird nur das d-bit gesetzt.

von Vlad T. (vlad_tepesch)


Lesenswert?

Simon Ruf schrieb:
> Ich denke jeder hat mal Angefangen und nicht alles gewusst
Das sicher nicht, aber nicht jeder lässt seine Hausaufgaben von anderen 
machen.
Der normale Mensch hätte im Unterricht aufgepasst und in seinen 
Aufzeichnungen geschaut um das Problem zu lösen.
Der Lehrer hat euch mit Sicherheit mit dem Wissen (oder Unterlagen), was 
zu Lösung der Aufgabe nötig ist, ausgestattet.

Du hingegen kreuzt hier auf.
"hier, ich rotz euch eine Frage hin, bitte postet die Lösung und am 
besten mit kompletten Rechenweg/Herleitung."

Sag mal, gehts noch?

von Peter D. (peda)


Lesenswert?

Simon Ruf schrieb:
> Ich denke jeder
> hat mal Angefangen und nicht alles gewusst, war bei dir sicher auch
> nicht anderst!

Schon.
Aber die wenigsten haben mit dem PIC angefangen oder hat je 
interessiert, wie ein MC intern Befehle codiert.
Man schreibt die Mnemonics hin und der Assembler hat daraus gefälligst 
den Opcode zu erzeugen.

Wenn Du was zum d-Bit wissen willst, mußt Du wohl selber im 
Instruction-Set des PIC18 nachschlagen.
Könnte auch sein, daß dazu was auf der Sprut-Webseite steht.


Peter

von Simon R. (simonfta)


Lesenswert?

Vlad Tepesch schrieb:
> Der normale Mensch hätte im Unterricht aufgepasst und in seinen
> Aufzeichnungen geschaut um das Problem zu lösen.
> Der Lehrer hat euch mit Sicherheit mit dem Wissen (oder Unterlagen), was
> zu Lösung der Aufgabe nötig ist, ausgestattet.

Der Normale Mensch hätte erst mal keine Unterstellungen gemacht sondern 
sich genauer erkundigt über die zusammenhänge! Und ich rotz hier auch 
keine Frage hin sonder stell meine Frage ganz normal! Die restlichen 26 
Fragen konnte ich auch mit meinen Unterlagen sehr gut beantworten nur 
eben diese nicht, da dachte ich mir ich frag halt mal! Sorry für dass 
Missverstehen der Funktion eines Forums.... Aber wenn es dich erregt 
andere leute die in "diesem" Fachgebiet nicht so viel ahnung haben wie 
du nieder zu machen, dann mach weiter so, ist zwar nicht hilfreich und 
zeugt von wenig intelligenz aber mir eigentlich egal!

Den anderen Dank ich für die guten antworten, haben geholfen.
Danke

von P. M. (o-o)


Lesenswert?

Simon Ruf schrieb:
> Danke für die Antwort, hilft mir aber in keinster Weise. Ich denke jeder
> hat mal Angefangen und nicht alles gewusst, war bei dir sicher auch
> nicht anderst!

Mehr als in anderen Gebieten geht es in der Elektro-/Computertechnik 
auch gar nicht darum, dass man es "weiss". Sondern dass man weiss, wie 
man an die Information kommt. Das ist die eigentliche Erkenntnis, und 
diese Frage haben dir mehrere Forenbenutzer schon beantwortet: Schau ins 
Datenblatt! Genau darum gehts auch in dieser Aufgabe. Niemand verlangt 
von dir, dass du weisst, was dieses Bit macht. Man verlangt von dir 
aber, dass du lernst, diese Information zu finden.

von P. M. (o-o)


Lesenswert?

Ach, und das wird übrigens sehr warscheinlich auch an der Prüfung so 
sein: Die drücken dir das Datenblatt oder einen Auszug davon in die Hand 
und verlangen dann, dass du dies oder jenes herausfinden sollst.

von Vlad T. (vlad_tepesch)


Lesenswert?

Simon Ruf schrieb:
> Und ich rotz hier auch
> keine Frage hin sonder stell meine Frage ganz normal!

Dann möchte ich dir Diese Lektüre ans Herz legen:
http://www.tty1.net/smart-questions_de.html

Und dann lies bitte deine Frage nochmal.
Zu einer Fragestellung gehört (vor allem, wenn ersichtlich ist, dass es 
eine Hausaufgabe ist), dass man zeigt, was man bereits durch 
Eigeninitiative herausgefunden hat.

Simon Ruf schrieb:
> Aber wenn es dich erregt
> andere leute die in "diesem" Fachgebiet nicht so viel ahnung haben wie
> du nieder zu machen,
Bitte zitier genau die Stelle, wo ich dich wegen zu wenig Ahnung runter 
gemacht habe.
Ich hab dich runtergemacht wegen deiner "Hier meine Hausaufgaben, bitte 
antwortet"-Mentalität.

> Und ich rotz hier auch keine Frage hin
genau das hast du nämlich. Du hast uns 0 Hintergrund verraten, weder um 
was es genau geht, noch was du bereits selbst zur Lösungsfindung 
unternommen hast, geschweige denn irgend einen Ansatz mit dem du stecken 
geblieben bist.


Spare dir bitte das Antworten auf diesen Beitrag.
Lies dir in der Zeit stattdessen die oben verlinkte Seite durch (oder 
wenigstens das Inhaltsverzeichnis).

von Edson (Gast)


Lesenswert?

Simon Ruf schrieb:
> Danke für die Antwort, hilft mir aber in keinster Weise.

Das tut mir leid, aber vielleicht kannst du ja mal deine Frage stellen 
und nicht einfach darauf warten dass ich dir die Lösung zur Aufgabe 
hinschreibe.

> Ich denke jeder
> hat mal Angefangen und nicht alles gewusst, war bei dir sicher auch
> nicht anderst!

Habe ich auch nirgends behauptet. Wenn du fair wärst, hättest du dich am 
Riemen gerissen und endlich ins Datenblatt geschaut, damit du wenigstens 
beschreiben könntest was du eigentlich nicht beantworten kannst. Ich 
kann nämlich nicht wssen: Kapierst du nicht was 16-Bit Befehl heissen 
soll, oder liegt es an der Adresse 0x07 oder gar dem ominösen d-Bit? 
Erklär mir was du nicht verstehst dann helfe ich dir weiter.

> Von demher wäre ich dankbar für eine Antwort auf meine Frage.

Stell deine Frage, mach dir wenigstens den Aufwand und gib wieder was 
du an der Aufgabe nicht beantworten kannst. Bisher hast du nur die 
Aufgabe wiedergegeben, die dir gestellt wurde.

von stepp64 (Gast)


Lesenswert?

Datenblatt S.316-318. Leider ist keine Aussage über das a Bit angegeben. 
Damit kann man nicht sicher sagen in welcher Page der Wert gespeichert 
wird. Aber schau dir mal das Instruction Set an. Soviele ADD Befehle in 
denen das d Bit auftaucht gibt es ja nun wirklich nicht. Und damit ist 
eigentlich klar wie die Antwort lautet.

von Maik W. (werner01)


Lesenswert?

2. The destination of the result
(specified by ‘d’)  <-- <-- <-- <-- <--

so stehts auf Seite 193 im Datasheet zum pic18f1320.

Die Antwort schreiben hat länger gedauert als die Suche!

So Simon ich hoffe das hilft Dir!

PS: Das macht fümpf Euro.

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
Noch kein Account? Hier anmelden.