Главная » Статьи » Непознанное |
Вы читаете эти строчки со телефона, планшета либо компьютера. Хоть какое из этих устройств основано на процессоре. Процессор является «сердцем» хоть какого компьютерного устройства. Существует много типов процессоров, но они все решают одни и те же задачки. Сейчас мы побеседуем о том, как микропроцессор работает и какие задачки он делает. На 1-ый взор все это представляется естественным. Но очень многим юзерам было бы любопытно углубить свои познания о важном компоненте, обеспечивающем работу компьютера. Мы узнаем о том, как разработка, основанная на обычный цифровой логике, позволяет вашему компу не только лишь решать математические задачки, да и быть веселительным центром. Как всего две числа — единица и ноль — преобразуются в калоритные игры и киноленты? Этот вопрос многие не один раз задавали для себя и будут рады получить на него ответ. Ведь даже в базе не так давно рассмотренного нами микропроцессора AMD Ягуар, на котором базируются новые игровые приставки, лежит та же старая логика.
В английской литературе процессор нередко именуют CPU (central processing unit, [единым] модулем центрального микропроцессора). Причина такового наименования кроется в том, что современный микропроцессор представляет собою единый чип. 1-ый процессор в истории населения земли был сотворен компанией Intel в дальнем 1971 году. Роль Intel в истории микропроцессорной промышленностиИдет речь о модели Intel 4004. Массивным он не был и умел делать только деяния сложения и вычитания. Сразу он мог обрабатывать всего четыре бита инфы (другими словами был 4-битным). Но для собственного времени его возникновение стало значимым событием. Ведь весь микропроцессор поместился в одном чипе. До возникновения Intel 4004, компы базировались на целом наборе чипов либо дискретных компонент (транзисторов). Процессор 4004 лег в базу 1-го из первых портативных калькуляторов. Первым процессором для домашних компов стал представленный в 1974 году Intel 8080. Вся вычислительная мощность 8-битного компьютера помещалась в одном чипе. Но по-настоящему огромное значение имел анонс микропроцессора Intel 8088. Он появился в 1979 году и с 1981 года стал употребляться в первых массовых компьютерах IBM PC. Дальше микропроцессоры начали развиваться и зарастать мощью. Каждый, кто хоть мало знаком с историей микропроцессорной промышленности, помнит, что на замену 8088 пришли 80286. Потом настал черед 80386, за которым следовали 80486. Позже были несколько поколений «Пентиумов»: Pentium, Pentium II, III и Pentium 4. Все это «интеловские» микропроцессоры, основанные на базисной конструкции 8088. Они обладали оборотной совместимостью. Это означает, что Pentium 4 мог обработать хоть какой кусок кода для 8088, но делал это со скоростью, возросшей приблизительно в 5 тыщ раз. С того времени прошло не настолько не мало лет, но успели смениться еще несколько поколений процессоров. С 2004 года Intel начала предлагать многоядерные микропроцессоры. Число применяемых в их транзисторов возросло на миллионы. Но даже на данный момент микропроцессор подчиняется тем общим правилам, которые были предназначены для ранешних чипов. В таблице отражена история процессоров Intel до 2004 года (включительно). Мы создадим некие пояснения к тому, что означают отраженные в ней характеристики:
Существует конкретная связь меж тактовой частотой, также количеством транзисторов и числом операций, выполняемых микропроцессором за секунду. К примеру, тактовая частота микропроцессора 8088 достигала 5 МГЦ, а производительность: всего 0,33 миллиона операций за секунду. Другими словами на выполнение одной аннотации требовалось порядка 15 тактов микропроцессора. В 2004 году микропроцессоры уже могли делать по две аннотации за один такт. Это улучшение было обеспечено повышением количества микропроцессоров в чипе. Чип также именуют интегральной микросхемой (либо просто микросхемой). В большинстве случаев это малая и узкая кремниевая пластинка, в которую «впечатаны» транзисторы. Чип, сторона которого добивается 2-ух с половиной см, может содержать 10-ки миллионов транзисторов. Простые микропроцессоры могут быть квадратиками со стороной всего в несколько мм. И этого размера довольно для нескольких тыщ транзисторов. Логика процессораЧтоб осознать, как работает процессор, следует изучить логику, на которой он основан, также познакомиться с языком ассемблера. Это родной язык процессора. Процессор способен делать определенный набор машинных инструкций (команд). Оперируя этими командами, микропроцессор делает три главные задачки:
Процессор содержит:
Так как информация довольно сложна, будем исходить из того, что ширина обеих шин — и адресной и шины данных — составляет всего 8 бит. И коротко разглядим составляющие этого сравнимо обычного процессора:
На данной диаграмме не отображены линии управления дешифратора команд, которые можно выразить в виде следующих «приказов»:
В дешифратор команд поступают биты данных из тестового регистра, канала синхронизации, также из регистра команд. Если максимально упростить описание задач дешифратора инструкций, то можно сказать, что именно этот модуль «подсказывает» процессору, что необходимо сделать на этот момент. Память микропроцессораЗнакомство с подробностями, касающимися компьютерной памяти и ее иерархии помогут лучше понять содержание этого раздела. Выше мы писали о шинах (адресной и данных), также о каналах чтения (RD) и записи (WR). Эти шины и каналы соединены с памятью: оперативной (ОЗУ, RAM) и постоянным запоминающим устройством (ПЗУ, ROM). В нашем примере рассматривается микропроцессор, ширина каждой из шин которого составляет 8 бит. Это значит, что он способен выполнять адресацию 256 байт (два в восьмой степени). В один миг времени он может считывать из памяти или записывать в нее 8 бит данных. Предположим, что этот простой микропроцессор располагает 128 байтами ПЗУ (начиная с адреса 0) или 128 байтами оперативки (начиная с адреса 128). Модуль постоянной памяти содержит определенный предварительно установленный постоянный набор байт. Адресная шина запрашивает у ПЗУ определенный байт, который следует передать шине данных. Когда канал чтения (RD) меняет свое состояние, модуль ПЗУ предоставляет запрошенный байт шине данных. Другими словами в этом случае возможно только чтение данных. Из оперативки процессор может не только лишь считывать информацию, он способен также записывать в нее данные. Зависимо от того, чтение или запись осуществляется, сигнал поступает либо через канал чтения (RD), либо через канал записи (WR). К сожалению, оперативка энергозависима. При отключении питания она теряет все размещенные в ней данные. По этой причине компьютеру необходимо энергонезависимое постоянное запоминающее устройство. Более того, теоретически компьютер может обойтись и вовсе без оперативки. Многие микроконтроллеры позволяют размещать необходимые байты данных непосредственно в чип процессора. Но без ПЗУ обойтись невозможно. В компьютерах ПЗУ называется базовой системой ввода и вывода (БСВВ, BIOS, Basic Input/Output System). Свою работу при запуске микропроцессор начинает с выполнения команд, найденных им в BIOS. Команды BIOS выполняют тестирование аппаратного обеспечения компьютера, а затем они обращаются к жесткому диску и выбирают загрузочный сектор. Этот загрузочный сектор является отдельной небольшой программой, которую BIOS сначала считывает с диска, а затем размещает в оперативки. После чего микропроцессор начинает выполнять команды расположенного в ОЗУ загрузочного сектора. Программа загрузочного сектора сообщает микропроцессору о том, какие данные (созданные для последующего выполнения процессором) следует дополнительно переместить с жесткого диска в оперативку. Именно так происходит процесс загрузки процессором операционной системы. Инструкции микропроцессораДаже простейший микропроцессор способен обрабатывать достаточно большой набор инструкций. Набор инструкций является своего рода шаблоном. Каждая из этих загружаемых в регистр команд инструкций имеет свое значение. Людям непросто запомнить последовательность битов, поэтому каждая инструкция описывается в виде короткого слова, каждое из которых отражает определенную команду. Эти слова составляют язык ассемблера процессора. Ассемблер переводит эти слова на понятный процессору язык двоичных кодов. Приведем список слов-команд языка ассемблера для условного простого процессора, который мы рассматриваем в качестве примера к нашему повествованию:
Английские слова, обозначающие выполняемые действия, в скобках приведены неспроста. Так мы можем видеть, что язык ассемблера (как и многие другие языки программирования) основан на английском языке, другими словами на привычном средстве общения тех людей, которые создавали цифровые технологии. Работа микропроцессора на примере вычисления факториалаРассмотрим работу микропроцессора на конкретном примере выполнения им простой программы, которая вычисляет факториал от числа «5». Сначала решим эту задачку «в тетради»: факториал от 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120 На языке программирования C этот фрагмент кода, выполняющего данное вычисление, будет выглядеть следующим образом:
Когда эта программа завершит свою работу, переменная f будет содержать значение факториала от пяти. Компилятор C транслирует (то есть переводит) этот код в набор инструкций языка ассемблера. В рассматриваемом нами процессоре оперативная память начинается с адреса 128, а постоянная память (которая содержит язык ассемблера) начинается с адреса 0. Следовательно, на языке данного процессора эта программа будет выглядеть так:
Теперь возникает следующий вопрос: как же все эти команды выглядят в постоянной памяти? Каждая из этих инструкций должна быть представлена в виде двоичного числа. Чтобы упростить понимание материала, предположим, что каждая из команд языка ассемблера рассматриваемого нами процессора имеет уникальный номер:
Будем считать эти порядковые номера кодами машинных команд (opcodes). Их еще называют кодами операций. При таком допущении, наша небольшая программа в постоянной памяти будет представлена в таком виде:
Как вы заметили, семь строчек кода на языке C были преобразованы в 18 строчек на языке ассемблера. Они заняли в ПЗУ 32 байта. ДекодированиеРазговор о декодировании придется начать c рассмотрения филологических вопросов. Увы, далеко не все компьютерные термины имеют однозначные соответствия в русском языке. Перевод терминологии зачастую шел стихийно, а поэтому один и тот же английский термин может переводиться на русский несколькими вариантами. Так и случилось с важнейшей составляющей микропроцессорной логики «instruction decoder». Компьютерные специалисты называют его и дешифратором команд и декодером инструкций. Ни одно из этих вариантов названия невозможно назвать ни более, ни менее «правильным», чем другое. Дешифратор команд нужен для того, чтобы перевести каждый машинный код в набор сигналов, приводящих в действие различные компоненты микропроцессора. Если упростить суть его действий, то можно сказать, что именно он согласует «софт» и «железо». Рассмотрим работу дешифратора команд на примере инструкции ADD, выполняющей действие сложения:
Каждая команда может быть представлена в виде набора последовательно выполняемых операций, которые в определенном порядке манипулируют компонентами микропроцессора. Другими словами программные инструкции ведут ко вполне физическим изменениям: например, изменению положения защелки. Некоторые инструкции могут потребовать на свое выполнение двух или трех тактовых циклов процессора. Другим может потребоваться даже пять или шесть циклов. Микропроцессоры: производительность и тенденцииКоличество транзисторов в процессоре является важным фактором, влияющим на его производительность. Как было показано ранее, в процессоре 8088 на выполнение одной инструкции требовалось 15 циклов тактовой частоты. А чтобы выполнить одну 16-битную операцию, уходило и вовсе порядка 80 циклов. Так был устроен умножитель АЛУ этого процессора. Чем больше транзисторов и чем мощнее умножитель АЛУ, тем больше всего успевает сделать процессор за один свой такт. Многие транзисторы поддерживают технологию конвейеризации. В рамках конвейерной архитектуры происходит частичное наложение выполняемых инструкций друг на друга. Инструкция может требовать на свое выполнение все тех же пяти циклов, но если процессором одновременно обрабатываются пять команд (на разных этапах завершенности), то в среднем на выполнение одной инструкции потребуется один цикл тактовой частоты процессора. В почти всех современных процессорах дешифратор команд не один. И любой из них поддерживает конвейеризацию. Это позволяет выполнять более одной инструкции за один такт процессора. Для реализации этой технологии требуется невероятное множество транзисторов. 64-битные процессорыХотя массовое распространение 64-битные процессоры получили лишь пару лет назад, они существуют уже сравнительно давно: с 1992 года. И Intel, и AMD предлагают в текущее время такие процессоры. 64-битным можно считать такой процессор, который обладает 64-битным арифметико-логическим устройством (АЛУ), 64-битными регистрами и 64-битными шинами. Основная причина, по которой процессорам нужна 64-битность, заключается в том, что данная архитектура расширяет адресное пространство. 32-битные процессоры могут получать доступ только к двум или четырем гигабайтам оперативки. Когда-то эти цифры казались гигантскими, но миновали годы и сегодня такой памятью никого уже не удивишь. Пару лет назад память обычного компьютера составляла 256 или 512 мегабайт. В те времена четырехгигабайтный лимит мешал только серверам и машинам, на которых работают большие базы данных. Но очень быстро оказалось, что даже обычным пользователям порой не хватает ни двух, ни даже четырех гигабайт оперативки. 64-битных процессоров это досадное ограничение не касается. Доступное им адресное пространство в наши дни кажется бесконечным: два в шестьдесят четвертой степени байт, другими словами что-то около миллиарда гигабайт. В обозримом будущем столь гигантской оперативки не предвидится. 64-битная адресная шина, также широкие и высокоскоростные шины данных соответствующих материнских плат, позволяют 64-битным компьютерам увеличить скорость ввода и вывода данных в процессе взаимодействия с такими устройствами, как жесткий диск и видеокарта. Эти новые возможности значительно увеличивают производительность современных вычислительных машин. Но далеко не все пользователи ощутят преимущества 64-битной архитектуры. Она необходима, сначала, тем, кто занимается редактированием видео и фотографий, также работает с различными большими картинками. 64-битные компьютеры по достоинству оценены ценителями компьютерных игр. Но те пользователи, которые при помощи компьютера просто общаются в социальных сетях и бродят по веб-просторам да редактируют текстовые файлы никаких преимуществ этих процессоров, вероятнее всего, просто не почувствуют. По материалам computer.howstuffworks.com ПОХОЖИЕ МАТЕРИАЛЫ
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Просмотров: 220 | | |
Всего комментариев: 0 | |