Как процессор знает свой набор команд? - PullRequest
5 голосов
/ 13 декабря 2010

Основной вопрос работы компьютера, но я не знаю, как его задать.Когда мы говорим, что на компьютере есть набор инструкций, как он узнает, что это за набор?Это хранится в чипе ROM?Это где-то хранится в процессоре?Куда производитель поместил его, чтобы он мог прочитать диск и начать обработку машинного кода?

Ответы [ 7 ]

7 голосов
/ 13 декабря 2010

Краткий ответ: фактическая схема в процессоре компьютера - это то, что «определяет» набор инструкций.

Относительно короткий ответ. Программное обеспечение, работающее на процессоре, представляет собой физические шаблоны электрических сигналов. Транзисторы в компьютере включают и выключают много, много, много раз в секунду, модифицируя эти схемы сигналов на основе других сигналов. Например, рассмотрим инструкцию mov, которая есть практически на каждом процессоре:

mov dest, src

Это кодируется определенной схемой электрического сигнала, «хранящейся» в памяти. Эта схема сигналов активирует определенные транзисторы так, что сигналы, хранящиеся в dest, совпадают с сигналами в src из-за того, что схема подключена.

Длинный ответ: пройти курс по компьютерной архитектуре. : -)

2 голосов
/ 13 декабря 2010

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

2 голосов
/ 13 декабря 2010

Набор инструкций встроен в ЦП ... на самом деле это результат того, как построена схема, нет реального места для хранения инструкций. Когда компьютер запускается, в ПЗУ появляется небольшая программа, которая знает, как инициализировать все компоненты и загрузить ОС. Из-за особенностей сборки компьютера эта программа запускается первой.

2 голосов
/ 13 декабря 2010

Звучит так, как будто вы объединяете две разные концепции:

Набор инструкций

Набор инструкций - это набор инструкций машинного кода, который обрабатывается ЦПУ.Процессор не должен загружать его из любого места, он встроен в сам процессор.Примеры наборов инструкций: Intel x86, MIPS.

Загрузчик загрузчика

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

1 голос
/ 13 декабря 2010

ЦПУ имеет набор инструкций, которые он знает, как выполнять, и когда вы включаете его, маленький ЦП должен получать инструкции. Это имеет смысл, если поступающие инструкции выполняют процедуру загрузки. Откуда эти инструкции? Обычно это ПЗУ (например, СППЗУ).

0 голосов
/ 13 декабря 2010

Когда процессор описан как имеющий, например, набор инструкций 6502 означает, что если процессор выводит сигналы для извлечения инструкции с некоторого адреса и принимает взамен определенные данные (например, значение байта $ A9), последующие действия процессора будут такими, как описано в документации. Например, 6502 будет извлекать байт из следующего адреса, а затем копировать этот байт в аккумулятор, пока он выводит выборку команды для последующей инструкции.

В большинстве случаев процессор не получает набор инструкций так же, как лампочка приобретает способность преобразовывать электричество в свет. Процессор создан, чтобы делать определенные вещи, когда он получает определенные входные данные; хотя современные процессоры достаточно сложны, так что для их проектирования требуются очень сложные инструменты (в отличие от «древних» времен, когда они часто создавались с использованием ручек, карандашей и бумаги и выполнялись с использованием рубиновой пленки ручной резки), в основном процессоры делают то, что им построены, чтобы делать.

0 голосов
/ 13 декабря 2010

Вы пишете код, который в конечном итоге компилируется в инструкции по сборке, которые в конечном итоге компилируются в «машинный код».Когда процессор получает инструкцию из памяти, он декодирует ее.Процесс декодирования заканчивается установкой различных битов управления в конвейере процессора, которые определяют, что делает ЦП (загружает / хранит данные, выполняет математические операции над операндами и т. Д.).Набор команд определяет, как реализовано оборудование.Это эффективный набор операций, которые процессор может выполнять «аппаратно».

...