Главная » Хабрахабр » [Перевод] Заглядывая внутрь сопроцессора Intel 8087

[Перевод] Заглядывая внутрь сопроцессора Intel 8087

Немного истории развития линейки восьмиразрядных процессоров, выпускаемых компанией Intel

Линейка восьмиразрядных процессоров начинает свою историю с апреля 1972 года. Intel 8008 вообще изначально планировался для использования в калькуляторах, устройствах ввода-вывода, но производитель хорошенько «поразмыслив», решил найти линейке новое предназначение — быть центральным процессором ПК. В зависимости от модификаций процессоров тактовая частота составляла 500 или 800 КГц, а производительность равнялась 45000-160000 операций в секунду.

6000 транзисторов были размещены в 40-контактном керамическом корпусе, 16-разрядная шина адреса и 8-разрядная шина данных, адресуемая память в 64 Кб.
Intel C8008
В апреле 1974 года Федерико Фаггини и Масатоши Шима разработали новую линейку процессоров — Intel 8080. Для того чтобы использование процессора стало «комфортным», был разработан арифметический сопроцессор, тактовый генератор, формирователи шин, таймера, контроллеры периферийных устройств и тд. Тактовая частота составляла 2 МГц, а производительность — до 500 000 операций в секунду.


Intel 8080A

Тактовая частота составляла от 3 до 8 МГц, разрядность шины данных — 8 бит, разрядность шины адреса – 16 бит, адресуемая память – 64 Кб. Через два года в марте 1976 года свет увидела линейка Intel 8085: 6500 транзисторов были размещены в 40-контактном керамическом (или пластмассовом) корпусе. Данная линейка успешно была «задействована» в ПК или в виде микроконтроллеров.

Тактовая частота составляла от 5 до 10 МГц, производительность – от 330 до 750 тысяч операций в секунду, разрядность шины данных — 16 бит, а разрядность шины адреса – 20 бит. В июне 1978 года началось производство первой линейки шестнадцатиразрядных процессоров компании — Intel 8086: 29000 транзисторов были размещены на кристалле размером 5,5 х 5,5 мм.


Intel 8086

Но линейка 8088 так и не стала популярной из-за своей дороговизны. Спустя год, летом 1979 года, Intel выпустила 8088 линейку — переходное звено между 8-ми и 16-ти разрядными процессорами: 29 000 транзисторов, тактовая частота составляла 5-10 МГц.


Intel P8088

Сопроцессоры 8087

В июне 1980 была выпущена линейка сопроцессоров Intel 8087 для Intel 8086, 8088. Такие сопроцессоры содержали 45000 транзисторов, тактовая частота в различных модификациях составляла от 4 до 10 МГц.


Intel C8087

Математический сопроцессор — это специальный модуль для выполнения операций с плавающей запятой, который работает в содружестве с центральным процессором.

В целях экономии от такой роскоши как сопроцессор просто-напросто отказывались. Но для решения трудоемких задач, например тех же инженерных расчетов, повышение производительности компьютера стало уже необходимостью. Нарастить производительность удалось за счет вот такого специального модуля — математического сопроцессора.

Скорость выполнения простых математических операций, таких как сложение и вычитание, не изменяется. Согласно данным компании INTEL, математический сопроцессор может сократить время выполнения математических операций, таких как умножение, деление и возведение в степень, на 80 процентов и более.

Внутри кристалла микропроцессора Intel 8087

Заглянув во внутрь Intel 8087 с плавающей запятой, я заметил интересную особенность на кристалле: схема формирования смещения подложки. В этой статье я объясню, как эта схема реализована, при использовании аналоговых и цифровых схем для создания отрицательного напряжения.

Поскольку первые микропроцессоры были предназначены для выполнения операций с целыми числами, выполнение операций с числами с плавающей запятой было медленным, что уже и говорить о выполнение трансцендентных операций, таких как тригонометрические функции или логарифмы. Intel разработала чип 8087 в 1980 году для того, чтобы улучшить производительность ПК с процессорами линеек 8086/8088 (таких, как IBM PC) при выполнении операций с плавающей запятой. Архитектура 8087 была реализована и в более поздние процессоры Intel, а инструкции 8087 по-прежнему используются в современных x86 ПК. Сопроцессор 8087 значительно повысил скорость выполнения задач с плавающей запятой, все выполнялось почти в 100 раз быстрее.

Для сопроцессора было введено более 60 новых инструкций, название которых начиналось на «F», для того, чтобы отличать их от целочисленных инструкций Intel 8086.

Я вскрыл чип 8087 и при помощи высокопродуктивного микроскопа сделал фотографии, в итоге их компоновки получил такое изображение:

