matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenTechnische InformatikMikrooperationen
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Technische Informatik" - Mikrooperationen
Mikrooperationen < Technische Inform. < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Technische Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Mikrooperationen: Aufgabe 1
Status: (Frage) beantwortet Status 
Datum: 10:42 Mo 19.09.2011
Autor: WhiteKalia

Aufgabe
Gegeben ist der folgende Datenpfad (schwarz gedruckt):
[Dateianhang nicht öffentlich]

R0 bis R7 sind positiv flankengesteuerte 8-Bit Register. Jedes dieser Register besitzt ein load-Signal, das in dem Bild jedoch nur grau angedeutet ist (load-Signale). Ist dieses load-Signal für ein Register eins, dann speichert das entsprechende Register bei einer steigenden Taktflanke den am Eingang anliegenden Wert. Die ALU ist eine kombinatorische Logik, die für zwei 8 Bit Eingangswerte x und y am Ausgang den Wert x + y erzeugt, falls das Signal alu = 0 ist, oder den Wert x + y + 1, falls das Signal alu = 1 ist. Dadurch sind in diesem Datenpfad die Mikrooperationen Ra <= Rb + Rc und Ra <= Rb + Rc + 1 für a, b, c ∈ {0,…,7} zulässig. Tritt bei der Addition zweier 8-Bit-Werte in der ALU ein Übertrag auf, so wird dieser in einem 1-Bit-Statusregister gespeichert. Der Wert dieses Statusregisters wird der Steuerlogik über das Signal carry bereitgestellt.

(a) Geben Sie eine Mikroprogrammsequenz zur Addition zweier 32-Bit-Werte an, die in 4 Takten abgearbeitet werden kann. Die zu addierenden Werte sind in den Registern R0 bis R3 und R4 bis R7 gespeichert, wobei die niederwertigsten 8 Bit in den Registern R0 bzw. R4 stehen und die höchstwertigen 8 Bit in den Registern R3 bzw. R7. Das Ergebnis soll in den Registern R0 bis R3 gespeichert werden.

Hallo!

Könnte mir jemand die ersten eins, zwei Schritte erklären, wie ich da ran gehen kann?

Vielen Dank schonmal.

glg
Kalia

Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
        
Bezug
Mikrooperationen: Lösungsansatz
Status: (Antwort) fertig Status 
Datum: 19:23 Di 20.09.2011
Autor: geograf

Hallo Kalia!

Mit dieser Infrastruktur kann die Addition in vier hintereinanderliegenden Schritten erledigt werden:
1.) Berechne R0+R4 und speichere in R0
2a) Falls Übertrag (carry) gleich 0, berechne R1+R5 und speichere in R1
2b) Falls Übertrag gleich 1, berechne R1+R5+1 und speichere in R1
3a,3b,4a,4b wie oben.

Die Mikroprogrammsequenz ist dann die Übersetzung dieses Algorithmus in Ausgangssignale der Steuerlogik (mux1, mux2,load0 bis load3, alu) in Abhängigkeit von den Eingangssignalen (Taktzähler, carry). Sie wird letztlich in einem ROM oder FPGA abgebildet.

Gruß,
Geograf

Bezug
                
Bezug
Mikrooperationen: Rückfrage
Status: (Frage) überfällig Status 
Datum: 10:33 Do 22.09.2011
Autor: WhiteKalia

Hallo und Danke dir schonmal. =)

Ich habe trotzdem dazu noch ein paar Fragen.^^ ...bzw die Bitte um Korrektur...
Also ich habe das jetzt erstmal folgendermaßen verstanden:

T1: R0 <= R0+R4
T2: IF (carry=0) THEN (R1 <= R1+R5) ELSE (R1 <= R1+R5+1)
T3: IF (carry=0) THEN (R1 <= R2+R6) ELSE (R1 <= R2+R6+1)
T4: IF (carry=0) THEN (R1 <= R3+R7) ELSE (R1 <= R3+R7+1)

Ist das erstmal so korrekt?
..wenn ja, wie müsste ich dann mit den Ein- bzw. Ausgangssignalen vorfahren?
Etwa so?

load0 alu mux1 mux2 T1: R0 <= R0+R4
load1 alu mux1 mux2 T2: IF (carry=0) THEN (R1 <= R1+R5) ELSE (R1 <= R1+R5+1)
load2 alu mux1 mux2 T3: IF (carry=0) THEN (R1 <= R2+R6) ELSE (R1 <= R2+R6+1)
load3 alu mux1 mux2 T4: IF (carry=0) THEN (R1 <= R3+R7) ELSE (R1 <= R3+R7+1)

Danke dir nochmal, dass du dich so mit mir rumquälst.^^

glg
Kalia

Bezug
                        
Bezug
Mikrooperationen: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:20 Sa 24.09.2011
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Technische Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]