pc.uz
Поиск
Расширенный поиск
РегистрацияЗабыли пароль? Запомнить
Товары Каталог компаний Публикации Объявления События Полезные сервисы Наши вакансии
Пятница, 21 июля 2017г.
USD: 4042.47   EUR: 4613.28
Версия для печати
2008-06-09 14:24:36

История мирового процессоростроения от 4004 до Nehalem. Часть III: 16 бит, которые изменили мир

Конкуренция на рынке микропроцессоров к середине 70-х годов все увеличивалась, уже не один десяток чипмейкеров боролся за место под солнцем, совершенствуя свои продукты и выпуская новые. Intel приходилось затрачивать все больше усилий, чтобы удержать свое лидерство.

В 1975 году компания Intel пошла на решительный шаг: она сосредоточила свои усилия на завоевании потенциально более высокой сферы, фактически бросив 8-битный рынок на откуп конкурентам. Нет, разумеется, микропроцессоры i8080 продолжали производиться, на подходе был i8085, но основные усилия компании были сосредоточены теперь на создании продукта, который должен был качественно превзойти все существующие на рынке решения.

Было бы логично, если бы Intel пошла, как и раньше, по пути эволюции своих продуктов, выпустив на основе i8080 какой-нибудь 16-разрядный процессор. На тот момент времени этого было бы вполне достаточно, ведь рынок был наводнен, в основном, 4- и 8-битовыми микропроцессорами. Правда, некоторые компании уже успели отметиться и 12-битовыми и даже 16-битовыми продуктами (вспомним IMP-16 от компании National Semiconductor или же CP1600 от General Instrument). Но вряд ли бы кто-либо усомнился, что Intel была не в состоянии выпустить на рынок конкурентоспособное решение.

Но Intel решила устроить настоящую революцию и «перепрыгнуть через 16-битовую ступеньку». Корпорация замахнулась ни много ни мало, а сразу на разработку 32-битовой архитектуры, да еще с поддержкой многопроцессорности (специально для тех, кто не прочувствовал всей грандиозности планов, напомню, что на дворе стоял 1975 год, а первый микропроцессор появился всего четыре года назад!)!

Итак, новая архитектура, получившая название Intel iAPX 432, была задумана как основная архитектура Intel в последующие годы. Ее ядром должен был стать 32-битовый процессор i8800. На разработку были брошены лучшие силы компании и немалые средства.

Спустя год, анализируя проделанную работу, Intel поняла, что реализация проекта продвигается далеко не теми темпами, которые прогнозировались, и выпуск на рынок 32-разрядного процессора дело отнюдь не близкого будущего. Определяющую роль тут, на мой взгляд, сыграло как несовершенство используемых в то время технологий, так и отсутствие наработанных решений по построению мультипроцессорных систем.

Тем временем, для сохранения ведущих позиций на рынке требовался продукт пусть и не такой амбициозный, как i8800, но, тем не менее, способный повторить недавний успех i8080 и стать эдаким «промежуточным лидером». Поскольку I8085, который к этому времени был готов выйти на рынок, на роль лидера явно «не тянул», то в начале 1976 г. спешно стартовали работы по созданию 16-разрядного процессора на основе i8080/i8085.

Пока Intel работала на два фронта, давление конкурентов все возрастало. На рынке появились еще несколько 16-битовых процессоров. Так, в 1976 году Data General выпустила 16-разрядный microNova mN601, а небезызвестная компания Texas Instruments (TI) отметилась процессором TMS 9900.

Микропроцессор microNova mN601 изначально вряд ли мог претендовать на что-либо. Он не имел особого успеха, какое-то время на его основе собирались ПК Nova 3, а затем он тихо канул в Лету.

А вот удачно спроектированный TMS 9900 потенциально имел намного больше шансов на успех. Уж больно выгодно он смотрелся на фоне существующих 8-разрядных решений. К тому же, у TI, в отличие от Intel, Zilog или Motorola было уже налажено собственное компьютерное производство.

Но что-то у TI не заладилось. То ли недальновидная политика, то ли неправильный маркетинг. Судите сами, на основе этого процессора, специалистами TI изначально была создана серия микрокомпьютеров TI-990, однако они оказались слишком дороги, под них практически не писался софт ни самим производителем, ни сторонними разработчиками. Странное дело, через некоторое время TI вдруг забрасывает собственный процессор и создает клон процессора i8080 – TMS 8080A.



