Архитектура процессора
Категория реферата: Рефераты по информатике, программированию
Теги реферата: профессиональные рефераты, сочинение капитанская
Добавил(а) на сайт: Изот.
1 2 | Следующая страница реферата
Технический университет Молдовы
РЕФЕРАТ ПО ПРОГРАММИРОВАНИЮ
ТЕМА: Память и архитектура процессора
Факультет
CIM
Группа
С - 092
Подготовил
Плис Владимир.
Кишинёв 1999 г.
План:
Введение.
1) Историческая ретроспектива.
2) Архитектурное развитие.
3) Процесс производства.
4) Программная совместимость.
5) Обзор процессоров.
Будущие разработки Intel.
Процессор, или более полно микропроцессор, а также часто называемый ЦПУ
(CPU - central processing unit) является центральным компонентом
компьютера. Это разум, который управляет, прямо или косвенно, всем
происходящим внутри компьютера.
Когда фон Нейман впервые предложил хранить последовательность инструкций, так называемые программы, в той же памяти, что и данные, это была поистине
новаторская идея. Опубликована она в "First Draft of a Report on the EDVAC"
в 1945 году. Этот отчет описывал компьютер состоящим из четырех основных
частей: центрального арифметического устройства, центрального управляющего
устройства, памяти и средств ввода-вывода.
Сегодня, более полувека спустя, почти все процессоры имеют фон-неймановскую
архитектуру.
Историческая ретроспектива
Как известно, все процессоры персональных компьютеров основаны на
оригинальном дизайне Intel. Первым применяемым в PC процессором был
интеловский чип 8088. В это время Intel располагал выпущенным ранее более
мощным процессором 8086. 8088 был выбран по соображениям экономии: его 8-
битная шина данных допускала более дешевые системные платы, чем 16-битная у
8086. Также во время проектирования первых PC большинство доступных
интерфейсных микросхем использовали 8-битный дизайн. Те первые процессоры
даже не приближаются к мощи, достаточной для запуска современных
приложений.
В таблице ниже приведены основные группы интеловских процессоров от первой
генерации 8088/86 до шестого поколения Pentium Pro и Pentium II:
|Тип/ |Дата|Ширина шины |Внутренни|Скорость шины |Внутренняя |
|Поколение | |данных/ |й кэш |памяти |частота |
| | |адреса | |(MHz) |(MHz) |
|8088/ First |1979|8/20 bit |None |4.77-8 |4.77-8 |
|8086/ First |1978|16/20 bit |None |4.77-8 |4.77-8 |
|80286/ |1982|16/24 bit |None |6-20 |6-20 |
|Second | | | | | |
|80386DX/ |1985|32/32 bit |None |16-33 |16-33 |
|Third | | | | | |
|80386SX/ |1988|16/32 bit |8K |16-33 |16-33 |
|Third | | | | | |
|80486DX/ |1989|32/32 bit |8K |25-50 |25-50 |
|Fourth | | | | | |
|80486SX/ |1989|32/32 bit |8K |25-50 |25-50 |
|Fourth | | | | | |
|80486DX2/ |1992|32/32 bit |8K |25-40 |50-80 |
|Fourth | | | | | |
|80486DX4/ |1994|32/32 bit |8K+8K |25-40 |75-120 |
|Fourth | | | | | |
|Pentium/ |1993|64/32 bit |8K+8K |60-66 |60-200 |
|Fifth | | | | | |
|MMX/ Fifth |1997|64/32 bit |16K+16K |66 |166-233 |
|Pentium Pro/|1995|64/36 bit |8K+8K |66 |150-200 |
|Sixth | | | | | |
|Pentium II/ |1997|64/36 bit |16K+16K |66 |233-300 |
|Sixth | | | | | |
Третье поколение процессоров, основанных на Intel 80386SX и 80386DX, были
первыми применяемыми в PC 32-битными процессорами. Основным отличием между
ними было то, что 386SX был 32-разрядным только внутри, поскольку он
общался с внешним миром по 16-разрядной шине. Это значит, что данные между
процессором и остальным компьютером перемещались на вполовину меньшей
скорости, чем у 486DX.
Четвертая генерация процессоров была также 32-разрядной. Однако все они
предлагали ряд усовершенствований. Во-первых, был полностью пересмотрен
весь дизайн 486 поколения, что само по себе удвоило скорость. Во-вторых, все они имели 8kb внутреннего кэша, прямо у процессорной логики. Такое
кэширование передачи данных от основной памяти значило, что среднее
ожидание процессора запросов к памяти на системной плате сократилось до 4%, поскольку, как правило, необходимая информация уже находилась в кэше.
Модель 486DX отличалась от 486SX только поставляемым внутри
математическим сопроцессором. Этот отдельный процессор спроектирован для
проведения операций над числами с плавающей точкой. Он мало применяется в
каждодневных приложениях, но кардинально меняет производительность числовых
таблиц, статистического анализа, систем проектирования и так далее.
Важной инновацией было удвоение частоты, введенное в 486DX2. Это значит что
внутри процессор работает на удвоенной по отношению ко внешней электронике
скоростью. Данные между процессором, внутренним кэшем и сопроцессором
передаются на удвоенной скорости, приводя к сравнимой прибавке в
производительности. 486DX4 развил эту технологию дальше, утраивая частоту
до внутренних 75 или 100MHz, а также удвоив объем первичного кэша до 16kb.
Pentium, определив пятое поколение процессоров, значительно превзошел в
производительности предшествующие 486 чипы благодаря нескольким
архитектурным изменениям, включая удвоение ширины шины до 64 бит. P55C MMX
сделал дальнейшие значительные усовершенствования, удвоив размер первичного
кэша и расширив набор инструкций оптимизированными для мультимедиа
приложений операциями.
Pentium Pro, появившись в 1995 году как наследник Pentium, был первым в
шестом поколении процессоров и ввел несколько архитектурных особенностей, не встречавшихся ранее в мире PC. Pentium Pro стал первым массовым
процессором, радикально изменившим способ выполнения инструкций переводом
их в RISC-подобные микроинструкции и выполнением их в высокоразвитом
внутреннем ядре. Он также замечателен значительно более производительным
вторичным кэшем относительно всех прежних процессоров. Вместо использования
базирующегося на системной плате кэша, работающего на скорости шины памяти, он использует интегрированный кэш второго уровня на своей собственной шине, работающей на полной частоте процессора, обычно в три раза быстрее кэша на
Pentium-системах.
Следующий новый чип после Pentium Pro Intel представил спустя почти
полтора года - появился Pentium II, давший очень большой эволюционный шаг
от Pentium Pro. Это распалило спекуляции, что одна из основных целей Intel
в производстве Pentium II был уход от трудностей в изготовлении дорогого
интегрированного кэша второго уровня в Pentium Pro. Архитектурно Pentium II
не очень отличается от Pentium Pro с подобным эмулирующим x86 ядром и
большинством схожих особенностей.
Pentium II улучшил архитектуру Pentium Pro удвоением размера первичного
кэша до 32kb, использованием специального кэша для увеличения эффективности
16-битной обработки, (Pentium Pro оптимизирован для 32-битных приложений, а
с 16-битным кодом не обращается столь же хорошо) и увеличением размеров
буферов записи. Однако о основной темой разговоров вокруг новых Pentium II
была его компоновка. Интегрированный в Pentium Pro вторичный кэш, работающий на полной частоте процессора, был заменен в Pentium II на малую
схему, содержащую процессор и 512kb вторичного кэша, работающего на
половине частоты процессора. Собранные вместе, они заключены в специальный
одностороний картридж (single-edge cartridge - SEC), предназначенный для
вставления в 242-пиновый разъем (Socket 8) на нового стиля системных платах
Pentium II.
Основная структура
Основные функциональные компоненты процессора
Ядро: Сердце современного процессора - исполняющий модуль. Pentium имеет
два параллельных целочисленных потока, позволяющих читать, интерпретировать, выполнять и отправлять две инструкции одновременно.
Предсказатель ветвлений: Модуль предсказания ветвлений пытается угадать, какая последовательность будет выполняться каждый раз когда программа
содержит условный переход, так чтобы устройства предварительной выборки и
декодирования получали бы инструкции готовыми предварительно.
Блок плавающей точки. Третий выполняющий модуль внутри Pentium, выполняющий
нецелочисленные вычисления
Первичный кэш: Pentium имеет два внутричиповых кэша по 8kb, по одному для
данных и инструкций, которые намного быстрее большего внешнего вторичного
кэша.
Шинный интерфейс: принимает смесь кода и данных в CPU, разделяет их до
готовности к использованию, и вновь соединяет, отправляя наружу.
[pic]
Все элементы процессора синхронизируются с использованием частоты часов, которые определяют скорость выполнения операций. Самые первые процессоры
работали на частоте 100kHz, сегодня рядовая частота процессора - 200MHz, иначе говоря, часики тикают 200 миллионов раз в секунду, а каждый тик
влечет за собой выполнение многих действий. Счетчик Команд (PC) -
внутренний указатель, содержащий адрес следующей выполняемой команды. Когда
приходит время для ее исполнения, Управляющий Модуль помещает инструкцию из
памяти в регистр инструкций (IR). В то же самое время Счетчик команд
увеличивается, так чтобы указывать на последующую инструкцию, а процессор
выполняет инструкцию в IR. Некоторые инструкции управляют самим Управляющим
Модулем, так если инструкция гласит 'перейти на адрес 2749', величина 2749
записывается в Счетчик Команд, чтобы процессор выполнял эту инструкцию
следующей.
Многие инструкции задействуют Арифметико-логическое Устройство (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 имеет два параллельных целочисленных
потока, позволяющих ему читать, интерпретировать, выполнять, и записывать
две операции одновременно. Так проводятся только целочисленные операции - с
дробными числами обращается отдельный модуль плавающей точки.
Pentium также использует два 8-килобайтных ассоциативных буфера, более
известных как первичный или первого уровня кэш) - один для инструкций и
другой для данных. Объем кэша удвоен по сравнению с предшественником, 486.
Этот кэш добавляет к производительности, поскольку действует как временное
хранилище информации для данных, доставляемых из медленной основной памяти.
Буфер Ветвлений (BTB) обеспечивает динамическое предсказание ветвлений. Он
улучшает выполнение инструкций запоминанием способа ветвления и применением
той же ветви при следующем выполнении инструкции. Когда BTB делает
правильное предсказание, производительность увеличивается. 80-точечный
Модуль Плавающей Точки обеспечивает арифметическое средство для обращения с
"вещественными" числами.
Обзор процессоров
Pentium Pro
Интеловский Pentium Pro, выпущенный в конце 1995 года с ядром CPU, состоящим из 5.5 миллионов транзисторов, плюс 15.5 миллионов транзисторов
во вторичном кэше, изначально предназначался для рынка серверов и high-end
рабочих станций. Этот суперскалярный процессор включает особенности
процессоров высшей категории и оптимизирован под 32-битные операции.
Pentium Pro отличается от Pentium'а наличием встроенного вторичного кэша
размером от 256kb до 1mb, работающего на внутренней частоте. Помещение
вторичного кэша на чипе, а не на системной плате, позволяет передавать
данные по 64-битному каналу, а не по 32-битной системной шине у Pentium.
Такая физическая близость также добавляет к росту производительности. Эта
комбинация настолько мощна, что 256kb встроенного кэша эквивалентны 2mb на
системной плате.
Даже большим фактором в производительности Pentium Pro является
комбинация технологий, известных как "динамическое выполнение". Оно
включает предсказание ветвлений, анализ потока данных и спекулятивное
выполнение. Их комбинирование позволяет позволяет процессору использовать
пропадающие иначе циклы тиков, производя предсказания программного потока
выполнения инструкций вперед.
Pentium Pro был также первым процессором в семействе x86 с применением
сверх поточности (superpipelining), этот поток включает 14 стадий, делящихся на три секции. Очередная подготовительная секция, обрабатывающая
декодирование и вывод инструкции, состоит из восьми стадий. Внеочередное
ядро, выполняющее инструкцию, имеет три стадии и очередное завершение
состоит из трех финальных стадий.
Другим, более важным отличием Pentium Pro является его обращение с
инструкциями. Он получает CISC (Complex Instruction Set Computer) x86
инструкции, и преобразовывает их во внутренний RISC (Reduced Instruction
Set Computer) микрокод. Преобразование спроектировано так, чтобы избежать
некоторые ограничения, унаследованные от набора инструкций x86, таких как
нерегулярное декодирование инструкций и арифметические операции регистр-в-
память. Микрокод затем пересылается во внеочередной исполнитель инструкций, который определяет, готова ли инструкция к выполнению, и, если нет, передвигает код по кругу, чтобы предотвратить застопорение потока.
У миграции в сторону RISC есть свои минусы. Во-первых, преобразование
инструкций занимает время, пусть оно даже меряется в нано- или
микросекундах. В результате Pentium Pro неизбежно тратит производительную
мощь на обработку инструкций. Второй минус в том, что внеочередной дизайн
может частично влиять на 16-битный код, приводя к застопориванием. Это
может быть причиной частичного обновления регистра, происходящего до
полного чтения регистра, и налагать строгие производственные издержки до
семи циклов тика.
Pentium Pro был первым микропроцессором, не использующим почтенный Socket
7, требуя большего 242-контактного интерфейса Socket 8 и ново годизайна
системных плат.
Рекомендуем скачать другие рефераты по теме: век реферат, тарас бульба сочинение.
1 2 | Следующая страница реферата