MSP430 Launchpad - RAM und Programm Flash, wieso ist das RAM kleiner?

Gast #2716257
Lesenswert?

Beim MSP430 Launchpad werden ja zwei MSP430 µC mitgeliefert.
Beide haben 128 Byte RAM und 2 KByte Flash.

Der Flashspeicher wird für den Programmcode verwendet.


Wie aber muß man sich das dann auf dem Device bei der Ausführung eines 
Programms vorstellen?


Beim klassischen x86 PC ist es z.B. so, dass der Programmcode von der 
Festplatte/Diskette/USB-Stick usw. einfach komplett in den RAM geladen 
wird
und von dort arbeitet dann das Programm.
D.h. der Instructionpointer zeigt auf den derzeit auszuführenden Opcode 
des Programms, welches nun im RAM liegt und dann wird von dort aus 
weiterverfahren, je nach dem, was das für ein Opcode ist.
Der Programmcode wird beim x86 also, wenn man davon ausgeht, daß das 
Programm von Anfang bis Ende in einem Durchgang ohne Schleifen, Sprünge 
usw. durchgearbeitet wird, im RAM quasi durchgescrollt.
Der Programmcode wird also nicht auf dem externen Datenträger wie z.B. 
der Festplatte, dem Diskettenlaufwerk usw. durchgescrollt, sondern von 
dort nur in den RAM geladen.



Wie ist das aber beim MSP430 Launchpad?
Das Ding hat ja nur 128 Byte RAM, also viel zu wenig um ein 1 KB großes 
Programm, daß z.B. im 2 KB großen Flashspeicher gespeichert ist komplett 
in den RAM zu laden.

Wird das nur Stückchenweise in das RAM geladen oder ist es sogar so, daß 
der Instructionpointer auf einen Speicherbereich auf dem Flashspeicher 
zeigt, so daß der Flashspeicher quasi wie RAM benutzt wird?
Gast #2716266
Lesenswert?

Noch etwas.


Damit das nicht verwechselt wird.

Beim x86 PC ist der Speicherplatz des Datenträgers zwar auch immer 
größer, als der des RAMs, aber beim PC kam es praktisch (von so Sachen 
wie der Auslagerungsdatei oder SWAP-Speicher mal abgesehen) kaum vor, 
daß Programmcode nachgeladen werden musste.
Bestenfalls wurden Daten nachgeladen, aber eben kein auszuführender 
Programmcode.
Gast #2716301
Lesenswert?

Tom K. schrieb:
> PC: http://de.wikipedia.org/wiki/Von-Neumann-Architektur
> µC: http://de.wikipedia.org/wiki/Harvard-Architektur
>
> Grüße

Das ist eine falsche Verallgemeinerung.


Ob eine CPU nach der Von-neumann- oder Harvard-Architektur arbeitet hat 
nichts damit zu tun, ob es ein µC ist oder nicht.

Außerdem arbeitet der MSP430 nach der klassischen 
Von-Neumann-Architektur, also völlig falsch was du gesagt hast.

Die HA wird z.B. vom ARM verwendet, aber nicht vom MSP430.
Gast #2716312
Lesenswert?

spess53 schrieb:
> Hi
>
> Und bei deinem MSP wird das Programm im Flash ausgeführt. Der RAM wird
> nur für Variablen und Stack gebraucht.
>
> MfG Spess

Genau das wollte ich wissen, danke.



Jetzt habe ich gerade im Internet entdeckt, daß es einen Simulator für 
den MSP430 gibt, siehe Artikel und da das Bild:
http://ece124web.groups.et.byu.net/labs/L06-archsim/archsim.html#LetsStart

Da wird das sehr gut dargestellt, aber weiß jemand, ob es diesen
"MSP430 Micro-Architecture Simulator" irgendwo legal zum Downloaden 
gibt?
Ich habe schon gesucht, aber nichts gefunden.
#2716369
Lesenswert?

Launchpadfrage schrieb:
> Jetzt habe ich gerade im Internet entdeckt, daß es einen Simulator für
> den MSP430 gibt, siehe Artikel und da das Bild:
> http://ece124web.groups.et.byu.net/labs/L06-archsi...
> rt

Nein, aber:

http://www.lauterbach.com/frames.html?home.html

