От песка до процессора. Как это работает: микропроцессор Как работает процессор в компьютере

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

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

МП и МК

Кстати, а почему мы все время говорим то микропроцессоры (МП), то микро­контроллеры (МК)? Микроконтроллер отличается от микропроцессора тем, что он предназначен для управления другими устройствами, и поэтому имеет встроенную развитую систему ввода-вывода, но, как правило, относительно более слабое АЛУ. Микроконтроллерам очень хорошо подходит термин, кото­рый в советское время имел, правда, несколько иное значение- «микро-ЭВМ», еще точнее звучит английское «computer-on-chip», однокристальный компьютер. В самом деле, для построения простейшего вычислительного уст­ройства, которое могло бы выполнять что-то полезное, обычный микропроцес­сор, от i4004 до Pentium и Core Duo, приходится дополнять памятью, ПЗУ с за­писанной BIOS, устройствами ввода-вывода, контроллером прерываний, тактовым генератором с таймерами и т. п. - всем тем, что сейчас стало объе­диняться в т. н. «чипсеты». «Голый» МП способен только одно: правильно включиться, ему даже программу загрузки неоткуда взять.

В то же время для МК микропроцессор - это только ядро, даже не самая большая часть кристалла. Для построения законченной системы на типовом МК не требуется вообще ничего, кроме источника питания и периферийных исполняющих устройств, которые позволяли бы человеку определить, что сис­тема работает. Обычный МК может без дополнительных компонентов общать­ся с другими МК, внешней памятью, специальными микросхемами (вроде ча­сов реального времени или флэш-памяти), управлять небольшими (а иногда - и большими) матричными панелями, к нему можно напрямую подключать дат­чики физических величин (в том числе - чисто аналоговые, АЦП тоже часто входят в МК), кнопки, клавиатуры, светодиоды и индикаторы, короче- в микроконтроллерах сделано все, чтобы приходилось как можно меньше паять и задумываться над подбором элементов. За это приходится расплачиваться пониженным быстродействием (которое, впрочем, не так-то уж и важно в ти­повых задачах для МК) и некоторым ограничением в отдельных функциях - по сравнению с универсальными, но в сотни раз более дорогими и фомоздки-ми системами на «настоящих» МП. Вы можете мне не поверить, но процессо­ры для персональных компьютеров (ПК), о которых мы столько слышим, за­нимают в общем количестве выпускаемых процессоров лишь 5-6% - остальные составляют микроконтроллеры различного назначения.

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

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

Рис. 18.2. Блок-схема простейшего микроконтроллера

Блок-схема простейшего МК, содержащего процессорное ядро и минимум компонентов для «общения» с внешней средой, показана на рис. 18.2. Здесь мы включили в состав системы память программ, которая у ПК-процессоров находится всегда отдельно (если не считать относительно небольшого объе­ма быстродействующей кэш-памяти) - сами знаете, какой объем программ бывает в персональных компьютерах. В большинстве современных микро­контроллеров постоянное запоминающее устройство (ПЗУ) для программ входит в состав чипа и обычно составляет от V-2 до 8-32 кбайт. Хотя есть модели и с 256 килобайтами встроенной памяти, но 2-8 кбайт для подав­ляющего большинства применений вполне достаточно. Встроенное опера­тивное запоминающее устройство (ОЗУ) для хранения данных в том или ином объеме также имеется во всех современных микроконтроллерах, ти­пичный размер такого ОЗУ - от 128-256 байт до 1-4 кбайт. В большинст­ве универсальных контроллеров есть и некоторое количество встроенной энергонезависимой памяти для хранения констант- обычно столько же, сколько и ОЗУ данных. Но к памяти мы еще вернемся в этой главе, а пока продолжим про процессоры.

Подробности

в первых моделях микропроцессоров (включая и интеловские процессоры для ПК - от 8086 до 80386) процессор выполнял команды строго последователь­но: загрузить команду, определить, что ей нужны операнды, загрузить эти опе­ранды (по адресу регистров, которые их должны содержать; адреса эти, как правило, хранятся сразу после собственно кода команды или определены за­ранее), потом проделать нужные действия, складировать результаты… До на­шего времени дошла архитектура суперпопулярных еще недавно микрокон­троллеров 8051, выпускающихся и по сей день различными фирмами (Atnnel, Philips), которые выполняли одну команду аж за 12 тактов (в некоторых совре­менных аналогах, впрочем, это число меньше). Для ускорения работы стали делить такты на части (например, срабатывать по переднему и заднему фрон­там), но действительный прорыв произошел с внедрением конвейера. Со вре­мен Генри Форда известно, что производительность конвейера зависит только от времени выполнения самой длинной операции - если поделить команды на этапы и выполнять их одновременно разными аппаратными узлами, то можно добиться существенного ускорения (хотя и не во всех случаях). В рас­сматриваемых далее микроконтроллерах Atmel AVR конвейер двухступенча­тый: когда очередная команда загружается и декодируется, предыдущая уже выполняется и пишет результаты. В AVR это позволило выполнять большин­ство команд за один такт (кроме команд ветвления программы).

