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

Обновлено: 02.07.2024

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

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

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

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

Что определяет разрядность процессора

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

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

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

Если размер данных за такт равен 1 байту, то процессор называют восьмиразрядным (8 bit), если размер 2 байта процессор шестнадцатиразрядный (16 bit), если размер равен 4 байтам, то процессор тридцатидвухразрядный (32 bit), если размер равен 8 байтам, то процессор шестидесяти четырех разрядный (64 bit).

Назовите основные характеристики процессора

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

  • фирма производитель
  • серия
  • количество вычислительных ядер
  • тип установочного разъема (сокет)
  • тактовая частота.

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

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

На сегодняшний день в основе продукции компании Intelлежат пять основных семейств –Pentium (Dual-Core), Celeron (Dual-Core), Core i3, Core i5и Core i7. Первые три нацелены на бюджетные домашние и офисные решения, два последних лежат в основе производительных систем.

Скалярная и мультискалярная архитектура микропроцессора.

Типы команд микропроцессоров


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

программы была равнозначна минимизации времени исполнения. Команды бывают разных типов: "регистр, регистр -> регистр", "память, память -> память", "регистр -> память" и др. Сложные команды модифицируют содержимое групп регистров и ячеек памяти, и для их реализации при приемлемых затратах оборудования, как правило, применяется микропрограммирование.

Команды называются скалярными, если входные операнды и результат являются числами (скалярами).

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

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

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

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

Средства аппаратного ускорения работы МП

Характеристика и архитектурные особенности микропроцессора фирмы Intel.

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

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

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

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

Кристалл 80286 представляет для читателя интерес прежде всего потому, что является, пожалуй, наиболее распространенным микропроцессором из применяющихся в персональных компьютерах. Как и его предшественник — 8086 — он имеет 16-разрядные шины данных и адреса и самым характерным его отличием можно считать, помимо большей тактовой частоты, возможность работы в режиме виртуальной адресации (адресация памяти объемом более 1 Мбайта), речь о котором пойдет ниже.

Регистры

Как и любой процессор, Intel 80286 содержит некоторое количество ячеек памяти быстрого доступа, называемых регистрами. В состав i286 входят три набора по четыре регистра и один специальный регистр — указатель команды.

Регистры общего назначения

Рис.3. Регистры общего назначения

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

Режим реального адреса

Адресная шина процессора 80286 имеет ширину 16 бит, к тому же известно, что максимальное двоичное число длиной в два байта равно 2 16 или 64 Кбайт и, если адрес задается таким числом, то, вроде бы, пространство ОЗУ, с которым может работать процессор, не должно превышать 64 Кбайт. С другой стороны, 1 Мбайт памяти можно адресовать с помощью двоичного числа длиной 20 бит (2 20 ). Как быть?

Можно, например, воспользоваться двойным адресом, ведь в повседневной жизни нам приходится постоянно сталкиваться с многоступенчатыми адресами: мы пишем на почтовом конверте сначала название города, потом — улицы, дома и т.д. (Предположим на мгновенье, что все квартиры в СССР пронумерованы последовательно, каково придется почте в такой ситуации?) Разработчики 80286 решили проблему подобным же образом: полный адрес ячейки памяти состоит из комбинации двух 16-разрядных чисел, причем одно из них предназначили для адресации внутри некоторой области ОЗУ размером 64 К байта, а второе — для локализации этой области во всем пространстве ОЗУ. Область, внутри которой происходит адресация, называется сегментом, а адрес внутри сегмента — внутрисегментным смещением. Адрес, локализующий положение сегмента в оперативной памяти, содержится в одном из специальных сегментных регистров процессора, но он тоже 16-разрядный. Для того, чтобы при помощи этого адреса можно было перекрыть все пространство ОЗУ, со стороны младшего байта его дополняют четырьмя нулями. Например, если содержимое сегментного регистра: 0001.1101.1000.1111 (или 1D8F16) то адрес начала соответствующего сегмента будет равен: 0001.1101.1000.1111.0000 (или 1D8F016). Таким образом можно искусственно разделить всю память на сегменты, начинающиеся по адресам, кратным 1610. Предположим, что внутрисегментное смещение нашей ячейки задано числом 1001.1011.0010.0101 или 9В2516, в этом случае ее реальный адрес будет равен сумме адреса сегмента и внутрисегментного смещения: 1D8F016+9B2516 = 2701516 (рис. 4).

Рис.4. Формирование адресов байта или слова

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

Теперь вернемся к регистрам.

Сегментные регистры

Если мы вспомним, что программа в любой момент может обратиться к одному из четырех сегментов: к текущему сегменту кода, данных, стека или к дополнительному (сегменту данных), то нас вряд ли удивит, что в состав процессора входят четыре 16-разрядных регистра, являющихся указателями адресов текущих Сегментов. Их функции строго дифференцированы, а потому каждый регистр имеет свою "профессию": CS определяет сегмент кода, DS — сегмент данных, SS — сегмент стека и ES — дополнительный сегмент (рис. 6).

Рис.6. Сегментные регистры

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

Флажки

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

Рис.7. Указатель команды и флажки

К флажкам состояния относятся: флажок переноса CF (имеет значение равное 1 при переносе из старшего бита) флажок вспомогательного переноса AF (индицирует перенос из младших 4-х бит) флажок переполнения OF (устанавливается равным единице при выходе знакового результата за границу диапазона) флажок нуля ZF (фиксирует нулевой результат выполнения команды) флажок знака SF (фиксирует отрицательный результат выполнения команды) флажок четности PF (фиксирует четное число единиц в последнем байте, полученном в результате выполнения команды)

К флажкам управления относятся: флажок направления DF (указывает направление прохождения строк в строковых командах) флажок разрешения прерывания IF (разрешает или запрещает прерывание по входу INTR) флажок трассировки TF (переводит процессор в пошаговый режим)

Центральный процессор

Какие функции выполняет центральный процессор.

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

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

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

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

Центра́льный проце́ссор (ЦП; CPU, от англ. central processing unit, дословно — центральное вычислительное устройство) — процессор машинных инструкций, часть аппаратного обеспечения компьютера или программируемого логического контроллера, отвечающая за выполнение арифметических операций, заданных программами операционной системы, и координирующий работу всех устройств компьютера.

Содержание

Изначально термин Центральное процессорное устройство описывал специализированный класс логических машин, предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого назначения функциям существовавших в то время компьютерных процессоров, он естественным образом был перенесён на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было положено в 60-х годах XX века. Устройство, архитектура и реализация процессоров с тех пор неоднократно менялись, однако их основные исполняемые функции остались теми же, что и прежде.

Ранние ЦП создавались в виде уникальных составных частей для уникальных, и даже единственных в своём роде, компьютерных систем. Позднее от дорогостоящего способа разработки процессоров, предназначенных для выполнения одной единственной или нескольких узкоспециализированных программ, производители компьютеров перешли к серийному изготовлению типовых классов многоцелевых процессорных устройств. Тенденция к стандартизации компьютерных комплектующих зародилась в эпоху бурного развития полупроводниковых элементов, мейнфреймов и миникомпьютеров, а с появлением интегральных схем она стала ещё более популярной. Создание микросхем позволило ещё больше увеличить сложность ЦП с одновременным уменьшением их физических размеров. Стандартизация и миниатюризация процессоров привели к глубокому проникновению основанных на них цифровых устройств в повседневную жизнь человека. Современные процессоры можно найти не только в таких высокотехнологичных устройствах, как компьютеры, но и в автомобилях, калькуляторах, мобильных телефонах и даже в детских игрушках. Чаще всего они представлены микроконтроллерами, где помимо вычислительного устройства на кристалле расположены дополнительные компоненты (интерфейсы, порты ввода/вывода, таймеры, и др.). Современные вычислительные возможности микроконтроллера сравнимы с процессорами персональных ЭВМ десятилетней давности, а чаще даже значительно превосходят их показатели.

Архитектура фон Неймана

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

Д. фон Нейман придумал схему постройки компьютера в 1946 году.

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

Этапы цикла выполнения:

  1. Процессор выставляет число, хранящееся в регистресчётчика команд, на шину адреса, и отдаёт памяти команду чтения;
  2. Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности;
  3. Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её;
  4. Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды;
  5. Снова выполняется п. 1.

Данный цикл выполняется неизменно, и именно он называется процессом (откуда и произошло название устройства).

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

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

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

Конвейерная архитектура

Конвейерная архитектура (pipelining) была введена в центральный процессор с целью повышения быстродействия. Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например: выборка команды из ОЗУ, дешифрация команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды, запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера. Например, конвейер микропроцессора с архитектурой MIPS-I содержит четыре стадии:

  • получение и декодирование инструкции (Fetch)
  • адресация и выборка операнда из ОЗУ (Memory access)
  • выполнение арифметических операций (Arithmetic Operation)
  • сохранение результата операции (Store)

После освобождения k -й ступени конвейера она сразу приступает к работе над следующей командой. Если предположить, что каждая ступень конвейера тратит единицу времени на свою работу, то выполнение команды на конвейере длиной в n ступеней займёт n единиц времени, однако в самом оптимистичном случае результат выполнения каждой следующей команды будет получаться через каждую единицу времени.

Действительно, при отсутствии конвейера выполнение команды займёт n единиц времени (так как для выполнения команды по прежнему необходимо выполнять выборку, дешифрацию и т. д.), и для исполнения m команд понадобится n\cdot m единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения m команд понадобится всего лишь n+m единиц времени.

Факторы, снижающие эффективность конвейера:

  1. простой конвейера, когда некоторые ступени не используются (напр., адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами);
  2. ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд, out-of-order execution);
  3. очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя предсказание переходов).

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

Суперскалярная архитектура

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

CISC-процессоры

Complex Instruction Set Computing — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд. Типичными представителями CISC является семейство микропроцессоров Intel x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд).

RISC-процессоры

Reduced Instruction Set Computing (technology) — вычисления с сокращённым набором команд. Архитектура процессоров, построенная на основе сокращённого набора команд. Характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком (John Cocke) из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).

Самая распространённая реализация этой архитектуры представлена процессорами серии PowerPC, включая G3, G4 и G5. Довольно известная реализация данной архитектуры — процессоры серий MIPS и Alpha.

MISC-процессоры

Minimum Instruction Set Computing — вычисления с минимальным набором команд. Дальнейшее развитие идей команды Чака Мура, который полагает, что принцип простоты, изначальный для RISC процессоров, слишком быстро отошёл на задний план. В пылу борьбы за максимальное быстродействие, RISC догнал и перегнал многие CISC процессоры по сложности. Архитектура MISC строится на стековой вычислительной модели с ограниченным числом команд (примерно 20–30 команд).

Многоядерные процессоры

Содержат несколько процессорных ядер в одном корпусе (на одном или нескольких кристаллах).

На данный момент массово доступны процессоры с двумя ядрами, в частности Intel Core 2 Duo на ядре Conroe и Athlon64X2 на базе микроархитектуры K8. В ноябре 2006 года вышел первый четырёхъядерный процессор Intel Core 2 Quad на ядре Kentsfield, представляющий собой сборку из двух кристаллов Conroe в одном корпусе.

10 сентября 2007 года были выпущены в продажу нативные (в виде одного кристалла) четырёхьядерные процессоры для серверов AMD Quad-Core Opteron, имевшие в процессе разработки кодовое название AMD Opteron Barсelona. 19 ноября 2007 вышел в продажу четырёхьядерный процессор для домашних компьютеров AMD Quad-Core Phenom. Эти процесоры реализуют новую микроархитектуру K8L (K10).

27 сентября 2006 года Intel продемонстрировала прототип 80-ядерного процессора. Предполагается, что массовое производство подобных процессоров станет возможно не раньше перехода на 32-нанометровый техпроцесс, а это в свою очередь ожидается к 2010 году.

Кэширование

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

Различают кэши 1-, 2- и 3-го уровней. Кэш 1-го уровня имеет наименьшую латентность (время доступа), но малый размер, кроме того кэши первого уровня часто делаются многопортовыми. Так, процессоры AMD K8 умели производить 64 бит запись+64 бит чтение либо два 64-бит чтения за такт, процессоры Intel Core могут производить 128 бит запись+128 бит чтение за такт. Кэш 2-го уровня обычно имеет значительно большие латентности доступа, но его можно сделать значительно больше по размеру. Кэш 3-го уровня самый большой по объёму и довольно медленный, но всё же он гораздо быстрее, чем оперативная память.

Параллельная архитектура

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

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

Возможными вариантами параллельной архитектуры могут служить (по классификации Флинна):

  • SISD — один поток команд, один поток данных;
  • SIMD — один поток команд, много потоков данных;
  • MISD — много потоков команд, один поток данных;
  • MIMD — много потоков команд, много потоков данных.

Технология изготовления процессоров

История развития процессоров

Современная технология изготовления

Файл:AMD Athlon XP2000 Plus CPU.jpg В современных компьютерах процессоры выполнены в виде компактного модуля (размерами около 5×5×0,3 см) вставляющегося в zif-сокет. Большая часть современных процессоров реализована в виде одного полупроводникового кристалла, содержащего миллионы, а с недавнего времени даже миллиарды транзисторов. В первых компьютерах процессоры были громоздкими агрегатами, занимавшими подчас целые шкафы и даже комнаты, и были выполнены на большом количестве отдельных компонентов.

В начале 70-х годов ХХ века благодаря прорыву в технологии создания БИС и СБИС (больших и сверхбольших интегральных схем), микросхем, стало возможным разместить все необходимые компоненты ЦП в одном полупроводниковом устройстве. Появились так называемые микропроцессоры. Сейчас слова микропроцессор и процессор практически стали синонимами, но тогда это было не так, потому что обычные (большие) и микропроцессорные ЭВМ мирно сосуществовали ещё по крайней мере 10-15 лет, и только в начале 80-х годов микропроцессоры вытеснили своих старших собратьев. Надо сказать что переход к микропроцессорам позволил потом создать персональные компьютеры, которые теперь проникли почти в каждый дом. Первый микропроцессор Intel 4004 был представлен 15 ноября 1971 года корпорацией Intel. Он содержал 2300 транзисторов, работал на тактовой частоте 108 кГц и стоил 300$.

За годы существования технологии микропроцессоров было разработано множество различных их архитектур. Многие из них (в дополненном и усовершенствованном виде) используются и поныне. Например Intel x86, развившаяся вначале в 32 бит IA32 а позже в 64 бит x86-64. Процессоры архитектуры x86 вначале использовались только в персональных компьютерах компании IBM (IBM PC), но в настоящее время всё более активно используются во всех областях компьютерной индустрии, от суперкомпьютеров до встраиваемых решений. Также можно перечислить такие архитектуры как Alpha, Power, SPARC, PA-RISC, MIPS (RISC — архитектуры) и IA-64 (EPIC — архитектура). Большинство процессоров используемых в настоящее время являются Intel-совместимыми, т. е. имеют набор инструкций и пр., как процессоры компании Intel.

Будущие перспективы

В ближайшие 10-20 лет, скорее всего, изменится материальная часть процессоров ввиду того, что технологический процесс достигнет физических пределов производства. Возможно, это будут:

Квантовые процессоры

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

Российские микропроцессоры

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

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

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

Составляющие

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

Регистры предназначены для сохранения промежуточных итогов. Почти все команды используют информацию регистров. Шина информации проводит функции объединения CPU с остальным оборудованием ПК. Именно шина перемещает центральному процессору файлы и отображает итоги расчетов.

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

Частота

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

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

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

Самой маленькой единицей измерения времени для CPU является такт. Любое действие требует минимум одного такта. Обмен информацией с оперативкой выполняется в несколько тактов, куда относятся и такты простоя.

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

От чего еще зависит продуктивность CPU

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

Насколько можно поднять частоту?

Скорость работы CPU можно легко поднять увеличением частоты. Однако, не стоит забывать, что чип может перегреваться. С поднятием частоты растет потребление энергии процессором и его нагрев. Кроме того, увеличение частоты может увеличить степень электромагнитных помех. Другими словами, увеличением частоты поднять продуктивность CPU не получиться.

Шина данных

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

Разрядность шины

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

Шина адреса

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

Шину адреса можно представить в качестве системы нумерации зданий. Число полос в шине соответствует количеству цифр в номере здания. Если в номере зданий допускается не более 2-х цифр, то количество зданий будет не более ста. Если вставить одно число в номер, то число адресов вырастет до 103. В ПК применяется двоичная система вычисления, поэтому число ячеек памяти равняется 2.

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

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

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

Почему происходит нагрев процессора

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

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

Кроме того, можно использовать современные материалы. Также есть процессоры, которые функционируют на низком напряжении. При этом изменение мощности напрямую зависит от напряжения. При уменьшении напряжения на 10% уменьшается потребление энергии на 20%.

