Другие языки программирования и технологии

как программируются команды в процессорах

я понимаю как из двоичного кода можно получить символ и вывести на дисплей, я понимаю как происходит сложение 1+1 в процессоре (это я уже изучил), НО Я НЕ МОГУ ПОНЯТЬ КАК НАПРИМЕР ЗАДАЕТСЯ В ДВОИЧНОМ КОДЕ ВЫПОЛНЕНИЕ КАКОЙ+ЛИБО КОМАНДЫ. Кто знает пожалуйста подробно объясните. Помогите разобраться или давайте вместе разберемся. Только не надо никаких ссылок, они бесполезны.
Yura Tsaregorodtsev
Yura Tsaregorodtsev
355
набор команд "прошит" в процессоре на аппаратном уровне
Виктор Ахметов
Виктор Ахметов
81 717
Лучший ответ
Yura Tsaregorodtsev так это ясно, а как именно он "прошит"?
Всё сводится к соединению транзисторными ключами нужных узлов процессора друг с другом. Состояния транзисторов на входе шины данных процессора или выходах его регистров соединяются, например, с суммирующим устройством, а его выходы соединяются с входами транзисторов другого регистра. Сигналы на эти ключи подаются с дешифратора команд. Это в простейшем случае.
Современные процессоры, которые могут иметь миллиарды транзисторов, устроены гораздо сложнее и представляют собой, по сути, микрокомпьютеры. Поток команд анализируется, оптимизируется (одни команды могут заменяться другими, может меняться порядок выполнения команд, если это не повлияет на результат) и превращается в набор вызовов микропрограмм ( которые состоят из микрокоманд с гораздо большим количеством битов и могут работать со скрытыми от программиста регистрами), которые уже действуют описанным способом. При оптимизации учитывается наличие в процессоре множества скрытых от программиста наборов регистров, возможно, нескольких арифметическо-логических устройств (сумматоров, умножителей, сдвиговых регистров и т. п.), кешей, конвейеров, на которые поступают команды для выполнения, узлов предсказания будущих, еще не поступивших команд, которые на всякий случай могут выполнены свободными в данный момент узлами процессорама - если результаты не понадобятся, они просто не будут использованы, и т. п.
У процессора есть набор команд, которые он способен выполнить. Каждая команда имеет свой код. Например, код 100 может обозначать сложение, а 101 вычитание. В командах так же содержатся коды, обозначающие, где взять операнды. Например, последовательность кодов 100 01 02, может означать: прибавить содержимое регистра №2 к регистру №1, результат поместить в регистр №1
ТЕКСТ, НАБРАННЫЙ БОЛЬШИМИ БУКВАМИ ТЯЖЕЛО ЧИТАТЬ. В ИНТЕРНЕТЕ ЭТО ОБОЗНАЧАЕТ, ЧТО ТЫ КРИЧИШЬ. НЕ НАДО ТАК ДЕЛАТЬ.
Yura Tsaregorodtsev прибавить проще простого, а как к примеру сделать команду IF ?
Yura Tsaregorodtsev ЕГО ПРОСТО ЛУЧШЕ ВИДНО НЕ ВЫДУМЫВАЙ ДЛЯ СВОЕГО МОЗГА ТОГО ЧЕГО НЕТ
Это все довольно сложно.
Процессор это совокупность операционного автомата и управляющего автомата.
Операционный автомат выполняет заданные команды: складывает, сдвигает и т. д.
Управляющий автомат вырабатывает управляющие сигналы для элементов операционного автомата в зависимости от текущего состояния вычислительного процесса.

Вам надо читать про схемотехнику ЭВМ, а также теорию автоматов.
۞✞Алекс۞✞ ❤
۞✞Алекс۞✞ ❤
41 117