@@ -15,7 +15,7 @@ mark: <span style="background-color: @0;
1515 padding: 6px 16px 6px 16px;
1616 ">@1</span>
1717red: @mark(#FF888888,@0)
18- blue: @mark(lightblue ,@0)
18+ blue: @mark(#898AE3 ,@0)
1919gray: @mark(gray,@0)
2020-->
2121
@@ -469,6 +469,10 @@ Die hier verwendete Register-Transfer Sprache wurde von T.C. Bartee, I.L. Lebow,
469469| | $C_n\cdot JMP: PC\leftarrow IR_ {11-0}$ | Wenn der Takt $C_n$ anliegt, und der Befehl "JMP" ausgeführt wird, erfolgt der Transfer des Inhaltes des Instruktionsregisters an den Programmzähler. |
470470
471471### Abläufe der Befehlsabarbeitung
472+ <!--
473+ colspan: <!--colspan="@0" style="text-align: center; vertical-align: middle;"-->
474+ -->
475+
472476
473477Einige Befehle, insbesondere die, welche keinen zweiten Operanden oder ALU-Aktivitäten benötigen, können vollständig in der IF-Phase abgearbeitet werden. Dies gilt für $HLT$, $NOP$, $CSA$, und die Sprungbefehle $JMP$, $JMA$ und $SRJ.$ Bei diesen Befehlen wird im letzten Prozessorzyklus (CP8) eine neue Adresse in das $MAR$ geladen, und dadurch der neue Speicherzyklus vorbereitet.
474478
@@ -478,300 +482,28 @@ Bei den Befehlen, zu deren Ausführung die EX-Phase benötigt wird, wird in CP8
478482
479483In der EX-Phase werden die arithmetisch/logischen Operationen, sowie Speicherbefehle LOAD/STORE und Ein/Ausgabebefehle ausgeführt.
480484
481- <table border =" 1 " >
482- <thead >
483- <tr >
484- <th >OPCode</th >
485- <th >0000</th >
486- <th >0001</th >
487- <th >0010</th >
488- <th >0011</th >
489- <th >0100</th >
490- <th >0101</th >
491- <th >0110</th >
492- <th >0111</th >
493- <th >1000</th >
494- <th >1001</th >
495- <th >1010</th >
496- <th >1011</th >
497- <th >1100</th >
498- <th >1101</th >
499- <th >1110</th >
500- <th >1111</th >
501- </tr >
502- </thead >
503- <tbody >
504- <tr >
505- <td >Befehl</td >
506- <td >HLT</td >
507- <td >JMA</td >
508- <td >JMP</td >
509- <td >JSR</td >
510- <td >SWR</td >
511- <td >RAL</td >
512- <td >INP</td >
513- <td >OUT</td >
514- <td >NOT</td >
515- <td >LDA</td >
516- <td >STA</td >
517- <td >ADD</td >
518- <td >XOR</td >
519- <td >AND</td >
520- <td >IOR</td >
521- <td >NOP</td >
522- </tr >
523- <tr >
524- <td >CP1</td >
525- <td colspan =" 16 " style =" text-align : center ; vertical-align : middle ;" > $MBR \leftarrow M[A]$</td >
526- </tr >
527- <tr >
528- <td >CP2</td >
529- <td ></td >
530- <td ></td >
531- <td ></td >
532- <td ></td >
533- <td ></td >
534- <td ></td >
535- <td ></td >
536- <td ></td >
537- <td ></td >
538- <td ></td >
539- <td ></td >
540- <td ></td >
541- <td ></td >
542- <td ></td >
543- <td ></td >
544- <td ></td >
545- </tr >
546- <tr >
547- <td >CP3</td >
548- <td colspan =" 16 " style =" text-align : center ; vertical-align : middle ;" > $PC \leftarrow PC + 1$</td >
549- </tr >
550- <tr >
551- <td >CP4</td >
552- <td colspan =" 16 " style =" text-align : center ; vertical-align : middle ;" > $IR \leftarrow MBR $ </td >
553- </tr >
554- <tr >
555- <td >CP5</td >
556- <td ></td >
557- <td ></td >
558- <td ></td >
559- <td ></td >
560- <td ></td >
561- <td ></td >
562- <td ></td >
563- <td ></td >
564- <td ></td >
565- <td ></td >
566- <td ></td >
567- <td ></td >
568- <td ></td >
569- <td ></td >
570- <td ></td >
571- <td ></td >
572- </tr >
573- <tr >
574- <td >CP6</td >
575- <td ></td >
576- <td ></td >
577- <td ></td >
578- <td ></td >
579- <td ></td >
580- <td ></td >
581- <td ></td >
582- <td ></td >
583- <td ></td >
584- <td ></td >
585- <td ></td >
586- <td ></td >
587- <td ></td >
588- <td ></td >
589- <td ></td >
590- <td ></td >
591- </tr >
592- <tr >
593- <td >CP7</td >
594- <td >$RF \leftarrow H$</td >
595- <td >$A_{15}=1:PC\leftarrow IR_{11-0}$</td >
596- <td >$PC\leftarrow IR_{11-0}$</td >
597- <td >$A_{11-0} \leftarrow PC$</td >
598- <td >$A \leftarrow SWR$</td >
599- <td >$Z \leftarrow A$</td >
600- <td ></td >
601- <td ></td >
602- <td >$Z \leftarrow A$</td >
603- <td ></td >
604- <td ></td >
605- <td >$Z \leftarrow A$</td >
606- <td >$Z \leftarrow A$</td >
607- <td >$Z \leftarrow A$</td >
608- <td >$Z \leftarrow A$</td >
609- <td ></td >
610- </tr >
611- <tr >
612- <td >CP8</td >
613- <td >$MAR \leftarrow PC$</td >
614- <td >$MAR \leftarrow PC$</td >
615- <td >$MAR \leftarrow PC$</td >
616- <td >$PC\leftarrow IR_{11-0}, MAR \leftarrow PC $</td >
617- <td >$MAR \leftarrow PC$</td >
618- <td >$SF\leftarrow E$</td >
619- <td ></td >
620- <td ></td >
621- <td >$SF\leftarrow E$</td >
622- <td colspan =" 6 " style =" text-align : center ; vertical-align : middle ;" > $SF\leftarrow E, MAR \leftarrow IR_{11-0}$</td >
623- <td >$MAR \leftarrow PC$</td >
624- </tr >
625- </tbody >
626- <tbody bgcolor =' #898ae3 ' >
627- <tr >
628- <td >CP1</td >
629- <td ></td >
630- <td ></td >
631- <td ></td >
632- <td ></td >
633- <td ></td >
634- <td ></td >
635- <td ></td >
636- <td ></td >
637- <td ></td >
638- <td >$MBR\leftarrow M[A]$</td >
639- <td ></td >
640- <td >$MBR\leftarrow M[A]$</td >
641- <td >$MBR\leftarrow M[A]$</td >
642- <td >$MBR\leftarrow M[A]$</td >
643- <td >$MBR\leftarrow M[A]$</td >
644- <td ></td >
645- </tr >
646- <tr >
647- <td >CP2</td >
648- <td ></td >
649- <td ></td >
650- <td ></td >
651- <td ></td >
652- <td ></td >
653- <td >$A\leftarrow Z^*$</td >
654- <td ></td >
655- <td ></td >
656- <td >$A\leftarrow \overline{Z}$</td >
657- <td ></td >
658- <td ></td >
659- <td ></td >
660- <td ></td >
661- <td ></td >
662- <td ></td >
663- <td ></td >
664- </tr >
665- <tr >
666- <td >CP3</td >
667- <td ></td >
668- <td ></td >
669- <td ></td >
670- <td ></td >
671- <td ></td >
672- <td ></td >
673- <td ></td >
674- <td ></td >
675- <td ></td >
676- <td ></td >
677- <td ></td >
678- <td ></td >
679- <td ></td >
680- <td ></td >
681- <td ></td >
682- <td ></td >
683- </tr >
684- <tr >
685- <td >CP4</td >
686- <td ></td >
687- <td ></td >
688- <td ></td >
689- <td ></td >
690- <td ></td >
691- <td ></td >
692- <td ></td >
693- <td ></td >
694- <td ></td >
695- <td ></td >
696- <td ></td >
697- <td ></td >
698- <td ></td >
699- <td ></td >
700- <td ></td >
701- <td ></td >
702- </tr >
703- <tr >
704- <td >CP5</td >
705- <td ></td >
706- <td ></td >
707- <td ></td >
708- <td ></td >
709- <td ></td >
710- <td ></td >
711- <td ></td >
712- <td ></td >
713- <td ></td >
714- <td >$A\leftarrow MBR$</td >
715- <td >$MBR \leftarrow A$</td >
716- <td ></td >
717- <td ></td >
718- <td ></td >
719- <td ></td >
720- <td ></td >
721- </tr >
722- <tr >
723- <td >CP6</td >
724- <td ></td >
725- <td ></td >
726- <td ></td >
727- <td ></td >
728- <td ></td >
729- <td ></td >
730- <td ></td >
731- <td ></td >
732- <td ></td >
733- <td ></td >
734- <td >$M[A] \leftarrow MBR$</td >
735- <td ></td >
736- <td ></td >
737- <td ></td >
738- <td ></td >
739- <td ></td >
740- </tr >
741- <tr >
742- <td >CP7</td >
743- <td ></td >
744- <td ></td >
745- <td ></td >
746- <td ></td >
747- <td ></td >
748- <td ></td >
749- <td ></td >
750- <td ></td >
751- <td ></td >
752- <td ></td >
753- <td ></td >
754- <td >$A \leftarrow Sum(MBR, Z)$</td >
755- <td >$A \leftarrow MBR \oplus Z$</td >
756- <td >$A \leftarrow MBR \cdot Z$</td >
757- <td >$A \leftarrow MBR + Z$</td >
758- <td ></td >
759- </tr >
760- <tr >
761- <td >CP8</td >
762- <td ></td >
763- <td ></td >
764- <td ></td >
765- <td ></td >
766- <td ></td >
767- <td >$MAR \leftarrow PC, SF \leftarrow F$</td >
768- <td ></td >
769- <td ></td >
770- <td colspan =" 7 " style =" text-align : center ; vertical-align : middle ;" > $ MAR \leftarrow PC, SF \leftarrow F$</td >
771- <td ></td >
772- </tr >
773- </tbody >
774- </table >
485+ <!-- data-type="None"-->
486+ | OPCode | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
487+ | ------ | -------------- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- |
488+ | | ` HLT ` | ` JMA ` | ` JMP ` | ` JSR ` | ` SWR ` | ` RAL ` | ` INP ` | ` OUT ` | ` NOT ` | ` LDA ` | ` STA ` | ` ADD ` | ` XOR ` | ` AND ` | ` IOR ` | ` NOP ` |
489+ | CP1 | @colspan (16) $MBR \leftarrow M[ MAR] $ |
490+ | CP2 | | | | | | | | | | | | | | | | |
491+ | CP3 | @colspan (16) $PC \leftarrow PC + 1$ |
492+ | CP4 | @colspan (16) $IR \leftarrow MBR $ |
493+ | CP5 | | | | | | | | | | | | | | | | |
494+ | CP6 | | | | | | | | | | | | | | | | |
495+ | CP7 | $RF \leftarrow H$ | $A_ {15}=1: PC \leftarrow IR_ {11-0}$ | $PC\leftarrow IR_ {11-0}$ | $A_ {11-0} \leftarrow PC$ | $A \leftarrow SWR$ | $Z \leftarrow A$ | | | $Z \leftarrow A$ | | | $Z \leftarrow A$ | $Z \leftarrow A$ | $Z \leftarrow A$ | $Z \leftarrow A$ |
496+ | CP8 | $MAR \leftarrow PC$ | $MAR \leftarrow PC$ | $MAR \leftarrow PC$ | $PC\leftarrow IR_ {11-0}, MAR \leftarrow PC $ | $MAR \leftarrow PC$ | $SF\leftarrow E$ | | | $SF\leftarrow E$ | @colspan (6) $SF\leftarrow E, MAR \leftarrow IR_ {11-0}$ | $MAR \leftarrow PC$ |
497+ | <!-- style="background-color: #898AE3;" --> $CP1$ | | | | | | | | | | $MBR\leftarrow M[ MAR] $| | @colspan (4) $MBR\leftarrow M[ MAR] $| |
498+ | <!-- style="background-color: #898AE3;" --> $CP2$ | | | | | | $A\leftarrow Z^* $ | | | $A\leftarrow \overline{Z}$ | | | | | | | |
499+ | <!-- style="background-color: #898AE3;" --> $CP3$ | | | | | | | | | | | | | | | | |
500+ | <!-- style="background-color: #898AE3;" --> $CP4$ | | | | | | | | | | | | | | | | |
501+ | <!-- style="background-color: #898AE3;" --> $CP5$ | | | | | | | | | | $A\leftarrow MBR$ | $MBR \leftarrow A$ | | | | | |
502+ | <!-- style="background-color: #898AE3;" --> $CP6$ | | | | | | | | | | | $M[ MAR] \leftarrow MBR$ | | | | | |
503+ | <!-- style="background-color: #898AE3;" --> $CP7$ | | | | | | | | | | | | $A \leftarrow Sum(MBR, Z)$| $A \leftarrow MBR \oplus Z$| $A \leftarrow MBR \cdot Z$| $A \leftarrow MBR + Z$| |
504+ | <!-- style="background-color: #898AE3;" --> $CP8$ | | | | | | $MAR \leftarrow PC, SF \leftarrow F$ | | | @colspan (7) $ MAR \leftarrow PC, SF \leftarrow F$ | |
505+
506+
775507
776508Der folgende Automat bildet die Abarbeitung der Instruktionen ` HLT ` , ` JMP ` , ` JMA ` und ` JSR ` in einem Automaten ab.
777509
0 commit comments