2014-11-12 1 views
2

В настоящее время мы покрываем архитектуру MIPS. Я нахожу понимание компьютерной архитектуры и сборки MIPS, что хорошо.Где находится таблица поиска операций MIPS?

Однако, я пробовал использовать этот ответ, но я не нашел подходящего ответа. Я смущен от слоя ниже ISA и архитектуры микро архитектуры. Где находится таблица поиска операций MIPS, скажем, в определенном месте в памяти? Как переменные и переменные типы представлены как в MIPS (так как формат типа переменной или переменные в двоичном формате не указаны в коде операции MIPS, а не только в инструкциях по сборке MIPS). Спасибо.

РЕДАКТИРОВАТЬ: Является ли ЦП его таблицы поиска (или является таблицей опкода только полезной ссылкой для программистов и что эта таблица не существует в аппаратном обеспечении)? Или аппаратное обеспечение MIPS настроено так, что оно действует на код операции MIPS?

ответ

3

Если вы хотите найти код операции сборки MIPS (так называемый «набор инструкций MIPS»), вы должны обратиться к документации MIPS. Например:

http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html

ПМО аппаратные орудий набора инструкций. В CPU нет «таблицы поиска».

Конкретная часть ответственного ЦП является «инструктором», частью «блока управления». Вот короткая анимация, которая дает вам более подробную информацию о инструкции Fetch/Decode/Выполнить цикл:

https://prezi.com/bz0fc-00otft/computer-architecture-registers-and-the-fetch-execute-cycle/

0

Некоторые наборы инструкций являются microcoded, 6502, некоторые, возможно, все x86, и т.д., но MIPS, руки и другие (RISC, но линия между RISC и CISC довольно нечеткая), не являются микрокодированными. Даже те, которые являются микрокодированными, мы обычно не получаем доступа к самому микрокоду, наш интерфейс строго фронтальный, ISA. Микрокод, если он есть, должен быть либо включен в чип/пакет (нестабильный) rom, либо загружен в RAM при загрузке с какого-нибудь роя. Основываясь на новостных статьях много лет назад, x86 и/или amd могут иметь возможность сгореть в микрокоде, модифицированном BIOS при загрузке.

Что касается mips, то это путь к родовому термину, поскольку он является преподавательской архитектурой, каждый N-й компьютер-инженер выполнил свою собственную реализацию, поэтому в дополнение к тому, что существуют десятки-сотни тысяч реализаций mips много реальных реализаций от самого MIPS. И конечно, одна или многие образовательные версии, сделанные классом или изученные классом и т. Д., Могут быть микрокодированы только для обучения микрокодированию. И, естественно, если они существуют, то кодирование микрокодов само по себе является изобретением этой реализации, поскольку не существует универсального набора инструкций для микрокодов, который каждый использует ...

2

Таблицы кода операций фактически не существуют (кроме некоторых архитектур, имеющих микрокод ... поясняется ниже). Способ, которым они работают, заключается в том, что коды операций для микропроцессора интерпретируются рядом цифровых схем, которые реализуют конечный автомат. Эти схемы называются блоком управления. Блок управления отвечает за включение памяти, запись, управление ALU и т. Д., Чтобы создать поведение, требуемое для конкретного кода операции.

Пример. Предположим, вы выдаете код операции для загрузки данных из непосредственной инструкции в регистр. Этот код операции заставит конечный автомат увеличивать счетчик программ на единицу и выдавать считывание памяти, позволяя внутренним шинам, чтобы показание появилось на входной строке защелок для конкретного реестре (все они управляются внутренними буферными линиями). Когда сигнал синхронизации достигнут, местоположение бара на инкрементированном программном счетчике находится на шине данных и считывается в регистр.Затем контроллер переходит к следующему состоянию, которое должно выбрать следующий код операции.

Как эти состояния закодированы в схему, это логические ворота, которые утверждают сигналы в правильное время на основе конкретных входов в регистр управления. Иногда это было реализовано как ПЗУ, в то время как логические схемы. На старых микропроцессорах, таких как 6502, это имело интересный побочный эффект. Было несколько неопределенных кодов операций, которые не были предназначены для каких-либо действий, однако при выдаче этих кодов операций они вызывали бы функциональность контроллера, которую проектировщики не планировали, поскольку эти неопределенные коды операций, по-видимому, являются частью определенного кода операции для одной части блока управления и другая часть кода операции будут интерпретироваться по-разному для еще одного аспекта блока управления. Это приводит к неопределенному поведению, некоторые из которых были полезны и фактически использовались в коде. Другие были бесполезны и остановили процессор или mbe нестабильно.

Архитектуры, которые используют микрокод, который относится ко всем современным архитектурам, читают код операции и имеют таблицу с определенным набором внутренних инструкций для реализации этого кода операции. Эти инструкции были бы сопоставимы с приведенным набором команд для микропроцессора, но не были бы непосредственно доступны программисту. На данный момент эти небольшие инструкции для микрокода ведут себя так же, как традиционные архитектуры, в том смысле, что они будут интерпретироваться маленькой государственной машиной для управления поведением микропроцессора.

Интересной особенностью микрокода является то, что инженеры ЦП могут обновлять функциональные возможности процессора с помощью обновлений таблицы микрокода. Intel часто делает это, если обнаружена ошибка или обнаружен лучший способ реализации кода операции.

Для получения дополнительной информации по этому вопросу см:

http://www.pagetable.com/?p=39

http://en.wikipedia.org/wiki/Control_unit#Hardwired_control_unit

https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Microcode.html

Смежные вопросы