Другие языки программирования и технологии
как программируются команды в процессорах
я понимаю как из двоичного кода можно получить символ и вывести на дисплей, я понимаю как происходит сложение 1+1 в процессоре (это я уже изучил), НО Я НЕ МОГУ ПОНЯТЬ КАК НАПРИМЕР ЗАДАЕТСЯ В ДВОИЧНОМ КОДЕ ВЫПОЛНЕНИЕ КАКОЙ+ЛИБО КОМАНДЫ. Кто знает пожалуйста подробно объясните. Помогите разобраться или давайте вместе разберемся. Только не надо никаких ссылок, они бесполезны.
набор команд "прошит" в процессоре на аппаратном уровне
Yura Tsaregorodtsev
так это ясно, а как именно он "прошит"?
Всё сводится к соединению транзисторными ключами нужных узлов процессора друг с другом. Состояния транзисторов на входе шины данных процессора или выходах его регистров соединяются, например, с суммирующим устройством, а его выходы соединяются с входами транзисторов другого регистра. Сигналы на эти ключи подаются с дешифратора команд. Это в простейшем случае.
Современные процессоры, которые могут иметь миллиарды транзисторов, устроены гораздо сложнее и представляют собой, по сути, микрокомпьютеры. Поток команд анализируется, оптимизируется (одни команды могут заменяться другими, может меняться порядок выполнения команд, если это не повлияет на результат) и превращается в набор вызовов микропрограмм ( которые состоят из микрокоманд с гораздо большим количеством битов и могут работать со скрытыми от программиста регистрами), которые уже действуют описанным способом. При оптимизации учитывается наличие в процессоре множества скрытых от программиста наборов регистров, возможно, нескольких арифметическо-логических устройств (сумматоров, умножителей, сдвиговых регистров и т. п.), кешей, конвейеров, на которые поступают команды для выполнения, узлов предсказания будущих, еще не поступивших команд, которые на всякий случай могут выполнены свободными в данный момент узлами процессорама - если результаты не понадобятся, они просто не будут использованы, и т. п.
Современные процессоры, которые могут иметь миллиарды транзисторов, устроены гораздо сложнее и представляют собой, по сути, микрокомпьютеры. Поток команд анализируется, оптимизируется (одни команды могут заменяться другими, может меняться порядок выполнения команд, если это не повлияет на результат) и превращается в набор вызовов микропрограмм ( которые состоят из микрокоманд с гораздо большим количеством битов и могут работать со скрытыми от программиста регистрами), которые уже действуют описанным способом. При оптимизации учитывается наличие в процессоре множества скрытых от программиста наборов регистров, возможно, нескольких арифметическо-логических устройств (сумматоров, умножителей, сдвиговых регистров и т. п.), кешей, конвейеров, на которые поступают команды для выполнения, узлов предсказания будущих, еще не поступивших команд, которые на всякий случай могут выполнены свободными в данный момент узлами процессорама - если результаты не понадобятся, они просто не будут использованы, и т. п.
У процессора есть набор команд, которые он способен выполнить. Каждая команда имеет свой код. Например, код 100 может обозначать сложение, а 101 вычитание. В командах так же содержатся коды, обозначающие, где взять операнды. Например, последовательность кодов 100 01 02, может означать: прибавить содержимое регистра №2 к регистру №1, результат поместить в регистр №1
ТЕКСТ, НАБРАННЫЙ БОЛЬШИМИ БУКВАМИ ТЯЖЕЛО ЧИТАТЬ. В ИНТЕРНЕТЕ ЭТО ОБОЗНАЧАЕТ, ЧТО ТЫ КРИЧИШЬ. НЕ НАДО ТАК ДЕЛАТЬ.
ТЕКСТ, НАБРАННЫЙ БОЛЬШИМИ БУКВАМИ ТЯЖЕЛО ЧИТАТЬ. В ИНТЕРНЕТЕ ЭТО ОБОЗНАЧАЕТ, ЧТО ТЫ КРИЧИШЬ. НЕ НАДО ТАК ДЕЛАТЬ.
Yura Tsaregorodtsev
прибавить проще простого, а как к примеру сделать команду IF ?
Yura Tsaregorodtsev
ЕГО ПРОСТО ЛУЧШЕ ВИДНО НЕ ВЫДУМЫВАЙ ДЛЯ СВОЕГО МОЗГА ТОГО ЧЕГО НЕТ
Это все довольно сложно.
Процессор это совокупность операционного автомата и управляющего автомата.
Операционный автомат выполняет заданные команды: складывает, сдвигает и т. д.
Управляющий автомат вырабатывает управляющие сигналы для элементов операционного автомата в зависимости от текущего состояния вычислительного процесса.
Вам надо читать про схемотехнику ЭВМ, а также теорию автоматов.
Процессор это совокупность операционного автомата и управляющего автомата.
Операционный автомат выполняет заданные команды: складывает, сдвигает и т. д.
Управляющий автомат вырабатывает управляющие сигналы для элементов операционного автомата в зависимости от текущего состояния вычислительного процесса.
Вам надо читать про схемотехнику ЭВМ, а также теорию автоматов.
Похожие вопросы
- Как программируются игры?
- Как процессор различает что есть символ, что число, а что команда? Ведь все в двоичном коде
- Если у процессоров команды на которых они общаются разные то как асемблер определяет какие лучше для какого?
- BAT/CMD Подскажите, какой символ или команду использовать? С командой else у меня ни чего не выходит...
- Какие есть виды команд в PascalABC
- Общая загруженность процессора при запущенном процессе с один потоком, выполняющим "while(true){}", не превышает 33%.
- Подскажите команду для перемещения файлов и папок с помощью батника!
- В чем прикол в нанопроцессах 7 нм тех процесс в процессорах
- MS-DOS Команда для создания *.txt файла с вложенным в него текстом
- Выполнение команд ассемблера в МП