Принцип работы процессора для чайников: Как устроен процессор? Разбираемся вместе

Содержание

Как устроен процессор? Разбираемся вместе

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

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

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

Между этими устройствами всего 10 лет разницы. Но Nokia N95 тогда нам казалась космическим девайсом, а на ARKit сегодня мы смотрим с определенным недоверием

А ведь все могло бы сложиться иначе и потрепанный Pentium IV так бы и остался пределом мечтаний рядового покупателя.

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

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

Вместо микросхем в 40-е годы XX века использовались электромеханические реле, дополненные вакуумными лампами. Лампы выполняли роль диода, регулировать состояние которого можно было за счет понижения или повышения напряжения в цепи. Выглядели такие конструкции так:

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

Первые полевые транзисторы

появились еще в 1928 году. Но мир изменился лишь после появления так называемых биполярных транзисторов, открытых в 1947-м.

В конце 40-х физик-экспериментатор Уолтер Браттейн и теоретик Джон Бардин разработали первый точечный транзистор. В 1950 его заменил первый плоскостной транзистор, а в 1954 году небезызвестный производитель Texas Instruments анонсировал уже кремниевый транзистор.

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

Да, это немного сложно, поэтому давайте копнем немного глубже и разберемся с теоретической частью.

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

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

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

Задача компьютера заключается в том, чтобы представить электрический ток в виде чисел.

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

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

Но сначала разберемся с диодом

Вдыхаем!

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

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

Задача транзистора заключается в усилении слабого сигнала за счет дополнительного источника питания.

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

Но столь слабое движение электронов не позволило бы использовать транзистор на практике, поэтому ученые решили повысить производительность транзисторов за счет

легирования, а проще говоря – дополнения кристаллической решетки кремния атомами элементов с характерным размещением электронов.

Так стали использовать 5-валентную примесь фосфора, за счет чего получили транзисторы n-типа. Наличие дополнительного электрона позволило ускорить их движение, повысив пропуск тока.

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

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

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

Если к диоду подключить источник питания таким образом, чтобы «–» касался p-стороны пластины, а «+» – n-стороны, протекание тока будет невозможно из-за того, что дырки притянутся в минусовому контакту источника питания, а электроны – к плюсовому, и связь между электронами p и n стороны будет утеряна за счет расширения объединенного слоя.

Но если подключить питание с достаточным напряжением наоборот, т.е. «+» от источника к p-стороне, а «–» – к n-стороне, размещенные на n-стороне электроны будут отталкиваться отрицательным полюсом и выталкиваться на p-сторону, занимая дырки в p-области.

Но теперь электроны притягивает к положительному полюсу источника питания и они продолжаются перемещаться по p-дыркам. Это явление назвали

прямым смещением диода.

Диод + диод = транзистор

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

У N-P-N транзистора две n-области с дополнительными электронами – они же «эмиттер» и «коллектор» и одна, слабая область с дырками – p-область, именуемая «базой».

Если подключить источник питания (назовем его V1) к n-областям транзистора (независимо от полюса), один диод получит обратное смещение и транзистор будет находиться в закрытом состоянии.

Но, как только мы подключим еще один источник питания (назовем его V2), установив «+» контакт на «центральную» p-область (базу), а «–» контакт на n-область (эмиттер), часть электронов потечет по вновь образованной цепи (V2), а часть будет притягиваться положительной n-областью. В результате, электроны потекут в область коллектора, а слабый электрический ток будет усилен.

Выдыхаем!

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

А теперь самое главное.

В зависимости от подаваемого напряжения, транзистор может быть либо открыт, либо закрыт. Если напряжение недостаточное для преодоления потенциального барьера (того самого на стыке p и n пластин) – транзистор будет находится в закрытом состоянии – в состоянии «выключен» или, говоря языком двоичной системы – «0».
При достаточно напряжении транзистор открывается, а мы получаем значение «включен» или «1» в двоичной системе.
Такое состояние, 0 или 1, в компьютерной индустрии назвали «битом».

Т.е. мы получаем главное свойство того самого переключателя, который открыл человечеству путь к компьютерам!

В первом электронном цифровом вычислителе ЭНИАК, а проще говоря – первом компьютере, использовалось около 18 тысяч ламп-триодов. Размер компьютера был сопоставим с теннисным кортом, а его вес составлял 30 тонн.

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

Момент 1. Итак, мы определились с тем, что такое бит. Но с его помощью мы можем лишь получить две характеристики чего-либо: или «да» или «нет». Для того, чтобы компьютер научился понимать нас лучше, придумали комбинацию из 8 битов (0 или 1), которую прозвали байтом.

Используя байт можно закодировать число от нуля до 255. Используя эти 255 чисел – комбинаций нулей и единиц, можно закодировать все что угодно.

Момент 2. Наличие чисел и букв без какой-либо логики нам бы ничего не дало. Именно поэтому появилось понятие

логических операторов.

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

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

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

Это довольно примитивное объяснение принципа работы процессора и компьютера, но именно понимание этого позволяет нам двигаться дальше.

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

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

Разумеется, что размеры таких процессоров мало чем схожи с современными. К тому же, вплоть до 1964 года у всех процессоров была одна проблема. Они требовали индивидуального подхода – свой язык программирования для каждого процессора.

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

  • 1964 год IBM System/360. Компьютер, совместимый с универсальным программным кодом. Набор инструкций для одной модели процессора мог использоваться и для другой.
  • 70-e годы. Появление первых микропроцессоров. Однокристальный процессор от Intel. Intel 4004 – 10 мкм ТП, 2 300 транзисторов, 740 КГц.
  • 1973 год Intel 4040 и Intel 8008. 3 000 транзисторов, 740 КГц у Intel 4040 и 3 500 транзисторов при 500 кГц у Intel 8008.
  • 1974 год Intel 8080. 6 мкм ТП и 6000 транзисторов. Тактовая частота около 5 000 кГц. Именно этот процессор использовался в компьютере Altair-8800. Отечетсвенная копия Intel 8080 – процессор КР580ВМ80А, разработанный Киевским НИИ микроприборов. 8 бит.
  • 1976 год Intel 8080. 3 мкм ТП и 6500 транзисторов. Тактовая частота 6 МГц. 8 бит.
  • 1976 год Zilog Z80. 3 мкм ТП и 8500 транзисторов. Тактовая частота до 8 МГц. 8 бит.
  • 1978 год Intel 8086. 3 мкм ТП и 29 000 транзисторов. Тактовая частота около 25 МГц. Система команд x86, которая используется и сегодня. 16 бит.
  • 1980 год Intel 80186. 3 мкм ТП и 134 000 транзисторов. Тактовая частота – до 25 МГц. 16 бит.
  • 1982 год Intel 80286. 1,5 мкм ТП и 134 000 транзисторов. Частота – до 12,5 МГц. 16 бит.
  • 1982 год Motorola 68000. 3 мкм и 84 000 транзисторов. Этот процессор использовался в компьютере Apple Lisa.
  • 1985 год Intel 80386. 1,5 мкм тп и 275 000 транзисторов.Частота – до 33 МГц в версии 386SX.

Казалось бы, продолжать список можно было бы до бесконечности, но тут инженеры Intel столкнулись с серьезной проблемой.

На дворе конец 80-х. Еще в начале 60-х один из основателей компании Intel Гордон Мур формулировал так называемый «Закон Мура». Звучит он так:

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

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

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

В качестве решения был найден вариант с использованием рядом дополнительных элементов:

  • кэш-памяти;
  • конвейера;
  • встроенного сопроцессора;
  • множителя.

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

Процессор Intel i486 состоял уже из 1,2 млн транзисторов, а максимальная частота его работы достигла 50 МГц.

В 1995 году к разработке присоединяется компания AMD и выпускает самый быстрый на тот момент i486-совместимый процессор Am5x86 на 32-битной архитектуре. Изготавливался он уже по 350 нанометровому техпроцессу, а количество установленных процессоров достигло 1,6 млн штук. Тактовая частота повысилась до 133 МГц.

Но гнаться за дальнейшим наращиванием количества установленных на кристалле процессоров и развитии уже утопической архитектуры CISC (Complex Instruction Set Computing) чипмейкеры не решились. Вместо этого американский инженер Дэвид Паттерсон предложил оптимизировать работу процессоров, оставив лишь самые необходимые вычислительные инструкции.

