Другие языки программирования и технологии
Что такое регистры и флаги в процессоре и чем они отличаются?
Может кто нибудь своими словами объяснить, что такое регистры и флаги в микропроцессоре и какие между ними различия? Меня не интересуют выдержки из википедии или учебников. Правильно ли я понял, что регистры и флаги - это отдельные блоки в процессоре с набором транзисторов, которые "спаяны" по своим разным и не повторяющимся схемам? Правильно ли я понимаю, что в "древние времена" эти "регистры/флаги" были огромными размерами и потихоньку их компоновали к друг другу, уменьшая и создавая микропроцессоры?
регистр по сути ячейка памяти (есть куча вариантов исполнения как транзисторных, так и триггеров - стоит изучить их строение для понимания их работы) на уровне самого процессора
флаги (точно такие же регистры) зарезервированы для обозначения ошибок, условий и прочего, обозначающего состояние процессора
технологии раньше просто не позволяли их делать очень маленькими
флаги (точно такие же регистры) зарезервированы для обозначения ошибок, условий и прочего, обозначающего состояние процессора
технологии раньше просто не позволяли их делать очень маленькими
Регистр - ячейка сверхоперативной памяти процессора, имеющая в ассемблере буквенное обозначение.
Флаг - отдельный бит, в которой при выполнении операций записывается 1 или 0 как признак какого-то параметра результата операции - равенства нулю, переполнения разрядной сетки и т. п., для каждого признака свой флаг. Флаги обычно группируются вместе в так называемый регистр флагов.
Флаг - отдельный бит, в которой при выполнении операций записывается 1 или 0 как признак какого-то параметра результата операции - равенства нулю, переполнения разрядной сетки и т. п., для каждого признака свой флаг. Флаги обычно группируются вместе в так называемый регистр флагов.
Регистры это типо такие быстрые ячейки памяти. Быстрые потому что сами по сути не входят в оперативную память, а являются как бы частью процессора. Поэтому через регистры быстрее перекидывать данные и все операции происходят через них. То из чего они состоят, транзисторы там, реле, не особо важно - в такие подробности вдаваться не надо. Само собой эти регистры могут быть 8-битовыми или 16-битовыми или 32 и 64,в зависимости архитектуры процессора. Например если процессору нужно сложить два числа, он считывает первый операнд из ячейки памяти и закидывает его в регистр, потом считывает второй операнд и закидывает его во второй регистр, потом складывает два числа и помещает например в первый регистр. То есть регистры это как бы рабочие ячейки через которые происходят все основные операции.
А флаги это биты которые отвечают за что-то. По сути флаги хранятся в каком то определённом регистре, который обычно называет регистр статуса. То есть этот регистр не рассматривают как целое число, а рассматривают его отдельные биты. Например есть флаг переполнения - он сам устанавливается если какой то и регистров был переполнен. Процессор следит за этим флагом и в случае его установки, предпринимает какие то меры.
Ты спросишь, а нафиг нужны эти флаги? приведу пример. Нужно сравнить два числа. Процессор помещает первое число в первый регистр, второе число во второй регистр, потом второе вычитает из первого и потом следит за флагами - если был установлен флаг нуля, то значит получился ноль, а значит два числа равны. Если был установлен флаг переполнения, то второй операнд больше первого и так далее. Ещё есть например флаги прерываний, то есть если флаг установлен то прерывания разрешены, а если сброшен, то прерывания запрещены. Ну я думаю, ты понимаешь что флаг может быть либо ноль, либо единица.
Просто рассматривай флаги и регистры как вспомогательные элементы процессора, а память это всё внешние компоненты, с которых процессор считывает данные, помещает их в регистры и делает что то с ними и следит за флагами
А флаги это биты которые отвечают за что-то. По сути флаги хранятся в каком то определённом регистре, который обычно называет регистр статуса. То есть этот регистр не рассматривают как целое число, а рассматривают его отдельные биты. Например есть флаг переполнения - он сам устанавливается если какой то и регистров был переполнен. Процессор следит за этим флагом и в случае его установки, предпринимает какие то меры.
Ты спросишь, а нафиг нужны эти флаги? приведу пример. Нужно сравнить два числа. Процессор помещает первое число в первый регистр, второе число во второй регистр, потом второе вычитает из первого и потом следит за флагами - если был установлен флаг нуля, то значит получился ноль, а значит два числа равны. Если был установлен флаг переполнения, то второй операнд больше первого и так далее. Ещё есть например флаги прерываний, то есть если флаг установлен то прерывания разрешены, а если сброшен, то прерывания запрещены. Ну я думаю, ты понимаешь что флаг может быть либо ноль, либо единица.
Просто рассматривай флаги и регистры как вспомогательные элементы процессора, а память это всё внешние компоненты, с которых процессор считывает данные, помещает их в регистры и делает что то с ними и следит за флагами
Похожие вопросы
- Регистрами процессора называют:
- Регистры.
- Вопрос по программированию в 1с ( метод регистра сведений )
- Что такое регистры процессора и для чего они нужны? Без вики
- Чем различаются регистры и откуда эти их названия??
- C# Парсинг слов из строки без регистра
- 1С программирование, регистр сведений
- Чем отличается микропроцессор от процессора?
- Общая загруженность процессора при запущенном процессе с один потоком, выполняющим "while(true){}", не превышает 33%.
- В чем прикол в нанопроцессах 7 нм тех процесс в процессорах