Каким образом можно увеличить продуктивность процессоров

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

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

В основной своей массе CPU имеют три уровня кэш. Уровень L1 — самый скоростной, но маленький по размеру. L2 и L3 уровни намного больше, но при этом работают со значительно меньшей скоростью, но все равно функционирует быстрее, чем оперативка. Информация и команды быстро передаются из кэша, что максимально загружает процессор, и при этом не нужно простаивать, ожидая данные из оперативки.

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

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

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

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

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

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

Как же он все-таки работает

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

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

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

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

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

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

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

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

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

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


В англоязычной литературе микропроцессор часто называют CPU (central processing unit, [единым] модулем центрального процессора). Причина такого названия кроется в том, что современный процессор представляет собою единый чип. Первый микропроцессор в истории человечества был создан корпорацией Intel в далеком 1971 году.

Роль Intel в истории микропроцессорной индустрии



Речь идет о модели Intel 4004. Мощным он не был и умел выполнять только действия сложения и вычитания. Одновременно он мог обрабатывать всего четыре бита информации (то есть был 4-битным). Но для своего времени его появление стало значительным событием. Ведь весь процессор поместился в одном чипе. До появления Intel 4004, компьютеры базировались на целом наборе чипов или дискретных компонентов (транзисторов). Микропроцессор 4004 лег в основу одного из первых портативных калькуляторов.



С 2004 года Intel начала предлагать многоядерные процессоры. Число используемых в них транзисторов возросло на миллионы. Но даже сейчас процессор подчиняется тем общим правилам, которые были созданы для ранних чипов. В таблице отражена история микропроцессоров Intel до 2004 года (включительно). Мы сделаем некоторые пояснения к тому, что означают отраженные в ней показатели:

Существует непосредственная связь между тактовой частотой, а также количеством транзисторов и числом операций, выполняемых процессором за одну секунду. Например, тактовая частота процессора 8088 достигала 5 МГЦ, а производительность: всего 0,33 миллиона операций в секунду. То есть на выполнение одной инструкции требовалось порядка 15 тактов процессора. В 2004 году процессоры уже могли выполнять по две инструкции за один такт. Это улучшение было обеспечено увеличением количества процессоров в чипе.

Логика микропроцессора



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

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

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

Память микропроцессора



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

Выше мы писали о шинах (адресной и данных), а также о каналах чтения (RD) и записи (WR). Эти шины и каналы соединены с памятью: оперативной (ОЗУ, RAM) и постоянным запоминающим устройством (ПЗУ, ROM). В нашем примере рассматривается микропроцессор, ширина каждой из шин которого составляет 8 бит. Это значит, что он способен выполнять адресацию 256 байт (два в восьмой степени). В один момент времени он может считывать из памяти или записывать в нее 8 бит данных. Предположим, что этот простой микропроцессор располагает 128 байтами ПЗУ (начиная с адреса 0) или 128 байтами оперативной памяти (начиная с адреса 128).

Модуль постоянной памяти содержит определенный предварительно установленный постоянный набор байт. Адресная шина запрашивает у ПЗУ определенный байт, который следует передать шине данных. Когда канал чтения (RD) меняет свое состояние, модуль ПЗУ предоставляет запрошенный байт шине данных. То есть в данном случае возможно только чтение данных.

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

Более того, теоретически компьютер может обойтись и вовсе без оперативной памяти. Многие микроконтроллеры позволяют размещать необходимые байты данных непосредственно в чип процессора. Но без ПЗУ обойтись невозможно. В персональных компьютерах ПЗУ называется базовой системой ввода и вывода (БСВВ, BIOS, Basic Input/Output System). Свою работу при запуске микропроцессор начинает с выполнения команд, найденных им в BIOS.

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

Инструкции микропроцессора



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

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

  • LOADA mem — Загрузить (load) регистр A из некоторого адреса памяти
  • LOADB mem — Загрузить (load) регистр B из некоторого адреса памяти
  • CONB con — Загрузить постоянное значение (constant value) в регистр B
  • SAVEB mem — Сохранить (save) значение регистра B в памяти по определенному адресу
  • SAVEC mem — Сохранить (save) значение регистра C в памяти по определенному адресу
  • ADD — Сложить (add) значения регистров A и B. Результат действия сохранить в регистре C
  • SUB — Вычесть (subtract) значение регистра B из значения регистра A. Результат действия сохранить в регистре C
  • MUL — Перемножить (multiply) значения регистров A и B. Результат действия сохранить в регистре C
  • DIV — Разделить (divide) значение регистра A на значение регистра B. Результат действия сохранить в регистре C
  • COM — Сравнить (compare) значения регистров A и B. Результат передать в тестовый регистр
  • JUMP addr — Перепрыгнуть (jump) к указанному адресу
  • JEQ addr — Если выполняется условие равенства значений двух регистров, перепрыгнуть (jump) к указанному адресу
  • JNEQ addr — Если условие равенства значений двух регистров не выполняется, перепрыгнуть (jump) к указанному адресу
  • JG addr — Если значение больше, перепрыгнуть (jump) к указанному адресу
  • JGE addr — Если значение больше или равно, перепрыгнуть (jump) к указанному адресу
  • JL addr — Если значение меньше, перепрыгнуть (jump) к указанному адресу
  • JLE addr — Если значение меньше или равно, перепрыгнуть (jump) к указанному адресу
  • STOP — Остановить (stop) выполнение

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

Работа микропроцессора на примере вычисления факториала

Математические вычисления

факториал от 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120

На языке программирования C этот фрагмент кода, выполняющего данное вычисление, будет выглядеть следующим образом:

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

Компилятор C транслирует (то есть переводит) этот код в набор инструкций языка ассемблера. В рассматриваемом нами процессоре оперативная память начинается с адреса 128, а постоянная память (которая содержит язык ассемблера) начинается с адреса 0. Следовательно, на языке данного процессора эта программа будет выглядеть так:


// Предположим, что a по адресу 128// Предположим, что F по адресу 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // if a > 5 the jump to 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // loop back to if17 STOP

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

  • LOADA — 1
  • LOADB — 2
  • CONB — 3
  • SAVEB — 4
  • SAVEC mem — 5
  • ADD — 6
  • SUB — 7
  • MUL — 8
  • DIV — 9
  • COM — 10
  • JUMP addr — 11
  • JEQ addr — 12
  • JNEQ addr — 13
  • JG addr — 14
  • JGE addr — 15
  • JL addr — 16
  • JLE addr — 17
  • STOP — 18

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


// Предположим, что a по адресу 128// Предположим, что F по адресу 129Addr машинная команда/значение0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Как вы заметили, семь строчек кода на языке C были преобразованы в 18 строчек на языке ассемблера. Они заняли в ПЗУ 32 байта.

Декодирование


Рассмотрим работу дешифратора команд на примере инструкции ADD, выполняющей действие сложения:

  • В течение первого цикла тактовой частоты процессора происходит загрузка команды. На этом этапе дешифратору команд необходимо: активировать буфер сортировки для счетчика команд; активировать канал чтения (RD); активировать защелку буфера сортировки на пропуск входных данных в регистр команд
  • В течение второго цикла тактовой частоты процессора команда ADD декодируется. На этом этапе арифметико-логическое устройство выполняет сложение и передает значение в регистр C
  • В течение третьего цикла тактовой частоты процессора счетчик команд увеличивает свое значение на единицу (теоретически, это действие пересекается с происходившим во время второго цикла)

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

Микропроцессоры: производительность и тенденции

Микропроцессоры развиватся стремительно


Количество транзисторов в процессоре является важным фактором, влияющим на его производительность. Как было показано ранее, в процессоре 8088 на выполнение одной инструкции требовалось 15 циклов тактовой частоты. А чтобы выполнить одну 16-битную операцию, уходило и вовсе порядка 80 циклов. Так был устроен умножитель АЛУ этого процессора. Чем больше транзисторов и чем мощнее умножитель АЛУ, тем больше всего успевает сделать процессор за один свой такт.

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

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

64-битные процессоры


Хотя массовое распространение 64-битные процессоры получили лишь несколько лет назад, они существуют уже сравнительно давно: с 1992 года. И Intel, и AMD предлагают в настоящее время такие процессоры. 64-битным можно считать такой процессор, который обладает 64-битным арифметико-логическим устройством (АЛУ), 64-битными регистрами и 64-битными шинами.

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

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

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

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

Читайте также: