L02
L02
1.3.2. Микропрограммирование
1.4.2.1. Pentium
Эта линия производится фирмой IBM на основе процессоров фирмы Intel. Основные
этапы таковы.
В 1978 году появился Intel 8086 – 16-битный процессор на одной микросхеме. Фирма
IBM выбрала его для IBM PC, и эта микросхема стала эталоном в производстве ПК. Этот
процессор не мог обращаться к более чем 1Mb памяти. К началу 80-х годов это стало
серьезной проблемой, поэтому Intel разработала совместимую модель 80286, которая
использовалась в IBM PC/AT и в PS/2. Следующим шагом был 32-битный процессор
80386, выпущенный в 1985 г. Далее через 4 года появился 80486, который быстрее
работал, мог выполнять операции с плавающей точкой (без сопроцессора) и имел 8 Kb
кэш-памяти. Он содержал также встроенные средства поддержки многопроцессорного
режима и внутренний конвейер. Следующим появился Pentium, имевший 2 конвейера, что
позволяло ему работать почти в 2 раза быстрее.
Качественные изменения содержал новый процессор - Pentium Pro, у которого была
другая внутренняя организация. Он мог выполнять до 5 команд одновременно. Одно из
нововведений – двухуровневая кэш-память – 8 Kb для команд и 8 Kb – для данных. В
корпусе PC рядом с процессором находилась еще внешняя кэш-память в 256 Kb.
Следующим появился Pentium II с дополнительной системой команд для мультимедиа-
задач – MMX (multimedia extentions). Она предназначена для ускорения вычислений,
необходимых при воспроизведении изображений и звука.
В начале 1998 г. Intel запустила новую линию процессоров под названием Celeron. Он
имел несколько меньшую производительность, но стоил почти в 2 раза дешевле.
Существует еще Xeon – некоторая модификация Pentium II с большей кэш-памятью, более
быстрой внутренней шиной, большей поддержкой многопроцессорного режима.
В дальнейшем были выпущены еще 2 модели - Pentium III и Pentium IV. Мы в качестве
представителя этого семейства будем рассматривать Pentium II.
Все микросхемы Intel теоретически совместимы со своими предшественниками
вплоть до процессора 8086, т.е. Pentium II может выполнять программы, написанные для
процессора 8086. Совместимость всегда была одним из главных требований при
разработке новых компьютеров IBM, чтобы покупатели могли продолжать работать со
5
старым программным обеспечением и не тратить деньги на новое. Обратная сторона этой
тенденции состоит в существенном усложнении архитектуры. Новые процессоры
значительно сложнее, чем если бы они создавались заново без требования совместимости.
1.4.2.2. UltraSPARC
В середине 90-х годов фирмой Sun Microsystems был создан язык программирования
Java. Это объектно-ориентированный язык, основанный на C++, с усиленными
ограничениями в целях безопасности. Основное его назначение - разработка двоичных
программ, которые могут вызываться пользователями через Интернет и загружаться как
часть web-страниц. Однако Java может применяться и при решении других прикладных
задач.
Чтобы разрешить проблему совместимости (ведь в сети работают различные
компьютеры), компания Sun разработала новую виртуальную машину JVM (Java Virtual
Machine). Память у этой машины состоит из 32-битных слов, машина поддерживает 226
простых команд, но выполнение некоторых из них требует большого количества циклов
обращения к памяти. В Sun разработали также компилятор, преобразующий программы на
языке Java на уровень JVM, и интерпретатор JVM для выполнения этих программ. Этот
интерпретатор был написан на языке С и, значит, мог использоваться практически на
любом компьютере.
Интерпретация программ JVM (как и любых других программ) происходит
относительно медленно. Поэтому, кроме программного обеспечения JVM, Sun и другие
компании разработали микросхемы JVM - процессоры, которые сразу выполняют
двоичные программы JVM без какой-либо интерпретации и компиляции. Для рынка
встроенных систем были разработаны PicoJava I и II. На этом рынке требуются мощные и
дешевые процессоры (цена ниже $50), встраиваемые внутрь пластиковых карточек,
телевизоров, телефонов и других устройств, особенно таких, которые обеспечивают связь
с внешним миром - Интернет.
PicoJava II - не физическая микросхема, а проект, который является основой для ряда
микросхем, например, Sun MicroJava 701 и других. Мы будем использовать picoJava II в
качестве иллюстративного примера, поскольку он сильно отличается от Pentium II и
UltraSPARC II и имеет совершенно другую сферу применения.