Так производители процессоров перешли на платформу RISC (Reduced Instruction Set Computing]. Но и этого оказалось мало.

В 1991 году выходит 64-битный процессор R4000, работающий на частоте 100 МГц. Через три года появляется процессор R8000, а еще через два года – R10000 с тактовой частотой вплоть до 195 МГц. Параллельно развивался рынок SPARC-процессоров, особенностью архитектуры которых стало отсутствие инструкций умножения и деления.

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

Вот лишь некоторые из появившихся с период с 1980 по 1995 год архитектур:

  • SPARC;
  • ARM;
  • PowerPC;
  • Intel P5;
  • AMD K5;
  • Intel P6.

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

В августе 1999 года на рынок выходе AMD K7 Athlon, изготовленный по 250 нанометровому техпроцессу и включающий 22 млн транзисторов. Позднее планку подняли до 38 млн процессоров. Потом до 250 млн.

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

В 2007 году Гордон Мур выступил с весьма резким заявлением:

Закон Мура скоро перестанет действовать. Устанавливать неограниченное количество процессоров до бесконечности невозможно. Причина тому — атомарная природа вещества.

Невооруженным глазом заметно, что два ведущих производителям чипов AMD и Intel последние несколько лет явно замедлили темпы развития процессоров. Точность технологического процесса выросла всего до нескольких нанометров, но размещать еще больше процессоров невозможно.

И пока производители полупроводников грозятся запустить многослойные транзисторы, проводя параллель с 3DNand памятью, у упершейся в стену архитектуры x86 еще 30 лет назад появился серьезный конкурент.

«Закон Мура» признан недействительным еще с 2016 года. Об этом официально заявил крупнейший производитель процессоров Intel. Удваивать вычислительную мощность на 100% каждые два года чипмейкеры больше не состоянии.

И теперь у производителей процессоров есть несколько малоперспективных вариантов.

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

К тому же, о серийном запуске подобных устройств в ближайшие десятилетия не может идти и речи. Дорого, неэффективно и… медленно!

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

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

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

Сегодня же, понимая стремительное развитие ARM-архитектуры, Intel провела негромкий анонс чипов семейства Ice Lake. Процессоры будут изготавливаться по 10-нанометровому технологическому процессу и станут основой для смартфонов, планшетов и мобильных устройств. Но произойдет это в 2019 году.

Итак, архитектура x86 появилась в 1978 году и относится к типу платформы CISC. Т.е. сама по себе она предполагает наличие инструкций на все случаи жизни. Универсальность – главный конек x86.

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

  • сложность команд и откровенная их запутанность;
  • высокое потребление энергии и выделение теплоты.

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

В тоже время разработкой ARM (Arcon Risk Machine) занимаются сразу несколько компания. Еще в 1985 году в качестве основы для дальнейшего развития архитектуры разработчики выбрали платформу RISC.

В отличие от CISC, RISC предполагает разработку процессора с минимально необходимым количеством команд, но максимальной оптимизацией. Процессоры RISC намного меньше CISC, более энергоэффективны и просты.

Более того, ARM изначально создавался исключительно как конкурент x86. Разработчики ставили задачу построить архитектуру, более эффективную чем x86.

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

Архитектуру ARM в свое время поддержала компания Apple, запустив производство планшетов Newton на базе семейства ARM-процессоров ARM6.

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

  • мобильность;
  • автономность.

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

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

Но во сколько мощнее тот же айфон?

Само по себе сравнение двух разных архитектур – штука очень сложная. Замеры здесь можно выполнить лишь приблизительно, но понять то колоссальное преимущество, что дает построенные на ARM-архитектуре процессоры смартфона, можно.

Универсальный помощник в таком вопросе – искусственный тест производительности Geekbench. Утилита доступна как на стационарных компьютерах, так и на Android и iOS платформах.

Средний и начальный класс ноутбуков явно отстает от производительности iPhone 7. В топовом сегменте все немного сложнее, но в 2017 году Apple выпускает iPhone X на новом чипе A11 Bionic.

Там, уже знакомая вам архитектура ARM, но показатели в Geekbench выросли почти вдвое. Ноутбуки из «высшего эшелона» напряглись.

А ведь прошел всего один год.

Развитие ARM идет семимильными шагами. Пока Intel и AMD год за годом демонстрируют 5 – 10% прирост производительности, за тот же период производители смартфонов умудряются повысить мощность процессоров в два – два с половиной раза.

Скептически настроенным пользователям, которые пройдутся по топовым строчкам Geekbench лишь хочется напомнить: в мобильных технологиях размер – это то, что прежде всего имеет значение.

Установите на стол моноблок с мощным 18-ядерный процессором, который «в клочья разрывает ARM-архитектуру», а затем положите рядом iPhone. Чувствуете разницу?

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

Безусловно, Intel и AMD буду работать над дальнейшим наращиванием количества транзисторов на одном кристалле и продвигать идею многослойных элементов.

Но нужна ли вам как покупателю такая мощность?

Вряд ли вас не устраивает производительность iPad Pro или флагманского iPhone X. Не думаю, что вы недовольны производительностью расположившейся на кухне мультиварки или качеством картинки на 65-дюймовом 4K-телевизоре. А ведь во всех этих устройствах используются процессоры на ARM-архитектуре.

Windows уже официально заявила, что с интересом смотрит в сторону ARM. Поддержку этой архитектуры компания включила еще в Windows 8.1, а ныне активно работает над тандемом с ведущим ARM-чипмейкером Qualcomm.

На ARM успела посмотреть и Google – операционная система Chrome OS поддерживает эту архитектуру. Появились сразу несколько дистрибутивов Linux, которые также совместимы с данной архитектурой. И это только начало.

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

🤓 Хочешь больше? Подпишись на наш Telegram. … и не забывай читать наш Facebook и Twitter 🍒 В закладки iPhones.ru Большая статья, наливайте чай.
  • До ←

    20 штук из Китая, которые стоит заказать прямо сейчас

  • После →

    МТС будет нагло списывать деньги с неактивных абонентов

Как работает процессор: простыми словами о сложном

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

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

Транзисторы и кодирование информации

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

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

И 1, и 0 – это 1 бит информации, 8 бит – составляют байт. При помощи 8-значной комбинации нулей и единиц можно закодировать любое число от 0 до 255. И уже при помощи этих комбинаций присвоить соответствующие коды любым понятиям, значениям и явлениям.

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

Что такое техпроцесс?

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

У первого процессора Intel 4004, вышедшего в 1971 году было 2250 транзисторов. Pentium 4 вмещал 42 млн транзисторов. Современные процессоры Epyc от AMD оснащены 39,54 миллиардами кремниевых транзисторов.

С размером транзисторов тесно связано понятие – техпроцесс.

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

Тактовая частота

Это понятие зачастую является определяющим при покупке процессора.

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

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

В основе каждого генератора имеется кварцевый кристалл. Он генерирует импульс с частотой около 100 МГц. На текущий момент могут еще довольно часто встречаться генераторы с частотой 33 МГц, особенно на дискретных контроллерах, например звуковых платах, sata/hba адаптерах и интерфейсных usb/com расширителях. Чтоб увеличить частоту, генерируемые кварцем колебания проходят через специальные узлы – множители. Они позволяют повысить частоты при пиковых нагрузках или снизить их, если нагрузка уменьшается или компьютер находится в простое.

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

У процессоров с разблокированным множителем пользователь по собственному желанию может увеличить тактовые частоты. Современные процессоры могут разгоняться на 20 – 30 % и даже больше.

Архитектура

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

  • Получение информации.
  • Раскодирование.
  • Выполнение вычисления.
  • Фиксация результата.

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

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

Кэш: зачем процессору собственная память?

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

Что такое система на чипе?

Современные процессоры для телефонов, планшетов и ноутбуков уже давно перестали быть отдельными вычислительными центрами, специализирующимися на выполнении конкретных задач. Современный процессор – это целая система, которая включает собственно блоки для выполнения задач – ядра, а также модуль для отрисовки изображений – графический адаптер. Роль ядер выполняют исполнительные блоки, которых значительно больше, чем в CPU, и которые параллельно выполняют миллионы задач. Также некоторые системы могут содержать и дополнительные опции, например, центр беспроводного соединения 5G или технологию передачи данных Thunderbolt.

Я не знал, как работают процессоры, поэтому написал программный симулятор / Хабр

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

современные

компьютеры.

Я прочитал книгу «Но откуда он знает?» Кларка Скотта с детальным описанием простого 8-битного компьютера: начиная с логических вентилей, ОЗУ, транзисторов процессора, заканчивая арифметико-логическим устройством и операциями ввода-вывода. И мне захотелось реализовать всё это в коде.

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

Результат моей работы можно посмотреть в репозитории simple-computer: простом вычислителе. Он простой и он вычисляет.


Пример программ

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

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

Я даже написал грубый ассемблер, который на многое открыл глаза, мягко говоря. Он не идеален. На самом деле даже немного дерьмовый, но он показал мне проблемы, которые другие люди уже решили много-много лет назад.


«Тринадцатилетние дети собирают процессоры в Minecraft. Позови, когда сможешь сделать настоящий CPU из телеграфных реле»

Моя ментальная модель устройства CPU застряла на уровне учебников по информатике для начинающих. Процессор для эмулятора Gameboy, который я написал в 2013 году, на самом деле не похож на современные CPU. Даже если эмулятор — это просто конечный автомат (машина состояний), он не описывает состояния на уровне логических вентилей. Почти всё можно реализовать с помощью только оператора switch и сохраняя состояние регистров.

Я хочу лучше разобраться, как всё устроено, потому что не знаю, например, что такое кэш L1/L2 и конвейеризация и я не совсем уверен, что понимаю статьи об уязвимостях Meltdown и Spectre. Кто-то сказал, что они оптимизируют код таким образом, чтобы использовать кэш процессора, но я не знаю, как это проверить, кроме как поверить на слово. Я не совсем уверен, что означают все инструкции x86. Не понимаю, как люди отправляют задачи на GPU или TPU. И вообще, что такое TPU? Я не знаю, как использовать SIMD-инструкции.

Всё это построено на фундаменте, который нужно усвоить в первую очередь. Это значит вернуться к основам и сделать что-то простое. В вышеупомянутой книге Кларка Скотта описан простейший компьютер. Вот почему я начал с него.

Компьютер Скотта — это 8-разрядный процессор, подключённый к 256 байтам ОЗУ, все они подключены через 8-разрядную системную шину. У него 4 регистра общего назначения и

17 машинных инструкций

. Кто-то сделал

визуальный симулятор для веба

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


Схема со всеми компонентам процессора Скотта. Копирайт 2009-2016. Зигберт Фильбингер и Джон Кларк Скотт

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

Мой компьютер отличается от версии Скотта разве что тем, что я обновил его до 16 бит, чтобы увеличить объём доступной памяти, ведь хранение только глифов для таблицы ASCII занимает большую часть 8-битной машины Скотта, оставляя совсем мало места для полезного кода.

В целом, разработка шла по такой схеме: чтение текста, изучение диаграмм, а затем попытка реализовать их на языке программирования общего назначения и определённо не использовать никаких специализированных инструментов для проектирования интегральных схем. Я написал симулятор на Go просто потому, что немного знаком с этим языком. Скептики могут сказать: «Болван! Неужели ты не мог изучить

VHDL

или

Verilog

, или

LogSim

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

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

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

Это было очень трудно реализовать. Ради смещения я выбрал представление с обратным порядком байтов, но при тестировании ALU никак не мог понять, почему выходят неправильные цифры. Мой кот услышал много, очень много непечатных выражений.

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

Всё шло своим чередом, пока дело не дошло до ввода-вывода. Книга предлагала дизайн системы с простой клавиатурой и интерфейсом дисплея, чтобы вводить данные в машину и выводить результат. Ну, мы уже зашли так далеко, нет смысла останавливаться на полпути. Я поставил цель реализовать набор на клавиатуре и отображение букв на дисплее.

В качестве аппаратного интерфейса между CPU и внешним миром периферийные устройства используют

шаблон адаптера

. Наверное, несложно догадаться, что этот шаблон позаимствован из проектирования программного обеспечения.


Как адаптеры ввода-вывода подключаются к окну GLFW

С таким разделением оказалось довольно просто подключить клавиатуру и дисплей к окну под управлением GLFW. На самом деле я просто вытащил большую часть кода из своего эмулятора и немного изменил его, чтобы каналы Go работали как сигналы ввода/вывода.


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

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

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

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

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

Это было нелегко. Самая сложная часть программы text-writer — правильно рассчитать, когда перейти к новой строке или что происходит, когда вы нажимаете клавишу Enter.

main-getInput:
	CALL ROUTINE-io-pollKeyboard
	CALL ROUTINE-io-drawFontCharacter
	JMP main-getInput
Основной цикл программы text-writer

Я не удосужился реализовать клавишу Backspace и клавиши-модификаторы. Зато понял, сколько труда требует разработка текстовых редакторов и насколько это утомительно.

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

Хотя этот процессор очень прост и далёк от CPU в моём ноутбуке, но мне кажется, что проект многому меня научил, в частности:

  • Как биты перемещаются по шине между всеми компонентами.
  • Как работает простой ALU.
  • Как выглядит простой цикл Fetch-Decode-Execute.
  • Что машина без регистра указателя стека и концепции стека — отстой.
  • Что машина без прерываний тоже отстой.
  • Что такое ассемблер и что он делает.
  • Как периферийные устройства взаимодействуют с простым процессором.
  • Как работают простые шрифты и как отображать их на дисплее.
  • Как может выглядеть простая операционная система.

Так что дальше? В книге говорится, что никто не производил таких компьютеров с 1952 года. Это значит, что мне придётся изучить материал за последние 67 лет. Это займёт меня на какое-то время. Я вижу, что

руководство по x86 составляет 4800 страниц

: вполне достаточно для приятного, лёгкого чтения перед сном.

Может, я немного побалуюсь с операционной системой, языком C, убью вечер с набором для сборки PiDP-11 и паяльником, а потом заброшу это дело. Не знаю, посмотрим.

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

Пригодятся ли эти знания на моей основной работе? Возможно, пригодятся, хотя вряд ли. В любом случае, мне это нравится, так что неважно. Спасибо за чтение!

Принцип работы компьютера. Компьютер для чайников

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

Компьютер для «чайников»: основные компоненты

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

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

Программная часть состоит из множества компонентов, среди которых главенствующую роль играет операционная система, на основе которой производится взаимодействие между аппаратной частью и другими программами и устанавливаемые в ней драйвера устройств – специальные программы, с помощью которых ОС может взаимодействовать с самим «железом» и задействовать его при выполнении определенных задач.

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

Компьютерное «железо»

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

С другой стороны, если копнуть глубже, ни один «железный» компонент сам по себе ничего не стоит, ведь его для использования надо куда-то подключить. И тут первостепенное значение уделяется, так называемым, материнским платам (в народе – «материнкам») – специальным устройствам, на которые монтируются все остальные компоненты, микросхемы и т. д. В этом смысле основной принцип работы компьютера (корректного функционирования без сбоев) состоит в том, чтобы правильно подключить все аппаратные компоненты через соответствующие контроллеры к специальным слотам или разъемам на самой плате. Тут есть свои правила, например, по корректному использованию шин PCI, по подключению жестких дисков и съемных дисководов с использованием принципа Master/Slave и т. д.

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

Виды программного обеспечения

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

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

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

Урок информатики. Компьютер: включение и проверка устройств

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

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

Варианты загрузки

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

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

Старт операционной системы

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

Кроме того, основная загрузочная запись может иметь и более гибкие настройки, предоставляя право выбора загружаемой системы пользователю. Если же старт производится со съемного носителя, исполняемый загрузочный код считывается с него, но загрузка в любом варианте производится только в том случае, если BIOS определит исполняемый код как действительный. В противном случае на экране появится уведомление о невозможности старта, вроде того, что загрузочный раздел не найден. При этом иногда используется таблица разделов, которая содержит информацию обо всех логических дисках, на которые может быть поделен винчестер. Кроме всего прочего, доступ к информации напрямую зависит от структуры организации файлов, которая носит название файловой системы (FAT, NTFS и др.).

Заметьте, это самая примитивная интерпретация процесса загрузки, поскольку на самом деле все гораздо сложнее.

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

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

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

Изменение параметров системы

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