Главное устройство в МП, которое связывает все узлы в единую систему - внутренняя шина данных. По ней все устройства обмениваются сигналами. Например, если МП требуется обратиться к внешней, дополнительной памя­ти, то при исполнении соответствующей команды на шину данных выставля­ется нужный адрес, от устройства управления поступает через нее же запрос на обращение к нужным портам ввода/вывода. Если порты готовы, адрес по­ступает на выходы портов (то есть на соответствующие выводы контролле­ра), затем по готовности принимающий порт выставляет на шину принятые из внешней памяти данные, которые загружаются в нужный регистр, после чего шина данных свободна. Для того чтобы все устройства не мешали друг другу, все это строго синхронизировано, при этом каждое устройство имеет, во-первых, собственный адрес, во-вторых, может находиться в трех состоя­ниях - работать на ввод, на вывод или находиться в третьем состоянии, не мешая другим работать.

Под разрядностью МП обычно понимают разрядность чисел, с которыми ра­ботает АЛУ, соответственно, такую же разрядность имеют и рабочие регист­ры. Например, все ПК-процессоры от 1386 до последних инкарнаций Pentkim были 32-разрядными, некоторые последние модели от Intel и AMD стали 64-разрядными. Большинство микроконтроллеров общего назначения- 8-раз­рядные, но есть и 16-, и 32-разрядные. При этом внутренняя шина данных может иметь и больше разрядов - например, чтобы одновременно переда­вать и адреса и данные.

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

Заметки на полях

Обычно тактовая частота универсальных МК невелика (хотя инженеру 1980-х, когда ПК работали* на частотах не выше 6 МГц, она показалась бы огром­ной) - порядка 8-16 МГц, иногда до 20 МГц или несколько более. И это всех устраивает - дело в том, что обычные МК и не предназначены для разработ­ки быстродействующих схем. Если требуется быстродействие, то использует­ся другой класс интегральных схем - ПЛИС, «профаммируемые логические интефальные схемы». Простейшая ПЛИС представляет собой набор никак не связанных ме>кду собой логических элементов (наиболее сложные из них мо­гут включать в себя и некоторые законченные узлы, вроде триггеров и генера­торов), которые в процессе программирования такого чипа соединяются в нуж1|1ую схему. Комбинационная логика работает гораздо быстрее тактируемых контроллеров, и для построения различных логических схем в настоящее вре­мя применяют только ПЛИС, от использования дискретных элементов («рас-сыпухи») в массовых масштабах уже давно отказались. Еще одно преимуще­ство ПЛИС- статическое потребление энергии для некоторых серий составляет единицы микроватт, в отличие от МК, которые во включенном со­стоянии потребляют достаточно много (если не находятся в режиме энерго­сбережения). В совокупности с более универсальными и значительно более простыми в обращении, но менее быстрыми и экономичными микроконтролле­рами, ПЛИС составляют основу большин9твд массовых электронных изделий, которые вы видите на прилавках. В этой книге мы, конечно, рассматривать ПЛИС не будем - в любительской практике, в основном из-за дороговизны соответствующего инструментария и высо1кого порога его освоения, они не ис­пользуются, и для конструирования oди^|oчныx экземпляров приборов даже для профессиональных применений их ис111ользовать нецелесообразно.

Если подробности внутреннего функционирования МП нас волнуют не очень (центральный узел - АЛУ мы уже «изобретали» в главе 15, и этого доста­точно, чтобы понимать, что именно происходит внутри процессорного ядра), то обмен с внешней средой нас как раз интересует во всех деталях. Для этого служат порты ввода/вывода (I/0-port, от input/output). В этом термине имеет­ся некоторая неопределенность, так как те, кто программировал для ПК на ассемблере, помнят, что в ПК портами ввода/вывода (ПВВ) назывались реги­стры для управления всеми устройствами, кроме непосредственно процес­сорного ядра. В микроконтроллерах то же самое называют «регистрами вво­да/вывода» (РВВ) - это регистры для доступа ко встроенным компонентам контроллера, внешним по отношению к вычислительному ядру. А это все узлы, которыми непосредственно управляет пользователь - от таймеров и последовательных портов до регистра флагов и управления прерываниями. Кроме ОЗУ, доступ к которому обеспечивается специальными командами, все остальное в контроллере управляется через РВВ, и путать с портами вво­да-вывода их не следует.

ПВВ в МК служат для обмена с «окружающей средой» (управляются они, естественно, тоже внутренними регистрами ввода-вывода). На схеме рис. 18.2 показано 3 ПВВ - А, В и С; в реальных МК их может быть и боль­ше, и меньше. Еще важнее число выводов этих портов, которое чаще всего совпадает с разрядностью процессора (но не всегда, как это было у 8086, ко­торый имел внутреннюю 16-разрядную структуру, а внешне выглядел 8-разрядным). Если мы заставим 8-разрядные порты «общаться», например, с внешней памятью, то на двух из них можно выставить 16-разрядный адрес, а на оставшемся - принимать данные. А как быть, если портов два или вооб­ще один? (К примеру, в микроконтроллере АТхххх2313 портов формально два, но один усеченный, так что общее число линий составляет 15). Для того чтобы даже в такой ситуации это было возможно, все внешние порты в МП всегда двунаправленные. Скажем, если портов два, то можно сначала выста­вить адрес, а затем переключить порты на вход и принимать данные. Естест­венно, для этого порты должны позволять работу на общую шину - то есть либо иметь третье состояние, либо выход с общим коллектором для объеди­нения в «монтажное ИЛИ».

