Шрифт:
Но все же реализованные именно в процессорах 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) или внутренний кэш.