Время прочтения: 5 минут.
Перед прочтением данной статьи, советую прочитать предыдущую и подписаться на ютуб канал.
И так, как мы помним, процессор это мозг любого компьютера. Процессор состоит из транзисторов, транзистор может быть только в двух состояниях: открытом или закрытом, иначе говоря, может сказать только да или нет (нуль или единица, двоичный код). Разные комбинации транзисторов позволяют решать разные задачи(умножать, вычитать, сравнивать и т.д.), для успешной работы логистически выгодно соединить транзисторы в группы ("цехи") для определённых задач (КЭШ, УУ, АЛУ и т.д.). Техническая задача процессора, это арифметические и логические операции.
Чтобы понять как работает процессор надо разобраться в двух основных блоках, это
- УУ (устройство управления)
- АЛУ (арифметико-логическое устройство)
Начнём с УУ. Знакомьтесь, это Устройство Управления, он помогает процессору контролировать и выполнять инструкции(что это такое скажу потом), устройство управления говорит всем блокам что им делать, в том числе и АЛУ, контролирует чтобы всё было по инструкции.
АЛУ. Арифметико-логическое устройство, собственно, и производит сложение, вычитание, умножение, сравнение и остальные процессы. По сути дело, все наши человеческие задачи, то ли калькулятор, то ли показ видео с ютуба(Матвей Dem), то ли компьютерные игры, это всё результат обычных простых комбинаций этих самых умножений, сравнений и т.д. Процессор берёт одну информацию, сравнивает, показывает, передаёт в память, тысячи этих операций, и конечный результат и выводит на наш монитор(всё по инструкции), просто количество этих вычислений миллиарды, потому и удивляет сложность работы (но и не удивительно, ведь самих транзисторов в 1 процессоре столько же сколько и людей на планете, много миллиардов).
Инструкции
Ранее упоминалось, что всё делается по инструкциям, по правилам, но откуда процессору знать по каким именно, что это за зверь такой, инструкция? Инструкции это команды которые говорят, что надо делать, они загружаются в процессор на разработке(по заводу). Видов инструкций очень много и у каждого типа процессора свои инструкции, именно по этому мы не можем запустить на компьютере программы для телефона(без эмулятора естественно) и наоборот, именно потому что у них разные инструкции, они просто не понимают друг друга.
На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.
Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.
В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.
Память
Всю информацию, что делать процессору, какие числа брать, как с ними быть, процессор получает из памяти, оперативной. Так как процессор очень быстрый, быстрее оперативной памяти и гепарда, то чтобы он не простаивал пока информация из оперативки будет доходить к нему существует внутренняя память процессора, кэш, вот он быстрее гепарда, но и память соответственно маленькая, пару мегабайт.
Тактовая частота
Есть такая штука, это тактовый генератор, он синхронизирует импульсы, то есть синхронизирует такты, поступающие извне на вход схемы за одну секунду. По-русски, без него вся информация бы навалилась в процессор, и была бы каша, тактовый генератор позволяет этого избежать, пропускает информацию "по очереди" чем выше частота, тем быстрее процессор, что логично.
Шина
По простому, это транспортная магистраль, чем больше шина, тем шире магистраль, и тем больше данных может переходить от одного блока к другому.
Аккумулятор
Блок для сохранения временных результатов вычислений.
Регистры
Регистр это минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.
Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.
Самое простое, самое старое, Intel i8080
Все действия процессора синхронизированы вложенными друг в друга циклами трех уровней: командными, машинными и микротактами.
Командный цикл состоит из нескольких (от 1 до 5) машинных циклов. Каждый машинный цикл представляет собой цикл обращения к системной магистрали: выборку очередного байта команды или данных из памяти, запись в память, ввод или вывод данных.
Машинные циклы выполняются по микротактам, определяемым как интервал времени между соседними фронтами импульсов. При частоте импульсов 2 МГц длительность микротакта составляет 500 нс. Один машинный цикл включает 3 – 5 микротактов, при этом первый машинный цикл длится 4 – 5 микротактов, а последующие – 3 микротакта. В течение одного микротакта исполняется один микроприказ.
Набор команд данного микропроцессора содержит 78 базовых команд, различающихся мнемоническим обозначением кода операции(LXI, непосредственная загрузка регистровой пары; MOV, это пересылка данных из памяти в регистр, и т.д.), а в целом включает 244 различные их модификации.
Таким образом, процессор производит вычисления в АЛУ, складывает сравнивает и выводит вам на экран результаты, тактовый генератор как метроном задаёт темп, УУ как дирижёр управляет всем этим, КЭШ как сборник данных даёт сырьё для этих вычислений(мы ж не воздух складываем).
Критику в комментарии, это 2 моя статья, 100% должны быть какие-либо неточности, хотя бы грамматические ошибки))). Если вам интересна не только тема электронной техники, но и игр и вы любите юмор, то рекомендую мой ютуб канал, попробуйте посмотреть что-нибудь, если хотите узнавать что-то новое.