Das ist jetzt mehr eine Frage an die Elektroniker und Chipdesigner. Mich würde jetzt mal interessieren, ob die bloße Wahl der Harvard-Architektur beim Stromsparen Vorteile bieten kann, gegenüber einer klassischen Von-Neumann-Architektur, wenn es auf einen langfristig wirklich sehr geringen Stromverbrauch ankommt. Ich dachte da z.B. daran, dass Daten und Programm getrennt vorliegen und wenn man die Daten nicht braucht, diesen RAM Bereich einfach abschalten kann, während man den RAM Bereich, in dem der Programmcode liegt eher nicht abschalten kann. Wobei es da sicher auch Möglichkeiten gäbe, wenn man den Code sichert, aber so µC haben ja oft nicht viel RAM, so dass man den für wichtigeres braucht als für das sichern des Programms in einen nichtflüchtigen Speicher. Und Sollte man dann die Daten wieder benötigen, ließt man sie bspw, aus dem Flash oder irgendeinem anderen nichtflüchtigen Speicher in dem man sie zum Strom sparen auch ablegen könnte. Bei der Von Neumann Architektur könnte man zwar auch einzelne Speicherbereiche abschalten, aber da Daten und Programm im gleichen Adressraum liegen können, stelle ich mir das Abschalten einzelner Speicherbereiche weitaus schwieriger bzw. komplexer vor. Hat hier die Harvard-Architektur also Vorteile?
SRAM benötigt im Ruhezustand so gut wie keinen Strom. Das abschalten und die dazu nötige zusätzliche Elektronik macht den Kram nur komplexer, das Laden und evtl. Speichern des RAMs in irgendetwas anderem kostet nur Zeit und Strom, mehr als man beim Abschalten auch mit 100ertfacher Zeit sparen könnte. Auch muss bei Neumann nicht alles im RAM sein, man kann auch Adressbereiche mischbestücken, das war schon bei den ersten Prozessoren so. Harvard ist aber durch die parallelen Busse schneller (oder: kann ... sein), das kann Strom sparen, weil ein Task schneller beendet werden kann.
Nano schrieb: > Ich dachte da z.B. daran, dass Daten und Programm getrennt vorliegen und > wenn man die Daten nicht braucht, diesen RAM Bereich einfach abschalten > kann, während man den RAM Bereich, in dem der Programmcode liegt eher > nicht abschalten kann. Du musst dich da dringend nochmal mit den Grundlagen befassen, denn 1. liegt der Programmcode meist im Flash, zudem darf man 2. die Versorgung der "Daten" nicht einfach abschalten, weil sonst die Daten weg oder korrumpiert sind, und 3. braucht ein Datenspeicher in CMOS-Technik keinen Strom (ausser dem Leckstrom), solange nicht darauf zugegriffen wird, weiters 4. braucht das Programm mit hoher Wahrscheinlichkeit die "Daten" im RAM laufend (denn sonst wäre das RAM der falsche Speicherort oder die Daten wären es gar nicht wert, gespeichert zu werden). Und das sind jetzt nur die Stichworte, die mir direkt auf Anhieb einfallen.. > Und Sollte man dann die Daten wieder benötigen, ließt man sie bspw, aus > dem Flash oder irgendeinem anderen nichtflüchtigen Speicher in dem man > sie zum Strom sparen auch ablegen könnte. Das ist aber keine Frage des Chip-Designs, sondern eine Frage der Betriebssysteminfrastruktur. Und wenn man sich vergegenwärtigt, wie viel Energie das Speichern von Daten im Flash braucht (Stichworte: Ladungspumpe, Löschen, Schreiben) und dass zudem das Flash ein "Verschleißartikel" ist, dann würde ich sogar eher versuchen, das RAM einfach in Ruhe zu lassen und die Versorgungsspannung des RAMS abzusenken (denn das ist die übliche Strategie bei inaktiven, speichernden Einheiten: niedrigere Versorgungssspannug --> niedrigere Leckströme). > Bei der Von Neumann Architektur könnte man zwar auch einzelne > Speicherbereiche abschalten, aber da Daten und Programm im gleichen > Adressraum liegen können, stelle ich mir das Abschalten einzelner > Speicherbereiche weitaus schwieriger bzw. komplexer vor. Warum? Das ist ja nur wie das Abschalten von Funktionsblöcken (Timer/PWM/Analog/Sonstwas) bei µC: der abgeschaltete Funktionsblock bringt halt keine brauchbaren Werte, wenn darauf zugegriffen wird. Nano schrieb: > Hat hier die Harvard-Architektur also Vorteile? Nein, denn wenn diese "Energiesparkonzepte" tatsächlich beim Energiesparen helfen, dann kann man sie unabhängig von "Harvard vs. von Neumann" anwenden.
Lothar M. schrieb: > 3. braucht ein Datenspeicher in CMOS-Technik keinen Strom (ausser dem > Leckstrom), solange nicht darauf zugegriffen wird, Je nach verwendeter Herstellungstechnik und betrachteter Chip-Klasse kann es aber sein, dass man den Leckstrom nicht vernachlässigen kann, wenn man drastisch Strom sparen will. Weshalb beispielsweise bei x86 Prozessoren mittlerweile nicht nur Takte abgeschaltet werden, sondern tatsächlich auch Teilbereiche des Chips: Power Gating. Mit Harvard vs Von-Neumann hat das allerdings nur wenig zu tun.
Nano schrieb: > Mich würde jetzt mal interessieren, ob die bloße Wahl der > Harvard-Architektur beim Stromsparen Vorteile bieten kann, gegenüber > einer klassischen Von-Neumann-Architektur, wenn es auf einen langfristig > wirklich sehr geringen Stromverbrauch ankommt. Ja, da man bei Harvard den Programmspeicher als ROM auslegen (keine selbstmodifiziernde Codes) kann. Ausserdem wird der Daten und der Adress-bus nicht so häufig umgeschaltet respektive mit komplett anderen Werten belegt wie bei einem Gemischtbetrieb wie bei v. Neumann. Falls der Programmcode kompakt ist kann man den Instruction-Memory bei SoC gleich 'on Die' oder als 'stacked Die' implementieren was die 'stromfressenden PCB-Treiber erspart. Für den data memory nimmt man aus Kostengründen externe Speicherchips. https://projects.iq.harvard.edu/files/tocs17.pdf
Nano schrieb: > Harvard-Architektur ... gegenüber > einer klassischen Von-Neumann-Architektur Das klingt so, als ob für dich die Von-Neumann Architektur altmodisch sei. Ich glaube, dass andere Faktoren beim Energiesparen dominieren. Tatsächlich orientieren sich fast alle aktuellen Prozessoren und Mikrocontroller an beiden Architekturen. Sie haben die Grenzen dazwischen verschwimmen lassen. Ob man unterschiedliche durch eigene Busse und Select-Signale anspricht, oder durch eigene Adressräume man IMHO keine relevante Auswirkung auf das Power Management. Bedenke, dass inaktive CMOS Bauteile (fast) keinen Strom aufnehmen. Um das zu senken, müsste man deren Spannungsversorgung und Bus abtrennen. Der dazu nötige Aufwand könnte aber wiederum mehr Strom verbrauchen, als man damit einspart.
Nano schrieb: > Bei der Von Neumann Architektur könnte man zwar auch einzelne > Speicherbereiche abschalten, aber da Daten und Programm im gleichen > Adressraum liegen können, stelle ich mir das Abschalten einzelner > Speicherbereiche weitaus schwieriger bzw. komplexer vor. Ist es aber nicht. In der Praxis braucht man dazu lediglich ein Oder-Gatter in der /CS Leitung. Oder man spricht den Adressraum durch die laufende Software einfach nicht an. Was auf jeden Fall nicht geht, ist: Dem ROM oder RAm einfach die Stromversorgung weg zu nehmen ohne sie vom Bus zu trennen. Damit fallen nämlich alle ROMSs bzw. alle RAMs aus. Und ohne RON/RAM wird der Prozessor nichts sinnvolle mehr tun können - außer Tiefschlaf. Und beim Tiefschlaf spielt die Architektur wiederum keine Rolle, denn ein stehender Prozessor braucht beides nicht.
Theo Thermistor schrieb: > Ja, da man bei Harvard den Programmspeicher als ROM auslegen (keine > selbstmodifiziernde Codes) kann. Das ist doch beim FlashROM-Speicher eines µC doch auch der Fall. Das ist also keine "Energiesparmöglichkeit". > Ausserdem wird der Daten und der Adress-bus nicht so häufig umgeschaltet Wenn ich einen Bus nicht "brauche" und auf dem Bus deshalb "Ruhe" herrscht, dann ist dort natürlich ausser Leckstrom kein Strombedarf. Aber wenn ich auf einem Harvard-Datenbus mit jedem Takt neue Daten von einem anderen Speicherort brauche, dann ändert sich auch auf diesem Bus ständig alles. > Falls der Programmcode kompakt ist kann man den Instruction-Memory bei > SoC gleich 'on Die' oder als 'stacked Die' implementieren was die > 'stromfressenden PCB-Treiber erspart. Für den data memory nimmt man aus > Kostengründen externe Speicherchips. Solche lokalen Busse sind aber schon wieder unabhängig von der Architektur. Natürlich ist auch bei Von-Neumann-Rechnern der externe Bus von eigentlichen Prozessor abgekoppelt. Der externe Bus wird auch bei dieser Architektur nur dann aktiv, wenn auf den dort angeschlossenen Datenspeicher zugegriffen werden muss. Offenbar kann man bei diesen Betrachtungen leicht verschiedene Abstraktionebenen (von der RTL- bis zur OS-Ebene hin) miteinander vermischt und gegeneinander ausgespielt, um entweder das eine oder das andere Architektur-Modell besser aussehen zu lassen.
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Theo Thermistor schrieb: >> Ja, da man bei Harvard den Programmspeicher als ROM auslegen (keine >> selbstmodifiziernde Codes) kann. > Das ist doch beim FlashROM-Speicher eines µC doch auch der Fall. Das ist > also keine "Energiesparmöglichkeit". Aber klar ist das eine Einsparmöglichkeit, weil Flash-ROM fürs I)nstruction Mem nur bei Harvard möglich ist. Und genau danach 8Harvard) hat der TO doch gefragt. >> Ausserdem wird der Daten und der Adress-bus nicht so häufig umgeschaltet > Wenn ich einen Bus nicht "brauche" und auf dem Bus deshalb "Ruhe" > herrscht, dann ist dort natürlich ausser Leckstrom kein Strombedarf. > Aber wenn ich auf einem Harvard-Datenbus mit jedem Takt neue Daten von > einem anderen Speicherort brauche, dann ändert sich auch auf diesem Bus > ständig alles. Es gibt aber eine Befehls-holephase und eine daten-holephase auf dem v. Neumannbus, die Daten wechseln also häufiger im Vergleich zum Harvard, auf dem nur die Befehlsholephase läuft. Ausserdem läuftdieser Bus nur in einer Richtung muss also nicht auf Richtungsumkehr vorbereitet sein. >> Falls der Programmcode kompakt ist kann man den Instruction-Memory bei >> SoC gleich 'on Die' oder als 'stacked Die' implementieren was die >> 'stromfressenden PCB-Treiber erspart. Für den data memory nimmt man aus >> Kostengründen externe Speicherchips. > Solche lokalen Busse sind aber schon wieder unabhängig von der > Architektur. Natürlich ist auch bei Von-Neumann-Rechnern der externe Bus > von eigentlichen Prozessor abgekoppelt. Der externe Bus wird auch bei > dieser Architektur nur dann aktiv, wenn auf den dort angeschlossenen > Datenspeicher zugegriffen werden muss. Ich bezug mich hier auf die Unterschiedlichen IC-Fertigungstechnologien, einen SoC-Die mit Logic- und Mem-strukturen hat eine weitaus niedrigeres yield als seperaten Technologien. > Offenbar kann man bei diesen Betrachtungen leicht verschiedene > Abstraktionebenen (von der RTL- bis zur OS-Ebene hin) miteinander > vermischt und gegeneinander ausgespielt, um entweder das eine oder das > andere Architektur-Modell besser aussehen zu lassen. Nein das scheint nur den Personen mit partiellen Durchblick so, man kann über alle ebenen Betrachtungen anstellen, die klar die Energie-vorteile von Harvard belegen. Man kann ja auch eine Statistik über das Marktangebot machen, wie hoch ist der Anteil der v.Neumann an den LP-controllern?!
Nano schrieb: > Hat hier die Harvard-Architektur also Vorteile? Nein, eher Nachteile weil sie mehr Leitungen hat (Daten und Adressbus nicht nur an RAM-Daten-Speicher sondern noch mal Daten und Adress an ROM-Programm-Speicher). Bei NMOS bringt das deutlich mehr Strombedarf, da gute CMOS Chips aber eher Strom abhängig von der Anzahl der Schaltvorgänge ziehen, und Neumann doppelt so viele Daten über den halben Bus transportiert, ist es bei CMOS eher egal. RAM abzuschalten aber es jeden Takt wieder einschalten zu müssen kostet eher mehr Strom.
Beitrag #6494314 wurde vom Autor gelöscht.
Theo Thermistor schrieb: > Lothar M. schrieb: >> Theo Thermistor schrieb: >>> Ja, da man bei Harvard den Programmspeicher als ROM auslegen (keine >>> selbstmodifiziernde Codes) kann. Dunkel der Sinn deiner Rede ist. >> Das ist doch beim FlashROM-Speicher eines µC doch auch der Fall. Das ist >> also keine "Energiesparmöglichkeit". > > Aber klar ist das eine Einsparmöglichkeit, weil Flash-ROM fürs > I)nstruction Mem nur bei Harvard möglich ist. Nein. Wie kommst du auf diesen dünnen Zweig? Selbstverständlich kann (muß sogar) bei einem Rechner mit von-Neumann-Architektur Code in ROM liegen. Wie sollte so ein Rechner denn sonst starten? Und seit wann ist denn die vN-Architektur gleichzusetzen mit selbstmodifizierendem Code? Speziell im embedded Bereich legt man durchaus auch den gesamten Programmcode in ein Flash-ROM bzw. Masken-ROM (für Massenartikel). Noch niemals die interne Struktur eines z.B. 68HC11 oder Z8 angesehen? Das sind klassische vN-Architekturen. Mit ROM. >> Wenn ich einen Bus nicht "brauche" und auf dem Bus deshalb "Ruhe" >> herrscht, dann ist dort natürlich ausser Leckstrom kein Strombedarf > > Es gibt aber eine Befehls-holephase und eine daten-holephase auf dem v. > Neumannbus, die Daten wechseln also häufiger im Vergleich zum Harvard, > auf dem nur die Befehlsholephase läuft. Wenn man Äpfel mit Äpfeln vergleicht, dann muß man auch bei der Harvard-Architektur den Fall betrachen, wo Daten aus dem RAM geholt werden. Und dann hat man da eine Aktivität auf dem einen und eine Aktivität auf dem anderen Bus. Wieso sollte das stromsparender sein als zwei Aktivitäten auf dem gleichen Bus?
Axel S. schrieb: > Selbstverständlich kann > (muß sogar) bei einem Rechner mit von-Neumann-Architektur Code in ROM > liegen. Nur, wenn er in der Lage sein soll, selbsttätig zu starten. Was weder bei Rechnern noch bei Controllern stets der Fall ist bzw war.
Ist das rote oder das grüne Auto schneller?
Theo Thermistor schrieb: > Aber klar ist das eine Einsparmöglichkeit, weil Flash-ROM fürs > I)nstruction Mem nur bei Harvard möglich ist. Und genau danach (Harvard) > hat der TO doch gefragt. Demnach können PCs ihr BIOS aus dem Flash-ROM nicht starten. Meiner funktioniert aber trotzdem irgendwie. Auch der Gameboy (Z80) muss magische Fähigkeiten haben, wenn er Spiele aus dem ROM-Modul abspielt.
Ich will sinnlosen Unfug ja nicht über Gebühr stören, nur vorsichtig darauf hinweisen, dass TI die im Vergleich mit diversen anderen Controller-Designs neue und von vorneherein auf minimalen Stromverbrauch optimierte MSP430 Architektur als vN rausbrachte. Sind die doof?
:
Bearbeitet durch User
Es gibt auch welche, die bringen Harv. als Hochleistung.. heraus. Sind die doof?
> Demnach können PCs ihr BIOS aus dem Flash-ROM nicht starten.
Öfter mal draufklopfen beim Start...
MCUA schrieb: > Es gibt auch welche, die bringen Harv. als Hochleistung.. heraus. Die sind aber ganz geheim, die "welche" und auch die "wofür"! > Sind die doof? Nein, aber ich vermute, die Anwendung ist speziell. Und "Hochleistung" ist jetzt speziell für mich quasi absolut diametral zu "Strom sparen"...
Lothar M. schrieb: > MCUA schrieb: >> Es gibt auch welche, die bringen Harv. als Hochleistung.. heraus. > Die sind aber ganz geheim, die "welche" und auch die "wofür"! Manche beziehen Harvard auf die Strukturen innerhalb des CPU-Kerns, nicht auf Adressräume. Also auf Befehls- und Datenspeicheroperationen über getrennte L1 Caches. Dann sind das alle x86 CPUs der letzten 2 Jahrzehnte. ;-)
Beitrag #6494751 wurde von einem Moderator gelöscht.
Lothar M. schrieb: > Und "Hochleistung" ist jetzt speziell für mich quasi absolut diametral > zu "Strom sparen"... Bist du anno Pentium 4 bei Intel beschäftigt gewesen? ;-) Die dachten das auch. Danach dachten sie anders. Die Grenze der Rechenleistung normaler CPUs wird von der dafür benötigte elektrischen Leistung und der daraus folgenden möglichen Kühlung definiert. Das war schon bei den Grosscomputern von 50 Jahren so und brach dem Pentium 4 das Genick. Seither spielt Strom sparen auch bei x86 eine wesentliche Rolle.
:
Bearbeitet durch User
Vielen Dank für eure Antworten. Ich denke damit wäre meine Frage sehr gut beantwortet. Weitere Fragen zum Thema habe ich keine.
Es ist doch wurschtegal, ob (bsp.weise) 10 Module (je 10 mA, je für 100ns) an 1,2,3,4,5 Bussen dran hängen. Der Gesamt-I-Verbrauch (mA/s) ist der selbe. Also rot oder grün ist egal.
(prx) A. K. schrieb: > Seither spielt Strom sparen auch bei x86 eine wesentliche > Rolle. Sag das mal dem aktuellen Core i9-10900k mit seinen 125 Watt PL1 und 250 Watt PL2...
Der Pentium 4 hatte zu viele/tiefe Pipeline-Stufen, die dann nat. mehr I brauchen. Das hat aber nichts mit der (hier gefragten) Bus-Architektur zu tun.
Rolf M. schrieb: > Sag das mal dem aktuellen Core i9-10900k Mit dem i9 kann ich nicht dienen, aber ich habe mal versucht, mit einfachen Mitteln einen EPYC 2 64-Kerner daran zu erinnern, dass er für 200W Dauerleistung ausgelegt ist. Mit allen Cores auf Vollast hing er hartnäckig am Turbo-Limit und blieb trotzdem weit unter den 200W. Mit dem 6W N3350 vom Netbook - am anderen Ende der Leistungsskala angesiedelt - sieht es ähnlich aus. Wenn der Arbeit hat, klemmt er auch dauerhaft am Turbo-Limit fest. Da muss schon noch 3D-Last für die iGPU hinzu kommen, um den Takt zu drücken. Also das mit dem Strom sparen, das scheint schon zu funktionieren. Units, die gerade nicht gebraucht werden, brauchen kaum Strom. Berüchtigt ist AVX-Code, besonders der 512er bei Intel, aber der war nicht dabei. PS: Wenn man es runterrechnet, dürfte ein EPYC 2 Core bei Vollast kaum mehr Watt gebraucht haben, als ein Atom Core. Wenn man bedenkt, dass ein single core Pentium 4 auch ohne Arbeit schon für zig Watt gut war...
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.