Как это устроено: транзисторы — Журнал «Код» программирование без снобизма

Процессоры в компьютерах, телефонах и любой электронике состоят из транзисторов. В процессоре Apple A13 Bionic, который стоит внутри одиннадцатого айфона, 8,5 миллиарда транзисторов, а в Core i7 4790, который стоял внутри многих настольных компьютеров в 2014 году, — в 6 раз меньше.

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

При этом сам транзистор — простейший прибор, который по сути похож на кран или электрические ворота. Через транзистор идёт какой-то один ток, а другим током этот поток можно либо пропустить, либо заблокировать. И всё.

Вот примерная схема. В жизни ножки транзистора могут быть расположены не так, как на схеме, но для наглядности нам надо именно так:

Ток пытается пройти сквозь транзистор, но транзистор «закрыт»: на его управляющую ногу не подан другой ток.

А теперь мы подали на управляющую ногу немного тока, и теперь транзистор «открылся» и пропускает через себя основной ток.

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

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

Это один из вариантов исполнения транзистора: пластиковый корпус и три ноги для соединения с платой.

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

Вафля из миллиардов транзисторов. Если её разрезать в правильных местах, получатся наши микропроцессоры.

Что внутри транзистора

Если бы мы могли разрезать один транзистор в микропроцессоре, мы бы увидели что-то вроде этого:

Слева — проводник, по которому бежит ток, справа — просто проводник, пока без тока. Между ними находится проводящий канал — те самые «ворота». Когда ворота открыты, ток из левого проводника поступает в правый. Когда закрыты — правый остаётся без тока. Чтобы ворота открылись, на них нужно подать ток откуда-то ещё. Если тока нет, то ворота закрыты.

Теперь, если грамотно посоединять тысячу транзисторов, мы получим простейшую вычислительную машину. А если посоединять миллиард транзисторов, получим ваш процессор.

Почему все так полюбили транзисторы

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

Были механические счётные машины, которые умели складывать и умножать числа за счёт сложных шестерней, бочонков и пружин, — например, арифмометр. Они работали медленно и были слишком дорогими для масштабирования.

Были вычислительные машины на базе механических переключателей — реле. Они были очень большими — те самые «залы, наполненные одним компьютером». Их могли застать наши родители, бабушки и дедушки.

Позже придумали электронные лампы: там управлять током уже можно было с помощью другого тока. Но лампы перегревались, ломались, на них мог прилететь мотылёк.

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

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

Как считают транзисторы

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

Пока что не будем думать, как именно соединены транзисторы. Просто посмотрим на принцип.

Допустим, нам надо сложить числа 4 и 7. Нам, людям, очевидно, что результат будет 11. Закодируем эти три числа в двоичной системе:

Десятичная Двоичная
40100
70111
111011

Теперь представим, что мы собрали некую машину, которая получила точно такой же результат: мы с одной стороны подали ей ток на входы, которые соответствуют первому слагаемому; с другой стороны — подали ток на входы второго слагаемого; а на выходе подсветились выходы, которые соответствовали сумме.

Смотрите, что тут происходит: есть восемь входов и четыре выхода. На входы подается электричество. Это просто электричество, оно не знает, что оно обозначает числа. Но мы, люди, знаем, что мы в этом электричестве зашифровали числа.

Так же на выходе: электричество пришло на какие-то контакты. Мы как-то на них посмотрели и увидели, что эти контакты соответствуют какому-то числу. Мы делаем вывод, что эта простейшая машина сложила два числа. Хотя на самом деле она просто хитрым образом перемешала электричество.

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

Вот ровно это, только в миллиард раз сложнее, и происходит в наших компьютерах.

Что мы знаем на этом этапе:

  1. Транзисторы — это просто «краны» для электричества.
  2. Если их хитрым образом соединить, то они будут смешивать электричество полезным для человека образом.
  3. Все компьютерные вычисления основаны на том, чтобы правильно соединить и очень плотно упаковать транзисторы.

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

Кому нужны эти транзисторы? Тем, кто будет управлять миром

В будущем останется две профессии: программист и массажист для его утомленной шеи. Если у вас сильные руки и хорошая выносливость, пролистывайте. Если нет — вот билет в профессию будущего.

Начать карьеру в ИТ

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

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

  • RISC процессоры (процессоры с сокращЈнным набором команд)
  • CISC процессоры (процессоры с полным набором команд)

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

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

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

В качестве примера рассмотрим устройство процессора с полным набором команд. Здесь будет рассматриваться упрощЈнная модель процессора для облегчения понимания работы. CISC микропроцессор состоит из двух частей:

Блок обработки сигналов микропроцессора.

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

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

 

Рисунок 1. Блок обработки сигналов.

В этой схеме явно просматривается, что отдельные биты микрокоманды (показанной внизу схемы) управляют различными блоками БОС, поэтому их можно рассматривать независимо друг от друга. Такие группы бит называются полями микрокоманды и составляют формат этой микрокоманды. Кроме бит, управляющих блоком обработки сигналов есть биты, управляющие блоком микропрограммного управления. Формат микрокоманды рассматриваемого процессора приведЈн на рисунке 3. Результат выполнения микрокоманды записывается по сигналу общей синхронизации CLK.

Для хранения и декодирования выполняемой команды выделим восьмиразрядный регистр, который назовЈм RI.

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

Так как мы выбрали для примера восьмиразрядный микропроцессор, то и все регистры в этом процессоре восьмиразрядные. Максимальное число, которое можно записать в такой регистр — 255, но для большинства программ такого объЈма памяти недостаточно. В приведЈнной на рисунке 1 схеме для того, чтобы получить 16-ти разрядный адрес используется два 8-ми разрядных регистра адреса. Теперь максимальное число, которое можно записать в этих двух регистрах будет 65535, что вполне достаточно для записи программ и обрабатываемых ими данных. Для того, чтобы различать регистр старшего и младшего байта адреса обозначим их как PCH — старший байт и PCL- младший байт. Это позволяет при помощи восьмиразрядного АЛУ формировать 16-ти разрядный адрес.

Программный счЈтчик хранит текущее значение ячейки памяти из которой считывается команда, но процессор может обращаться и к данным, поэтому для формирования адреса выделим ещЈ пару регистров RAH — старший байт и RAL — младший байт. Выходы этих регистров выведем за пределы микросхемы и будем использовать в качестве шестнадцатиразрядной шины адреса.

ЕщЈ один регистр используется для формирования сигналов управления системной шины микропроцессора. В простейшем случае это сигналы записи (WR) и чтения (RD). Для формирования необходимых сигналов достаточно записывать в определЈнный бит регистра логический 0 или 1. Определим формат регистра управления. Пусть нулевой бит этого регистра будет сигналом записи, а первый бит этого регистра будет сигналом чтения. Остальные биты этого регистра пока не важны. Полученный формат приведЈн на рисунке 2.

Рисунок 2. Формат регистра управления (CR).

Блок микропрограммного управления

Блок микропрограммного управления предназначен для формирования последовательности микрокоманд блока обработки сигналов. В простейшем случае его можно построить на счетчике с возможностью предзаписи и ПЗУ. Схема такого блока приведена на рисунке 3.

 

Рисунок 3. Блок микропрограммного управления.

В этой схеме адрес очередной микрокоманды формирует двоичный счЈтчик. Если требуется осуществить безусловный или условный переход, то новый адрес записывается из ПЗУ в этот счЈтчик как в обычный параллельный регистр по сигналу параллельной записи V. Переход к следующему адресу микрокоманды производится по сигналу общей синхронизации CLK.

 

Рисунок 4. Формат микрокоманды процессора.


[Назад] [Содержание] [Вперёд]

Частота процессора и правильное ее понимание

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

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

Что же такое тактовая частота процессора?

Для начала нужно разобраться с определением «тактовая частота». Тактовая частота показывает нам, сколько процессор может произвести вычислений в единицу времени. Соответственно, чем больше частота, тем больше операций в единицу времени может выполнить процессор. Тактовая частота современных процессоров, в основном, составляет 1,0-4ГГц. Она определяется умножением внешней или базовой частоты, на определённый коэффициент. Например, процессор Intel Core i7 920 использует частоту шины 133 МГц и множитель 20, в результате чего тактовая частота равна 2660 МГц.

