пятница, 21 августа 2020 г.

История Intel в процессорах. Часть первая - Дела давно минувших дней

   На сегодняшний день фирма Intel является общепризнанным лидеров в области создания процессоров для персональных компьютеров. И если до 2006-го года ее продукцию нельзя было безоговорочно назвать лидером в плане производительности, то после выхода линейки Core2Duo, Intel снова доказала всем что умеет делать отличные процессоры. А выход линейки Core i7 осенью 2008-го года, только укрепил позиции на рынке настольных процессоров, и задал для конкурентов недостижимый по сегодняшний день уровень производительности.
Процессоры Intel
   В этом цикле статей я хочу рассмотреть историю развития процессоров Intel, начиная с первого процессора Pentium выпущенного в далеком 1993 году, остановившись на ключевых моментах и технологиях определивших дальнейшее развитие настольных CPU, и сделавших их такими, какими мы видим их в своем компьютере.


   Но перед тем как начать рассказ о современных процессорах, оглянемся назад, и посмотрим на процессоры заложившие основу архитектуры х86. На сегодняшний день они уже безнадежно устарели для применениях в ПК, но некоторые из них продолжают с успехом применяются в различных контроллерах, автоматических станках и прочей «умной» электронике.
   В то время еще только формировалась система команд х86, которая лежит в основе любого современного CPU вплоть до Core i7. Методом проб и ошибок вырисовывались такие особенности как защищенный режим работы процессора, страничная адресация памяти, кэширование, и наконец, конвейерная обработка команд. Без всего этого сегодня трудно представить современный процессор, но тогда каждая из этих технологий была настоящим прорывом.

8086

Intel 8086   Первым представителем архитектуры x86, уже более сорока лет продолжающей лидировать на рынке процессоров для ПК, является 8086. Несмотря на то, что это был 16 битный процессор, его базовый набор команд используется и по сегодняшний день и назван именно его именем. Представленный 8-го июня 1978-го года, он содержал рекордное на то время количество транзисторов – 29 тысяч, и выпускался с использованием техпроцесса 3 мкм (современные процессоры уже перешагнули 0,014 мкм, более чем в дести раз тоньше!). По сравнению с 8-битным предшественником 8080, у 8086 был вдвое увеличен размер регистров. Спустя год, Intel объявляет «упрощенную» версию - 8088. Он повторял основные характеристики 8086:  16-битные регистры, 20 адресных линий, тот же набор команд - за исключением одного, - шина данных была уменьшена до 8 бит. Теперь заполнение 16-битных регистров проходило в два раза медленнее, но обрабатывал данные процессор с такой-же скоростью. На основе этого процессора, фирма IBM выпускала компьютеры IBM PC. Тактовая частота  стартовала с 4,77 МГц. Были выпущены модели с частотами 8 и 10 МГц.

80186

Intel 80186   Следующим шагом был созданный в 1981-м, и анонсированный в начале 1982-го года процессор Intel 80186, к разработке которого Intel приступила сразу после выпуска 8086. Процессоры предыдущего поколения требовали большого количества вспомогательных микросхем, поэтому Intel разрабатывает ядро уже содержащее все необходимые модули, такие как контроллер прямого доступа к памяти, трехканальный таймер, генератор синхронизации и контроллер прерываний. Это позволяет сократить количество микросхем в компьютере, и уменьшить его стоимость.
   Процессор стартовал с частоты 8 МГц, которая была увеличена до 20 МГц. При производстве использовался техпроцесс 3 мкм. Однако широкого распространения этот процессор не получил, заняв нишу различных «умных» контроллеров. Мало кто вообще знает, что такой процессор существовал. Даже на официальном сайте Intel трудно найти упоминания о нем.

80286

Intel 80286   Гораздо известнее его преемник i286 объявленный в феврале 1982го года. Разработки 80286 велись параллельно с 80186, но в нем отсутствовали некоторые модули, имевшиеся в i186. i286й был первой попыткой создать процессор, аппаратно поддерживающий многозадачность и виртуальную память. Для реализации этих возможностей был придуман защищенный режим.
   Основной проблемой многозадачности было то, что программа могла производить запись по любому адресу памяти. Таким образом, операционная система и другие приложения были ничем не защищены. Суть защищенного режима в ином механизме адресации памяти – программы используют логическое адресное пространство (виртуальное), размер которого для i286 может составлять 1024 Мб! Логический адрес преобразуется в физический адрес автоматически, с помощью схемы управления памятью. Еще одной замечательной особенностью защищенного режима было то, что в памяти можно хранить только необходимую часть программы. При обращении к части программы отсутствующей в физической памяти, будет сгенерировано прерывание, на которое операционная система должна освободить в памяти место и загрузить туда необходимые данные, после чего вернуть управление программе. Но защищенный режим в исполнении i286 имел ряд недостатков. Так если переход из реального режима в защищенный проходил довольно просто, то для обратного перехода нужен был аппаратный сброс процессора. Можно сказать, что переход в защищенный режим был односторонним. Кроме того защищенный режим был несовместим с программами написанными для реального режима MS-DOS.
   Процессор содержал 134 тысячи транзисторов, и выпускался с использованием более «тонкого» 1,5 мкм техпроцесса. Тактовые частоты с 6 до 12 МГц. Следует сказать, что благодаря всем архитектурным усовершенствованиям получался хороший прирост производительности даже без большого увеличения тактовой частоты. Так i286 был быстрее 8086 примерно в 3-6 раз!

80386

Intel 80386   Следующим шагом Intel был выпуск 32-битного процессора, обладавшим весомым преимуществом перед уже существующими 32-битными решениями конкурентов – аппаратной и программной совместимостью с огромным парком существующих х86 машин. 17 октября 1985 года, Intel представляет 80386, или как его называли «тройка». Основываясь на основательно измененном ядре i286, новый процессор задал своеобразную точку отсчета – это была последняя столь значительная переработка системы команд х86, которая используется и по сегодняшний день!
   Процессор обладал полностью 32-битной архитектурой – все регистры были увеличены в два раза. Благодаря 32-битной адресной шине, 386-й процессор адресовал до 4 Гб (232 байт) физической памяти. Также был существенно доработан защищенный режим, впервые появившийся в i286. Так помимо того что теперь процессор мог свободно переключаться между режимами без необходимости перезагрузки, был введен так называемый «виртуальный режим». На самом деле это разновидность защищенного режима, в котором происходит эмуляция реального режима. Он предназначен для выполнения задач реального режима, под управлением операционных систем работающих в защищенном режиме. Благодаря наличию виртуального режима современные операционные системы, при запуске приложений реального режима, обеспечивают так называемую виртуальную машину MS-DOS, которая видится со стороны приложения как отдельная х86 машина со своими ресурсами (которые эмулируются операционной системой). Также был введен новый режим работы с памятью – страничный режим адресации. Его главной особенностью была возможность сохранения постоянного логического адреса, при изменении расположения данных в памяти. При перемещении данных в другие ячейки памяти, логические адреса с которыми работает программа остаются постоянные. Эта возможность позволила использовать свопинг – перемещение неактуальных данных из оперативной памяти в файл подкачки на жестком диске. Но при первом-же обращении к ним будет сгенерировано прерывание, операционная система восстановит данные в памяти и снова передаст управление программе, которая в свою очередь ничего не заметит. Также стоит сказать, что именно в процессоре 80376 впервые было применено кэширование – использование небольшой, но быстрой памяти, в которой хранятся последние обрабатываемые данные. Скорость доступа к микросхемам кэш-памяти намного больше, чем к оперативной памяти.
   Процессор состоял из 275 тысяч транзисторов и работал на частотах от 16 МГц. 16 февраля 1987го года появились модели с частотой 20 МГц, еще через год 25 МГц, и 10 апреля 33 МГц. Производился с использованием техпроцесса 1,5 мкм, а позже 1 мкм.

i486

Intel 80486   10 апреля 1989 года Intel представляет свой новый процессор i486.
   Если 80386 принес множество архитектурных изменений набора команд х86, то 80486 принес целый набор архитектурных решений направленных на увеличение производительности, и в том или ином виде использующихся и по сегодняшний день. Дело в том, что при разработке нового процессора Intel столкнулась с определенными трудностями. Традиционные пути увеличения производительности уже не могли обеспечить необходимый прирост. Увеличивать частоту процессора было трудно в связи с тем, что процессор работал на частоте системной платы, и в то время не было памяти способной работать на частотах выше 33 МГц. С другой стороны было уже трудно уменьшить количество тактов, необходимых для выполнения операции.
   Одним  из нововведений процессора 486 был встроенная кэш-память объемом 8 Кб, общая для данных и инструкций. Но можно было использовать и внешний кэш на материнской плате, таким образом, именно i486 является родоначальником системы двухуровневого кэширования. Встроенный в ядро, маленький, но быстрый, кэш L1 и располагающийся на плате, более медленный, но большего объема кэш L2. Однако интеграция кэш-памяти на ядро имела и негативные последствия – 486й стал первым процессором, состоящим более чем из 1 миллиона транзисторов! Это привело возросшему в два раза, по сравнению с 386м, тепловыделению. Теперь на процессор необходимо устанавливать радиатор с активным охлаждением. Также Intel 486 был первым процессором содержащим модуль математического сопроцессора (FPU).  Сопроцессор помогал процессору выполнять операции с вещественными числами. Раньше сопроцессор устанавливался на плату в виде отдельной микросхемы.
Конвейер Intel 80486
   На мой взгляд, самой главной особенностью архитектуры i486 была конвейерная обработка команд. Раньше процессор обрабатывал команды по очереди и не начинал обработку одной команды, пока полностью не закончит начатую работу. С появление конвейера, выполнение команды разбито на этапы. Как только на определенном этапе была закончена работа, он сразу-же принимается за обработку следующей команды. Так одновременно в работе могут находиться сразу несколько команд на разных ступенях конвейера, в отличие от одной команды обрабатываемой процессорами предыдущего поколения. Важным является тот факт, что благодаря тому, что теперь на каждой ступени конвейера выполняется меньше работы, уменьшается время, за которое эта работа будет выполнена, следовательно, появляется возможность увеличивать тактовую частоту! В процессоре Intel 486 конвейер состоит из 5 ступеней. Следовательно, процесс обработки одной команды разбит на 5 этапов, и одновременно на разных ступенях конвейера могут обрабатываться до 5 команд.
Intel 80486 DX2   Итак, с появлением конвейера инженеры Intel получили возможность дальше увеличивать частоту процессора. Но тут они столкнулись с другими трудностями. В то время системная плата  работала на частоте процессора. И с увеличением тактовых частот процессоров продолжала расти частота работы всей остальной периферии. Казалось ситуация заходит в тупик, но 3 марта 1992 года Intel представляет очередную модификацию процессора i486 которая называлась i486 DX2-50. Главным и ключевым отличием от уже существовавших процессоров i486 было наличие коэффициента умножения – это число, на которое умножается тактовая частота материнской платы для получения частоты самого процессора. У процессоров DX2 коэффициент умножения равнялся двум. Таким образом, у указанного процессора плата работает с частотой «всего» 25 МГц. Нужно заметить, что раньше введение множителя, как еще называют коэффициент умножения, смысла не имело, в виду отсутствия в ядре кэш памяти. Теперь процессор общается с «внешним миром» не каждый такт, а необходимые для работы данные содержит у себя в ядре, в кэш-памяти.
   Позже, 7 марта 1994 года, уже после появления процессоров следующего поколения Pentium, была выпущена модель i486 DX4, которая работала на частотах 100 и 75 МГц, и вопреки своему названию имела множитель не 4, а 3. Также она обладала вдвое увеличенным кэшем размером 16 Кб.
   Процессоры i486 начали выпускаться с применением техпроцесса 1 мкм, и содержали 1,25 млн. транзисторов. Процессор с частотой 50 МГц, и все DX2 выпускались уже с использованием более тонкого тех процесса 0,8 мкм, а DX4 – 0,6 мкм, и благодаря увеличившемуся кэшу содержали 1,6 млм. транзисторов.

Комментариев нет:

Отправить комментарий