Что это за логическая составляющая?

352
committedandroider

Это из http://www.cis.upenn.edu/~milom/cse240-Fall05/handouts/Ch05.pdf, слайд 9.

enter image description here

Из этой диаграммы я узнаю 0001 как код операции или ДОБАВИТЬ. Я распознаю 011 или 3 как регистр источника и 101 или 5 как регистр назначения. Я знаю, что 1 означает немедленный режим или второй операнд находится непосредственно в инструкции.

Отсюда я знаю, что второй операнд имеет 11111 или -1 в десятичном формате и что он будет расширен до знака (SEXT) перед добавлением к данным в регистре источника.

Кто-нибудь знает, что делает логический компонент, который я выделил?

1

1 ответ на вопрос

2
Dmitry Grigoryev

Это мультиплексор. Если вход слева 1, он будет проходить через непосредственное значение из SEXTблока, в противном случае он будет передавать значение из выбранного регистра.

Будет ли выбранный регистр R7? Какое значение будет в R7? committedandroider 9 лет назад 0
Не обязательно. Эта диаграмма актуальна для команды «добавить немедленный», когда пятый бит установлен в «1». Вы должны посмотреть различные команды добавления (с пятым битом, установленным в `0`) в спецификации, чтобы увидеть, как именно адресуются регистры. Dmitry Grigoryev 9 лет назад 0
О, я понял. Если пятый бит был 0, то мультиплексор выберет другой регистр в качестве второго операнда. Спасибо! Я был немного смущен, потому что слайд 8 не показывает мультиплексор, когда пятый бит равен 0. committedandroider 9 лет назад 1

Похожие вопросы