Варианты для обоих случаев организации выходной линии порта показаны на рис. 18.3, где приведены упрощенные схемы выходных линий микрокон­троллеров семейства 8048 - когда-то широко использовавшегося предшест­венника популярного МК 80S1 (например, 8048 был выбран в качестве кон­троллера клавиатуры в IBM PC). В современных МК построение портов несколько сложнее (в частности, вместо резистора там полевой транзистор), но для уяснения принципов работы это несущественно.

По первому варианту (рис. 18.3, а) в МК 8048 построены порты 1 и 2. Когда в порт производится запись, то логический уровень поступает с прямого выхо­да защелки на статическом D-триггере на вход схемы «И», а с инверсного - на затвор транзистора VT2. Если этот уровень равен логическому нулю, то транзистор VT1 заперт, а VT2 открыт, на выходе также логический ноль. Ес­ли уровень равен логической единице, то на время действия импульса «За­пись» транзистор VT1 открывается, а транзистор VT2 запирается (они одина­ковой полярности). Если на выходе присутствует емкость (а она всегда имеется в виде распределенной емкости проводников и емкости входов дру­гих компонентов), то через открытый VT1 протекает достаточно большой ток заряда этой емкости, позволяющий сформировать хороший фронт перехода из О в 1. Как только импульс «Запись» заканчивается, оба транзистора от­ключаются, и логическая единица на выходе поддерживается резистором R1. Выходное сопротивление открытого транзистора VT1 примерно 5 кОм, а ре­зистора - 50 кОм. Любое другое устройство, подключенное к этой шине, при работе на выход может лишь либо поддержать логическую единицу, включив свой подобный резистор параллельно R1, либо занять линию своим логическим нулем - это, как видите, и есть схема «монтажное ИЛИ». При работе на вход состояние линии просто считывается во время действия им­пульса «Запись» со входного буфера (элемент «В» на рис. 18.3, а).

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

Рис. 18.3. Упрощенные схемы портов ввода/вывода МК 8048: а - портов 1 и 2; б - порта О

Для обеспечения работы трехстабильного порта по схеме «монтажное ИЛИ» применяют хитрый прием: всю линию «подтягивают» к напряжению питания с помощью внешнего резистора (во многих МК существует встроенный от­ключаемый резистор, установленный аналогично R1 в схеме рис. 18.3, а), и нормальное состояние всех участвующих трехстабильных портов - работа на вход в третьем состоянии. В этом режиме на линии всегда будет логиче­ская единица. На выход же линию переключают только, когда надо выдать логический ноль. В этом случае, даже при одновременной активности не­скольких портов, конфликтов не возникнет.

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

Итак, что же окажется внутри микропроцессора, если его разобрать:

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

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

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

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

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

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

Так например выглядит контактная подложка процессора Intel Pentium 4 (процессор перевернут):

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

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

Как уже упоминалось выше, устройство разных моделей процессоров одного производителя может различаться, перед нами яркий тому пример - четырехъядерный процессор Intel Core 2 Quad, который по сути представляет собой 2 двухъядерных процессора линейки core 2 duo, совмещенных в одном корпусе:

Важно! Количество кристаллов внутри процессора и количество ядер процессора - не одно и то же.

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

Вот и все устройство центрального микропроцессора , вкратце конечно же.

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

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

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

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

Регистры предназначены для сохранения промежуточных итогов. Почти все команды используют информацию регистров. Шина информации проводит функции объединения 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.

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

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

Чтобы непрофессионалу стало понятно, как работает центральный процессор компьютера, рассмотрим из каких блоков он состоит:

Блок управления процессором;

Регистры команд и данных;

Арифметико-логические устройства (выполняют арифметические и логические операции);

Блок операций с действительными числами, то есть с числами с плавающей точкой или проще говоря с дробями (FPU);

Буферная память (кэш) первого уровня (отдельно для команд и данных);

Буферная память (кэш) второго уровня для хранения промежуточных результатов вычислений;

В большинстве современных процессоров имеется и кэш третьего уровня;

Интерфейс системной шины.

Принцип работы процессора

Алгоритм работы центрального процессора компьютера можно представить как последовательность следующих действий.

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

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

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

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

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

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

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

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

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

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

Компьютера. Начнем с того, чем отличаются процессоры?

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

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

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

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

Или, например, если программа будет написана неправильно, и не будет иметь конца, то процессор будет ее обрабатывать непрерывно, и никогда сам не «примет решения» о прекращении работы. Остановить такую “зацикленную” программу можно только путем вмешательства извне.

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


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

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

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

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

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

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

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

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

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

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

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

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

P.S. Статья закончилась, но можно еще прочитать:

Получайте актуальные статьи по компьютерной грамотности прямо на ваш почтовый ящик .
Уже более 3.000 подписчиков

.