Externe Speicherorganisation

Der Mikrocontroller erhält seine Arbeitsanweisungen von einem Programm. Das Programm bearbeitet die Daten, welche vom Controller eingelesen werden. Sowohl das Programm, wie auch die Daten sind zu speichern.

Der Mikrocontroller 80C517 enthält einen internen ROM-Speicher von 32k x 8 für ein festes Programm. Für ein variables Programm, wird ein externer Speicher benötigt. (z.B. ein externes EPROM).Verwendet man einen Mikrocontroller, welcher kein internes ROM hat (z.B. der 80535) muss immer ein externes ROM verwendet werden.
Das gilt auch für den RAM-Speicher. Sollte der RAM-Speicher zu klein sein, benötigt man auch hier einen zusätzlichen externen RAM-Speicher.

 

Speicher-Architekturen

Man unterscheidet grundsätzlich zwischen Harvard- und Von Neumann-Architektur.
Die Harvard-Architektur teilt den Speicher in einen Programm- und Datenspeicher auf.

Beide Speicher liegen im gleichen Adressbereich und der Controller wählt bei gleicher Adresse einen der beiden Speicher über ein Steuersignal aus.
Aus dem Programmspeicher kann nur gelesen und aus dem Datenspeicher gelesen und geschrieben werden.

 

Harvard-Architektur

 Harvard-Architektur

 

Im Gegensatz zur Harvard-Architektur liegen bei der Von-Neumann-Architektur Programm und Daten abwechselnd im gleichen Speicher.
Programm und Daten werden nur über die Adresse aufgerufen.

 

Von-Neumann-Architektur

Von-Neumann-Architektur

 

Die Controller der 8051-Familie wurden für die Harvard-Architektur konzipiert.
Der externe Programm- und Datenspeicher liegt im gleichen Adressbereich und beginnt bei Adresse 0000h.

Bei der Harvard-Architektur gibt der Controller einen der beiden Speicher frei.
Der Controller gibt den Programmspeicher (aus ihm kann nur gelesen werden) mit dem Steuersignal PSEN (Programm STORE Enable) frei.

Mit den Steuersignalen RD (Read) oder WR (Write) wird der Eingang- oder der Ausgang des externen Datenspeichers angesteuert.
Daten lassen sich hier sowohl lesen wie auch schreiben.

 

Harvard Architektur

 Harvard-Architektur Programm- und Datenspeicher

 

 

Die Controller der 8051-Familie lassen sich aber auch für eine Von-Neumann-Architektur einsetzen.
Um dies zu erreichen, müssen die Steuersignale des Controllers entsprechend verknüpft werden.

 

Verknüpfung einer Von-Neumann-Architektur

Von-Neumann-Architektur Verknüpfung

Da das UND-Gatter für LOW-Aktive Signale ein ODER darstellt, gibt PSEN oder RD den Ausgang des Speichers frei.
Der Speicherinhalt wird jetzt gelesen.
mit WR wird der Eingang des Speichers freigegeben und es können die Daten in die gewünschte Adresse geschrieben werden.

Der Nachteil ist, dass sich der gesamte Speicherbereich nur einmal nutzen lässt. Bei der Harvard-Architektur steht der Adressbereich sowohl für den Programm- wie auch für den Datenspeicher je einmal zur Verfügung.

Ob nun die Harvard- oder die Von-Neumann-Architektur eingesetzt wird, hängt von der jeweiligen Anwendung ab.