Смекни!
smekni.com

Архитектура процессора (стр. 2 из 4)

Многие инструкции задействуют Арифметико-логическое Устройство (ALU), работающее совместно с Регистрами Общего Назначения - место для временного хранения, которое может загружать и выгружать данные из памяти. Типичной инструкцией ALU может служить добавление содержимого ячейки памяти к регистру общего назначения. ALU также устанавливает биты Регистра Состояний (Status register - SR) при выполнении инструкций для хранения информации о ее результате. Например, SR имеет биты, указывающие на нулевой результат, переполнение, перенос и так далее. Модуль Управления использует информацию в SR для выполнения условных операций, таких как 'перейти по адресу 7410 если выполнение предыдущей инструкции вызвало переполнение'.

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

Архитектурное развитие

В соответствии с законом Мура (сформулированным в 1965 году Гордоном Муром (Gordon Moore), одним из создателей Intel), CPU удваивает свою мощность и возможности каждые 18-24 месяцев. В последние годы Intel настойчиво следовал этому закону, оставаясь лидером на рынке и выпуская более мощные чипы процессоров для PC, чем любая другая компания. В 1978 году 8086 работал на частоте 4.77MHz и содержал менее миллиона транзисторов, на конец 1995 года их Pentium Pro вмещал уже 21 миллион транзисторов и работал на 200MHz.

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

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

Говоря, что 'нечто происходит с каждым тиком', мы недооцениваем как долго на самом деле происходит выполнение инструкции. Традиционно, это занимало пять тиков - один для загрузки инструкции, другой для ее декодирования, один для получения данных, один для выполнения и один для записи результата. В этом случае очевидно 100MHz процессор мог выполнить только 20 миллионов инструкций в секунду.

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

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

Процесс производства

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

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

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

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

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

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

В прежние времена производство полупроводников приводило к удаче или неудаче с отношением успеха менее 50% работающих чипов. Сегодня выход результата намного выше, но никто не ожидает 100%. Как только новый слой добавляется на пластину, каждый чип тестируется и отмечается любое несоответствие. Индивидуальные чипы отделяются и с этой точки зовутся матрицами. Плохие бракуются, а хорошие упаковываются в PGA (Pin Grid Arrays) корпус - керамический прямоугольник с рядами штырьков на дне, именно такой корпус большинство людей принимают за процессор.

4004 использовал 10-микронный процесс: наименьшие детали составляли одну 10-миллионную метра. По сегодняшним стандартам это чудовищно. Если предположить, что Pentium Pro изготовлен по такой технологии он был бы размером 14x20 сантиметров, и был бы медленным - быстрые транзисторы малы. Большинство процессоров сегодня используют 0.25-микронные технологию, и 0.1-микронный процесс - среднесрочная перспектива для многих производителей.

Программная совместимость

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

Когда сторонние производители делают процессор с другими инструкциями, он не будет работать с принятым стандартным программным обеспечением, и в результате не продается. В дни 386-х и 486-х компании, например AMD, клонировали интеловские процессоры, но это всегда было с отставанием на поколение. Cyrix 6x86 и AMD K5 были конкурентами интеловского Pentium, но это были не чистые копии. K5 имел собственный набор инструкций и транслировал инструкции 80x86 во внутренние при загрузке, так что K5 не требовал при проектировании предварительного создания Pentium. Многое в действительности создавалось параллельно, сдерживала только схема трансляции. Когда K5 наконец появился, он перепрыгнул Pentium в отношении производительности при одинаковых частотах.

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

Pentium

Введение Pentium в 1993 году революционизировало рынок PC, вложив в корпус среднего PC больше мощи, чем имела NASA в кондиционируемых компьютерных помещениях начала 60-х. Архетектура Pentium представляет шаг вперед от 486.

Это был основанный на CISC чип с более 3.3 миллионами транзисторов, произведенный по 0.35-микронной технологии. Внутри процессор использовал 32-разрядную шину, но внешняя шина данных была 64-разрядна. Внешняя шина требовала других материнских плат, и для их поддержки Intel выпустил специальный чипсет для связи Pentium с 64-разрядным внешним кэшем и шиной PCI.

Большинство Pentium (75MHz и выше) работают на 3.3V с 5V вводом-выводом. У Pentium двойной потоковый суперскалярный дизайн, позволяющий ему выполнять больше инструкций за тик. Пять стадий (загрузка, декодирование, генерация адреса, выполнение и выгрузка) при исполнении целочисленных инструкций остаются, как в 486, но Pentium имеет два параллельных целочисленных потока, позволяющих ему читать, интерпретировать, выполнять, и записывать две операции одновременно. Так проводятся только целочисленные операции - с дробными числами обращается отдельный модуль плавающей точки.