Базовый CS с нуля
Процессор: тест на свободное припоминание
Припоминание сильнее перечитывания. На каждый вопрос произнесите или запишите полный ответ по памяти, прежде чем открыть модельный ответ — именно усилие вытащить механизм из головы и закрепляет его.
Восстановите по памяти ключевые механизмы юнита: что такое инструкция, как работает цикл fetch-decode-execute, что делают счётчик команд и регистры и почему программа — это просто байты в памяти.
- 01Что такое инструкция CPU и из каких двух частей состоит почти любая инструкция?
- 02Опишите цикл fetch-decode-execute и роль счётчика команд (program counter) в нём.
- 03Почему CPU держит рабочие значения в регистрах, а не читает и пишет основную память на каждом шаге?
- 04В чём разница между регистром общего назначения и регистром специального назначения? Приведите пример каждого.
- 05Сформулируйте принцип хранимой программы (фон Неймана) и объясните, почему он важен на практике.
- 06Что такое машинный код и что такое набор инструкций (ISA)? Почему бинарник ARM не запускается напрямую на чипе x86-64?
Если вы смогли восстановить каждый ответ по памяти, вы держите стержень юнита: инструкция — это операция плюс операнды; CPU выполняет их в цикле fetch-decode-execute под управлением счётчика команд; регистры хранят рабочие значения, потому что они в 100-300 раз быстрее RAM; некоторые регистры (PC, указатель стека, флаги, регистр инструкций) имеют фиксированные аппаратные роли; а вся программа — это просто байты машинного кода в общей памяти — идея хранимой программы — поэтому одна машина может выполнить любую программу, и поэтому каждая ISA определяет, какие байты может выполнить данный чип.