Почему в 8086 процессоре мы не могли использовать линейный физический адрес памяти

Обновлено: 02.07.2024

Микропроцессор КР1810ВМ86, советский аналог Intel 8086

Содержание

История [ ]

Предшественники [ ]

Описание [ ]

Всего в процессоре Intel 8086 было 14 16-разрядных Шины [ ]

Размер Работа с памятью [ ]

Сегментная адресация памяти использует тот факт, что обращения к памяти со стороны процессора легко можно разделить на обращения к коду программы, обрабатываемым данным и языков высокого уровня для платформы x86 позволяют указывать модель памяти в соответствии с требуемыми объёмами кода и данных.

Схема, показывающая работу реального режима адресации процессора Intel 8086 и выше

Возможное переполнение при вычислении физического адреса в процессоре 8086 игнорируется. Например, инструкция безусловного перехода по адресу 001016 при значении сегмента кода FFFF16 выполнит переход по физическому адресу 0. Этого не происходит в старших моделях процессоров x86, например 80286, имевшем 24 адресных линии, поэтому в компьютерах IBM PC/AT для обеспечения совместимости был введен специальный вентиль Gate A20, принудительно обнуляющий бит А20 системной шины адреса.

Поскольку в старших моделях процессоров x86 были введены новые способы расширения адресного пространства, способ, используемый процессором 8086, был назван « Система команд [ ]

Процессоры 8086 и 8088 могут работать в двух режимах: максимальном и минимальном Микросхемы поддержки [ ]

  • Intel 8251 — универсальный синхронно/асинхронный последовательный приёмопередатчик
  • Микрокомпьютеры на основе Intel 8086 [ ]

Тем не менее, дальнейшее развитие 16-разрядных систем со временем привело к выпуску большого ассортимента 16-разрядных микросхем поддержки от различных производителей по доступным ценам. Это позволило разрабатывать дешёвые и разнообразные микрокомпьютеры на процессорах Intel 8086. Однако, к 1982 году в ассортименте Intel появились более современные и производительные процессоры с 16-разрядными шинами данных, Intel 80186 и Intel 80286, и производительные компьютеры стали строиться преимущественно на процессоре Intel 80286 и, реже, на основе Intel 80186 . Но всё же в основе некоторых микрокомпьютеров использовался Intel 8086, одним из таких является Технические характеристики [ ]

Как рождались легенды

Intel 8086/8088 и архитектура x86

Процессор Intel 8086

Разработка 8086 была поручена инженеру Стивену Морсу, который скомпилировал основные спецификации процессора и его архитектуры к середине лета 1976 года. Еще два года понадобилось Intel для его создания. И вот 8 июня 1978 года кристалл 8086 был официально анонсирован.

Стивен Морс (справа) — отец «восемьдесят шестого»

Intel 8086 был примерно в 10 раз быстрее, чем модель с индексом 8080. Процессор стал первой реализацией системы команд x86 и одноименной архитектуры, которая впоследствии стала своего рода стандартом и используется в кристаллах AMD и Intel по сей день.

Процессор Intel 8088

Разработка компьютера 5150 имела огромное значение для компании IBM. Во второй половине 1970-х годов рынок персональных десктопов активно развивался, а IBM уделяла этому сегменту недостаточно внимания. Само собой, в компании осознавали всю его перспективность, в связи с чем и было принято решение о разработке собственной модели ЭВМ.

IBM 5150 — первая модель линейки IBM PC — увидела свет в 1981 году. Топовая версия компьютера оценивалась в 3005 долларов США. Она комплектовалась процессором Intel 8088 с частотой 4,77 МГц, а объем оперативной памяти составлял 64 Кбайт. В качестве устройства для хранения данных в IBM 5150 использовались 5,25-дюймовые дискеты. А несколько позже в продаже появились модели компьютера, которые позволяли использовать аудиокассеты как хранилище данных. Установить жесткий диск в систему было невозможно, однако спустя некоторое время IBM выпустила винчестер, который подключался к 5150 в качестве модуля расширения. Компьютер обладал несколькими портами расширения, через которые, кроме винчестера, подключались видеоадаптеры, карты с портами ввода-вывода и другие устройства.

Младшая версия десктопа стоила почти в два раза меньше — 1565 долларов США. В «урезанной» модели использовался тот же Intel 8088, но объем оперативной памяти составлял всего 16 Кбайт. Во-вторых, в отличие от старшей версии, младшая не комплектовалась CGA-монитором и флоппи-дисководом. В качестве дисплея предлагалось использовать телевизор, а хранить данные можно было на кассетном накопителе. Также, в отличие от топовой версии IBM 5150, младшая модель не работала с операционной системой PC-DOS 1.0 (впоследствии ставшей MS-DOS).

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

Intel 8086 - первый 16-ти битный микропроцессор, разрабатывавшийся с весны 1976 года и выпущенный двумя годами позже 8 июня. Он открыл нам великий и ужасный одновременно мир x86 архитектуры комманд.

Отец, дед, прадед