Частоту процессора можно увеличить в домашних условиях, с помощью разгона процессора. Существуют специальные модели процессоров от AMD и Intel, которые ориентированы на разгон самим производителем, к примеру Black Edition у AMD и линейки К-серии у Intel.

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

Понимание тактовой частоты (многоядерные процессоры)

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

Посещая множество компьютерных форумов, я заметил, что существует распространенное заблуждение насчёт понимания (высчитывания) частот многоядерных процессоров. Сразу же приведу пример этого неправильного рассуждения: «Имеется 4-х ядерный процессор с тактовой частотой 3 ГГц, поэтому его суммарная тактовая частота будет равна: 4 х 3ГГц=12 ГГц, ведь так?»- Нет, не так.

Я попробую объяснить, почему суммарную частоту процессора нельзя понимать как: « количество ядер х указанную частоту».

Приведу пример: «По дороге идёт пешеход, у него скорость 4 км/ч. Это аналогично одноядерному процессору на N ГГц. А вот если по дороге идут 4 пешехода со скоростью 4 км/ч, то это аналогично 4-ядерному процессору на N ГГц. В случае с пешеходами мы не считаем, что их скорость будет равна 4х4 =16 км/ч, мы просто говорим: «4 пешехода идут со скоростью 4 км/ч». По этой же причине мы не производим никаких математических действий и с частотами ядер процессора, а просто помним, что 4-ядерный процессор на N ГГц обладает четырьмя ядрами, каждое из которых работает на частоте N ГГц».

То есть, по сути, частота процессора от количества ядер не изменяется, увеличивается лишь производительность процессора. Это нужно понимать и помнить.


Перейти к статье: основные характеристики процессоров (открывается в новой вкладке)


Как работают микропроцессоры | HowStuffWorks

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

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

  • LOADA mem — Загрузить регистр A из адреса памяти
  • LOADB mem — Загрузить регистр B из адреса памяти
  • CONB con — Загрузить постоянное значение в регистр B
  • SAVEB mem — Сохранить регистр B по адресу памяти
  • SAVEC mem — Сохранить регистр C по адресу памяти
  • ADD — Добавить A и B и сохранить результат в C
  • SUB — Вычесть A и B и сохранить результат в C
  • MUL — Умножить A и B и сохранить результат в C
  • DIV — Разделить A и B и сохранить результат в C
  • COM — Сравните A и B и сохраните результат в тесте
  • JUMP addr — Перейти к адресу
  • JEQ addr — Перейти, если eq ual, на адрес
  • JNEQ addr — Перейти, если не равно, на адрес
  • JG addr — Перейти, если больше, чем, на адрес
  • JGE addr — Перейти, если больше или равно, на адрес
  • JL addr — Перейти, если меньше чем, к адресу
  • JLE addr — Перейти, если меньше или равно, по адресу
  • STOP — Остановить выполнение

Если вы прочитали How C Programming Works, тогда вы знаете, что этот простой фрагмент кода C вычислит факториал 5 (где факториал 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120):

a = 1; f = 1; while (a <= 5) {f = f * a; a = a + 1;}

В конце выполнения программы переменная f содержит факториал 5.

Язык ассемблера

Компилятор C переводит этот код C на язык ассемблера. Предполагая, что ОЗУ начинается с адреса 128 в этом процессоре, а ПЗУ (которое содержит программу на языке ассемблера) начинается с адреса 0, тогда для нашего простого микропроцессора язык ассемблера может выглядеть так:

// Предположим, что a находится по адресу 128 / / Предположим, что F находится по адресу 1290 CONB 1 // a = 1; 1 SAVEB 1282 CONB 1 // f = 1; 3 SAVEB 1294 LOADA 128 // если a> 5, переход к 175 CONB 56 COM7 JG 178 LOADA 129 // f = f * a; 9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a = a + 1; 13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // возврат к if17 STOP

ROM

Итак, теперь вопрос: «Как все эти инструкции смотрят в ПЗУ? » Каждая из этих инструкций на языке ассемблера должна быть представлена ​​двоичным числом.Для простоты предположим, что каждой инструкции на ассемблере присвоен уникальный номер, например:

  • LOADA — 1
  • LOADB — 2
  • CONB — 3
  • SAVEB — 4
  • SAVEC mem — 5
  • ДОБАВИТЬ — 6
  • SUB — 7
  • MUL — 8
  • DIV — 9
  • COM — 10
  • Адрес JUMP — 11
  • Адрес JEQ — 12
  • Адрес JNEQ — 13
  • Адрес JG — 14
  • JGE адрес — 15
  • Адрес JL — 16
  • Адрес JLE — 17
  • СТОП — 18

Эти числа известны как коды операций .В ПЗУ наша маленькая программа будет выглядеть так:

// Предположим, что a находится по адресу 128 // Предположим, что F находится по адресу 129Addr opcode / value0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Вы можете видеть, что семь строк кода C превратились в 18 строк ассемблера, и это стало 32 байта в ПЗУ.

Декодирование

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

  1. Во время первого тактового цикла нам нужно загрузить инструкцию. Следовательно, декодеру команд необходимо:
  2. активировать буфер с тремя состояниями для счетчика программ
  3. активировать строку RD
  4. активировать буфер трех состояний ввода данных
  5. зафиксировать команду в регистре команд
  6. Во время второй такт, инструкция ADD декодируется.Для этого нужно очень немногое:
  7. настроить работу ALU на добавление
  8. защелкнуть вывод ALU в регистре C
  9. Во время третьего тактового цикла счетчик программы увеличивается (теоретически это может быть перекрыто в второй такт).

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

Как работает процессор процессора? | Small Business

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

Описание

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

Часы

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

Инструкции

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

ALU

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

Блок управления

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

Память

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

Ссылки

Писатель Биография

Уроженец Чикаго Джон Папевски имеет ученую степень по физике и пишет с 1991 года. Он участвовал в выпуске информационного бюллетеня по нанотехнологиям от Foresight Institute «Foresight Update». Он также внес вклад в книгу «Нанотехнологии: молекулярные размышления о глобальном изобилии».

Что такое ЦП и для чего он нужен?

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

Столкнувшись с выбором между AMD и Intel, двух- или четырехъядерным процессором, i3 и i7, может быть трудно определить разницу и почему это важно. Может быть сложно определить, что лучше для вас, но мы здесь, чтобы помочь вам.

Что такое процессор?

Rost9 / Shutterstock

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

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

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

Что делает процессор?

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

Fetch

Как и следовало ожидать, выборка включает получение инструкции. Команда представлена ​​в виде ряда чисел и передается в ЦП из ОЗУ.Каждая инструкция — это лишь небольшая часть любой операции, поэтому ЦП должен знать, какая инструкция будет следующей.

Текущий адрес инструкции хранится программным счетчиком (ПК). Затем ПК и инструкции помещаются в регистр инструкций (IR). Впоследствии длина ПК увеличивается для ссылки на адрес следующей инструкции.

Декодировать

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

Выполнить

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

Что такое многоядерные процессоры?

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

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

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

Совсем недавно разработчики процессоров нашли способ еще больше повысить производительность, заставив одноядерный процессор работать так, как если бы он имел два ядра. Это называется гиперпоточностью и распространено в большинстве процессоров Intel Core.

Понимание спецификаций ЦП

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

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

Сравнение мобильных ЦП и настольных ПК

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

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

Несмотря на отсутствие стандарта, обычно мобильные процессоры обозначаются буквами «U» для сверхнизкого энергопотребления, «HQ» для высокопроизводительной графики и «HK» для высокопроизводительной графики и разгона. Точно так же к настольным процессорам добавляется буква «K» для разгона и «T» для оптимизации энергопотребления.

32 против 64-битных ЦП

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

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

Расчетная мощность процессора

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

Тип разъема ЦП

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

Кэш L2 / L3

Кэш L2 и L3 — это встроенная оперативная память, которую ЦП может использовать во время обработки. Чем больше у вас его, тем быстрее будет работать ваш процессор.

Частота

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

Мозги операции

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

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

Какие обновления больше всего повысят производительность вашего ПК?

Нужен более быстрый компьютер, но не уверены, что следует обновить на своем ПК? Следуйте нашему контрольному списку обновления ПК, чтобы узнать.

Читать далее

Об авторе Джеймс Фрю (Опубликовано 297 статей)

Джеймс — опытный технологический журналист, ранее он работал редактором Руководства покупателя MakeUseOf.Его цель — сделать технологии доступными и безопасными для всех. Получив степень бакалавра в области машиностроения, он также увлечен психическим здоровьем, устойчивым развитием и музыкой.

Более От Джеймса Фрю
Подпишитесь на нашу рассылку новостей

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться

Что такое микропроцессор и как он работает?

Что такое микропроцессор и что нужно знать


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


Что такое микропроцессор?

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


Как работает микропроцессор?

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


Преимущества микропроцессора

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


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

Общие используемые термины

Когда речь заходит о микропроцессорах, их функциях и многом другом, вы, вероятно, встретите ряд терминов, с которыми вы, возможно, не знакомы. Ниже приведены некоторые общие термины, относящиеся к микропроцессорам:


Длина слова

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


Набор команд

Набор команд — это серия команд, понятных микропроцессору. По сути, это интерфейс между оборудованием и программным обеспечением.


Кэш-память

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


Тактовая частота

Тактовая частота — это скорость, с которой микропроцессор может выполнять инструкции. Обычно он измеряется в герцах и выражается в таких измерениях, как МГц (мегагерцы) и ГГц (гигагерцы).


Автобус

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


Категории микропроцессоров

Микропроцессоры

можно разделить на следующие категории :.


на основе длины слова

Микропроцессоры

могут быть основаны на количестве битов внутренней шины данных процессора или количестве битов, которые он может обрабатывать за один раз (что известно как длина слова). По длине слова микропроцессор можно разделить на 8-битные, 16-битные, 32-битные и 64-битные.


Компьютер с сокращенным набором команд (RISC)

Микропроцессоры

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


Компьютер с комплексной инструкцией

Микропроцессоры

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


Процессоры специального назначения

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


Микропроцессор стал поворотным моментом в современных вычислениях

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

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

Центральный процессор (ЦП): части, определение и функции — видео и стенограмма урока

Определение ЦП

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

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

Компоненты ЦП

Типичный ЦП состоит из компонентов .Первый — это арифметико-логический блок (АЛУ), который выполняет простые арифметические и логические операции. Во-вторых, это блок управления (CU), который управляет различными компонентами компьютера. Он считывает и интерпретирует инструкции из памяти и преобразует их в серию сигналов для активации других частей компьютера. Блок управления вызывает арифметико-логический блок для выполнения необходимых вычислений.

Вид сверху на процессор Intel — поскольку это единый интегрированный блок, компоненты снаружи не видны.

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

Вид снизу процессора Intel — позолоченные контакты обеспечивают подключение к материнской плате.

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

Процессор расположен на материнской плате с радиатором и вентилятором прямо сверху

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

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

Ранние процессоры были довольно громоздкими и не имели такого количества транзисторов, как сегодня.Производители микросхем, такие как Intel и AMD, вложили много средств в исследования, чтобы сделать все меньше и разместить больше транзисторов в одном процессоре. Поэтому появление нового поколения микросхем обычно означает, что они придумали более разумный способ разместить большую вычислительную мощность в одном процессоре. Общее название процессора, например Intel Pentium 4, Intel i7, AMD Athlon и AMD 870, относится к базовой архитектуре ЦП. Их так много, что бывает сложно понять, что вам действительно нужно в новом компьютере.Лучше всего использовать процессор новейшего типа, который соответствует вашему бюджету.

Тактовая частота

Тактовая частота процессора — это скорость, с которой выполняются инструкции. Эта скорость регулируется с помощью внутренних часов и выражается в количестве тактов в секунду. Современные процессоры могут обрабатывать миллиарды вычислений в секунду. Единицей измерения тактовой частоты являются герцы, сокращенно Гц. Поэтому, когда процессор имеет тактовую частоту 3,5 ГГц, это означает 3.5 гигагерц, или 3,5 миллиарда тактов в секунду. Чем быстрее, тем лучше, но чем выше скорость, тем выше затраты.

Целочисленный диапазон

Итак, что это значит, когда процессор 64-разрядный? Это называется целочисленным диапазоном и определяет, как ЦП представляет числа. Биты — это двоичные цифры: ноль и единица. Это довольно просто, поэтому для представления более сложных чисел нам понадобится больше битов. Например, использование 8 бит означает, что имеется 28 или 256 уникальных значений. Современные процессоры 64-битные, что означает 264 уникальных значения, что составляет более 18 квинтиллионов! На практике это означает, что 64-разрядные процессоры могут работать с очень большими числами, что делает их быстрее, чем старые 32- или 16-разрядные процессоры.

Параллельные вычисления и многоядерные процессоры

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

Фотография четырехъядерного процессора Intel, расположенного на материнской плате

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

Краткое содержание урока

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

Для ускорения работы ЦП был реализован ряд технологических новшеств:

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

Результаты обучения

По завершении этого урока вы сможете:

  • Описывать, что такое ЦП и как он работает
  • Список некоторых компонентов ЦП
  • Помните значение общей терминологии ЦП
  • Вспомните некоторые из недавних улучшений, которые делают компьютеры быстрее

Как работает простой процессор? | автор: Barış Ekin Yıldırım

Щелкните для перевода на турецкий

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

Вот что происходит, когда вы щелкаете значок для запуска программы;

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

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

Часы и умножители

Часы — это сигнал, используемый для синхронизации процессов внутри компьютера. Тактовый сигнал производит постоянную непрерывную прямоугольную волну, которая, как мы знаем, представляет собой просто нули и единицы. На изображении ниже вы увидите три полных цикла, каждый из которых называется «галочкой».Тактовый сигнал измеряется в герцах (Гц), герц означает количество циклов, производимых в секунду. Тактовая частота 100 МГц означает 100 миллионов циклов в секунду.

Рисунок 1.0 — Тактовый сигнал

В компьютерах все измеряется циклами. Например, память с задержкой «10 единиц» означает, что она начнет передачу данных после 10 полных циклов. Каждая инструкция в ЦП имеет определенное время задержки. Например, команда x запустится после 6 полных циклов. Одна из интересных особенностей ЦП заключается в том, что он знает, сколько задержки имеет каждая данная инструкция.Он хранит на себе таблицы задержки, с помощью которых может их проверять.

Теперь вы можете спросить: «Какая связь между тактовой частотой и производительностью?» И вы правильно спрашиваете об этом, потому что это часто сбивает людей с толку. Если мы рассматриваем два одинаковых процессора, у более высокопроизводительного процессора будет более высокая производительность. Потому что с более высокой тактовой частотой можно будет обрабатывать быстрее. Однако, если мы рассматриваем два разных процессора, не обязательно действовать в соответствии с этой логикой. Например, если мы проведем такое сравнение между ARM и Intel, это будет нелепо, потому что дизайн у них разный.Если инструкция занимает 5 циклов на Intel и 7 на ARM, естественно, Intel обработает ее быстрее.

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

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

Рисунок 1.1 — Линии шины материнской платы

Чтобы решить эту проблему, производители процессоров начали использовать новую концепцию, называемую умножителем тактовой частоты. В этой концепции внутренние часы размещаются внутри процессора, и эти внутренние часы умножают часы на материнской плате. Например, процессор Intel Core i7 имеет множитель 19.Если умножить частоту материнской платы 200 МГц на 19, тактовая частота процессора составит 3,8 ГГц (частота материнской платы здесь чисто гипотетическая).

Даже в этом случае разница между внутренними и внешними часами все равно приведет к огромной потере производительности. Потому что тактовая частота процессора, которая составляет 3,8 ГГц, снова снизится до 200 МГц, когда он начнет считывать данные из ОЗУ, потому что он должен останавливаться северным мостом. Этой разницы в скорости можно до некоторой степени избежать с помощью кешей, добавленных к процессору.Другой метод — умножить количество данных, передаваемых за цикл. Передача данных из двух частей за цикл называется DDR (Dual Data Rate), а четыре части передачи данных называются QDR (Quad Data Rate).

Рисунок 1.2 — Передача нескольких данных за один цикл

Обобщенная архитектура современного процессора

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

Рисунок 1.3 — Схема современного ЦП

Полосатая часть на схеме представляет собой внутреннюю часть ЦП. Шина между RAM и CPU обычно составляет от 64 до 128 бит (если активна двухканальная память). Это зависит от тактовой частоты ОЗУ или процессора, в зависимости от того, что ниже в данный момент.

Теоретический верхний предел скорости передачи можно найти по следующей формуле:

x тактов в секунду. × y строк на такт × 64 бита на строку × z интерфейсов = xx ГБ / с

Все блоки в чередующихся секциях работают в соответствии с внутренними часами ЦП.В зависимости от процессора, некоторые устройства могут работать даже быстрее, чем внутренние часы. Кроме того, автобус между юнитами может быть намного быстрее. Например, в современных процессорах пропускная способность между кешем памяти L2 и кешем данных L1 обычно составляет 256 бит. Чем выше пропускная способность, тем выше скорость передачи. Цвета стрелок на диаграмме указывают на разные тактовые частоты.

Кэш памяти

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

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

Например; Если ЦП извлекает данные с адреса 1000, это означает, что контроллер кеша будет извлекать до 1000 + n-й адрес и кэшировать его. Число, обозначенное здесь буквой «n», называется «страницей». Другими словами, если ваш ЦП работает со страницами размером 4 КБ, контроллер кеша также будет кэшировать 4096 адресов после указанного адреса.

Рисунок 1.4 — Основное объяснение принципа работы контроллера кеш-памяти.

L1 и L2 обозначают «Уровень 1» и «Уровень 2», показывающий, как далеко они удалены от ядра ЦП. Если вы взглянули на рисунок 1.3, вам может быть интересно, почему существует два L1, а один L2. Это связано с тем, что кэш инструкций L1 работает как кеш ввода, а кэш данных L1 работает как кеш вывода. Кэш инструкций L1 обычно меньше, чем кеш L2, потому что он находится ближе к ЦП, где выполняются операции в стиле цикла, поэтому L2 не требует такого большого пространства.

Ветвление

Одна из самых важных проблем ЦП состоит в том, что он сталкивается со слишком большим количеством «промахов». Чтобы избежать промаха, ЦП должен выйти и достичь оперативной памяти, которая работает с более низкой тактовой частотой. В общем, для предотвращения этого достаточно кеша памяти, но в некоторых случаях его может не хватить. Представьте, что программа запущена, страница плавно перемещается по строке, и она встречает инструкцию JMP. Это означает, что вы перешли в n местоположения. Эта новая позиция не будет загружена в кэш L2, а будет запускаться непосредственно в ОЗУ.В качестве решения этой проблемы, если современные процессоры сталкиваются с оператором JMP на странице, они переходят и выбирают следующую страницу, не дожидаясь ее запуска.

Команды обработки

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

После того, как блок Fetch извлекает инструкцию из памяти, он отправляет ее блоку декодирования.Принимая это решение, блок декодирования обращается к микрокоду, ПЗУ, которое находится внутри ЦП. После того, как микрокод расшифровывает значение инструкции, он отправляет инструкцию соответствующему блоку Execute. Без микрокода ЦП не может понять, что означают инструкции. В микрокоде есть пошаговые инструкции, показывающие, как работает инструкция. Поскольку невозможно обновить ПЗУ на ЦП, вы можете загружать обновленный микрокод при каждой загрузке через операционную систему.Кроме того, в современных процессорах несколько инструкций могут выполняться параллельно. В дополнение к этому в современных ЦП каждая исполнительная единица настраивается. Хотя здесь мы говорим об универсальном процессоре, было бы полезно остановиться на некоторых деталях.

Лучшим примером этого настраиваемого исполнительного модуля является FPU. Блок с плавающей запятой разработан на основе схемы для выполнения сложных математических операций. Например; Если ЦП решил, что входящая операция является математической операцией (модуль, который решает здесь, называется модулем диспетчеризации или расписания), он отправляет эту операцию в FPU, а не в ALU.После завершения процесса результаты отправляются в кэш данных L1.

Еще одна интересная особенность ЦП заключается в том, что они могут выполнять несколько инструкций одновременно на разных этапах, что называется конвейерной обработкой. Например; Блок Fetch будет бездействовать после отправки инструкции блоку Decode. В этом случае Fetch перейдет к следующей инструкции, чтобы избежать простоя. Это запустит цикл Fetch> Decode> Execution. Процессоры Intel нового поколения могут иметь до 14 ступеней.Архитектуры, в которых эти несколько процессов могут выполняться на разных этапах, называются «суперскалярной архитектурой».

Out-Of-Order Execution (OOO)

Я упомянул возможности параллельной обработки процессоров чуть выше. Я также упомянул, что существует более одного исполнительного модуля, такого как ALU, FPU и т. Д. Давайте возьмем пример и представим, что у нашего ЦП 4 ALU и 2 FPU. И у нас есть поток, подобный показанному ниже.

 1. Общая инструкция 
2. Общая инструкция
3.Общая инструкция
4. Общая инструкция
5. Общая инструкция
6. Общая инструкция
7. Математическая инструкция
8. Общая инструкция
9. Общая инструкция
10 Математическая инструкция

Что здесь произойдет; Блок расписания / диспетчеризации отправит первые 4 инструкции ALU и дождется освобождения одного из ALU для пятой инструкции. В это время ЦП не будет бездействовать, блок ООО запустится, пропустит команды 5 и 6 и проверит оставшуюся часть очереди.Когда дело доходит до 7-й инструкции, она отправляет ее в FPU, потому что это математическая инструкция. Затем он снова начнет проверку очереди, пока не отправит 10-ю инструкцию второму и бездействующему блоку FPU. Таким образом, ни один юнит не останется пустым.

Спекулятивное выполнение

Итак, что бы он делал, если бы между приведенными выше инструкциями существовал цикл? ЦП будет использовать обе возможности. Например:

 1. Общая инструкция 
2. Общая инструкция
3. Если A = 4.Общая инструкция
5. Общая инструкция
6. Общая инструкция
7. Математическая инструкция
8. Общая инструкция
9. Общая инструкция
10. Математическая инструкция
...
15. Математическая инструкция
16. Общая инструкция

После модуль out-of-order, проанализировавший эту программу, возьмет 15-ю инструкцию и бросит ее в неработающий FPU, потому что 15-я инструкция появляется как результат 3-й инструкции. Если результат 3-й инструкции a> b, он отменит работу 15-й инструкции.Если a> b, программа будет работать нормально, иначе программа будет работать быстрее, потому что ее результат уже будет обработан с самого начала и загружен в кеш.

 Пожалуйста, поправляйте меня, если заметите какие-то ошибки, я открыт для конструктивной критики. Спасибо! 

Ссылки

Принципы работы контроллеров и процессоров BCR

ИНДИВИДУАЛЬНЫЕ ПРАВА

После того, как человек удовлетворительно подтвердит свою личность, он может:

  • Получите доступ к копии хранящейся о них Персональной информации и некоторым другим деталям, таким как их права в отношении Персональной информации, отправив электронное письмо на адрес mmcbcr @ mmc.com.
  • Запрашивать исправление, удаление, блокировку или завершение, в зависимости от ситуации, их Личной информации, которая оказывается неточной или неполной, и, при определенных обстоятельствах, выдвигать возражение относительно обработки их Личной информации.
  • Возражать бесплатно против использования такой Личной информации в целях прямого маркетинга, и мы выполним все такие запросы на отказ.
  • Получить оценку или решение, которое существенно влияет на них и которое основано не только на автоматизированной обработке Персональной информации, если не приняты меры для защиты их интересов, включая предоставление им возможности понять основу для решения.


ТРАНСГРАНИЧНЫЕ ПЕРЕВОДЫ

Мы не будем передавать Личную информацию другим организациям, не являющимся членами Группы, без обеспечения надлежащей защиты информации и принятия соответствующих мер, таких как подписание стандартных договорных положений или эквивалентная передача данных, или получение согласия отдельных лиц в целях защиты передаваемая Персональная информация. Член группы, действующий в качестве контролера (Экспортирующая организация), может передавать Личную информацию, происходящую из Европы, члену группы за пределами Европы (Импортирующая организация).


ЛИЧНАЯ ИНФОРМАЦИЯ

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


СОБЛЮДЕНИЕ ПРОГРАММЫ КОНФИДЕНЦИАЛЬНОСТИ

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


ОБУЧЕНИЕ И АУДИТ

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


РАЗРАБОТКА ЖАЛОБ
Физические лица, включая коллег, чья личная информация обрабатывается в соответствии с BCR MMC, могут подать жалобу или запрос по адресу [email protected] Мы стремимся быстро и надлежащим образом расследовать каждую поданную жалобу о нарушении конфиденциальности.

Физическое лицо может подать жалобу и / или возбудить дело в случае нарушения этих Принципов экспортирующими или импортирующими организациями.

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

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

СОТРУДНИЧЕСТВО С ОРГАНАМИ ЗАЩИТЫ ДАННЫХ

Мы будем:

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

ОБНОВЛЕНИЯ НАСТОЯЩИХ ПРИНЦИПОВ

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

ГДЕ НАЦИОНАЛЬНОЕ ЗАКОНОДАТЕЛЬСТВО ПРЕДОСТАВЛЯЕТ СОБЛЮДЕНИЕ

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

ВВЕДЕНИЕ

В Marsh & McLennan Companies (MMC) мы уважаем и обязуемся защищать конфиденциальность, безопасность и целостность Персональной информации ***, доверенной нам нашими клиентами, деловыми партнерами и коллегами.

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

*** Персональная информация означает любую информацию, относящуюся к идентифицированному или идентифицируемому физическому лицу в соответствии с определением «персональных данных» в Директиве ЕС 95/46 / EC.

ОБЛАСТЬ ПРИМЕНЕНИЯ

Эти принципы устанавливают наши обязательства в отношении обработки Персональной информации в соответствии с Европейской директивой о защите данных или соответствующим законодательством государства-члена, когда Персональная информация собирается внешним клиентом («Клиент») или другим членом группы (также именуемым « контроллер »).Если более одного члена группы участвуют в сборе и / или обработке Персональной информации, эти принципы обеспечивают согласованные методы обработки. Такая личная информация будет защищена в соответствии с этим законодательством независимо от географии или технологии, когда она используется членами группы. Эти принципы применяются ко всей Личной информации, которая поступает из Европейской экономической зоны («ЕЭЗ») **** и обрабатывается Членами Группы, действующими в качестве обработчика данных от имени и по поручению контролера.

**** Ссылки на ЕЭЗ для целей этого документа означают все страны ЕС, включая Норвегию, Исландию и Лихтенштейн.

ОБРАБОТКА ПЕРСОНАЛЬНОЙ ИНФОРМАЦИИ

При обработке Персональной информации:

  • Мы будем соблюдать все применимые законы, которые применяют более высокий стандарт защиты, чем эти принципы.
  • Мы будем помогать диспетчерам с просьбами выполнить их обязательства в качестве диспетчеров (например,г. Члены группы будут прозрачны в отношении действий субпроцессора, чтобы их клиент-контролер мог информировать соответствующих лиц).
  • Контроллер обязан объяснять физическим лицам во время сбора их Персональной информации, как эта информация будет использоваться (обычно посредством заявления о справедливой обработке). Члены группы предоставят такую ​​информацию или, по согласованию с контролером, помогут выполнить это обязательство.
  • Мы будем получать и использовать Личную информацию только для целей, которые согласованы с контролером или которые находятся в пределах их ожиданий в отношении предлагаемых продуктов или услуг.Если мы не можем выполнить согласованное содействие, контролер может приостановить передачу данных или расторгнуть соглашение, в зависимости от обстоятельств. В таких ситуациях член группы должен действовать в соответствии с инструкциями контролера и вернуть и / или уничтожить Личную информацию. В тех случаях, когда законодательство препятствует тому, чтобы Участник группы мог сделать это, Участник группы обеспечивает постоянную конфиденциальность Персональной информации и больше не обрабатывает ее.
  • Мы будем выполнять запросы контролера, чтобы обеспечить точность и актуальность Личной информации, и будем хранить Личную информацию только столько времени, сколько требуется для целей, для которых она собирается и обрабатывается.Если это не может быть достигнуто, член группы незамедлительно уведомляет контролера и гарантирует, что такая личная информация больше не используется при предоставлении услуг.
  • Мы будем действовать в соответствии с инструкциями, согласованными с контролером, в отношении осуществления индивидуальных прав. Мы незамедлительно уведомим контролера, если получим субъектный запрос доступа от физического лица.
  • Мы будем следовать и выполнять четкие и конкретные обязательства, полученные от контролера, чтобы гарантировать реализацию соразмерных технических и организационных мер по защите Персональной информации от случайного или незаконного уничтожения или случайной потери, изменения, несанкционированного раскрытия или доступа.Мы уведомим контролера о любом соответствующем нарушении данных. Если контролером является другой член группы, мы будем соблюдать нашу внутреннюю процедуру уведомления о нарушениях. Если контролер является клиентом, мы будем соблюдать процедуру уведомления, согласованную с клиентом.
  • Мы будем соблюдать требования, согласованные с контролером, при рассмотрении вопроса о назначении субпроцессора для обработки Персональной информации от его имени. Если контролер возражает против назначения, член группы может предпринять шаги по согласованию с контролером.Член группы гарантирует, что субпроцессоры обязуются соблюдать положения, которые соответствуют (i) условиям его контрактов с его контролерами и (ii) любым дополнительным требованиям, изложенным в Стандартах обработчиков. Член группы будет назначать только тех субпроцессоров, которые предоставили достаточные гарантии, которые член группы согласовал с контролером, и, в частности, имеют соответствующие технические и организационные меры для управления обработкой соответствующей Персональной информации.

СОБЛЮДЕНИЕ ПРОГРАММЫ КОНФИДЕНЦИАЛЬНОСТИ

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

ОБУЧЕНИЕ И АУДИТ

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

РАЗРАБОТКА ЖАЛОБ

Лица, в том числе коллеги, чья личная информация обрабатывается в соответствии с BCR MMC, могут подать жалобу или запрос по адресу [email protected] Мы стремимся быстро и надлежащим образом расследовать каждую поданную жалобу о нарушении конфиденциальности.

СОТРУДНИЧЕСТВО С ОРГАНАМИ ЗАЩИТЫ ДАННЫХ

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

ОБНОВЛЕНИЯ ДАННЫХ ПРИНЦИПОВ

Мы будем сообщать о любых существенных изменениях в BCR MMC в кратчайшие сроки в Управление комиссара по информации Великобритании («ICO») и любые другие соответствующие европейские органы по защите данных.Мы будем сообщать о любых административных изменениях или изменениях, возникших в результате изменения применимого законодательства, ICO и соответствующим европейским органам по защите данных не реже одного раза в год. Все изменения будут доведены до сведения участников группы посредством внутренней коммуникации, а также с частными лицами и клиентами через веб-сайт нашей компании. Мы будем вести журнал любых таких изменений.

ГДЕ НАЦИОНАЛЬНОЕ ЗАКОНОДАТЕЛЬСТВО ПРЕДОСТАВЛЯЕТ СОБЛЮДЕНИЕ

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

ПРАВА ТРЕТЬИХ ЛИЦ

В ситуациях, когда Персональная информация передается в соответствии с настоящими Принципами, лицо, чья Персональная информация передается, может не иметь возможности предъявить иск контролеру, потому что:

  • Контроллер больше не существует или стал неплатежеспособным; и
  • Ни одна компания-преемник / замещающая компания не взяла на себя юридических обязательств контролера.

В этих ситуациях физическое лицо имеет следующие права:

  • Стремиться обеспечить соблюдение настоящих Принципов;
  • Подать жалобу в европейский орган по защите данных в стране, где находится
    • Член группы, обрабатывающий данные; или
    • Если такой член группы не существует, то где член группы в стране, откуда была передана личная информация.
  • Для возбуждения дела против члена Европейской группы, выступающего в качестве обработчика, в одном из следующих регионов:
    • Юрисдикция, из которой была передана личная информация; или
    • Европейское государство-член, в котором проживает физическое лицо.
  • Чтобы получить компенсацию, где это уместно, от члена европейской группы, действующего в качестве обработчика, за ущерб, понесенный в результате нарушения настоящих Принципов:
    • Любой член группы, не являющийся европейским;  Сторонний обработчик данных, действующий от имени члена Европейской группы и зарегистрированный за пределами ЕЭЗ;
    • В соответствии с действующим постановлением суда компетентного органа.
  • Чтобы получить копию «Стандарта обработчика» BCR и внутригруппового соглашения.

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

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

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *