Как устройство управления процессор выполняет программу

Процессор — это центральный компонент компьютерной системы, который выполняет все вычисления, необходимые для работы программных приложений. Без процессора компьютерная система не может функционировать. Это сложный элемент аппаратного обеспечения, выполняющий широкий спектр задач, от базовых арифметических операций до сложных научных симуляций. В этой статье мы рассмотрим принцип работы процессора, от его архитектуры до роли в выполнении инструкций.

Архитектура процессора

Архитектура процессора — это организация и конструкция различных компонентов, составляющих процессор. Типичный процессор состоит из трех основных компонентов: блока управления, блока арифметической логики и регистров. Рассмотрим подробнее каждый компонент.

Блок управления (БУ)

Блок управления — это командный центр процессора. Он управляет циклом выборки-декодирования-исполнения, который является фундаментальным процессом, с помощью которого процессор считывает и выполняет инструкции из программы. Блок управления извлекает инструкции из памяти и декодирует их, чтобы определить операцию, которую необходимо выполнить. Затем он выполняет операцию, посылая сигналы другим компонентам процессора.

Архитектура ЭВМ. Лекция 5: Устройство управления процессора, многотактный процессор

Блок управления также управляет конвейером инструкций, который позволяет процессору выполнять несколько инструкций одновременно. Конвейер инструкций разбивает инструкции на более мелкие части, называемые микрооперациями или микрооперациями, которые могут выполняться параллельно. Эта техника позволяет процессору достичь более высокой пропускной способности, что означает, что он может выполнять больше инструкций в секунду.

Блок арифметической логики (ALU)

Арифметико-логическое устройство (АЛУ) отвечает за выполнение арифметических и логических операций над данными. ALU выполняет такие операции, как сложение, вычитание, умножение и деление, а также логические операции, такие как И, ИЛИ и НЕ. АЛУ работает с двоичными данными, что означает, что все данные представлены только с помощью 0 и 1.

АЛУ также содержит набор регистров, которые представляют собой небольшие высокоскоростные ячейки памяти, используемые для временного хранения данных. Эти регистры используются для хранения данных, которые АЛУ обрабатывает в данный момент, а также промежуточных результатов. Использование регистров необходимо для эффективной обработки, так как это позволяет процессору быстро получать доступ к данным без необходимости обращения к основной памяти.

Регистры

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

Цикл выборки-декодирования-исполнения

Процессор выполняет инструкции в повторяющейся последовательности, называемой циклом выборки-декодирования-исполнения. Этот цикл состоит из трех основных этапов:

Как работает процессор, просто о сложном ✌

  • Выборка: Блок управления извлекает из памяти следующую инструкцию и сохраняет ее в регистре.
  • Декодирование: Блок управления декодирует инструкцию и определяет, какую операцию нужно выполнить.
  • Выполнение: АЛУ выполняет операцию, заданную инструкцией, и результат сохраняется в регистре.

Этот цикл продолжается до завершения программы.

Архитектура набора инструкций (ISA)

Архитектура набора инструкций (ISA) — это набор инструкций, которые может выполнять процессор. ISA определяет доступные операции, которые программист может использовать для написания программ для конкретного процессора. Разные процессоры имеют разные ISA, и каждый ISA имеет свой собственный набор инструкций.

ISA также определяет формат инструкций, включая то, как они кодируются и хранятся в памяти. Инструкции обычно хранятся в двоичном формате, причем каждая инструкция состоит из одного или нескольких байтов. ISA также определяет количество регистров, доступных в процессоре, размер регистров и порядок их использования.

Иерархия памяти

Процессор в значительной степени полагается на память для хранения данных и инструкций. Однако не вся память одинаковая. Процессор использует иерархию памяти, которая состоит из нескольких уровней памяти, каждый из которых имеет свои характеристики.

На самом нижнем уровне находятся регистры процессора, которые являются самым быстрым типом памяти и используются для хранения данных, над которыми процессор работает в данный момент. Выше регистров находится кэш-память, представляющая собой небольшой объем быстрой памяти, расположенной на кристалле процессора. Кэш-память используется для хранения часто используемых данных и инструкций.

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

Наконец, на самом высоком уровне находятся вторичные устройства хранения данных, такие как жесткие диски и твердотельные накопители (SSD), которые имеют еще большую емкость, но работают намного медленнее основной памяти.