Du musst nach Trace32 suchen, weiter nach Instruction Set Simulator

Beschränkt nutzbar. Selten gemacht, weil Controller besser.


Gruß
Gast #2716592
Lesenswert?

Launchpadfrage schrieb:
> Tom K. schrieb:
>> PC: http://de.wikipedia.org/wiki/Von-Neumann-Architektur
>> µC: http://de.wikipedia.org/wiki/Harvard-Architektur
>>
>> Grüße
>
> Das ist eine falsche Verallgemeinerung.

Erst das und dann

Launchpadfrage schrieb:
>> Hi
>>
>> Und bei deinem MSP wird das Programm im Flash ausgeführt. Der RAM wird
>> nur für Variablen und Stack gebraucht.
>>
>> MfG Spess
>
> Genau das wollte ich wissen, danke.

Sag mal? Kennst Du den Unterschied der beiden Architekturen? 
Selbstbewusstsein scheint Dir ja nicht zu fehlen.
#2717053
Lesenswert?

Launchpadfrage schrieb:
> Hag Nag schrieb:
>> Sag mal? Kennst Du den Unterschied der beiden Architekturen?
>> Selbstbewusstsein scheint Dir ja nicht zu fehlen.
>
> Es ist trotzdem eine vNA.
>
> http://de.wikipedia.org/wiki/MSP430#Speicheraufteilung

Kollege,

hat hier irgendwer das Gegenteil behauptet? Du entlarvst dich mit deiner 
Ausgangsfrage als absoluter Anfänger, was ja nicht weiter schlimm ist.

Aber wenn dir Leute schon helfen, dann solltest du das Danke sagen mal 
nicht vergessen, und vielleicht auch mal innehalten, wenn dir jemand 
nicht gleich die perfekte Antwort liefert - sonst bekommst du am Ende 
gar keine oder eben nur blöde.

Würde ich an deiner Stelle mal drüber nachdenken, denn es kostet die 
Zeit anderer, dir zu helfen. Und die haben's eigentlich nicht nötig.
Gast #2717147
Lesenswert?

Gun B. schrieb:
> Aber wenn dir Leute schon helfen, dann solltest du das Danke sagen mal
> nicht vergessen, und vielleicht auch mal innehalten, wenn dir jemand
> nicht gleich die perfekte Antwort liefert - sonst bekommst du am Ende
> gar keine oder eben nur blöde.

Deine Unterstellung, dass ich mich nicht bedankt hätte stimmt nicht, 
denn ich habe mich bei spess53 sehr wohl bedankt, lies oben nach, da 
steht das Wort "danke" dabei.

Aber ich muss mich nicht bei Tom K. bedanken, für eine Information die 
falsch ist, deswegen habe ich, wie es sich gehört, ihn korrigiert, hier 
mir deswegen ein falsches Verhalten vorzuwerfen ist von dir reichlich 
unverschämt.
Gast #2717150
Lesenswert?

@Gun. B.
Noch etwas:


Vielleicht ist es dir nicht aufgefallen, genau wie das "Danke" auch, 
aber Tom. K hat eine eindeutige Zuweisung gemacht.
Vor den Links zu Harvard A. und V.N.A steht nämlich jeweils µC und PC 
und diese Zuweisung ist falsch, ihn dafür zurechtzuweisen war also 
folgerichtig.
Gast #2717315
Lesenswert?

<OT>
Bitte beruhigt Euch wieder:
der meiste Ärger entsteht (nur) durch Mißverständnisse ...

Einige der "Alteingesessenen" hier reagieren m.E. etwas überempfindlich.
Immer daran denken: jeder fängt mal klein an ...
</OT>

Gemeinsam gehts leichter
Martin
Gast #2717797
Lesenswert?

Gun B. schrieb:
> Auf das WIE kommt's an.

Na dann schreib dir das mal hinter die Ohren.
Dein Pamphlet besteht nur aus Demütigungen, Beleidigungen und 
Unterstellungen.
Vielleicht fällt dir das nicht auf, aber ich zitiere mal deinen Mist:

1.
> Du entlarvst dich mit deiner
Ausgangsfrage als absoluter Anfänger,

2.
> dann solltest du das Danke sagen mal
nicht vergessen,

Anmerkung:
Du hast jetzt übrigens zwar um 9:07 hier nochmal reingerotzt, aber 
entschuldigt hast du dich für diesen Vorwurf bis jetzt noch nicht.
Fass dich hier mal an die Nase!

3.
> und vielleicht auch mal innehalten, wenn dir jemand
nicht gleich die perfekte Antwort liefert - sonst bekommst du am Ende
gar keine oder eben nur blöde.

Die Antwort von Tom K. war bereits blöde und auch eine Unterstellung, da 
sie unterstellt dass man den Unterschied zwischen HA und vNA nicht 
kenne, dabei hat meine Frage, wenn man mal genau liest und genau darüber 
nachdenkt, gar nichts mit HA oder vNA zu tun.
Der Flashspeicher hätte nämlich auch, genau wie beim PC auch, als bloßer 
statischer Datenspeicher herhalten können, es ist keine 
Selbstverständlichkeit, dass in einen solchen Bereich der 
Instructionpointer zeigt.
Gast #2906939
Lesenswert?

Launchpadfrage schrieb:
> Der Flashspeicher hätte nämlich auch, genau wie beim PC auch, als bloßer
> statischer Datenspeicher herhalten können, es ist keine
> Selbstverständlichkeit, dass in einen solchen Bereich der
> Instructionpointer zeigt.

Wie steht es denn mit dem BIOS-Flash beim PC? Nach Reset geht es dort 
los. Ursprünglich lag es im Adressraum und das Programm wurde direkt aus 
dem Speicher ausgeführt. Später folgten Verbesserung durch Shadow-ROM 
für einen schnelleren Zugriff.


Launchpadfrage schrieb:
> Beim klassischen x86 PC ist es z.B. so, dass der Programmcode von der
> Festplatte/Diskette/USB-Stick usw. einfach komplett in den RAM geladen
> wird
> und von dort arbeitet dann das Programm.

Das liegt nicht an der x86 Architektur. Es handelt sich um eine 
Eigenschaft des Betriebssystems. Mit einem entsprechenden Programm kann 
das auch auf einem µC erfolgen. Manche laden Programme aus einem EEPROM, 
andere modifizieren den Code zur Laufzeit.
Gast #2907039
Lesenswert?

Launchpadfrage schrieb:
>> PC: http://de.wikipedia.org/wiki/Von-Neumann-Architektur
>> µC: http://de.wikipedia.org/wiki/Harvard-Architektur
>>
>> Grüße
>
> Das ist eine falsche Verallgemeinerung.

Da hast Du vollkommen Recht! Daher müssen diese Artikel natürlich sofort 
aus Wikipedia gelöscht werden!
Wieviele weniger Schlaue sind wohl schon auf diese völlig falsche 
Verallgemeinerung hereingefallen?
Nicht auszudenken, was das für den Wirtschaftsstandort Deutschland 
bedeutet...
Persönliche Seite #2907048
Lesenswert?

Doof schrieb:
> Da hast Du vollkommen Recht! Daher müssen diese Artikel natürlich sofort
> aus Wikipedia gelöscht werden!

Unfug. Richtig lesen hilft; die falsche Verallgemeinerung besteht darin, 
zu behaupten, µCs würden implizit alle die Harvard-Architektur nutzen.

Und das hat nichts mit Wikipedia zu tun, sondern mit der von "Tom K." 
genutzten Formulierung.

Übrigens ist der Thread schon etwas angestaubt, meinst Du tatsächlich, 
daß Dein Beitrag die Diskussion hier inhaltlich etwas weiterbringt?
#2907221
Lesenswert?

Launchpadfrage schrieb:
> Beim klassischen x86 PC ist es z.B. so, dass der Programmcode von der
>
> Festplatte/Diskette/USB-Stick usw. einfach komplett in den RAM geladen
>
> wird
>
> und von dort arbeitet dann das Programm.

Hallo!
Das ist weder für den klassischen PC noch für modernere komplett 
richtig.
Testweise kannst du ja mal die RAM-Riegel aus dem Mainboard ziehen. Ganz 
ohne RAM stellt die CPU durch das BIOS-Programm fest, dass sie kein RAM 
findet, und zeigt dies durch Piep-Töne oder auch auf einem 
angeschlossenen POST-Display an.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren