Процессоры фирм AMD и Cyrix можно было устанавливать почти на все системные платы, предназначенные для Intel 486. Производители системных плат разрабатывали свою продукцию, учитывая возможность установки пользователями процессоров Intel, AMD и Cyrix. Для этого на системной плате устанавливалось множество джамперов, с помощью которых системная плата настраивалась на работу с тем или иным процессором.
Процессоры AMD отличались от Intel 486 пониженным питанием. Величина напряжения указывалась при маркировке. Последние модели имели возможность снижения энергопотребления (такая технология была внедрена корпорацией Intel лишь во втором поколении Pentium).
Максимальная частота, достигнутая в процессоре AMD-K5, составила 133 МГц при коэффициенте умножения, равном 4. Правда, не все системные платы могли поддерживать такие частотные параметры, поэтому приходилось использовать процессор на частоте 100 или 120 МГц.
В последней модели Ат5х86-Р75 использовались решения, которые были реализованы в процессорах Pentium.
Для процессоров Cyrix справедливо все, что было сказано о процессорах AMD. Но при использовании этих процессоров надо учитывать то, что их внутренний математический сопроцессор был более эффективен, чем у процессоров других фирм.
Последняя модель Cyrix 5x86 по архитектуре достаточно близка к процессорам Pentium.
Из остальных фирм, которые производили процессоры семейства 486, можно упомянуть корпорацию IBM и Texas Instruments. Компьютеры с такими процессорами производства этих фирм изредка можно встретить в России. Но, следует заметить, что особых отличий от Intel 486 у них нет, разве что процессоры Texas Instruments ближе к аналогам фирмы AMD.
Процессоры Pentium
Кому-то кажется, что процессоры Pentium появились совсем недавно. Кто-то считает, что до Pentium вообще не было компьютеров, заслуживающих внимания. Иногда при разговоре о процессорах 386 («тройках» в просторечии) собеседник никак не может сообразить, что речь идет не о Pentium III. Если же вспомнить историю, то о первом процессоре Pentium было объявлено в далеком марте 1993 г., т. е. тогда, когда семейство процессоров 486 было в зените славы, a Intel DX4 еще только проектировался.
Первые процессоры Pentium имели тактовые частоты 60 МГц (100 млн. операций в секунду, 70,4 SPECint92, 55,1 SPECfp92) и 66 МГц (112 млн. операций в секунду, 77,9 SPECint92, 63,6 SPECfp92). Умножение частоты для ядра не использовалось. В то время такие частотные характеристики не особо поражали воображение, да и работа программ, которые, в основном, разрабатывались как 16-разрядные приложения, не вызывала особого восторга. К тому же, в первых партиях процессоров Pentium через некоторое время была обнаружена ошибка при делении чисел, которая проявлялась только при определенных соотношениях операндов.
Количество транзисторов на кристалле нового процессора в очередной раз достигло рекордной отметки в 3,1 млн. (технология 0,8 мкм). На рис. 2.9 показан внешний вид процессора Pentium. Число контактов у корпуса процессора со штырьковыми выводами стало равным 273. Возможности работы с памятью были аналогичны предшествующему поколению – адресуемая память равна 4 Гбайт, виртуальная память до 64 Тбайт. Но зато можно было использовать при страничной адресации до 4 Мбайт, вместо 4 Кбайт, как в 486 процессорах.
Рис. 2.9. Процессор Pentium
Чтобы понять, почему еще несколько лет параллельно развивались два поколения процессоров, надо вспомнить, что наиболее популярная операционная система Windows 3.1 была лишь надстройкой – оболочкой над MS-DOS. А эта операционная система, к сожалению, не использовала 32-разрядные возможности процессоров, поэтому программисты разрабатывали почти все программы как 16-разрядные. 32-разрядная операционная система Windows 95, если вспомнить, появилась только через два года.
Но все же реализованные именно в процессорах Pentium принципы обработки информации позволили к настоящему времени превратить обычный персональный компьютер в нечто большее, чем в простую машину для обработки цифр и текстов.
Наиболее интересное новшество, примененное в процессорах, – это использование механизма предсказаний (правда, не так, как это делают гадалки). Как должны выполняться компьютерные программы – шаг за шагом, инструкция за инструкцией. Точно так, как считают в первом классе два плюс два – к результату прибавим еще одно число.
Но ряд команд получают данные от внешней памяти и разнообразных внешних устройств, которые не отличаются быстродействием, а некоторые команды требуют больше циклов для своего выполнения. Процессор Pentium, в тех случаях, когда данные для выполнения текущей операции еще не готовы, продолжает вычисления, обрабатывая дальнейшие инструкции. К тому времени, когда будет выполнена инструкция, данные для которой поступили с опозданием, процессор уже обсчитает множество последующих команд.
Обычно, по результатам выполнения таких "медленных" инструкций в программе делается выбор между несколькими возможностями: как бы решить – идти налево или направо. Вот тут и полезен механизм предсказания. Блок предсказаний предугадывает наиболее вероятное направление дальнейших вычислений. В том случае, если выбор был правильным, все выполненные к этому моменту команды будут считаться "правильными", и процессор продолжит дальнейшие вычисления. Если же предсказание было неверным – а это бывает примерно в 20 % случаев, – то процессору ничего не остается делать, как заново начать обрабатывать инструкции, идущие за такой командой.
В дальнейшем механизм предсказаний был дополнен возможностью выполнения команд не в том порядке, как они следуют в программе.
Такие особенности архитектуры процессоров Pentium (а также самых последних моделей 486) эффективно повышают производительность процессора, не требуя повышения тактовой частоты, т. е. рассматриваемый нами процессор с тактовой частотой 100 МГц будет работать так, как обычный процессор, работающий на частоте 130 или 170 МГц. (Обратите внимание, что механизм предсказаний в каждой последующей модели процессора Pentium совершенствуется, но тонкости технологий интересны, в основном, системным программистам).
Кроме того, для повышения производительности в процессорах Pentium была применена суперскалярная архитектура. Это громкое название говорит о том, что в процессоре имеются два параллельно работающих конвейера.
Начиная с 8086, процессор загружал "за раз" не одну инструкцию для выполнения, а несколько, помещая их в очередь – конвейер. Теперь один конвейер – "основной", или U-конвейер – остался аналогичен такому же, как у 486 процессора, а второй, V-конвейер – работает с сокращенным числом команд. То есть процессор Pentium может выполнять в один и тот же момент сразу две разные инструкции.
Следующая, наиболее отличительная особенность процессоров Pentium состоит в том, что шина данных у них 64-разрядная, хотя работают они с 32-разрядной арифметикой. Часто из-за этого их ошибочно относят к 64-разрядным процессорам, но на самом деле они принадлежат к семейству 32-разрядных процессоров. Только в процессоре Itanium разработчики корпорации Intel действительно полностью реализовали 64-разрядную архитектуру.
Удвоение разрядности шины данных позволяет ускорить работу с внешней оперативной памятью. Используя возможности 64-разрядной шины, можно за один такт считать или записать в память сразу несколько инструкций или 8-байтных данных. Правда, не всегда производительность компьютера возрастает в два раза, т. к. частенько важен лишь один байт данных или одна 16-разрядная инструкция. В этих случаях "лишние" данные отбрасываются.
Кэш
В процессорах семейства Pentium, опять-таки для повышения производительности компьютера, серьезной доработке подвергся механизм кэширования оперативной памяти.
Тактовая частота ядра современных процессоров в настоящее время возросла в 1000 раз и превысила 2000 МГц, а вот частотные характеристики оперативной памяти сильно отстают. Например, модули дешевой динамической памяти работают на частоте всего 133 МГц.
Разрыв обозначился уже при появлении первых 16-разрядных процессоров. Микросхемы памяти, которые могли работать на той же скорости, что и процессор, оказались слишком дорогими для применения в персональных компьютерах. А дешевые микросхемы динамической памяти, которые позволяли хранить много данных, увы, не отличались быстродействием. Поэтому разработчики компьютеров использовали принцип организации памяти, который применяли в больших ЭВМ.
Так как процессор в каждый момент времени работает с ограниченным адресным пространством, то необходимые для текущей работы данные можно хранить в дорогостоящих, но быстрых микросхемах. Основная же память выполняется на медленных, но зато дешевых микросхемах, позволяющих хранить много данных. Поэтому процессор, используя такое разделение памяти, большую часть времени использует быструю память и обращается к основной только при необходимости. Такой вид быстродействующей памяти был назван кэшем (от англ. cache — склад, тайник).
Технология изготовления процессоров совершенствовалась. Возможности кэша, выполненного на отдельных микросхемах и расположенного на системной плате, были быстро исчерпаны. Для дальнейшего повышения производительности компьютера кэш решили разделить на две части – традиционный кэш на системной плате оставили неизменным, а на кристалле процессора организовали еще один кэш, который должен работать на тактовой частоте процессора. Такой принцип организации памяти был реализован в некоторых 386 процессорах, а, начиная с процессоров Intel 486, стал обязателен. Кэш, расположенный на кристалле процессора, получил название – первичный кэш (LI Cache) или внутренний кэш.
В дальнейшем, для эффективного использования 64-разрядной шины в семействе процессоров Pentium добавили еще два уровня – вторичный кэш L2 Cache и L3 Cache.
Кэширование памяти является "прозрачным" для программ и программистов, т. е. процессор и чипсет системной платы в большинстве случаев сами определяют необходимые данные, которые будут храниться в кэше. Кроме того, они следят за тем, чтобы данные в кэше и основной памяти соответствовали друг другу, т. к. к оперативной памяти может обращаться не только процессор, но и внешние устройства.
Механизм кэширования в каждом из последующих типов процессоров Pentium подвергался серьезной доработке. Фактически, в современных процессорах на кристалле вместе с блоками обработки данных расположена внутренняя оперативная память – кэш, которая по своим размерам превосходит объем всей памяти (ОЗУ, винчестер), которой когда-то оперировал компьютер с процессором 386. Следует заметить, что размер первичного кэша чаще всего бывает равен 8, 16 или 32 Кбайт, а вторичного – 256 или 512 Кбайт. Хотя, например, в некоторых процессорах вторичный кэш может достигать и 1 Мбайт или вообще отсутствовать. У новейших процессоров внешний кэш не применяется.
Чтобы понять сложность организации механизма кэширования данных, надо учесть, что каждый уровень кэша работает на своей тактовой частоте. Например, первичный кэш должен действовать на частоте ядра процессора. Вторичный кэш (внутренний) часто синхронизируется на половинной частоте ядра процессора. Внешний кэш, самый медленный, использует частоту системной платы, которая в большинстве случаев не превышает 133 МГц.
Второе поколение процессоров Pentium
О втором поколении процессоров Pentium было объявлено в марте 1994 г. Тактовая частота для них составляла 90 МГц (149,8 млн. операций в секунду, 2,74 SPECint95, 2,39 SPECfp95) и 100 МГц (166,3 млн. операций в секунду, 3,30 SPECint95, 2,59 SPECfp95). Количество транзисторов выросло до 3,2 млн. (технология 0,6 мкм).
Для снижения тепловыделения, которое у первого поколения Pentium достигало 16 Вт, напряжение питания было уменьшено до 3,3 В, что и позволило повысить тактовую частоту. В последующих моделях процессоров Pentium второго поколения дополнительно снизили напряжение питания ядра процессора до величины в 2,9 В.
Вообще, принцип уменьшения напряжения питания оказался очень привлекательным с точки зрения повышения частоты процессора и надежности его работы, например, в Pentium 4 была достигнута величина в 1 В.
Так как удалось успешно избавиться от чрезмерного нагрева кристалла, то появилась возможность наращивать тактовую частоту ядра процессора. Для процессоров Pentium используют четыре коэффициента умножения – 1,5, 2, 2,5 и 3. Комбинируя тактовую частоту системной платы и коэффициент умножения, удалось получить ряд частот для ядра процессора вплоть до 200 МГц. Именно в соответствии с этим рядом выпускались следующие процессоры:
• в октябре 1994 г. было объявлено о выпуске процессор Pentium с тактовой частотой 75 МГц (126,5 млн. операций в секунду, 2,31 SPECint95, 2,02 SPECfp95);
• в марте 1995 г. начато производство процессора Pentium с тактовой частотой 120 МГц (203 млн. операций в секунду, 3,72 SPECint95, 2,81 SPECfp95);
• наконец, в июне 1995 г. появился процессор Pentium с тактовой частотой 133 МГц (218,9 млн. операций в секунду, 4,01 SPECint95, 3,50 SPECfp95), который оказался популярным в России, т. к. позволял эффективно работать с операционной системой Windows 95. При производстве процессора использовалась 0,35 мкм технология, а количество транзисторов на кристалле составило 3,3 млн.;
• совершенствуя процесс изготовления микросхем, корпорация Intel в январе 1996 г. представила процессор Pentium с тактовой частотой 150 и 166 МГц (4,58 SPECint95, 3,92 SPECfp95);
• последний процессор Pentium этого поколения работал с тактовой частотой 200 МГц (5,17 SPECint95, 4,32 SPECfp95). Для этого процессора дополнительно начал указываться новый индекс производительности iCOMP Index 2.0, который оказался равным 142.
Процессоры Pentium второго поколения могут работать с тактовыми частотами ядра 75, 90, 100, 120, 133, 150, 166, 180 и 200 МГц. На системной плате предусмотрена возможность задания тактовой частоты 50, 60 и 66,66 МГц. Если проанализировать эти два ряда и учесть коэффициенты умножения, то можно заметить, что одну и ту же частоту можно получить разными способами, например, 150 МГц реализуются комбинациями 50 МГц х 3 и 60 МГц х х 2,5. С точки зрения математики оба варианта дают абсолютно одинаковый результат, но для компьютера в каждом варианте есть свои преимущества и недостатки. Второй вариант, например, за счет более высокой тактовой частоты системной шины позволяет увеличить производительность компьютера, но, в то же время, для ряда системных плат и периферийных устройств возможна неустойчивая работа.
Продолжая оказывать помощь пользователям в модернизации технически устаревших компьютеров, корпорация Intel выпускала ряд процессоров Pentium OverDrive. Например, для замены процессоров Pentium первого поколения предлагались процессоры Pentium OverDrive 120 и 133 МГц, а для модернизации компьютеров с процессорами второго поколения с тактовыми частотами 75, 90 и 100 МГц – Pentium OverDrive 125, 150 и 166 МГц. Конечно, следует заметить, что, как и в случае с Intel OverDrive 486, такие процессоры оказались дорогими и, соответственно, в России не получили популярности, тем более, что всегда выгоднее было купить сразу новые процессор и системную плату.
Процессор Pentium ММХ
Процессоры Pentium ММХ появились несколько позднее, чем следующий тип процессора – Pentium Pro, но для облегчения понимания развития компьютерных технологий следует сначала остановиться на технологии ММХ. Тем более что компьютеры с процессорами Pentium ММХ до сих пор с успехом используются на предприятиях и дома.
Главная изюминка технологии ММХ – это ускорение 2D– и 3 D-граф и к и, т. е. ускорение работы графических приложений – игр и видео – в среде операционной системы Windows 95.
Фактически, появление процессоров Pentium ММХ ознаменовало тот факт, что "железо" и программы должны шагать в ногу. Как до этого обычно разрабатывали и внедряли новые типы процессоров – сначала появлялась новая микросхема с оригинальной архитектурой, а потом для нее создавались программы, в которых учитывались особенности нового процессора. Причем, разработчики "железа" исходили из своих представлений о назначении нового процессора, а программисты самостоятельно пытались использовать новые возможности для совершенствования своих продуктов. А вот процессор Pentium ММХ был разработан под конкретный программный продукт – операционную систему Windows 95.
Если заглянуть в недавнее прошлое, то можно вспомнить, что все игры с отличной графикой работали в DOS, не используя возможности Windows. То есть пользователь, работая в среде Windows, запускал сессию DOS, а уже в ней начинала работать "навороченная" игра. Смысл такого многоступенчатого подхода был в том, что скорость отображения сложной графики в Windows 95 оказалась крайне низка. Максимум графических возможностей для Windows 95 – это весьма популярная игра "пасьянс".