Принцип работы современного компьютерного процессора - TurboComputer.ru
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд (пока оценок нет)
Загрузка...

Принцип работы современного компьютерного процессора

Как работает процессор

Принцип работы центрального процессора

Структура центрального процессора

Чтобы непрофессионалу стало понятно, как работает центральный процессор компьютера, рассмотрим из каких блоков он состоит:

– блок управления процессором;

– регистры команд и данных;

– арифметико-логические устройства (выполняют арифметические и логические операции);

– блок операций с действительными числами, то есть с числами с плавающей точкой или проще говоря с дробями (FPU);

– буферная память (кэш) первого уровня (отдельно для команд и данных);

– буферная память (кэш) второго уровня для хранения промежуточных результатов вычислений;

– в большинстве современных процессоров имеется и кэш третьего уровня;

– интерфейс системной шины.

Принцип работы процессора

Алгоритм работы центрального процессора компьютера можно представить как последовательность следующих действий.

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

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

– Арифметико-логическое устройство считывает инструкции и данные из соответствующих регистров процессора и выполняет эти команды над полученными числами.

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

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

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

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

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

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

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

Как работает процессор?

Как работает процессор?

  • Коротко о главном , 4 июля 2019 в 13:01
  • Александр Ланский

Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.

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

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

Два основных компонента процессора

Устройство управления

Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.

Существует два типа реализации УУ:

  • УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
  • УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.

УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.

Арифметико-логическое устройство

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

Ивент перенесён на 26 – 27 сентября , Новосибирск, беcплатно

Большинство логических элементов имеют два входа и один выход.

Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).

Схема арифметического полусумматора

Хранение информации — регистры и память

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

Регистры

Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.

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

По функциональному назначению триггеры делятся на несколько групп:

  • RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
  • JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
  • T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
  • D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.

Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.

Принцип действия RS-триггера

Память (ОЗУ)

ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.

Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.

Команды (инструкции)

Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:

  • Арифметические: сложение, вычитание, умножение и т. д.
  • Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
  • Информационные: move , input , outptut , load и store .
  • Команды перехода: goto , if . goto , call и return .
  • Команда останова: halt .

Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.

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

В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.

Группу инструкций принято называть набором команд (англ. instruction set).

Тактирование процессора

Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.

Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.

Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.

Выполнение инструкций

Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.

Ниже рассмотрен пример набора команд, который суммирует два числа:

  1. LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
  2. LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
  3. ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
  4. STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .

Вот такие операции нужны, чтобы сложить два числа.

Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.

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

Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).

Поток инструкций

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

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

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

Принцип работы современного компьютерного процессора

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

Как работает компьютерный процессор

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

Выполняемые операции

Операция представляет собой одно или несколько действий, которые обрабатываются и выполняются компьютерными устройствами, в том числе и процессором. Сами операции делятся на несколько классов:

  1. Ввод и вывод. К компьютеру обязательно подключено несколько внешних устройств, например, клавиатура и мышь. Они напрямую связаны с процессором и для них выделена отдельная операция. Она выполняет передачу данных между CPU и периферийными девайсами, а также вызывает определенные действия с целью записи информации в память или ее вывода на внешнюю аппаратуру.
  2. Системные операции отвечают за остановку работы софта, организовывают обработку данных, ну и, кроме всего, отвечают за стабильную работу системы ПК.
  3. Операции записи и загрузки. Передача данных между процессором и памятью осуществляется с помощью посылочных операций. Быстродействие обеспечивается одновременной запись или загрузкой групп команд или данных.
  4. Арифметически-логические. Такой тип операций вычисляет значения функций, отвечает за обработку чисел, преобразование их в различные системы исчисления.
  5. Переходы. Благодаря переходам скорость работы системы значительно увеличивается, ведь они позволяют передать управление любой команде программы, самостоятельно определяя наиболее подходящие условия перехода.

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

Выполнение команд

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

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

Взаимодействия с памятью

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

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

Работа процессора

Стандартные средства Windows позволяют отследить нагрузку на процессор, посмотреть все выполняемые задачи и процессы. Осуществляется это через «Диспетчер задач», который вызывается горячими клавишами Ctrl + Shift + Esc.

В разделе «Быстродействие» отображается хронология нагрузки на CPU, количество потоков и исполняемых процессов. Кроме этого показана невыгружаемая и выгружаемая память ядра. В окне «Мониторинг ресурсов» присутствует более подробная информация о каждом процессе, отображаются рабочие службы и связанные модули.

Сегодня мы доступно и подробно рассмотрели принцип работы современного компьютерного процессора. Разобрались с операциями и командами, важностью каждого элемента в составе ЦП. Надеемся, данная информация полезна для вас и вы узнали что-то новое.

Технологии многопоточности процессоров: принцип работы и сферы применения

Физические ядра, логические ядра, технологии многопоточности — все это разрабатывалось инженерами для увеличения производительности компьютерного железа, требования к которому постоянно растут. Программы и игры требуют все больше ресурсов. Как же производители процессоров увеличивают мощность своих детищ? Процессор является «сердцем» компьютера и выполняет вычисления, необходимые для работы софта. Модели CPU отличаются между собой даже в рамках одного семейства. Например, Intel Core i7 отличается от i5 технологией многопоточности под названием «Hyper-Threading», о которой далее пойдет речь (Core i3, i9, и некоторые Pentium также обладают данной технологией).

Принцип работы процессорных ядер и многопоточности

В современных операционных системах одновременно работает множество процессов.
Нагрузка от операционной системы на процессор идет по так называемому конвейеру, на который «выкладываются» нужные задачи для ядра. В качестве примера возьмем одно ядро процессора на частоте 4 ГГц с одним ALU (арифметико-логическое устройство) и одним FPU (математический сопроцеесор). Частота в 4 ГГц означает, что ядро исполняет 4 миллиарда тактов в секунду. К ядру по конвейеру поступают задачи, требующие исполнительной мощности, на которые тратится процессорное время.

Часто происходят случаи, когда для выполнения необходимой операции процессору приходится ждать данные из кеша более низкой скорости (L3 кеш), или же оперативной памяти. Данная ситуация называется кэш-промах. Это происходит, когда в кэше ядра не была найдена запрошенная информация и приходится обращаться к более медленной памяти. Также существуют и другие причины, заставляющие прерывать выполнение операции ядром, что негативно сказывается на производительности.

Данный конвейер можно представить, как настоящую сборочную линию на заводе — рабочий (ядро) выполняет работу, поступающую к нему на ленту. И если необходимо взять нужный инструмент, работник отходит, оставляя конвейер простаивать без работы. То есть, исполняемая задача прерывается. Инструментом, за которым пошел рабочий, в данном случае является информация из оперативной памяти или же L3 кэша. Поскольку L1 и L2 кэш намного быстрее, чем любая другая память в компьютере, работа с вычислениями теряет в скорости.

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

Способы увеличения производительности процессоров

Разгон

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

Увеличение количества потоков на ядро

В процессорах Intel данная технология носит название Hyper-Threading, а в процессорах от Amd — SMT. Производители добавляют еще один регистр для работы со вторым конвейером. Пока один поток простаивает, ожидая нужные данные, свободная вычислительная мощность может быть использована вторым потоком. На кристалл же добавлен еще один контроллер прерываний и набор регистров.

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

Стоит учитывать, что логический поток это не второе ядро, как может показаться с первого взгляда. Это лишь дополнительная «линия производства», чтобы более эффективно использовать доступную мощность. Из минусов технологии Hyper-Threading или SMT можно выделить увеличение тепловыделения, недостаток кэша (кэш на два потока по-прежнему общий), и проблемы с оптимизацией некоторых программ или игр, не способных отличать настоящее ядро от логического потока.

Именно по этой причине процессоры серии i7 «горячее» и имеют больше кэша по сравнению с i5. Использование технологии многопоточности может принести примерно до 30 % прироста производительности. Все это применимо как к Intel Hyper-Threading, так и к AMD SMT, поскольку технологии во многом схожи. Может возникнуть вопрос: «Если можно добавить второй поток, то почему бы не добавить третий и четвертый?» Это реализуемо, но не имеет смысла, поскольку кэш одного ядра достаточно мал для большего количества потоков и прироста производительности практически не будет.

Увеличение количества ядер

Это самый действенный способ решения проблемы, поскольку каждый конвейер теперь располагает своим FPU, ALU и кэшем, который не придется делить с другим потоком. Разные процессы используют разные ядра, из-за чего реже происходят кэш-промахи и конфликты приоритетных задач. Способ, разумеется, несет в себе некоторые издержки для производителей: дороговизна разработки и производства, увеличение тепловыделения и размера кристалла, и, как результат, повышается итоговая стоимость процессора.

Сферы применения многопоточных процессоров

С развитием компьютерных технологий перечень программ, использующих многопоточность, неуклонно растет. Это дает огромный простор разработчикам для создания нового софта и игр. Например, сейчас каждый современный triple-A проект оптимизирован для многопоточных процессоров, что позволяет наслаждаться игрой, получая высокий уровень fps на многоядерном CPU.

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

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

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

  • Июнь 18, 2012
  • Печать, E-mail

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

Основной «рабочей лошадкой», обрабатывающей большие массивы данных, производящий миллионы операций в секунду – центральный процессор.

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

Устройство центрального процессора

Каждый современный процессор состоит из устройств нескольких типов.

  • Исполнительные устройства – осуществляют основные вычисления.
  • Устройства управления – организуют получение и обработку данных и команд исполнительными устройствами в правильной последовательности.
  • Регистры (быстрые ячейки памяти) – хранят промежуточные результаты.
  • Шина данных – передают нужную информацию между процессором и прочими комплектующими.
  • Кэш процессора – хранит часто используемые данные для ускорения доступа процессора к ним. Кэш представляет из себя ячейки быстрой памяти, расположенные на кристалле процессора.
  • Дополнительные вычислительные модули – отвечают за выполнение специальных задач (обработка видео, редактирование 3D-графики).

Параметры процессора, влияющие на производительность

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

В процессоре есть три составляющих, производительность которых непосредственно зависит от разрядности:

  • Шина данных
  • Внутренние регистры
  • Шина адреса памяти

Шина данных

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

Шина адреса памяти

Шина адреса памяти – набор проводников, передающих адреса ячеек памяти, в которые записывается или из которых считывается информация.

Чем больше проводников в шине адреса, тем больше ячеек оперативной памяти доступно центральному процессору.

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

Внутренние регистры

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

Тактовая частота

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

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

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

Является ли тактовая частота решающим параметром при выборе процессора? Нет. Более высокая тактовая частота будет весомым бонусом только при прочих равных параметрах процессора. В некоторых случаях процессоры с более низкой тактовой частотой превосходили своих «быстрых» оппонентов как в быстродействии, так и в общей производительности.

В последние 10-12 лет очень большое распространение получило такое явление, как «оверклокинг» – повышение быстродействия компонентов компьютера за счёт использования их форсированных режимах работы. В русском языке больше прижился термин «разгон». Итак, как разгоняют процессор? Самое простое – увеличить тактовую частоту. Для этого на тактовый резонатор подается большее напряжение, количество колебаний в кварцевом кристалле увеличивается, соответственно, увеличивается и количество импульсов в единицу времени, передаваемых тактовым генератором. Для такого разгона есть несколько ограничений:

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

Почему процессоры перегреваются и как это предотвратить

Каждый процессор состоит из огромного количества микроскопических радиоэлементов. Чем их больше и чем выше тактовая частота процессора, тем больше процессор потребляет энергии. Мобильные процессоры для портативных компьютеров, планшетов и коммуникаторов рассчитаны на пониженное энергопотребление (до 35 Вт). Модели для настольных компьютеров потребляют от 130 Вт и больше. При этом большое количество тепла выделяется во вне, и, чтобы это тепло отвести от поверхности чипа, необходима хорошая система охлаждения.

При выборе системы охлаждение одним из важнейших параметров является значение TDP (Total Dissipated Power, общая рассеиваемая мощность).

Существует достаточно много способов снижения энергопотребления. Вот некоторые из них:

  • Отключение модулей, понижение тактовой частоты, понижение рабочего напряжения при снижении нагрузки на процессор (для процессоров Intel – технология SpeedStep, для процессоров AMD – технология Cool&Quiet).
  • Применение в производстве новых, прогрессивных материалов.
  • Применение процессоров, работающих с пониженным напряжением питания (Low Voltage, Ultra Low Voltage). Потребляемая мощность изменяется пропорционально напряжению.

Способы повышения производительности процессоров

  • Ускорение системной шины. Чем быстрее процессор получает данные и команды от запоминающих устройств ПК, тем меньше времени он тратит на ожидание, а значит и на выполнение программ.
  • Быстрая многоуровневая кэш-память. Процессоры сохраняют промежуточные результаты вычислений во встроенной кэш-памяти (cache memory). Ее тактовая частота равна частоте самого процессора, поэтому она гораздо быстрее системной памяти. Большинство современных процессоров имеют кэш-память первого (Level 1, L1), второго (Level 2, L2) и третьего (Level 3, L3) уровней. Кэш-память первого уровня относительно мала (несколько сот килобайт). Кэши второго и третьего уровня больше (до нескольких мегабайт) и медленнее кэш-памяти первого уровня, но все равно работают с более высокой скоростью, чем системная оперативная память. Данные, поступающие из кэша, обеспечивают максимальную загруженность процессора, избавляя его от необходимости ожидания отклика от системной памяти.
  • Конвейерная обработка, т.е. последовательное прохождение команд через различные компоненты ЦП. Преимущество такого метода обработки данных в том, что при наличии конвейера процессор занимается не одной командой в каждый момент времени, а несколькими.
    В конвейерной обработке используются алгоритмы предварительной выборки команд и данных. При загрузке команды блок предвыборки (prefetch) пытается предугадать, какие команды и данные потребуются дальше. Таким образом, конвейер загружается быстрее, поскольку не тратится время на ожидание результатов выполнения предыдущих команд.
  • Распараллеливание вычислений с помощью нескольких физических вычисли-тельных ядер. Современные многоядерные процессоры имитируют присутствие в системе двух, четырех и более отдельных процессоров. Если исполняемая про-грамма имеет функцию распараллеливания вычислений, разделяя их на несколько потоков (Threads), эти вычисления могут быть выполнены одновременно.
  • Поддержка алгоритмов обработки данных мультимедиа, работающих по принципу SIMD (Simple Instruction – Multiple Data, то есть одна команда – множество данных). Процессоры, поддерживающие подобные технологии, быстрее обрабатывают большие объемы данных, требующих многократного исполнения одинаковых команд. У процессоров Intel – технологии MMX и SSE, у процессоров AMD – 3DNow!

Алгоритм работы современного процессора

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

  • Запрос команды из памяти. Блок выборки пытается найти подходящую команду последовательно сначала в кэш-памяти первого уровня (L1), второго уровня (если команды нет в кэше L1), третьего уровня (если команды нет в кэш памяти L1 и L2). Если команды нет в кэше процессора, команда загружается из системной памяти через шину данных, последовательно проходя кэш всех трех уровней. По этому же алгоритму запрашиваются данные для выполнения этой команды.
  • Из блока выборки команда передается в декодер. В декодере команда разбивается на несколько микроопераций такого размера, что их можно выполнить за 1 такт работы исполнительных устройств. Последовательность микроопераций помещается в кэш. Блок предвыборки анализирует последовательность микроопераций, чтобы определить, какие команды понадобятся далее.
  • Планировщик выбирает из кэша-памяти блок микроопераций и формирует последовательность их выполнения. Команды, выполнение которых не зависят от выполнения других команд, исполняются параллельно на различных исполнительных устройствах: ALU (arithmetic-logic unit, арифметико-логическое устройство) для целых чисел, FPU (floating point unit, модуль операций с плавающей точкой), ALU для команд SSE и т.д. На данном этапе возможны ошибки предвыборки (например, неправильно выбранная следующая команда или неверно подобранные адреса данных в памяти), что влечет за собой очистку конвейера и переход к шагу 1 нашей схемы.
  • Проверяется корректность исполнения команды, результат помещается в кэш-память и предается по шине данных в системную память.

Процессор и его компоненты

Описание и назначение процессоров

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

Чем мощнее процессор, тем выше быстродействие ПК.

Центральный процессор часто называют просто процессором, ЦПУ (Центральное Процессорное Устройство) или CPU (Central Processing Unit), реже – кристаллом, камнем, хост-процессором.

Современные процессоры являются микропроцессорами.

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

Рисунок 1. Микропроцессор Intel 4004 (1971 г.)

Готовые работы на аналогичную тему

Рисунок 2. Микропроцессор Intel Pentium IV (2001 г.). Слева – вид сверху, справа – вид снизу

ЦП предназначен для автоматического выполнения программы.

Устройство процессора

Основными компонентами ЦП являются:

  • арифметико-логическое устройство (АЛУ) выполняет основные математические и логические операции;
  • управляющее устройство (УУ), от которого зависит согласованность работы компонентов ЦП и его связь с другими устройствами;
  • шины данных и адресные шины;
  • регистры, в которых временно хранится текущая команда, исходные, промежуточные и конечные данные (результаты вычислений АЛУ);
  • счетчики команд;
  • кэш-память хранит часто используемые данные и команды. Обращение в кэш-память гораздо быстрее, чем в оперативную память, поэтому, чем она больше, тем выше быстродействие ЦП.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

