Implementacja kontroli rejestru skoków do MIPS jednokrotnego cyklu
Próbuję zaimplementować obsługę instrukcji jr (jump register)do procesora MIPS o jednym cyklu. Na poniższym obrazku narysowałem prosty mux, który umożliwia wybranie pomiędzy zwykłym komputerem łańcucha lub adresem instrukcji (jr).
Skąd mam wiedzieć, że instrukcja ustawia wybór mux na '1'? Zrobiłem już jump i jump_and_link (chociaż obrazek tego nie pokazuje, bo nie mam teraz swojego projektu w rękach), a żeby je kontrolować, po prostu sprawdź, czy kod OP to 10 (jump) lub 11 (jal) w głównym sterowaniu, a następnie Ustaw mux sel na '1'. Ale myślę, że nie mogę zrobić tego samego z jr, ponieważ układ instrukcji jest odrębny.
2 answers
Kod OPC JR
instrukcji Ma Instruction[31:26] == 0
(special) i Instruction[5:0] == 0x08 (JR).
musisz spojrzeć na obie te pozycje bitowe, aby zdecydować, że jest to Instrukcja JR
. Blok Control
na twoim diagramie musi mieć dodatkowe wejście Instruction[5:0].
pole rs
W Instruction[25:21]
wybiera rejestr źródłowy dla tej instrukcji. Komputer musi być przypisany do rs
podczas wykonywania instrukcji JR
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-22 23:52:37
Myślę, że można poprawić wydajność sprzętu poprzez implementację JR MUX przed Jump Mux, ponieważ JR MUX nie jest zależny od pcnext wyjścia Jump sel MUX.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-07 07:28:55