На фотографии — металлический слой чипа, соединения расположены сверху чипа. Кристалл 8087 весьма сложный, содержит 40 000 транзисторов (согласно заявлениям Intel) или 45 000 (согласно Википедии). Под слоем металла — поликремний или кремний, из которого сформированы транзисторы чипа. Самые толстые белые линии обеспечивают питание и заземление всех частей микросхемы.

Большой прямоугольник в середине чипа — это микрокод, который реализует набор инструкций процессора. В нижней половине чипа — расширенная 80-битная арифметическая схема: сумматор, регистры, переключатели, математические константы. В верхней части находятся логические схемы и схема шины, которая сопряжена с процессором 8086.

Изучая техническое описание 8087, не сложно определить, какая контактная площадка на матрице какому контакту микросхемы соответствует; 40 контактов чипа (пронумерованы против часовой стрелки) подключены к 40 контактным площадкам на чипе. Черные линии вокруг чипа на фотографии — мелкие термокомпрессионные соединения, соединяющие контактные площадки ИС (металлизированные проводящие участки квадратной или прямоугольной формы, расположенные преимущественно по периферии кристалла или подложки) с 40 контактам на кристалле.

(Обратите внимание, что выводы заземления и +5 В контактные площадки питания имеют несколько подключений одновременно, что увеличивает количество постачаемого тока). Ниже приведено увеличенное изображение части матрицы, на ней мы можем лучше рассмотреть контактные площадки. Но вот «сюрприз» — существует дополнительная контактная площадка и соединение, расположенные между контактными площадками 40 и 1, и не связанные ни с одним из контактов микросхемы.

Этот «кубик» находится на том же металлическом основании, что и кристалл, соединен с кремниевой подложкой чипа, платой. Глядя на термокомпрессионное соединение проволочных выводов на чипе (ниже приведено изображение) выяснилось, что таинственная контактная площадка не подключена ни к одному контакту, а соединена с небольшим кубообразным блоком.

Как же работает эта схема? Я провел инженерный анализ технологии изготовления с целью раскрытия «секретов фирмы» и пришел к выводам, что это часть схемы смещения подложки 8087, в которой это соединение используется, чтобы подавать отрицательное напряжение на подложку.

Что такое смещение подложки?

В 1970 годах интегральные схемы высокой плотности были построены из n-МОП-транзисторов (полевой транзистор с изолированным затвором и каналом n-типа). Изображение ниже наглядно демонстрирует их структуру. Основание чипа — кремниевая подложка. Транзисторы в свою очередь тоже из кремния. Для того, чтобы изменить тип проводимости и концентрацию носителей в объеме полупроводника для получения заданных свойств, участки кремния легируются примесями, чтобы создать диффузионные области с желаемыми свойствами. Транзистор может быть рассмотрен как резистор, позволяющий току течь между двумя диффузионными областями истока и стока. Транзистор контролируется затвором, выполненным из поликремния. Входное напряжение на затворе управляет протеканием тока от истока к стоку: высокое напряжение сигнала на затворе позволяет току протекать от истока к стоку, в то время как низкое напряжение сигнала блокирует ток. Изолирующий оксидный слой отделяет затвор от кремния под ним; важность этого слоя рассмотрим немного позже. Эти крошечные транзисторы можно комбинировать с целью формирования логических затворов, компонентов микропроцессоров и других кристаллов цифровой ИС.

Чтобы получить это напряжение смещения подложки, многие чипы в 1970-х годах имели внешний контакт, который был подключен к -5В. В высокопроизводительных интегральных схемах было выгодно применять отрицательное «смещение» напряжения на подложке. Чипы той эпохи часто нуждались в трех источниках питания. Однако инженерам не нравились чипы, требующие дополнительного напряжения. Потому использование еще двух контактов для дополнительного напряжения не было удачным решением. Кроме того, количество контактов на ИС было ограничено (как правило, всего 18 контактов для микросхем памяти). Так появились чипы, в которых использовался один удобный источник питания + 5В, и это однозначно позволило инженерам быть «счастливее». Частично решение было найдено в конце 1970-х годов: чипы генерировали отрицательное напряжение смещения внутри.

Внутри схемы смещения подложки 8087

Вы можете задаться вопросом, как чип может превратить положительное напряжение в отрицательное напряжение. Ответ — это схема с накачкой заряда, называемая зарядовый насос. Использует конденсаторы в качестве накопителей заряда, который переносится от одного конденсатора к другому с помощью системы переключателей. «Генератор» смещения в 8087 имеет два зарядовых насоса, работающих по очереди. На приведенных ниже схемах показана работа одного такого зарядового насоса. Зарядовый насос управляется колебательный сигналом (Q) и его инверсией (Q). На первом этапе включается верхний транзистор, в результате чего конденсатор заряжается до 5 вольт относительно земли. Второй этап — это то место, где происходит волшебство. Нижний транзистор включается, соединяя сторону высокого напряжения конденсатора с землей. Поскольку конденсатор все еще заряжается до 5 вольт, нижняя сторона конденсатора должна теперь составлять -5 вольт, создавая желаемое отрицательное напряжение на выходе. Когда осциллятор снова переворачивается, верхний транзистор включается, и цикл повторяется. Зарядовый насос получил такое название, так как он накачивает заряд с выхода на землю. Зарядовый насос аналогичен ручному водяному насосу.

Металлический слой скрывает транзисторы внизу, а это затрудняет просмотр схемы. Я осмотрел чип под микроскопом. На фото ниже показано два зарядовых насоса: один слева от контактной площадки, а второй внизу. Но, сняв слой металла при помощи соляной кислотой, я добрался до слоев поликремния и кремния, «обнаружил» транзисторы и конденсаторы, показано ниже.(Цветные области — это просто помехи, так как некоторые оксиды не были полностью удалены). Каждый зарядовый насос в соответствии схеме, имеет два диода, большой конденсатор и два транзистора.

Хотя на самом деле их размеры микроскопические, они огромны по стандартам измерения габаритов чипа. Конденсаторы являются наиболее заметной «особенностью» схемы смещения подложки. Каждый конденсатор состоит из поликремния над кремниевой частью, разделенной изолирующим оксидом; поликремний и кремний образуют пластины конденсатора. Площадь под конденсаторы составляет примерно как регистровая память в 72 бита, (больше чем 400 транзисторов). (Металлический слой не виден, поскольку он был стерт). На фотографии конденсаторы усеяны квадратами; эти квадраты являются контактами между поликремнием (или кремнием) и металлическим слоем сверху.

Их размеры превосходят обычные транзисторы. Четыре управляющие транзисторы это транзисторы большой мощности. Зеленые линии — контакты к металлическому слою, подключающие транзисторы к +5 В или земле. Красные линии — это поликремниевые соединения, образующие затвор. Диоды рядом с контактной площадкой формируются из транзисторов при соединении затвора и стока.

Этот круговой осциллятор состоит из пяти инверторов в петле короткого замыкания. Зарядовые насосы приводятся в действие круговым осциллятором, как показано на изображении ниже. Например, если вход для первого инвертора равен 0, выход пятого инвертора будет равен 1. Поскольку число инверторов нечетное, система нестабильна и будет осциллировать. Поскольку для зарядки и разрядки конденсатора потребуется некоторое время, колебания будут замедляться, что даст время для работы зарядовому насосу. Чтобы замедлить скорость колебаний, в кругу — две резистивно-емкостные цепи.

Ниже показан — инвертор, его схематическое изображение и то, как он воплощен на чипе. Прежде чем разложить информацию о круговом осцилляторе, я продемонстрирую, как реализован стандартный NMOS инвертор в кремнии. Если входной сигнал низкий, транзистор выключен, то нагрузочный резистор подает на выход до +5 В. Инвертор использует транзистор и нагрузочный резистор (который в действительности является транзистором). Таким образом, схема инвертирует вход. Если входной сигнал высок, транзистор включен, выходное напряжение подается на землю.

Тонкие желтые участки, рядом с фиолетовыми, — поликремниевые. Легированный кремний на изображении — это большие участки бежевого цвета. Там, где он пересекается с легированным кремнием, он образует затвор транзистора между землей (ниже входа) и выходом (над входом). Вход представляет собой поликремниевый провод. Поликремний также образует выходной провод. Нагрузочный резистор реализован в транзисторе, который имеет затвор и сток, соединенные вместе; указанный контакт образует это соединение между транзисторным поликристаллическим кремниевым затвором и его кремниевым стоком. Таким образом, инвертор на чипе реализован с двумя транзисторами.

Изображены все пять инверторов. На фото выше показано, как образуется круговой осциллятор на кристалле. Резисторы — просто транзисторы с большим расстоянием между истоком и стоком, уменьшающие движение тока. Каждый инвертор имеет разное направление, что оптимизирует структуру.Также обозначены резисторы и конденсаторы R-C цепи. Конденсаторы же сконструированы как конденсаторы зарядового насоса, но намного меньше в размерах; кремний на дне и поликремний сверху образуют конденсаторные пластины, разделенные тонким изолирующим оксидным слоем.

Выводы

Генератор напряжения смещения подложки на кристалле 8087 представляет собой интересную комбинацию цифровой схемы (круговой осциллятор, сформированный из инверторов) и аналоговый зарядовый насос. Схемы генератора напряжения смещения подложки были введены в конце 1970-х годов, это давало возможность микросхемам памяти и микропроцессорам работать от одного источника питания +5 В. Это было намного удобнее, чем использование трех разных источников напряжения. Генератор смещения подложки вырабатывает отрицательное напряжение с положительного напряжения питания при помощи зарядового насоса.

Хотя генератор смещения напряжения может показаться неясным моментом в компьютерной истории 1970-х годов, этот процесс по-прежнему является частью современных интегральных схем, правда все стало намного сложнее.

Благодаря его появлению, был принят стандарт IEEE 754 — «стандарт IEEE, описывающий формат представления чисел с плавающей точкой. Несмотря на то, что чип Intel 8087 с плавающей запятой был разработан и введен в эксплуатацию 38 лет назад, его «влияние» ощутимо и сегодня. Инструкции 8087 остаются частью процессоров x86. Используется в программных (компиляторы с разных языков программирования) и аппаратных (CPU и FPU) реализациях арифметических действий (математических операций)».

Примечания и ссылки

1. Для сопроцессора было введено более 60 новых инструкций, название которых начиналось на «F», для того, чтобы отличать их от целочисленных инструкций Intel 8086. Например, аналоги команд ADD/MUL/CMP, в 8087 выглядели как FADD/FMUL/FCOM. Эти инструкции были реализованы с помощью команды ESC «escape» 8086, которая была разработана, чтобы позволить процессору 8086 взаимодействовать с сопроцессором.

Появление сопроцессора привело к созданию стандарта IEEE 754 в 1985 году для арифметики с плавающей точкой;

Наложение отрицательного напряжения смещения на подложку имело несколько преимуществ. 2. Это уменьшило паразитную емкость, что ускорило работу чипа, сделало пороговое напряжение транзистора более предсказуемым и уменьшило ток утечки.

Раньше DRAM и микропроцессорные чипы часто требовали наличия трех источников напряжения: + 5 В (Vcc), +12V (Vdd) и -5V (Vbb). 3. Например, MK4116 от Mostek (16-килобайтная DRAM с 1977 года) требовал трех источников напряжения, в то время как улучшенный MK4516 (1981) работал на одном +5 В, упрощая тем самым конструкции аппаратных средств. В конце 1970-х годов усовершенствованная технология производства чипов позволила использовать один источник питания. Известный микропроцессор Intel 8080 (1974 год) использовал транзисторы, работающие в режиме обогащения, потому требовал трех напряжений. С чипами Intel происходило то же самое: 2116 DRAM (16K, 1977) с использованием трех напряжений и улучшенный 2118 (1979) — одно напряжение. Улучшенная версия, 8085 (1976 год), использовала транзисторы с режимом обеднения и питалась от одного источника питания в +5 В.

Третий (+12 В) источник питания в старых чипах не имеет отношения к смещению подложки. 4. Эти транзисторы не могли вытянуть сигналы вплоть до +5 В, добавили еще более высокий источник питания +12 В. Этот источник использовался, потому что в ранних MOS-интегральных схемах были транзисторы, работающие в режиме обогащения, повышающие напряжение на затворах. В середине 1970-х годов новая технология (ионная имплантация) позволила создать транзисторы работающие в режиме обеднения, необходимость в +12 В была исчерпана.

Я немного упростил материал при обсуждении зарядового насоса. 5. Под направлением насоса я имею в виду ток. Из-за падения напряжения в транзисторах напряжение подложки, вероятно, будет около -3 В, а не -5 В. Если вы думаете об этом как о перекачивании электронов, отрицательные электроны накачиваются в противоположном направлении подложки.

Вам нравятся наши статьи? Спасибо, что остаетесь с нами. Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? Хотите видеть больше интересных материалов? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps до декабря бесплатно при оплате на срок от полугода, заказать можно тут.

класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп.


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

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Разработка buck-преобразователя на STM32F334: принцип работы, расчеты, макетирование

В двух своих последних статьях я рассказал о силовом модуле и плате управления на базе микроконтроллера STM32F334R8T6, которые созданы специально для реализации систем управления силовыми преобразователями и электроприводом. Так же был рассмотрен пример DC/AC преобразователя, который являлся демонстрацией, а не ...

Simulation theory: взаимосвязь квантово-химических расчётов и Реальности

Введение О чём этот текст Если человек услышит о «симуляции реальности», то в наиболее вероятно ему в голову придут или разные научно-фантастические произведения (типа Матрицы, Темного города, или Теоремы Зеро), или компьютерные игры. В случае людей, чьи головы засорены инженерным ...