B11A1 Timing
04.03.2014 12:08:08
Hallo,
ich bin grad bei A1b vom 11ten Blatt. Die Musterlösung sagt, man könnte der Timingübersicht entnehmen, dass ACCDdoe im ersten Takt von execute aktive werden und dann 3 Takte aktiv bleiben muss. Woran erkenne ich das? An dem grauen Balken in der D/DI Zeile? Gilt das dann für alle Befehle, die auf D schreiben? Load und Compute-Befehle benutzen ja auch den Datenbus.

Und nochwas:
In der Musterlösung ist das Signal komplett negiert und beginnt bei P0 von E. Wenn ich das richtig verstanden habe müsste ACCDdoe bei P1 beginnen, und ACCDdoe_pre bei P0. Und ACCDdoe_pre ist dann aber doch nicht mehr active-low oder? Das wird doch erst im FF negiert?
/SMDdoe ist dagegen nicht komplett negiert. Verstehe ich nicht.

Gruß,
Philipp



3 mal bearbeitet. Zuletzt am 04.03.2014 12:29 von pmallot.
Re: B11A1 Timing
04.03.2014 13:32:03
Hallo Philipp,

zuerst zum /ACCDdoe in der Lösung, die Negation ist ja ein Tippfehler, und die Tutoren wissen es Bescheid, und in der Übungsstunde haben sie es korrekt vorgestellt. Man erkennt ob ein Signal active low oder high ist beim das Timing Diagramm angucken. (D/DI ist ja ein Beispiel). Load Befehle benutzen ja klar den Bus, aber in Richtung Speicher->Register, und nicht andersrum.

Wann ein Treiber enabled sein muss, soll man mit Datenpfadenschema+Befehlstabelle+Idealisiertes Timing Diagramm mitkriegen. Der ACCDd muss enabled werden, wenn der Inhalt von ACC zur Leitung D gehen darf (zB zum Speicher, I, oder Leitung R).

Gruß, Paolo
Re: B11A1 Timing
04.03.2014 13:50:10
Hallo Paolo,

das mit dem Tippfehler muss ich wohl verpasst haben, danke.
Wie ich erkenne ob ein Signal active low oder high ist mir klar, meist reicht da ja schon die Bezeichnung.
Klar für LOAD müsste man dann SMDd schalten, dieser ist ja auch im Timing-Diagramm eingetragen.
Aber für ACCDd find ich es nicht offensichtlich wann der geschaltet werden muss. Es muss natürlich in der execute Phase sein, und es muss vor /SMw aktiv werden und frühestens mit /SMw wieder ausgehen. Aber das ist ja noch nicht eindeutig.
Befehlstabelle und Datenpfadschema sagen einem ja nur welcher Treiber für welchen Befehl gebraucht wird, aber nicht wann in der der Executephase er gebraucht wird. Die Information kommt nur aus dem idealisierten Timing, und das scheint mir diese Information nicht wirklich herzugeben.

Gruß,
Philipp
Re: B11A1 Timing
04.03.2014 14:03:01
Hallo Philipp,

für das "wann": Timing -> Daten auf D/DI. Es ist mir klar dass etwas dir noch nicht so klar ist.... was kann ich aber nicht ganz verstehen.. Mich findest du sowieso im Büro...

Paolo
Re: B11A1 Timing
04.03.2014 14:19:10
Hallo Paolo,

ja so habe ich mir das dann auch gedacht. Heißt das, dass alle Befehle bei denen auf den Datenbus geschrieben werden den entsprechenden Treiber für eben diesen durch "Daten" auf D/DI markierten Zeitraum aktivieren?
Also müsste für LOAD zB SMDd eben auch für den gleichen Zeitraum aktiviert werden?

Gruß,
Philipp
Re: B11A1 Timing
04.03.2014 14:22:14
Hallo Philipp,
ja aber SMDd auch in der Fetch Phase! und bei den entsprechenden Befehlen....

Paolo