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

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

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

Часовая частота, или скорость внутренних частей процессора, измеряется в герцах (Гц). Современные процессоры часто работают так быстро, что вместо них используется гигагерц (ГГц). Одна ГГц - это 1 000 000 000 циклов в секунду.

Большинство процессоров, используемых в настольных (домашних) компьютерах, представляют собой микропроцессоры, производимые либо Intel, либо Advanced Micro Devices (обычно сокращенные до AMD). Некоторые другие компании, которые производят процессоры - это ARM, IBM и AMD под маркой ATI Technologies, которая на данный момент является лидером. Большинство их процессоров используются во встраиваемых системах для более специализированных вещей, например, в мобильных телефонах, автомобилях, игровых приставках или в армии.

Процессор Pentium внутри компьютераZoom
Процессор Pentium внутри компьютера

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

В 20 веке инженеры изобрели множество различных компьютерных архитектур. В настоящее время большинство настольных компьютеров используют 32-битные или 64-битные процессоры. Инструкции в 32-битном процессоре хорошо работают с данными размером 32 бита (большинство инструкций "думают" в 32 битах в 32-битном процессоре). Точно так же 64-битный процессор хорошо справляется с данными размером 64 бита (а часто и с 32-битными данными). Размер данных, с которыми лучше всего работает процессор, часто называют словом "размер процессора". Многие старые процессоры 70-х, 80-х и начала 90-х годов (и многие современные встраиваемые системы) имеют 8-битный или 16-битный размер слова. Когда в середине 20-го века были изобретены центральные процессоры, у них было много разных размеров слов. Некоторые из них имели разный размер слов для инструкций и данных. Менее популярные размеры слов позднее перестали использоваться.

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

Регистры

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

Память

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

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

Поскольку размер адресов ограничен, максимальный объем памяти также ограничен. 32-битные процессоры обычно могут обрабатывать только до 4 Гб оперативной памяти. Это количество различных байтов, которое может быть выбрано по 32-битному адресу (каждый бит может иметь два значения - 0 и 1 и 232 байта - 4 ГБ). 64-битный процессор может обрабатывать до 16 EB оперативной памяти (16 экзабайт, около 16 миллиардов ГБ или 16 миллиардов байт). Операционная система может ограничиться использованием меньших объемов.

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

Кэш

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

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

Автобусы

Компьютерные шины - это провода, используемые ЦПУ для связи с оперативной памятью и другими компонентами компьютера. Почти все ЦПУ имеют как минимум шину данных, используемую для чтения и записи данных, и адресную шину, используемую для вывода адресов. Другие шины внутри ЦПУ передают данные в различные части ЦПУ.

Наборы инструкций

Набор инструкций (также называемый ISA - Instruction Set Architecture) - это язык, понятный непосредственно конкретному центральному процессору. Эти языки также называются машинным кодом или двоичным. Они говорят о том, как приказать процессору делать различные вещи, например, загружать данные из памяти в регистр или добавлять значения из двух регистров. Каждая инструкция в наборе инструкций имеет кодировку, которая представляет собой то, как инструкция записывается в виде последовательности битов.

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

Машинный код - это всего лишь последовательность 0s и 1s, что затрудняет его чтение человеком. Чтобы сделать его более читаемым, программы машинного кода обычно пишутся на ассемблере. Язык ассемблера использует текст вместо 0s и 1s: Например, вы можете написать "LD A,0", чтобы загрузить значение 0 в регистр A. Программа, которая транслирует язык ассемблера в машинный код, называется ассемблером.

Функциональность

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

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

Даже очень сложные программы можно сделать, комбинируя множество простых инструкций, подобных этим. Это возможно, потому что каждая инструкция занимает очень короткое время. Многие процессоры сегодня могут выполнить более 1 миллиарда (1,000,000,000) инструкций за одну секунду. В общем, чем больше процессор может сделать за данный промежуток времени, тем быстрее. Одним из способов измерения скорости процессора является MIPS (Million Instructions Per Second - миллион инструкций в секунду). Флопы (операции с плавающей запятой в секунду) и тактовая частота процессора (обычно измеряемая в гигагерцах) также являются способами измерения того, сколько работы может сделать процессор за определенное время.

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

Инструктивные трубопроводы

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

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

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

Блоки управления памятью (MMU) и виртуальной памятью

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

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

Несколько ядер

Многоядерные процессоры получили широкое распространение в начале 21 века. Это означает, что у них много процессоров, встроенных в один и тот же чип, так что они могут выполнять множество инструкций одновременно. Некоторые процессоры могут иметь до тридцати двух ядер, например AMD Epyc 7601.

Производители

Следующие компании производят компьютерные процессоры:

  • ARM
  • Intel
  • Передовые микроустройства
  • МЦНТ
  • SRISA
  • Микросистемы солнца

Дополнительная информация

Вопросы и ответы

В: Что такое центральный процессор?


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

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


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

В: В чем измеряется тактовая частота или скорость центрального процессора?


О: Тактовая частота или скорость внутренних частей процессора измеряется в герцах (Гц). Современные процессоры часто работают настолько быстро, что вместо этого используется гигагерц (ГГц) - один гигагерц равен 1,000,000,000 циклов в секунду.

В: Кто некоторые компании, которые производят процессоры?


О: Некоторые компании, производящие процессоры, - это Intel, Advanced Micro Devices (AMD), ARM (недавно купленная Nvidia), IBM и AMD под маркой ATI Technologies, которая в настоящее время лидирует на рынке.

В: Где в основном используются центральные процессоры?


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

AlegsaOnline.com - 2020 / 2023 - License CC3