БК TI99/4

Позже, в 1979 году, у процессора TMS 9900 появился еще один шанс – на его основе был изготовлен неплохой бытовой ПК TI99/4, быстро завоевавший популярность. Но маркетинговые просчеты компании в ценовых войнах с Apple, Atari и, особенно, Commodore вскоре погубили проект и, соответственно, поставили жирный крест на производстве процессора TMS 9900.

i8086


Вернемся к Intel. Группе, работавшей над созданием 16-битового потомка i8080, потребовалось всего два с половиной года ударного труда: уже 9 июня 1978 года они явили миру плод своих усилий – микропроцессор, получивший название i8086.

Забегая вперед, скажу, что «революционеры» тоже довели-таки дело до конца. Архитектура iAPX 432 в 1981 году увидела свет. Но вот основной платформой Intel она так и не стала. А i8086, можно сказать, не умер до сих пор, став родоначальником огромного семейства процессоров, так называемых «x86-совместимых». Эволюционный путь развития на этот раз безоговорочно восторжествовал.

Поскольку x86-продуктам в последующих частях цикла нами будет уделено самое пристальное внимание, давайте на примере i8086, как родоначальника семейства, подробно познакомимся с особенностями данной архитектуры.

В новом процессоре разработчики не ставили перед собой задачу достичь полной совместимости с i8080/i8085, хотя i8086 обладает сходной организацией своих регистров, а также, что немаловажно, его система команд – это расширенное множество команд i8080. Программная совместимость с предшественниками позволила даже использовать часть уже наработанного программного обеспечения (разумеется, перекомпилировав его).

При том, что i8086 оставался частично программно совместим с i8080, его структура подверглась кардинальным изменениям.

i8080/i8085 имели 8-разрядную шину данных и 16-разрядную шину адреса, позволяющую адресовать 64 Кб памяти. Шина данных нового процессора была расширена до 16 бит. А увеличение шины адреса с 16 до 20 разрядов позволило i8086 адресовать совершенно фантастическую по тем временам память 1 Мбайт(!).

i8086 изначально производился по высококачественной 2 мкм МОП-технологии с кремниевыми затворами (H-MOS). На кристалле площадью 33 кв. мм разработчикам удалось уместилось 29000 транзисторов. Для сравнения: i8080 содержал в себе всего 4.500 транзисторов. Благодаря более тонкому техпроцессу, увеличение элементной базы в шесть с половиной раз увеличило «прожорливость» процессора всего на треть - в рабочем состоянии 1,75 Вт, в режиме ожидания около ватта.

Первые i8086 работали на частоте 4.77 MHz, модель i8086-2 имела частоту до 8 МГц, модель 8086-1 выпускалась с частотой до 10 МГц.

Процессор был упакован во все тот же 40-пиновый корпус, который стал эдаким «прокрустовым ложем» - из-за нехватки выводов чипа создателям пришлось совместить (мультиплексировать) младшие 16 линий шины адреса с 16 линиями шины данных. Нехватка линий объяснялась тем, что помимо выводов шин адреса и данных, микропроцессор имел 16 линий управления. На оставшиеся контакты подводилось напряжение питания (+5В) и была выведена «земля».

Структура i8086 была перестроена кардинально. Процессор был разбит на два функциональных модуля - исполнительный (EU - Execution Unit) и интерфейсный (BIU - Bus Interface Unit), которые могли работать параллельно – исполнение одной инструкции происходило одновременно с выборкой из памяти следующей инструкции или данных.

В микропроцессоре i8086 впервые была реализована конвейерная обработка: поток команд подавался к исполнительному модулю через специальную очередь команд, представляющую собой 6-байтовый буфер, в который заносились команды, предназначенные для исполнения. Выполнение текущей команды и выборка новых происходили одновременно, что весьма увеличивало пропускную способность процессора.

Разумеется, принципы параллельной обработки, конвейерная структура, увеличенная разрядность и повышенная частота процессора благоприятно сказались на его производительности – она оказалась почти на порядок выше, чем у предшественников и составляла от 330 до 750 тыс. операций в секунду.

Регистры процессора

Набор регистров процессора i8086 содержал четырнадцать 16-битных регистров:

- регистр команд или программный счетчик (Instruction Pointer) IP, для программиста он был виден как 16-битный регистр, фактически же представлял собой 6-байтную очередь;

- регистры общего назначения (РОН) – в эту группу входили 4 регистра (AX, BX, CX и DX), каждый из которых мог адресоваться как целый 16-битный регистр или же как два отдельных 8-битных регистров (например, программист мог работать как с 16-битным регистром AХ, так и по отдельности с его старшим байтом AH и младшим AL).

- указательные регистры – указатель стека SP и регистр базы BP

- индексные регистры – два регистра SI и DI

- сегментные регистры – четыре регистра CS, DS, SS и ES

- регистр флагов (Flags) – 16-битное слово состояния процессора, состояло из 7 неиспользуемых битов и 9 флажков. Они подразделялись на флажки условий – их было шесть (флажки знака, нуля, чётности, переноса, вспомогательного переноса и переполнения) и флажки управления. Их три: флажки направления, прерываний и трассировки.

Адресация памяти

Как же мог процессор работать с целым мегабайтом памяти, для адресации которого требовалось двадцать бит, если его регистры, участвовавшие в формировании адреса были 16 разрядными? Здесь разработчики применили интересную технологию, суть которой сводилась к тому, что эффективный адрес (складывающийся из базового адреса, индексного адреса и смещения) был 16-разрядным, а полный 20-битный адрес формировался при его сложении с содержимым какого-либо сегментного регистра, умноженного на 16.

Пример:

ES: 4024h, DI+BX: 2011h, полный адрес в этом случае ES:DI+BX будет равен 4024h*16+2011h=42251h

Если же результат был больше, чем 220 – 1, то старший, 21-й бит просто отбрасывался (так называемое «заворачивание» адреса). Как ясно из названия, память была закольцована, то есть за самым старшим адресом следовал опять нулевой.

Фактически все пространство памяти было разделено на перекрывающиеся 64-килобайтные сегменты, начало которых располагалось по адресам, кратным 16 и называемым границами параграфа. Эта организация предполагала избыточность – один и тот же физический адрес мог быть представлен по-разному.

Пример:

ES:DI: 4024:2011h и ES:DI: 4000:2251h указывают на один и тот же физический адрес 4024h*16+2011h=4000h*16+2251h =42251h

Кроме того, вся память была поделена на 16 страниц - неперекрывающихся 64-килобайтных сегментов, границы которых кратны 65536. Страничное деление было применено для облегчения совместного функционирования устройств, к примеру несколько полных страниц в компьютерах на основе i8086 обычно выделялось под видеопамять, одна или несколько под ПЗУ и т.д.

Использование сегментированной памяти имеет немало преимуществ, главный из которых – возможность разделения исполняемого кода, данных и стека программы, путем помещения их в отдельные, неперекрывающиеся области памяти. Особенно важно это для мультипрограммирования – в памяти может находиться несколько программ одновременно, не мешая при этом друг другу.

В микропроцессоре i8086 была реализована поддержка мультипрограммирования, включающая помимо прочего средства, упрощающие реализацию мультипроцессорных систем. Это позволило применять i8086 с другими процессорами, в первую очередь, с математическим сопроцессором i8087 (о нем чуть ниже).

Система команд i8086

В системе команд микропроцессора 8086 насчитывалось 98 инструкций: 19 команд передачи данных, 38 команд обработки данных, 24 команды различных условных и безусловных переходов и 17 команд управления ЦПУ. Каждая команда состояла из кода операции (так называемый опкод) и операндов. Обычно на опкод отводился первый байт команды и три средних бита второго байта или же (в случае однобайтной команды) старшая часть первого байта команды. Всего же различных вариантов команд в i8086 насчитывается почти 4000.

Использование i8086

Возможно, это звучит парадоксально, но мощный и гибкий i8086 так и не стал популярным. Рынок не был готов к переходу на 16-битную архитектуру. Основной причиной этому стала необходимость использования дорогих и дефицитных 16-разрядных микросхем поддержки для построения систем на его основе, что сильно удорожало конечный продукт.

И хотя i8086 использовался в некоторых ПК того времени, в том числе в серии Compaq DeskPro, но эти машины - скорее исключение.

Софт

Для i8086 была выпущена специальная версия ОС CP/M, названная CP/M-86 и совместимая с CP/M-80 для 8-битных процессоров. Позже были выпущены и многопользовательская версия MP/M-86, а также мультизадачная Concurrent CP/M. Но в связи с низкой популярностью решений на i8086 они широкого применения не нашли.

i8088



Провал? Ни в коем случае! Если I8086 из-за своей «продвинутости», оказался не востребованным, то необходим был не возврат к старым технологиям, а скорее адаптация нового продукта к реалиям рынка.

И в 1979 г. был выпущен «младший брат» i8086 (как сказали бы сейчас – «урезанный вариант») - микропроцессор i8088.

Будучи физически 8-разрядным процессором, он, тем не менее, обладал архитектурой, аналогичной i8086. Разработчики сохранили в нем все достоинства i8086 - конвейер команд (уменьшенный, правда, до 4 байт), тот же набор регистров и систему команд, 20-битную адресацию памяти, работу с 16-разрядными операндами, поддержку мультипроцессорных систем и т. д. Даже распиновка контактов корпуса осталась такой же, разве что старшие линии адреса не использовались для передачи данных.

Вследствие идентичности архитектуры i8088 был полностью программно совместим с i8086. Фактически i8088 стал недорогой основой для построения x86-совместимых систем, а также он мог использоваться в уже существующих 8-разрядных системах на основе i8080/i8085 (для этого требовалось внести совсем небольшие изменения в схемотехнику).

Дабы не создать у читателя неверного впечатления, что процессоры i8086/i8088, появившись на рынке, затмили все продукты конкурентов, упомяну, что практически сразу за i8086 были представлены публике один за другим два великолепных процессора - Z8000 от компании Zilog и MC68000 (или MC68k) от компании Motorola. Во многих аспектах они были лучше творений корпорации Intel. Мы разберем их возможности в следующей части, скажем лишь, что определяющим фактором популярности архитектуры x86 стало решение компании IBM использовать i8088 в своем первом персональном компьютере IBM PC 5150. Сумасшедший успех этой машины серьезно изменил расстановку сил на IT-рынке. Одно движение «Голубого гиганта» - и кто-то возвысился (Intel, Microsoft), а кто-то потерял рынки, клиентов, заказы (достаточно упомянуть такие компании, как MOS, Commodore, Amiga или Digital Research).



Итак, август 1981 г., когда i8088 был установлен в компьютер IBM PC, стал переломным моментом - с него началась эра WINTEL. Но это уже совсем другая история...

В статье использованы иллюстрации с ресурса WikiMedia

Прочитано: 11562 раз(а)  |  Комментариев: 6  |  Средняя оценка (макс. 7): 7 (Голосов: 3)
Вы не авторизованы для голосования
отсутствуют

Комментарии к статье (6).
2012-04-03 16:48:06, Гость_Reenjeer:
Так будет продолжение или уже не ждать???
2011-01-10 18:22:06, Гость_:
На историю именно мирового процессоростроения не тянет.
Качественная эволюция архитектуры микропроцессоров в статье практически не проглядывается. Кругом одна разрядность и Intel, Intel, Intel. Всё собрано в одну кучку, RISC-и как-то "про между прочим", про Cray и иже с ним вообще ничего не сказано...
Очень странная статья
2009-06-23 14:07:02, Vitus [админ, автор статьи]:
Будет. Обязательно. Как только неделька свободного времени появится :(
2009-06-19 21:24:48, Гость_keks:
Продолжение будет? Очень хотелось бы.
2009-01-29 17:26:16, Гость_Rider:
Так как статья по большей части обзорная, то я считаю излишним подробное описание i8086.
В остальном же материал очень интересен в общепознавательных и исторических целях.
Выражаю автору большую признательность - читать очень интересно. С нетерпением ждём продолжения
2008-06-27 11:56:06, Aragon:
IBM - это действительно сила-сильная. Хотя и не застрахованная от коммерческих просчетов. Если бы они относились чуть более серьезно к проекту ПК, Билли не получил бы ни малейшего шанса, а Intel не стала бы практически единоличным лидером.
В этой теме комментарии отключены.
Регистрация в каталоге Обратная связь Размещение на сайте Приглашаем авторов! О проекте Наши партнеры
Все товары, подлежащие обязательной сертификации, сертифицированы, лицензируемые услуги - лицензированы. © ООО «GISinfo»; 2013. Все права защищены.
YP
Рейтинг@Mail.ru
Uzinfocom Datacenter
Add engine