intel 8086 был не первым процессором компании, первым был его прадед intel 4004, 4-х битный монстр на частоте 500-700 килогерц. В 1969 году к руководству компании постучался выдающийся электротехник Тед Хофф и сказал: "Господа, для каждого компьютера, что мы создаём, нам приходится заново прорабатывать всю логику его работы используя интегральные микросхемы, почему бы нам базовый набор операций не засунуть в одну интегральную схему и использовать её, вместо россыпи электроники?" Так родилась идея об однокристальном процессоре, который мог бы выполнять большинство математических операций без постоянной переработки схем для каждого компьютера.

Это был успех, однокристальный процессор избавлял от множества накладных расходов компании, на новую компоновку и продумывание архитектуры процессора из россыпи микросхем.

Сын выстрелил

Ну не то чтобы выстрелил. Ну такое. Прорывная технология, которая оказалась особо никому не нужна из-за. Барабанная дробь. Несовместимости старого ПО и дороговизны.

  • Тактовая частота: от 4 до 16 МГц
  • производительность:
  • 5 МГц (модель 8086), при частоте 4,77 МГц ( IBM PC ) — 0,33 MIPS
  • 8 МГц (модель 8086-2 — 0,66 MIPS)
  • 10 МГц (модель 8086-1 — 0,75 MIPS)
  • Приблизительные затраты времени на операции, процессорных циклов (EA — время, необходимое для расчёта эффективного адреса памяти, которое варьируется от 5 до 12 циклов):
  • Суммирование: 3—4 (регистровое), (9—25) +EA — при операциях с памятью
  • Умножение без знака: 70—118 (регистровое), (76—139) +EA — при операциях с памятью
  • Умножение знаковое: 80—154 (регистровое), (86—160) +EA — при операциях с памятью
  • Деление без знака: 80—162 (регистровое), (86—168) +EA — при операциях с памятью
  • Деление знаковое: 101—184 (регистровое), (107—190) +EA — при операциях с памятью
  • Перемещение данных: 2 (между регистрами), (8—14) +EA — при операциях с памятью
  • Разрядность регистров : 16 бит
  • Разрядность шины данных : 16 бит
  • Разрядность шины адреса : 20 бит
  • Объём адресуемой памяти: 1 Мбайт
  • Адресное пространство I/O: 64 Кбайт
  • Количество транзисторов: 29 000
  • Техпроцесс: 3000 нм (3 мкм)
  • Площадь кристалла:

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

Но внук-то хотя бы выстрелил?


содержание

Сегментация памяти

Сегментация памяти - это особенность . С 16-битным адресным регистром можно адресовать максимум 64 КиБ памяти. Чтобы по-прежнему иметь возможность адресовать больший объем памяти, Intel предоставила процессору 20 адресных строк для 2 20 адресов (макс. 1 МиБ основной памяти ). Для хранения адреса используются два регистра: регистр сегмента и регистр смещения. Процессор автоматически вычисляет адрес области физической памяти, беря адрес сегмента × 16 и добавляя адрес смещения. В результате получается 65 536 адресных областей (сегментов), смещенных на 16 байтов, каждая размером 64 КБайт. Таким образом, чип может адресовать 1 МиБ, и в каждом сегменте можно использовать 16-битные адреса. Поскольку существует только 20 адресных строк, самые низкие 64 КиБ (-16 байтов) снова появляются «зеркально» в верхнем конце адресного пространства (поскольку при вычислении адреса происходит переполнение ).

Например, если регистр сегмента содержит шестнадцатеричный адрес 1234, а регистр смещения содержит шестнадцатеричный адрес 5678 , который обычно записывается как 1234: 5678 , то адрес 1234 шестнадцатеричный × 10 шестнадцатеричный + 5678 шестнадцатеричный = 12340 шестнадцатеричный + 5678 шестнадцатеричный = 179B8 шестнадцатеричный доступ.

Преимуществом сегментации памяти является, помимо прочего, более легкая переносимость программ, которые работают только с 16-битными адресами и более высокая плотность кода , недостатком является трудоемкое программирование и ограничение одним мебибайтом; другие 16-разрядные архитектуры обычно допускают адресное пространство размером не менее 16 МБ. Однако в конце 1970-х годов 1 МБ для микрокомпьютера был намного больше, чем требовалось или фактически было встроено в память, в том числе из-за высоких цен на оперативную память ( например, IBM PC изначально имел максимум 64 КБайт памяти). памяти, в зависимости от варианта, у домашних компьютеров от этого же времени обычно значительно меньше).

регистр

По сравнению с другими 16-битными процессорами 8086 имеет небольшое количество регистров. Часто только один конкретный регистр может использоваться для многих операций - это делает 8086 вычислителем с расширенным накопителем ; обычно доступно только четыре регистра общего назначения. Часто используемой функцией, которая постоянно назначается регистру, является (целочисленное) умножение: множимое должно быть сохранено в регистре AX, а затем вызывается команда умножения с множителем в качестве аргумента. Затем результат сохраняется в регистрах DX и AX. Эта фиксированная связь регистров часто вынуждает вас сохранять значения в стеке или в основной памяти и загружать их оттуда, поскольку команды процессора часто указывают, какие регистры могут использоваться для промежуточных значений. Другие 16-битные процессоры, с другой стороны, позволяют вам выбирать регистр общего назначения, который будет использоваться для каждой операции, и, таким образом, реже сохранять промежуточные результаты в стеке и в основной памяти ( регистровая машина ); эти архитектуры в основном имели 16 или более регистров, в то время как 8086 (за вычетом упомянутых сегментных регистров) поддерживал только четыре полуобщих и четыре более специализированных регистра. Это проблема, поскольку доступ к основной памяти очень медленный по сравнению с доступом к регистрам.

8086 унаследовал эту концепцию регистров от своего преемника 80286 и всех более поздних процессоров, принадлежащих к так называемому семейству x86 , но количество регистров в новом режиме x64 текущих процессоров было удвоено, а регистры текущего поколения x86 64-битная «ширина».

Режимы работы

8086 (а также 8088) может работать в минимальном и максимальном режимах . Выбор осуществляется через вывод 33 MN / MX . Если он установлен на 0 В (низкий), 8086/88 работает в максимальном режиме, при +5 В (высокий) в минимальном режиме. Компактные, простые схемы могут быть реализованы в минимизированном режиме; сам процессор обеспечивает необходимые линии управления. Максимальный режим в первую очередь предназначен для многопроцессорной работы или для работы с сопроцессорами 8087 и 8089 .

Вспомогательные модули

8086 не имеет внутреннего генератора . Таким образом, необходимые часы генерируются внешне микросхемой генератора 8284 . Если процессор работает в максимальном режиме, что обычно имеет место, требуемые линии управления WR , M / IO , DT / R , DEN , ALE и INTA не предусмотрены, но должны обеспечиваться контроллером шины 8288 . Если процессор является частью многопроцессорной системы, также требуется арбитр 8289 шины . Защелка , например 8282, также требуется для отделения адресов от мультиплексированной шины адреса / данных . Для достаточного управления всей шинной системой, а также в многопроцессорной работе требуются двунаправленные драйверы, например 8286 .

обязательство

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

архитектура

  • Адресная шина: 20 бит, побайтно-ориентированная (идентична 8088)
  • Максимально адресуемая память: 1 Мбайт
  • Внутренняя и внешняя шина данных: 16 бит, адресуемая побайтно (8088: внешняя только 8 бит)
  • Ширина обработки : 16 бит
  • Команды: около 100
  • 14 регистров :
  • четыре общих 16-битных регистра, которые также адресуются как младшая или старшая часть по 8 бит каждый:
  • два 16-битных регистра указателя:
  • два 16-битных индексных регистра:
  • четыре 16-битных сегментных регистра:
  • 16-битный указатель команды:
  • 16-битный регистр состояния с 9 флагами :

Спецификации

  • Кэш L1 : не существует
  • Кэш L2: отсутствует
  • Количество транзисторов: 29000
  • Дизайн: DIL с 40 контактами
  • Рабочее напряжение (VCore): +5 В
  • ДАТА выхода: 1978 г.
  • Технология изготовления: 3 мкм
  • Die размер : 33 мм 2 с 29000 транзисторов
  • Тактовая частота:
    • 8086: 4,77 МГц (0,33 MIPS )
    • 8086-2: 8 МГц (0,66 MIPS)
    • 8086-1: 10 МГц (0,75 MIPS)

    Производные и реплики

    8086 производился различными производителями по лицензии и в различных корпусах для микросхем . В бывшем СССР с помощью реверс-инжиниринга была разработана собственная нелицензионная версия ( клон ) серии К1810 .


    8086 реплика КР1810ВМ86 ( кириллица КП1810ВМ86) серии К1810 из бывшего СССР


    80C86-2 от Harris в корпусе CLCC


    80C86A-2 от OKI в упаковке QFP - 56

    Основные конкуренты

    За исключением реплик контактов и функций (особенно NEC V20 и V30, изготовленных по технологии CMOS ) и более дешевого, «урезанного» варианта 8088, процессор Motorola 68000 часто использовался в конкурирующих продуктах для IBM PC , реже Zilog Z8000 , редко - National Semiconductor NS16032 . (Однако и Motorola 68000, и NS16032 являются 32-разрядными процессорами.)

    Периферийные модули

    Смотри тоже

    Литература / технические данные

    веб ссылки

    Commons : Intel 8086 - коллекция изображений, видео и аудио файлов.

    Индивидуальные доказательства

    1. ↑Heise Online: НАСА ищет в Интернете древние чипы
    2. ^NY Times: НАСА смело идет за старые детали. . . на eBay
    3. СЕРИИ К1810. Проверено 14 марта 2021 года .
    4. ^Harris CMOS Digital Data Book. Проверено 14 марта 2021 г. (см. Главу 3 «Семейство CMOS 80C86»).

    Микроархитектуры, отличные от x86: Микроконтроллеры: MCS-48 | MCS-51 | MCS-96 | XScale • Сервер: Itanium | Itanium 2

    Микроархитектуры графического процессора: Larrabee | Intel HD Графика

    Читайте также: