Это - учебно-методические материалы по медицинской информатике и статистике с сайта 1mgmu.com
Увеличить шрифт ::
Уменьшить шрифт
6.3.1 Компьютер. Железо. Что такое "центральный процессор" (краткий вариант)
«Если одна женщина сможет выносить одного ребенка за 9 месяцев, то за сколько месяцев сможет выносить одного ребенка 9 женщин?»
Школьный анекдот
Центральный процессор выполняет две главные функции – выполняет программы, записанные в оперативной памяти, и управляет работой других компонентов персонального компьютера.
Конструктивно центральный процессор – довольно крупный элемент, вставляемый в материнскую плату в специальное гнездо. Наиболее популярный вариант крепления – на коробке с процессором снизу имеются торчащие контакты, которые вставляются в гнездо с набором отверстий, но возможны и другие варианты. Сейчас отрабатывается вариант крепления, в котором торчащие контакты – на материнской плате, а гнезда – на процессоре. Одно время также применялся вариант, когда контакты были сбоку.
Процессор не впаивается в материнскую плату, как многие другие элементы, а вставляется в нее, что позволяет повышать производительность системы, меняя один процессор на другой без замены материнской платы. Для упрощения этой процедуры современные процессорные гнезда снабжаются нехитрым механическим устройством, упрощающим этот процесс. С другой стороны, время от времени меняется стандарт этого гнезда, что не позволяет ставить новые процессоры в относительно старые системы. Помимо изменений конструкции крепления (размеры, количество «ног» и т.д.) есть и другие ограничения, когда процессор, механически вставляющийся в гнездо, работать с ним отказывается. Есть также нехорошее подозрение, что периодическая смена варианта гнезда крепления и такие дополнительные ограничения связаны не с реальным технологическим процессом, а с желанием фирм-производителей ускорить смену оборудования. По крайней мере, в специализированных журналах печатаются советы, как «уговорить» новый процессор работать со старым гнездом. Оказывается, для этого достаточно некоторые «ноги» процессора отломать, а некоторые – спаять.
Кроме этого, центральные процессоры фирмы Intel и AMD в последние годы разошлись по используемым процессорным гнездам. Специальные гнезда используются и в ноутбуках и наладонных компьютерах, но там резон другой – уменьшение размера.
Так как вся (с некоторыми уточнениями, которые будут даны ниже) обрабатываемая информация проходит именно через центральный процессор, то он предопределяет вычислительную мощность системы. Другие компоненты могут только ее снизить, например, если используется медленный жесткий диск, то процессор будет простаивать в ожидании загрузки информации в оперативную память.
Так как практически все читатели прошли пусть минимальную, но военную подготовку, то они хорошо знают, что для синхронизации во время движения строем имеется некоторый компонент (например, товарищ капитан), который ритмическими воплями «раз, раз, раз, два, три» задает ритм, а все команды по перестроению выполняются на определенное количество тактов. Например, поворот кругом выполняется на три счета, а налево – на два счета. Точно так же в центральном процессоре есть генератор частоты, задающий ритм для согласованной работы. Поэтому пиковая производительность центрального процессора (когда он ничего не ждет) определяется следующим:
1) Тактовой частотой;
2) Набором команд;
3) Количеством тактов, затрачиваемых на выполнение команды.
4) Шириной шины команд и данных
5) Количеством центральных процессоров
С тактовой частотой все достаточно просто – если такой же процессор имеет вдвое большую тактовую частоту, то он работает вдвое быстрее.
Одна из технических проблем, связанных с повышением тактовой частоты, связана с увеличением энерговыделения. Потребление энергии процессором пропорционально кубу тактовой частоты, отчего увеличение частоты в два раза повышает выделение в восемь раз. А уж если вспомнить, что за двадцать лет частота работы процессоров возросла более чем в тысячу раз… Для частичной компенсации повышения энерговыделения за эти годы постоянно снижали рабочее напряжение процессора, доведя его примерно до полутора вольт (энерговыделение пропорционально квадрату напряжения), использовали другие ухищрения, но, все равно, центральный процессор превратился элемент, выделяющий достаточно много тепла (примерно как лампочка – около тех же 60 ватт) и, из-за этого, снабженный достаточно массивной (шумящей и тоже потребляющей энергию) системой охлаждения из радиаторов и вентилятора. При этом процессор с неработающей системой охлаждения быстро сгорает, а рабочая его температура с нормально функционирующей системой охлаждения достигает 70-80 градусов. Для контроля за ней в современные платы устанавливают термодатчики, а скорость работы вентилятора охлаждения регулируется не только вручную, но и автоматически.
Для повышения скорости работы центрального процессора можно поднять его тактовую частоту. Эта процедура называется «разгон», причем для обеспечения работы центрального процессора на повышенной частоте приходится повышать и напряжение. Современные системы обычно позволяют это сделать путем манипуляций с настройками BIOS, однако такие манипуляции не только увеличивают энергопотребление, но и резко снижают ресурс работы центрального процессора. Увлекшись разгоном, легко спалить и процессор, и материнскую плату.
С другой стороны, у отечественных компьютерных магазинов обычно принят принцип:
1. Если что-то плохо работает, то это нужно не выбросить, а продать лохам.
2. Все государственные учреждения – лохи.
3. Государственные медицинские учреждения – лохи в кубе.
Плохо работающие компоненты часто как-то работают только на пониженных частотах, с увеличенным количеством тактов и т.д. Поэтому, пока компьютер на гарантии, следует войти в программу конфигурации, тщательно списать все выставленные параметры на бумажку и поменять режимы на стандартные (обычно такая возможность есть в качестве отдельной строки).
Если компьютер старый или модернизированный, то снижение частот может быть единственным способом заставить его работать.
С другой стороны, в ноутбуках и наладонных компьютерах часто используются системы энергосбережения, когда при небольшой загрузке процессора автоматически снижается его тактовая частота и напряжение питания, а «по умолчанию» при работе с питанием от сети тактовая частота выше, чем при работе от аккумулятора.
Другая актуальная проблема современных центральных процессоров связана … с недостаточно высокой скоростью света. Действительно, при тактовой частоте в три гигагерца длина волны составляет 10 сантиметров, что близко к линейному размеру центрального процессора. При такой частоте становится сложно синхронизовать работу процессорных компонентов. Поэтому в качестве основной линии дальнейшего повышения производительности центрального процессора сейчас рассматривается не дальнейшее повышение тактовой частоты, а многоядерность (см. ниже).
Второе, что определяет производительность процессора – имеющийся у него набор команд.
Любую вычислительную операцию можно выполнить двумя способами:
А) непосредственно командой выполнения такой операции, если она в процессоре предусмотрена;
Б) программно, то есть последовательностью более простых команд.
Для примера давайте вспомним, как мы в школе делили в столбик. Если помните, то операция деления длинных чисел может выть сведена к набору более простых арифметических операций сложений, вычитаний и умножений однозначных чисел, а также некоторых простых логических операций сравнения. Аналогично сложные для машинной реализации операции работы с нецелыми числами могут быть сведены к последовательности более простых арифметических и логических команд работы с целыми числами.
Поэтому есть два способа реализации выполнения команд – аппаратный, когда команда выполняется процессором как единая команда, и программный, когда сложная команда переписывается в виде небольшой программы с простыми командами и в таком виде и выполняется.
Аппаратная реализация усложняет (а значит, и увеличивает его энергопотребление и разогрев) и удорожает процессор, но традиционно была значительно быстрее, чем программное исполнение. Поэтому за время совершенствования компьютеров была тенденция к увеличению и усложнению наборов выполняемых процессором команд.
Иногда выполнение таких команд выносится из центрального процессора в другой, специализированный процессор. Например, в восьмидесятые годы даже в персональных компьютерах была схема, при которой команды арифметики с нецелыми числами выполнял отдельный арифметический процессор. Уже давно блок операций с нецелыми числами присутствует в центральном процессоре. Более того, в современных процессорах, если не нужно выполнять команды такой арифметики, он способен переключиться в режим выполнения команд целой арифметики, из-за чего процессор работает как два независимых вычислителя.
Достаточно часто для специализированной обработки данных приходится выполнять довольно специальные процедуры. В этом случае можно сделать специальный процессор, в котором такие команды будут реализованы аппаратно, и будут выполняться быстрее, чем в универсальном центральном процессоре. Например, в конце восьмидесятых годов, когда мощности центрального процессора не хватало для воспроизведения звука в реальном масштабе времени, в компьютеры ставили специальные звуковые сопроцессоры. Сейчас одна из типовых ресурсозатратных задач – обработка и генерация видеоизображения. Поэтому сейчас в персональных компьютерах активно используют графические системы со специализированным процессором. По мощности и энергопотреблению он сопоставим с универсальным центральным процессором и, как и он, в большинстве случаев требует дополнительной системы охлаждения, но имеет другую систему команд.
Когда мощность универсального центрального процессора возрастет до такой степени, что такие задачи будут для него малозатратными, все эти видеоакселераторы сгинут как класс. Но, может, появится что-то другое, с чем универсальный процессор не справляется.
Третье, что определяет производительность центрального процессора – количество тактов, которые затрачивает процессор на выполнение команды. Например, в компьютере IBM PC ХТ процессор 8088 на выполнение деления двух нецелых длинных чисел затрачивал 208 тактов. Есть общая тенденция, что по мере совершенствования количество тактов на выполнения команд уменьшается, из-за чего более новые процессоры даже при той же частоте работают быстрее. Сейчас команды выполняются в основном за такт (нюансы – потом).
Следующее, что определяет производительность – ширина информационных каналов, по которым поступает поток данных. Например, в девяностые персональные компьютеры были в основном 16-битные. Поэтому, для того, чтобы обработать число длиной в 4 байта (то есть 32 бита), приходилось разбивать его на два 16-битных числа. Это не только вдвое замедляло загрузку числа в процессор, но и значительно замедляло его обработку, так как 32-битная арифметика на 16-битном процессоре реализуется программно, то есть медленно. Сейчас персональные компьютеры в основном 32-битные. Идет переход на 64-битные решения, но оно сдерживается. Причем, в основном, не производителями железа, а программ, так как им влом переписывать все программные коды для реализации быстрой 64-битной арифметики.
Ну и в заключение – о количестве процессоров. Кажется, что чем больше процессоров, тем быстрее выполняется задача, но на деле происходит как в приведенном в начале раздела анекдоте. Для подобного «распараллеливания» даже и не нужно нескольких центральных процессоров, так как современные центральные процессоры состоят из большого количества относительно независимых компонентов и умеют считать параллельно. Проблема в том, что хотя выполнение программы и представляет из себя (в основном) длительную последовательность арифметических действий, но то, с какими числами манипулировать и что делать, зависит от исхода выполненных ранее действий. Поэтому для одновременной работы нескольких процессоров нужно, чтобы можно было не только последовательно выполнять команды, но и предугадывать, что будет выполняться дальше, что представляет из себя не менее сложную вычислительную задачу. Сложность решения этой задачи, как оказалось, очень сильно зависит от набора используемых команд.
Как было выше сказано, одной из основной тенденцией в развитии процессоров было расширение списка аппаратно выполняемых команд и увеличение их сложности. Такие системы команд называются CISC. Помимо этого развивались и RISC-процессоры, в которых использовалась система из небольшого количества простых команд одного формата. RISC-процессоры оказывались значительно меньше и дешевле. Особенно удобно их использование там, где нужно выполнять фиксированные вычислительные операции за определенное время, а не стараться максимально повысить мощность. Например, ели RISC-процессор, стоящий в MP3-плеере, справляется с операциями воспроизведения и сжатия в реальном масштабе времени, то больше и не надо.
Однако RISC-процессоры, в силу простоты командной системы, оказались значительно более приспособленными к распараллеливанию операций. Поэтому в середине 90х годов получилась очень интересная ситуация - RISC-процессоры, используемые как центральные процессоры, по своей производительности стали превосходить традиционные, имея при этом значительно меньшие размеры, энергопотребление и стоимость. В продаже эта линия пошла под названием Power PC.
Строго говоря, для реализации мощности этой новой линии процессоров нужны были программы, написанные в ее коде. Естественно, что простая ретрансляция (эмуляция) кода в RISC-команды снижает эффективность кода, из-за чего простая замена процессора без замены программ не повышает, а понижает производительность. Дальнейшая судьба этой линии зависела от политических решений гигантов компьютерной индустрии по переходу на новую прогрессивную платформу. Но им, как обычно, оказалось влом менять продаваемые и без того программы, и линия Power PC стала широко применяться только на персоналках линии Макинтош.
Однако производители центральных процессоров для линии PC намек поняли и сгенерировали очень забавную комбинированную конструкцию – процессоры, у которых на вход поступают традиционные CISC-команды, далее они преобразуются в RISC-команды, которые и выполняются внутренним ядром с массивными операциями предсказания и распараллеливания.
А если еще и вспомнить, что современные процессоры – схемы более чем с миллиардом транзистором, которые, естественно, разрабатываются и производятся при помощи специальных программ (а как иначе – человек не то что понять – просто перечислить миллиард транзисторов не сможет…). В результате – сейчас, по большому счету, уже никто не понимает, как на самом деле считают центральные процессоры. Поэтому не очень понятно и что нужно делать для ускорения работы программы. Если не так давно можно было, проявляя чудеса трудолюбия, переписать программу на ассемблере, то теперь, когда входные коды одни, а коды исполнения другие…
Как уже было сказано, в деле наращивания тактовой частоты намечаются проблемы. Поэтому производители активно осваивают многопроцессорные системы. Строго говоря, даже одиночные современные процессоры – многопроцессорные системы из двух или четырех процессорных ядер на одном чипе.
Выше речь шла о повышении пиковой вычислительной мощности, но реально важнее не пиковая, а средняя. А так как процессор напрямую работает только с программами и данными, записанными в оперативной памяти, то нужно, чтобы эта память была не только достаточно емкая, но и достаточно быстрая.
Так как реально при выполнении программ несколько чисел задействуются интенсивнее других (например, при суммировании последовательности чисел к одному числу, содержащему промежуточную сумму, все время прибавляют другие), то уже давно в центральный процессор стали встраивать сверхбыструю память очень малого объема (десяток-другой чисел), называющуюся регистрами. В последние годы также стали кеш-память разделять на два уровня и более быструю память меньшего уровня (так называемую кеш-память второго уровня) тоже встраивать прямо в процессор. Более дешевые варианты процессоров часто отличаются именно уменьшенным размером кеш-память второго уровня.
В некоторых процессорах также используется деление кеш-памяти второго уровня на две отдельные части – для данных и для команд.
Оглавление раздела нижнего уровня
Оглавление раздела верхнего уровня
ОГЛАВЛЕНИЕ ОГЛАВЛЕНИЙ
НА ГЛАВНУЮ СТРАНИЦУ САЙТА
Материалы используются на Едином Образовательном Пространстве Первого московского государственного медуниверситета им. И.М. Сеченова