русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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

Центральный процессор ( Central processing unit ) - функциональная часть ЭВМ, предназначенная для интерпретации команд.

Содержание

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

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

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

Термин "архитектура процессора" в настоящее время не имеет однозначного толкования. С точки зрения программистов, под архитектурой процессора подразумевается его способность исполнять определенный набор машинных кодов. Большинство современных десктопных процессоров относятся к семейству x86, или Intel -совместимых процессоров архитектуры IA32(архитектура 32-битных процессоров Intel). Ее основа была заложена компанией Intel в процессоре i80386, однако в последующих поколениях процессоров она была дополнена и расширена как самой Intel (введены новые наборы команд MMX, SSE, SSE2 и SSE3 ), так и сторонними производителями (наборы команд EMMX, 3DNow! и Extended 3DNow!, разработанные компанией AMD ).

Однако разработчики компьютерного оборудования вкладывают в понятие "Архитектура процессора" (иногда, чтобы окончательно не запутаться, используется термин "микроархитектура") несколько иной смысл. С их точки зрения, архитектура процессора отражает основные принципы внутренней организации конкретных семейств процессоров. Например, архитектура процессоров Intel Pentium обозначалась как Р5, процессоров Pentium II и Pentium III - Р6, а популярные в недавнем прошлом Pentium 4 относились к архитектуре NetBurst. После того, как компания Intel закрыла архитектуру Р5 для сторонних производителей, ее основной конкурент - компания AMD была вынуждена разработать собственную архитектуру - К7 для процессоров Athlon и Athlon XP, и К8 для Athlon 64.

Ядро процессора

В рамках одной и той же архитектуры различные процессоры могут достаточно сильно отличаться друг от друга. И различия эти воплощаются в разнообразных процессорных ядрах, обладающих определенным набором строго обусловленных характеристик. Чаще всего эти отличия воплощаются в различных частотах системной шины (FSB), размерах кэша второго уровня, поддержке тех или иных новых систем команд или технологических процессах, по которым изготавливаются процессоры. Нередко смена ядра в одном и том же семействе процессоров влечет за собой замену процессорного разъема (сокет, англ. socket ), из чего вытекают вопросы дальнейшей совместимости материнских плат. Однако в процессе совершенствования ядра производителям приходится вносить в него незначительные изменения, которые не могут претендовать на "имя собственное". Такие изменения называются ревизиями ( англ. stepping ) ядра и, чаще всего, сказываются цифробуквеннимы комбинациями. Однако в новых ревизиях одного и того же ядра могут встречаться достаточно заметные нововведения. Так, компания Intel ввела поддержку 64-битной архитектуры EM64T в отдельные процессоры семейства Pentium 4 именно в процессе изменения ревизии.

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

Успешными и самыми распространенными недавно были процессоры с архитектурой IA32, которая была введена с появлением поколения процессоров i80386 на замену 16-битным 8086, 80186, 80286.

Довольно удачное 64-битное расширение классической 32-битной архитектуры IA32 было предложено в 2002 году компанией AMD (первоначально называлось x86-64, сейчас - AMD64) в процессорах семейства К8. Через некоторое время компанией Intel было предложено собственное обозначение - EM64T ( англ. Extended Memory 64-bit Technology ). Но, независимо от названия, суть новой архитектуры одна и та же: разрядность основных внутренних регистров 64-битных процессоров удвоилась (с 32 до 64 бит), а 32-битные команды x86-кода получили 64-битные аналоги. Кроме того, за счет расширения разрядности шины адресов объем памяти, адресуемой процессором памяти существенно увеличился.

Но те, кто ждет от 64-битных процессоров сколько-нибудь существенного прироста производительности, будут разочарованы - их производительность в подавляющем большинстве современных приложений (которые в массе своей подогнаны под IA32) практически та же, что и у старых добрых 32-битных. Для рядового пользователя потенциал 64-битной архитектуры может раскрыться тогда, когда массово появятся приложения, оптимизированные под новую архитектуру. Самым эффективным переход на 64-битные процессоры станет для программ, активно работающих с большими объемами памяти, более 4 ГБ: высокопроизводительных серверов, баз данных, программ класса CAD / CAE, а также программ для работы с цифровым контентом.

Параллелизм

Конвейер команд

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

Самым значимым событием 2005 года стало появление двухъядерных процессоров. К тому времени классические одноядерные CPU определенной степени исчерпали резервы роста производительности за счет повышения рабочей частоты. Камнем преткновения стало не только очень высокое тепловыделение процессоров, работающих на высоких частотах, но и проблемы с их стабильностью. Итак, экстенсивный путь развития процессоров иссяк и производителям пришлось осваивать новый, интенсивный путь повышения производительности продукции. Пионером на рынке десктопных CPU, как обычно, стала компания Intel, которая первой представила двухъядерные процессоры Intel Pentium D и Intel Extreme Edition. Впрочем, AMD с Athlon64 X2 отстала от конкурента буквально на считанные дни. Бесспорным достижением этих двоядерникив первого поколения является их полная совместимость с существующими системными платами. Второе поколение двухъядерных процессоров, в частности, Intel Core 2 Duo, требует специально разработанных для них чипсетов и со старыми материнскими платами не работает.

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

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

Внутренние совместно работающие устройства

Модели процессоров включают следующие совместно работающие устройства:

  • Устройство управления (ПК). Осуществляет координацию работы всех других устройств, выполняет функции управления устройствами, управляет вычислениями в компьютере.
  • Арифметико-логическое устройство (АЛУ). Так называется устройство для целочисленных операций. Арифметические операции, такие как сложение, умножение и деление, а также логические операции (OR, AND, ASL, ROL и др.). Обрабатываются с помощью АЛУ. Эти операции составляют подавляющее большинство программных кодов в большинстве приложений. Все операции в АЛУ обрабатываются в регистрах - специально отведенных ячейках АЛУ. В процессоре может быть несколько АЛУ. Каждый способен выполнять арифметические или логические операции независимо от других, что позволяет выполнять несколько операций одновременно. Арифметико-логическое устройство выполняет арифметические и логические действия. Логические операции делятся на две простые операции: «Да» и «Нет» («1» и «0»). Обычно эти два устройства выделяются чисто условно, конструктивно они не разделены.
  • AGU (Address Generation Unit) - устройство генерации адресов. Это устройство не менее важен, чем АЛУ, так как он отвечает за корректную адресацию при загрузке или сохранении данных.
  • Математический сопроцессор (FPU). Процессор может содержать несколько математических сопроцессоров. Каждый из них способен выполнять, как минимум, одну операцию с плавающей запятой, независимо от того, что делают другие АЛУ. Метод конвейерной обработки данных позволяет одному математическим сопроцессором выполнять несколько операций одновременно. Сопроцессор поддерживает высокоточные вычисления как целочисленные, так и с плавающей запятой и, кроме того, содержит набор полезных констант, ускоряющих вычисления. Сопроцессор работает параллельно с центральным процессором, обеспечивая, таким образом, высокую производительность.
  • Дешифратор инструкций (команд). Анализирует инструкции с целью выделения операндов и адресов, по которым размещаются результаты. Затем следует сообщение другому независимому устройству о том, что необходимо сделать для выполнения инструкции. Дешифратор допускает выполнение нескольких инструкций одновременно для загрузки всех исполнительных устройств.

Память


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

Кэш первого уровня (L1 cache). Кэш, что находится внутри процессора. Она быстрее всех других типов памяти, но меньше по объему. Сохраняет недавно использованную информацию, которая снова может быть использована при выполнении коротких программных циклов.

Кэш второго уровня (L2 cache). Также находится внутри процессора. Информация, хранящаяся в ней, используется реже, чем информация, хранящаяся в кэш-памяти первого уровня, однако объем памяти в ней больше. Также в настоящее время в процессорах используется кэш третьего уровня.

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

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

Шины


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

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

Буфер целей ветвления

BTB (Branch Target Buffer). Это таблица, в которой находятся все адреса, куда будет или может быть сделан переход.

Просмотров: 24301


Вернуться воглавление




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.