Заключение

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

Для эффективного управления большим объемом данных и инструкций, которые должен обрабатывать процессор, он опирается на иерархию памяти, которая состоит из нескольких уровней памяти с различными характеристиками. Регистры процессора и кэш-память являются самыми быстрыми типами памяти и используются для хранения часто используемых данных и инструкций. Основная память и вторичные запоминающие устройства имеют большую емкость, но работают медленнее.

ЧИТАЙ ТАКЖЕ:

  • Просто о принципах SOLID
  • Лучшие сайты для решения задач по программированию
  • Где лучше начинать карьеру программиста — в крупной или маленькой компании?

Источник: dzen.ru

Процессор

Сколько я себя помню, всегда мечтала сделать процессор. Наконец, вчера я его сделала. Не бог весть что: 8 бит, RISC, текущая рабочая частота — 4 кГц, но он работает. Пока что в программе моделирования логических цепей, но все мы знаем: «сегодня — на модели, завтра — на деле!».

Под катом несколько анимаций, краткое введение в двоичную логику для самых маленьких, короткий рассказ про основные микросхемы логики процессора и, собственно, схема.

Двоичная логика

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

Читайте также:
Для перевода текста с одного языка на другой используют специальные программы которые называются
Элемент «Буфер»

Представьте, что вы сидите в своей комнате, а ваш друг — на кухне. Вы кричите ему: «Друг, скажи, в коридоре горит свет?». Друг отвечает: «Да, горит!» или «Нет, не горит». Ваш друг — буфер между источником сигнала (лампочкой в коридоре) и приемником (вами). Более того, ваш друг — не какой-нибудь там обычный буфер, а буфер управляемый.

Он был бы обычным буфером, если бы постоянно кричал: «Лампочка светится» или «Лампочка не светится».

Элемент «Не» — NOT

А теперь представьте, что ваш друг — шутник, который всегда говорит неправду. И если лампочка в коридоре светится, то он скажет вам «Нет, в коридоре совсем-совсем темно», а если не светится — то «Да, в коридоре свет горит». Если у вас есть такой друг на самом деле, значит, он воплощение элемента «Не».

Элемент «Или» — OR

Для объяснения сути элемента «Или» одной лампочки и одного друга, к сожалению, не хватит. Нужно две лампочки. Итак, у вас в коридоре две лампочки — торшер, к примеру, и люстра. Вы кричите: «Друг, скажи, хотя бы одна лампочка в коридоре светит?», и ваш друг отвечает «Да» или «Нет». Очевидно, что для ответа «Нет» все лампочки обязательно должны быть выключены.

Элемент «И» — AND

Та же самая квартира, вы, друг на кухне, торшер и люстра в коридоре. На ваш вопрос «В коридоре обе лампочки горят?» вы получаете ответ «Да» или «Нет». Поздравляю, теперь ваш друг — это элемент «И».

Элемент «Исключающее Или» — XOR

Повторим еще раз эксперимент для элемента «Или», но переформулируем свой вопрос к другу: «Друг, скажи, в коридоре только одна лампочка светит?». Честный друг ответит на такой вопрос «Да» только в том случае, если в коридоре действительно горит только одна лампочка.

Сумматоры

Четвертьсумматор

Четвертьсумматором называют элемент «Исключающее Или». Почему? Давайте разберемся.
Составим таблицу сложения для двух чисел в двоичной системе счисления:
0+0= 0
0+1= 1
1+0= 1
1+1= 10

Теперь запишем таблицу истинности элемента «Исключающее Или». Для этого обозначим светящуюся лампочку за 1, потухшую — за 0, и ответы друга «Да»/«Нет» как 1 и 0 соответственно.
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

Очень похоже, не так ли? Таблица сложения и таблица истинности «Исключающего Или» совпадают полностью, кроме одного-единственного случая. И этот случай называется «Переполнение».

Полусумматор

При переполнении результат сложения уже не помещается в столько же разрядов, во сколько помещались слагаемые. Слагаемые — два однозначных числа (одна значащая цифра, понимаете?), а сумма — уже двузначное (две значащих цифры). Две цифры одной лампочкой («Светится»/«Не светится») уже не передать. Нужно две лампочки. Нужно — сделаем!

Кроме XOR, для сумматора нам потребуется элемент «И» (AND).
0 XOR 0 = 0 0 AND 0 = 0
0 XOR 1 = 1 0 AND 1 = 0
1 XOR 0 = 1 1 AND 0 = 0
1 XOR 1 = 0 1 AND 1 = 1

Тадам!
0+0= 00
0+1= 01
1+0= 01
1+1= 10

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

Я не буду вдаваться в подробности работы полных и многоразрядных сумматоров, просто надеюсь, что основную идею вы уловили.

Более сложные элементы

Мультиплексор

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

И вот что он делает: достает кучу писем из сумки, читает номер на почтовом ящике, и в зависимости от номера на ящике бросает в него то или иное письмо. Почтальон работает мультиплексором. Он определенным образом (номер на конверте) определяет, какой отправить сигнал (письмо) по сигнальной линии (почтовый ящик).

Мультплексоры состоят обычно только из сочетаний элементов «И», «Или» и «Не». У одноразрядного мультиплексора один вход называется «выбор адреса», два входа с общим названием «входной сигнал» и один выход, который так и называется: «выходной сигнал».
Когда на «выбор адреса» подается 0, то «выходной сигнал» становится таким же, как первый «входной сигнал». Соответственно, когда на «выбор» подается 1, то «выходной сигнал» становится равным второму «входному сигналу».

Демультиплексор

А вот эта штучка работает с точностью до наоборот. На «выбор адреса» даем адрес, на «вход данных» даем данные, на выходе с номером «адрес» имеем данные со входа.

Счетчик

Для понимания работы счетчика вам опять понадобится ваш друг. Позовите его из кухни (надеюсь, он не сильно там скучал, и, главное, не съел всю вашу еду), и попросите делать вот что: пусть он запомнит число 0. Каждый раз, когда вы будете прикасаться к нему, он должен прибавить единицу к тому числу, которое помнит, сказать результат и запомнить его. Когда результат будет равен (допустим) 3, он должен выкрикнуть «Абракадабра!» и отвечать при следующем прикосновении, что сейчас он помнит число 0. Немного сложно? Смотрите:

Вы прикасаетесь к другу. Друг говорит «Один».
Вы прикасаетесь к другу. Друг говорит «Два».
Вы прикасаетесь к другу. Друг говорит «Три». Друг выкрикивает «Хабрахабр!». Критическая атака! Вы временно парализованы и не можете двигаться.
Вы прикасаетесь к другу. Друг говорит «Ноль».

Ну, и так далее. Очень просто, верно?
Вы, конечно, поняли, что ваш друг сейчас — это счетчик. Прикосновение к другу можно считать «тактирующим сигналом» или, попросту говоря, сигналом продолжения счета. Крик «Абракадабра» показывает, что запомненное значение в счетчике — максимальное, и что при следующем тактирующем сигнале счетчик будет установлен в ноль. Есть два отличия двоичного счетчика от вашего друга.

Первое: настоящий двоичный счетчик выдает запомненное значение в двоичном виде. Второе: он всегда делает только то, что вы ему говорите, и никогда не опускается до дурацких шуточек, способных нарушить работу всей процессорной системы.

Память

Триггер

Давайте продолжим издеваться над вашим несчастным (возможно, даже воображаемым) другом. Пусть теперь он запомнит число ноль. Когда вы касаетесь его левой руки, он должен запоминать число ноль, а когда правой — число один. При вопросе «Какое число ты помнишь?» друг должен всегда отвечать то число, которое запоминал — ноль или один.
Простейшей запоминающей ячейкой является RS-триггер («триггер» значит «переключатель»). RS-триггер может хранить в себе один бит данных («ноль»/«один»), и имеет два входа. Вход Set/Установка (совсем как левая рука вашего друга) записывает в триггер «один», а вход Reset/Сброс (соответственно, правая рука) — «ноль».

Читайте также:
Как пользоваться программой Телеграмм
Регистр

Немного сложнее устроен регистр. Ваш друг превращается в регистр тогда, когда вы просите его что-нибудь запомнить, а потом говорите «Эй, напомни мне, что я говорил тебе запомнить?», и друг правильно отвечает.

Регистр обычно может хранить в себе чуть больше, чем один бит. У него обязательно есть вход данных, выход данных и вход разрешения записи. С выхода данных вы в любой момент можете прочитать то, что в этом регистре записано. На вход данных вы можете подавать те данные, которые хотите в этот регистр записать. Можете подавать данные до тех пор, пока не надоест.

В регистр все равно ничего не запишется до тех пор, пока на вход разрешения записи не подать один, то есть «логическую единицу».

Сдвиговый регистр

Вы когда-нибудь стояли в очередях? Наверняка стояли. Значит, вы представляете, каково быть данными в сдвиговом регистре. Люди приходят и становятся в конец очереди. Первый человек в очереди заходит в кабинет к большой шишке. Тот, кто был вторым в очереди, становится первым, а тот, кто был третьим — теперь второй, и так далее.

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

Итак, у сдвигового регистра есть вход данных (через него данные попадают в «очередь») и выход данных (из которого можно прочитать самую первую запись в «очереди»). Еще у сдвигового регистра есть вход «сдвинуть регистр». Как только на этот вход приходит «логическая единица», вся очередь сдвигается.

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

Оперативная память

Если много-много триггеров объединить в регистры, а много-много регистров объединить в одной микросхеме, то получится микросхема оперативной памяти. У микросхемы памяти обычно есть вход адреса, двунаправленный вход данных (то есть в этот вход можно записывать, и с него же можно считывать) и вход разрешения записи. На вход адреса подаем какое-нибудь число, и это число выберет определенную ячейку памяти. После этого на входе/выходе данных мы можем прочитать то, что записано в эту самую ячейку.
Теперь мы одновременно подадим на вход/выход данных то, что хотим в эту ячейку записать, а на вход разрешения записи — «логическую единицу». Результат немного предсказуем, не так ли?

Процессор

BitBitJump

Процессоры иногда делят на CISC — те, которые умеют выполнять много разных команд, и RISC — те, которые умеют выполнять мало команд, но выполняют их хорошо. Одним прекрасным вечером мне подумалось: а было бы здорово, если бы можно было сделать полноценный процессор, который умеет выполнять всего одну команду.

Вскоре я узнала, что существует целый класс однокомандных процессоров — OISC, чаще всего они используют команду Subleq (вычесть, и если меньше или равно нулю, то перейти) или Subeq (вычесть, и если равно нулю, то перейти). Изучая различные варианты OISC-процессоров, я нашла в сети сайт Олега Мазонки, который разработал простейший однокомандный язык BitBitJump. Единственная команда этого языка так и называется — BitBitJump (скопировать бит и перейти по адресу). Этот, безусловно эзотерический, язык является полным по Тьюрингу — то есть на нем можно реализовать любой компьютерный алгоритм.

Подробное описание BitBitJump и ассемблер для этого языка можно найти на сайте разработчика. Для описания алгоритма работы процессора достаточно знать следующее:
1. При включении процессора в регистрах PC, A и B записаны 0
2. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр A
3. Увеличиваем PC
4. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр B
5. Увеличиваем PC
6. Записываем в ячейку с адресом, записанным в регистре B, содержимое бита с адресом А.
7. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр B
8. Записываем в регистр PC содержимое регистра B
9. Переходим к пункту 2 нашего плана
10. PROFIT.

К сожалению, алгоритм бесконечный, и потому PROFIT достигнут не будет.

Собственно, схема

Схема строилась стихийно, поэтому правят бал в ней страх, ужас и кавардак. Тем не менее, она работает, и работает прилично. Чтобы включить процессор, нужно:
1. Ввести программу в ОЗУ
2. Нажать на включатель
3. Установить счетчик в положение 4 (это можно делать и аппаратно, но схема стала бы еще более громоздкой)
4. Включить тактовый генератор

Как видите, использованы один регистр, один сдвиговый регистр, одна микросхема ОЗУ, два двоичных счетчика, один демультиплексор (представленный компараторами), два мультиплексора и немного чистой логики.

Можете скачать схему в формате circ для программы Logisim, и поиграться.

Что дальше?

Во-первых, можно увеличить разрядность процессора — заменив 8-битные элементы на 16-битные.
Во-вторых, можно вынести ОЗУ из процессора, и добавить несложную схему, которая будет приостанавливать процессор, изменять ОЗУ и снова включать процессор. Такая схема будет выполнять функции простого контроллера ввода-вывода. Тогда можно будет сделать на базе этого процессора калькулятор, контроллер или еще какую-нибудь забавную бесполезную штуку.
В-третьих, можно воплотить всю эту схему в железе. Что я собираюсь сделать. Как только сделаю — обязательно расскажу и покажу.

