№11 (36) / Статьи журнала Мобильный Ч@ЙНИК“

«..PrevNext..»
[15.03.2008]

Современный микропроцессор и с чем его едят

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

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

Потекла инфа по трубам

Первый микропроцессор был представлен компанией Intel 15 ноября 1971 года, под названием Intel 4004, со смешными, по сегодняшним меркам, характеристиками: тактовой частотой 108 кГц, адресуемой памятью до 640 байт, выполненной по 10-ти микрометровому технологическому процессу, и размещал в себе 2300 транзисторов.

Современные микропроцессоры имеют тактовые частоты порядка нескольких гигагерц, сотни миллионов транзисторов на кристалле, выполненных по нанометровому техпроцессу, и много чего еще, обеспечивающего высокую производительность. И хотя первый процессор был создан только ближе к концу XX века, принципы его работы были разработаны аж в 1946 г. Джоном фон Нейманом! Первый транзистор был создан на год позже Уильямом Шокли совместно с Джоном Бардином и Уолтером Браттейном. За что им и вручили Нобелевскую премию.

Вернемся все-таки к фон Неймонской архитектуре. Суть ее заключается в том, что всю информацию процессор (CPU – Central Processor Unit) обрабатывает последовательно, то есть одну команду за другой. И хотя большинство процессоров используют последовательную архитектуру, существуют так же и параллельная, которая используется в суперкомпьютерах. Существуют несколько вариантов такой архитектуры: SIMD - один поток команд, много потоков данных; MISD - много потоков команд, один поток данных; MIMD - много потоков команд, много потоков данных.

Anybody home?

Чтобы понять, как работает микропроцессор, рассмотрим его простейшую структуру. Основными блоками процессора являются: арифметико-логическое устройство (Arithmetic Logic Unit - ALU), блок управления, блок памяти, устройства ввода/вывода. А теперь рассмотрим каждый узел в отдельности.

ALU производит обработку информации; логические операции (и, или и т.п.), а также арифметические операции (деление, сложение, вычитание, умножение). Если операция осуществляется над числами с плавающей точкой или другой специальной сложной операцией, то на время выполнения этих операций основной процессор заменяет математический сопроцессор (FPU – Floating Point Processing Unit). Дело в том, что основной процессор производит операции над дробными числами медленно, в ранних процессорах для этого такие операции разбивались на несколько простых специальными программами. Начиная с третьего поколения процессоров (с 386) стали использовать сопроцессор.

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

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

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

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

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

Регистр признаков или регистр состояния представляет собой довольно любопытную штуку, ведь внутри он хранит и не адреса, и не данные, а слово состояния процессора (PSW – Processor Status Word). Каждый бит этого слова содержит информацию о результате предыдущей команды. Например, в нем есть бит нулевого результата. Он устанавливается, когда результат выполненной команды равен нулю и сбрасывается, когда результат отличен от нуля. Эти биты используются командами условных переходов, также могут содержать биты управления, определяя выполнение некоторых команд.

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

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

Стек – это часть оперативной памяти для временного хранения данных, которая работает в режиме LIFO (Last In – Fist Out) или ее еще называют магазинной памятью (аналогия с магазином огнестрельного оружия). Если перевести LIFO, то получится «последний вышел – первый остался». Для понимания принципа работы стека представим себе цилиндр, в который кладут шарики (диаметр шариков и цилиндра совпадают). Положили сначала один, потом второй, затем третий. Чтобы достать первый шарик, надо вынуть третий, второй, а потом только первый. Точно также в стеке. Сначала считывается последний записанный код, затем предпоследний и так далее.

Схема управления прямым доступом к памяти служит для временного отключения процессора от внешних шин, приостанавливает его работу на время предоставления прямого доступа к памяти (ПДП или DMA – Direct Memory Access) запрашиваемого устройства.

Весь процесс ПДП сводится к пересылке информации из устройства ввода/вывода или I/O (Input/Output device) в память или наоборот, CPU в этом процессе не участвует. Закончив передачу данных, процессор снова включается и продолжает работу с той точки, откуда она была прервана.

Скатертью дорожки

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

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

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

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

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

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

Шина питания питает всю систему.

Мегагерц всему голова

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

Первая характеристика, которая бросается в глаза, это тактовая частота, так как она указывается в названии процессора. Все операции внутри CPU выполняются синхронно и тактируются (регулируются) единым тактовым сигналом. Чем больше тактовая частота, тем быстрее происходит обработка информации. Еще одна немаловажная характеристика, связанная с частотой, это частота работы тактового генератора системной шины FSB (Front Side Bus). Как было сказано ранее, именно по ней передаются все данные, и чем быстрее данные по ней передаются, тем быстрее работает система. Тактовая частота всех компонентов ПК является кратной частоте системной шины. Например, у Core 2 Duo 6700 частота системной шины 266МГц (или 1066 МГц Quad Pumped Bus), а его собственная частота – 2666 МГц, т. е. CPU имеет множитель 10 (266*10).

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

Так же одной из характеристик является форм-фактор или проще говоря soсket (разъем), куда подключается процессор. С помощью этого разъема СPU подключается к системной магистрали. Этот параметр не маловажен, так как у каждого производителя и разных линеек процов разные сокеты. Например, какой-нибудь Pentium D не влезет в Socket 939, точно так же как Athlon 64 X2 в разъем LGA775, если конечно не применить подручные средства в виде молотка.

Еще один важный параметр - это размер кэш-памяти. Кэш-память делится на уровни: первый уровень (L1 – Level 1) – память малого объема, но с очень быстрым доступом. Время доступа к кэш-памяти второго уровня (L2) меньше, чем у L1, но зато ее объем больше. Также бывает кэш-память третьего уровня, но она применялась только в Pentium EE.

Столько ядер вам и не снилось

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

Великим событием 2005 года стало появление в продаже процессора с двумя ядрами от AMD. И благословение богов снизошло на простых пользователей. Теперь можно иметь у себя дома систему с двумя полноценными ядрами (т.е. процессорами). Для этого нужно было всего лишь иметь персональный компьютер класса Hi-End, а не переходить на новую платформу и менять какие-то железки. Просто вынуть старый и вставить новый. Красота!

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

Но AMD недолго правила балом. После выхода новой линейки Intel Core 2 Extreme и Intel Core 2 Duo на базе ядра Conroe, выполненных по 65 нанометровому техпроцессу, процессоры AMD стали сдавать свои позиции. Даже переход на новый 65 нм техпроцесс не помог, лишь только уменьшил габариты и тепловыделение, но совершенно не прибавил производительности. Правда, это снизило их себестоимость, но это их не спасло.

Сейчас ситуация такова, что всю верхнюю ценовую категорию занимают процессоры от Intel, да и не только верхнюю, но и среднюю и нижнюю. CPU от AMD под силу тягаться только с процессорами Intel Conroe-1M, но не больше, занимая почетное место в Middle-End- системах.

Заключение

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

«..PrevNext..»

Версия для печати ++
Перейти к разделу >>
Перейти к номеру >>
№ 9 (34) 15 сентября 2007, суббота






№ 10 (35) 28 декабря 2007, пятница






№ 11 (36) 15 января 2008, вторник





Современный микропроцессор и с чем его едят



№ 10 (35) 28 декабря 2007, пятница






№ 9 (34) 15 сентября 2007, суббота