Рисунок 3. Упрощенная схема процессора

Принципы работы процессора

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

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

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

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

Характеристики процессора

Тактовая частота указывает частоту, на которой работает ЦП. За $1$ такт выполняется несколько операций. Чем выше частота, тем выше быстродействие ПК. Тактовая частота современных процессоров измеряется в гигагерцах (ГГц): $1$ ГГц = $1$ миллиард тактов в секунду.

Для повышения производительности ЦП стали использовать несколько ядер, каждое из которых фактически является отдельным процессором. Чем больше ядер, тем выше производительность ПК.

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

Разрядность шины данных указывает на количество информации (в байтах), которое можно передать за $1$ раз (за $1$ такт). От разрядности адресной шины зависит максимальный объем оперативной памяти, с которым может работать ЦП.

От частоты системной шины зависит количество данных, которые передаются за отрезок времени. Для современных ПК за $1$ такт можно передать несколько бит. Важна также и пропускная способность шины, равная частоте системной шины, умноженной на количество бит, которые можно передать за $1$. Если частота системной шины равна $100$ Мгц, а за $1$ такт передается $2$ бита, то пропускная способность равна $200$ Мбит/сек.

Пропускная способность современных ПК исчисляется в гигабитах (или десятках гигабит) в секунду. Чем выше этот показатель, тем лучше. На производительность ЦП влияет также объем кэш-памяти.

Данные для работы ЦП поступают из оперативной памяти, но т.к. память медленнее ЦП, то он может часто простаивать. Во избежание этого между ЦП и оперативной памятью располагают кэш-память, которая быстрее оперативной. Она работает как буфер. Данные из оперативной памяти посылаются в кэш, а затем в ЦП. Когда ЦП требует следующее данное, то при наличии его в кэш-памяти оно берется из него, иначе происходит обращение к оперативной памяти. Если в программе выполняется последовательно одна команда за другой, то при выполнении одной команды коды следующих команд загружаются из оперативной памяти в кэш. Это сильно ускоряет работу, т.к. ожидание ЦП сокращается.

Существует кэш-память трех видов:

  • Кэш-память $1$-го уровня самая быстрая, находится в ядре ЦП, поэтому имеет небольшие размеры ($8–128$ Кб).
  • Кэш-память $2$-го уровня находится в ЦП, но не в ядре. Она быстрее оперативной памяти, но медленнее кэш-памяти $1$-го уровня. Размер от $128$ Кбайт до нескольких Мбайт.
  • Кэш-память $3$-го уровня быстрее оперативной памяти, но медленнее кэш-памяти $2$-го уровня.

От объема этих видов памяти зависит скорость работы ЦП и соответственно компьютера.

ЦП может поддерживать работу только определенного вида оперативной памяти: $DDR$, $DDR2$ или $DDR3$. Чем быстрее работает оперативная память, тем выше производительность работы ЦП.

Следующая характеристика – сокет (разъем), в который вставляется ЦП. Если ЦП предназначен для определенного вида сокета, то его нельзя установить в другой. Между тем, на материнской плате находится только один сокет для ЦП и он должен соответствовать типу этого процессора.

Типы процессоров

Основной компанией, выпускающей ЦП для ПК, является компания Intel. Первым процессором для ПК был процессор $8086$. Следующей моделью была $80286$, далее $80386$, со временем цифру $80$ стали опускать и ЦП стали называть тремя цифрами: $286$, $386$ и т.д. Поколение процессоров часто называют семейством $x86$. Выпускаются и другие модели процессоров, например, семейства Alpha, Power PC и др. Компаниями-производителями ЦП также являются AMD, Cyrix, IBM, Texas Instruments.

В названии процессора часто можно встретить символы $X2$, $X3$, $X4$, что означает количество ядер. Например в названии Phenom $X3$ $8600$ символы $X3$ указывают на наличие трех ядер.

Итак, основными типами ЦП являются $8086$, $80286$, $80386$, $80486$, Pentium, Pentium Pro, Pentium MMX, Pentium II, Pentium III и Pentium IV. Celeron является урезанным вариантом процессора Pentium. После названия обычно указывается тактовая частота ЦП. Например, Celeron $450$ обозначает тип ЦП Celeron и его тактовую частоту – $450$ МГц.

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

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

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

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Читайте также:  Как отключить антивирус Авира на время
Ссылка на основную публикацию
Adblock
detector