<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Frage zu Prozessor]]></title><description><![CDATA[<p>Hallo,</p>
<p>Trennung von Daten und Programm.</p>
<p>Versteht man darunter z.B. folgendes.</p>
<p>Programm z.B. C ++ Quellcode.</p>
<p>Daten sind z.B. Inhalt der Variablen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259362/frage-zu-prozessor</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 02:04:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259362.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Jan 2010 00:24:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 00:24:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Trennung von Daten und Programm.</p>
<p>Versteht man darunter z.B. folgendes.</p>
<p>Programm z.B. C ++ Quellcode.</p>
<p>Daten sind z.B. Inhalt der Variablen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843019</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Fri, 22 Jan 2010 00:24:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 00:37:10 GMT]]></title><description><![CDATA[<p>Damit kann Verschiedenes gemeint sein. Deine Begriffe ohne Kontext sind wohl zu allgemein formuliert.</p>
<p>Oftmals ist der Unterschied von Harvard zu von-Neumann-Architektur gemeint.</p>
<p>Manchmal auch das einteilen von Daten und Code in verschiedene Segmente.</p>
<p>Wenn man Programm als &quot;Business Logic&quot; verstehen könnte, dann auch das derzeit moderne Mehrschichtenmodell.</p>
<p>Detailinformationen zu den von mir geposteten Begriffen finden sich bei Wikipedia.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843021</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Fri, 22 Jan 2010 00:37:10 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 00:44:17 GMT]]></title><description><![CDATA[<p>bei von Neumann gibt es keine Trennung von Daten und Programmcode.<br />
Was heißt das genau ? Code ist z.b. Assemblercode .</p>
<p>und daten ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843023</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Fri, 22 Jan 2010 00:44:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 00:46:45 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>bei von Neumann gibt es keine Trennung von Daten und Programmcode.<br />
Was heißt das genau ? Code ist z.b. Assemblercode .</p>
<p>und daten ?</p>
</blockquote>
<p>Ich weiß, das ist der große Unterschied zur Harvard-Architektur.</p>
<p>Grob gesagt:</p>
<p>Code = Ausführbare Befehle<br />
Daten = Variablen</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843024</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Fri, 22 Jan 2010 00:46:45 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 00:47:15 GMT]]></title><description><![CDATA[<p>Ich zitiere mal :</p>
<p>Zudem sorgt die physikalische Trennung von Daten und Programm dafür, dass bei Softwarefehlern kein Programmcode überschrieben werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843025</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Fri, 22 Jan 2010 00:47:15 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 00:50:04 GMT]]></title><description><![CDATA[<p>soll wohl heißen dass nur Daten beschreibbar sind, der Code allerdings nur<br />
lesbar ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843027</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Fri, 22 Jan 2010 00:50:04 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 06:35:40 GMT]]></title><description><![CDATA[<p>In C++ gibt es doch const und mutual. Const Variablen und Strings können doch vom C++ Kompiler in einen geschützen Bereich gelegt werden. zB einen Rom. Ist etwas mutual, heißt das es sei const, könnte jedoch ev irgendwann doch mal verändert werden und sollte in einen beschreibbaren Bereich abgelegt werden.</p>
<p>Dann müsste doch der Kompiler neben dem Prg ein extra &quot;Ding&quot; rauswerfen das man dann in den Rom schreibt? Und wo passiert das wirklich, das die const Variablen in einem extra Bereich abgelegt werden? Jetzt sagen alle Embedded Systeme, aber ist es nicht billiger einen großen Flash Speicher zu kaufen anstatt wegen diesem Fliegenschiss von const Anteilen einen extra Rom einzubauen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843053</guid><dc:creator><![CDATA[aaaaaa]]></dc:creator><pubDate>Fri, 22 Jan 2010 06:35:40 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 11:13:09 GMT]]></title><description><![CDATA[<p>Wenn ich eine Datei von der Festplatte aufrufe, wird diese doch immer<br />
in den Hauptspeicher gemappt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843174</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Fri, 22 Jan 2010 11:13:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 11:41:08 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>soll wohl heißen dass nur Daten beschreibbar sind, der Code allerdings nur<br />
lesbar ?</p>
</blockquote>
<p>Wichtig ist auch die strikte Trennung. Ein Prozessor hat einen Instruction Pointer, der auf den nächsten Befehl, der ausgeführt werden soll, zeigt. Ohne Trennung hindert einem nichts daran diesen Pointer einfach irgendwo in den Datenbereich zeigen zu lassen. Da im Datenbereich von außen eingelesene Daten liegen können, ist das natürlich heikel, da man so Schadcode einschmuggeln kann.</p>
<p>Beim PC (Der eigentlich eine Von-Neumann Architektur ist) gibt es seit gar nicht so langer Zeit eine ähnliche Trennung. Es liegt zwar alles im gleichen Speicher, allerdings kann man Bereiche mit dem nx-bit als nicht ausführbar markieren. Setzt man den Instruction Pointer auf einen Bereich mit gesetzten nx-bit gibt es einen Fehler und das Betriebsystem beendet in der Regel das Programm.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843193</guid><dc:creator><![CDATA[Tobiking2]]></dc:creator><pubDate>Fri, 22 Jan 2010 11:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Prozessor on Fri, 22 Jan 2010 11:43:16 GMT]]></title><description><![CDATA[<p>aaaaaa schrieb:</p>
<blockquote>
<p>Ist etwas mutual, heißt das es sei const, könnte jedoch ev irgendwann doch mal verändert werden und sollte in einen beschreibbaren Bereich abgelegt werden.</p>
</blockquote>
<p>wenn man 'const' weglässt, isses automatisch veränderbar. in c++ gibt's noch ein 'mutable'-keyword, das ist dazu da, teile eines const-objekts dann doch noch beschreibbar zu machen.</p>
<p>aaaaaa schrieb:</p>
<blockquote>
<p>Dann müsste doch der Kompiler neben dem Prg ein extra &quot;Ding&quot; rauswerfen das man dann in den Rom schreibt?</p>
</blockquote>
<p>das macht er auch, ein image, das den maschinencode enthält, sowie konstante daten, mit denen irgendwelche variablen initialisiert werden, usw.</p>
<p>aaaaaa schrieb:</p>
<blockquote>
<p>Und wo passiert das wirklich, das die const Variablen in einem extra Bereich abgelegt werden?</p>
</blockquote>
<p>das macht eigentlich jeder vernünftige compiler/linker.</p>
<p>aaaaaa schrieb:</p>
<blockquote>
<p>Jetzt sagen alle Embedded Systeme, aber ist es nicht billiger einen großen Flash Speicher zu kaufen anstatt wegen diesem Fliegenschiss von const Anteilen einen extra Rom einzubauen?</p>
</blockquote>
<p>^^separate ROMs werden selten verwendet. eher nimmt man einen controller-typ mit mehr flash-speicher, wenn man viel statisches zeug hat (z.b. für 'ne extra firmware, die ein spezieller chip braucht und die er beim start geladen bekommt). ist einfach auch 'ne kostenfrage und jeder zusätzliche chip macht das design komplexer und grösser. ausnahme ist vielleicht irgendwelcher bootloader-code im eigenen ROM, der nicht überschrieben werden darf.</p>
<p>blurry333 schrieb:</p>
<blockquote>
<p>Wenn ich eine Datei von der Festplatte aufrufe, wird diese doch immer<br />
in den Hauptspeicher gemappt</p>
</blockquote>
<p>teilweise, wenn das executable sehr gross ist, kann zur laufzeit der code dynamisch nachgeladen werden (grosse OS'se wie windoof z.b. machen das automatisch, ohne dass sich der programmierer darum kümmern musss).<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843195</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Fri, 22 Jan 2010 11:43:16 GMT</pubDate></item></channel></rss>