Спасибо всем за внимание!

P.S. Ссылки (для тех, кому лень читать):
1. Процессоры URISC — ru.wikipedia.org/wiki/Urisc
2. Сайт языка BitBitJump — mazonka.com/bbj/index.html
3. Программа для моделирования логических схем Logisim — http://ozark.hendrix.edu/~burch/logisim/
4. Самодельный URISC (ORISC) процессор для Logisim — narod.ru/disk/31367690001/oo.circ.html

  • процессор
  • сделай сам
  • для самых маленьких

Источник: habr.com

Как работает cpu?

Процессор в сокете без крышки

Рад встрече с вами, мои дорогие читатели. Надеюсь, вы полны сил и серьезно настроены выяснить, как работает процессор. Этот сложный вопрос мне приходится слышать все чаще и чаще, и сегодня я попытаюсь все понятно объяснить. Вообще-то это целая наука, на изучение которой уходит несколько курсов высшего учебного заведения. Но если вы мобилизуете уже имеющиеся у вас знания и примете некоторые условности, то сможете понять принципы функционирования этого «черного ящика».

Чем занимается проц?

  • Используя данные с жесткого диска или из сети, выполняет программу и выдает конечный результат в виде файла или картинки, отображаемой на мониторе;
  • В процессе этого обеспечивается взаимодействие с устройствами ПК посредством операционной системы и определенных инструкций (драйверов).

Например, процессор сам производит сложные расчеты, занося промежуточные и конечные результаты в оперативную память. Так же параллельно дает команды видеокарте визуализировать их.

  • CPU работает с оцифрованными данными, представленным в виде двоичного кода. Фактически с ними он выполняет арифметические и логические операции. Если вы имели дело с простыми программками или алгоритмами, то это как раз оно.
Читайте также:
Как в программе эксель сделать список по алфавиту

Вот здесь обычно начинаются сложности в дальнейшем понимании процесса. Ведь всем известно, что CPU– это небольшая пластина, представляющая кристалл кремния, на который что-то там наносят. И он становиться центром компьютерного разума.

Но как работает эта схема?

«Не зная прошлого, невозможно понять подлинный смысл настоящего и цели будущего». (М. Горький)

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

Потом появились механические устройства, выполняющие сложение и вычитание.

В XVII веке известный математик Лейбниц не только создал арифмометр, способный еще делить и умножать, но и открыл преимущества двоичной системы вычислений, что в последующем упростило работу создателям первых компьютеров.

Джордж Буль в XIX веке предложил систему логических операций И, ИЛИ, НЕ и их производные элементы (алгебру логики).

Логические основы компьютера

Не мене важное событие произошло в 1937 году, кода Клод Шеннон, исследуя цифровые цепи, смог создать вычислитель двоичных систем на основе электронных реле.

Все эти идеи объединил немецкий изобретатель Конрад Цузе.

Он в 1941 году создал устройство Z3, по праву считающееся прообразом современных компьютеров. В нем телефонные реле были объединены в модули, которые с помощью логических операций выполняли действия и математические вычисления с двоичными данными.

Спустя три года Цузе усовершенствовал свое детище, но главное, он предложил первый язык программирования «Планкалкюль».

Z3

Прогресс не стоит на месте

С тех пор вычислительные принципы практически не менялись. Все силы разработчиков были брошены на увеличение быстродействия вычислительной системы. Также на уменьшение ее размеров и на снижение нагрева при работе.

Сначала реле были заменены ламповыми приборами.

А в 1957 год компания NCR из США поразила мир компактной ЭВМ на полупроводниковых транзисторах. Через пару лет Несколькими изобретателями были заложены основы технологии объединения электронных схем на одном кристалле.

Сравнение количества элементов процессоров

На что способны миллиарды транзисторов?

Надеюсь, что с этими знаниями вам легче будет представить себе работу процессора.

Итак, что же представляет собой современный ЦПУ?

Это действительно кристалл кремния. На его поверхности путем фототравления нанесена сложнейшая структуру из проводников и огромного количества полупроводниковых транзисторов.

  • в 2004 году их число на кристалле было чуть больше 500 миллионов;
  • 2006-й год – 1 миллиард;
  • в 2008 – 2 миллиарда транзисторов.

Эволюция поколений процессоров компьютера

Темпы роста увеличения плотности транзисторов немного упали, что обусловлено возможностями технологии их нанесения.

Сейчас для этого используется многоядерность и нанотехнология (актуальна 14 нм, ожидают от производителей 10 нм).

Вот пример процессора 2017 года.

Intel SKL Core i9-7000X заявлены около 6,5–7 миллиардов транзисторов. Но если честно транзисторы сейчас никто не считает.

Всех интересует тактовая частота, число ядер и разрядность (64 или 32 бита) и энергопотребление.

Структура ЦПУ и распределение функциональных «обязанностей»

Разговор о количестве транзисторов я повел к тому, чтобы вы оценили растущую вычислительную мощность процессоров. Из полупроводниковых элементов состоят все рабочие компоненты CPU и нам пора выяснить, что они собой представляют и как взаимодействуют.

Упрощённая схема устройства процессора компьютера

  • Вычислительное ядро, которых может быть несколько. Состоит из Устройства управления, направляющего данные и команды в виде сигналов в соответствии с полученными инструкциями и Арифметико-логического устройства, непосредственно занимающегося вычислением и реализацией условий сложных алгоритмов.
  • За преобразование цифровых данных из памяти компьютера в поток сигналов, понятных процессору отвечает дешифратор.
  • При этом данные разбиваются на блоки по 8, 16, 32 или 64 бита, которые содержатся в специальных ячейках, именуемых регистрами.Они выполнены по схеме триггера. Их максимальный размер означает разрядность процессора. И вместе с тактовой частотой обработки данных этот параметр определяет его производительность. Каждый регистр имеет свое назначение, так, например, A, B и C предназначены для обрабатываемых данных. ESP – их адрес в ОЗУ, Z – для последней операции сравнения, EIP – сообщает об адресации следующей инструкции в оперативке. Связка регистров и ядра – базовый элемент процессора.

Логические основы компьютера

  • Важным компонентом CPU является многоуровневая кэш память, подгружающая информацию из ОЗУ. Непосредственно с ядром связана сверхбыстрая но самая маленькая L1, потом идет промежуточная L2, и на внешнем уровне находится большая по объему, но менее скоростная L В любом случае получение данных из нее происходит намного быстрее, чем из оперативки.
  • Взаимодействие ЦПУ с другими компонентами ПК на физическом уровне происходит посредством шин, контакты от которых выводятся на сокет процессора на материнской плате. Они так же имеют разрядность соответствующую размеру основных реестров. Шина данных работает с ОЗУ, шина синхронизации – с генератором частотных импульсов. Адресная шина общается с другими устройствами, а шина перезапуска – обнуляет текущее состояние CPU.

Иногда на одном кристалле с ЦПУ располагают вспомогательный графический процессор, заточенный под выполнение специализированных задач и берущий значительную часть нагрузки на себя.

Команды, которые слышит процессор

Что же заставляет процессор корректно и эффективно работать с кодами, написанными порой на разных языках программирования. Языки то может и разные, но все они состоят из простых операций, предусматривающих:

  • математические и логические операции с данными;
  • их перемещение;
  • сравнение;
  • действие при выполнении условия;
  • переадресацию.

Все эти функции прописаны для CPU в виде набора определенных инструкций.

Некоторые из них так же специально усовершенствованы для решения конкретных задач.

Intel x86 Assembler instructuin

Поскольку компьютер работает не с реальными объектами, а с их математическими моделями, то процессор с помощью имеющихся в нем модулей легко справляется с обработкой цифровой информации и выдает требуемый результат.

Быстродействие процессора, как я уже сказал, зависит от тактовой частоты.

Например, не самый мощный четырех ядерный AMD Ryzen 5 2400G при 3.6GHz будет способен выполнить более 14 миллиардов операций в секунду. Поверьте, этого вполне достаточно для решения большинства компьютерных задач.

Kirin

Пожалуй, дальше углубляться в работу процессора не стоит, ведь это уже епархия крутых айтишников. Но если есть такое желание, то я уверен, что полученные сегодня знания станут вам отличным подспорьем в боле серьёзном изучении ЦПУ.

На этом я желаю закончить статью и попрощаться с вами, пожелав всем успехов!

Источник: profi-user.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru