Как выйти в интернет на сорокалетней DOS машине с 640Кб ОЗУ и 9-и мегагерцовым процессором?
Рубрика «8086»
Com-WiFi модем для старых компьютеров
2024-03-11 в 18:30, admin, рубрики: 8086, dos, msdos, TheOldNetТолстые слои легаси: как запускаются современные процессоры Intel
2023-04-20 в 8:16, admin, рубрики: 80386, 8086, x86, x86-64, Компьютерное железо, легаси, микрокод, Настольные компьютеры, Процессоры, процессоры intelЦентральные процессоры (CPU) не могут ничего сделать, пока им не скажут, что делать. Возникает очевидная проблема — как вообще заставить CPU что-то делать? Во многих CPU эта задача решается при помощи вектора сброса — жёстко прописанного в CPU адреса, из которого нужно начинать считывать команды при подаче питания. Адрес, на который указывает вектор сброса, обычно представляет собой какую-нибудь ROM или флэш-память, которую CPU может считать, даже если никакое другое оборудование ещё не сконфигурировано. Это позволяет производителю системы создавать код, который будет исполнен сразу же после включения питания, сконфигурирует всё остальное оборудование и постепенно переведёт систему в состояние, при котором она сможет выполнять пользовательский код.
Конкретная реализация вектора сброса в системах x86 со временем менялась, но, по сути, это всегда были 16 байтов ниже верхушки адресного пространства, то есть 0xffff0 на 20-битном 8086, 0xfffff0 на 24-битном 80286 и 0xfffffff0 на 32-битном 80386. По стандарту в системах x86 ОЗУ начинается с адреса 0, поэтому верхушку адресного пространства можно использовать для размещения вектора сброса с минимальной вероятностью конфликта с ОЗУ.
Читать полностью »
Реверс-инжиниринг баг-фикса микропроцессора 8086 по снимкам кремния
2022-12-15 в 5:23, admin, рубрики: 8086, микропроцессоры, обратная разработка, Процессоры, реверс-инжиниринг, реверс-инжиниринг оборудования, старое железо
Микропроцессор 8086 — это революционный процессор, представленный компанией Intel в 1978 году. Его появление привело к тому, что архитектура x86 и сегодня продолжает доминировать в сфере десктопов и серверов. При реверс-инжиниринге 8086 по фотографиям кристалла моё внимание привлекла одна цепь, потому что её физическая структура на кристалле не соответствовала окружающим её цепям. Оказалось, что эта цепь реализует особую функциональность для пары команд, немного изменяя способ их взаимодействия с прерываниями. В процессе веб-поисков выяснилось, что это поведение было изменено Intel в 1978 году, чтобы устранить проблему с первыми версиями чипа 8086. Изучив кристалл, мы можем понять, как Intel справлялась с багами в микропроцессоре 8086.
Читать полностью »
Анализ кристалла сдвигового регистра у математического сопроцессора 8087
2020-06-22 в 11:00, admin, рубрики: 8086, 8087, Производство и разработка электроники, сопроцессор, старое железоЧисла с плавающей запятой необходимы для научного программирования, однако первые процессоры напрямую поддерживали лишь операции с целыми числами. Но ранние микропроцессоры всё же могли производить операции с числами с плавающей запятой. Такие операции просто разбивались на множество целочисленных, манипуляции с экспонентой и дробной частью. Иначе говоря, поддержка плавающей запятой не сделала возможной операции с ней в принципе – она просто серьёзно их ускорила. Существует ещё один способ представления нецелых чисел – это числа с фиксированной запятой, у которых есть неизменное количество цифр после десятичного разделителя. С ними работать проще, однако с их помощью можно представить диапазон заметно меньшего размера.
Хотя операции с плавающей запятой на мейнфреймах были обычным делом уже в 1950-х и 1960-х годах, только в 1980-м Intel представила сопроцессор с плавающей запятой 8087 для микрокомпьютеров.
8087 не был первым чипом с поддержкой плавающей запятой. National Semiconductor представила MM57109 Number Cruncher Unit [«перемалыватель цифр»] – так его реально назвали – в 1977-м. Это был, по сути, чип от научного калькулятора на 12 цифр в новом корпусе, работающий с десятичными значениями в двоичном представлении, и требовавший ввода данных в обратной польской записи. Чип работал до абсурдного медленно: к примеру, на вычисление тангенса могло уйти до секунды. AMD представила свой первый чип с поддержкой плавающей запятой, Am9511, в 1978-м. Этот чип поддерживал 32-битные числа с плавающей запятой, и на вычисление тангенса тратил до 1,4 мс. В итоге Intel купила у AMD лицензию на Am9511 и продавала его как 8231. 8087 на 10 МГц, для сравнения, мог вычислить тангенс за 54 мкс, работая с 80-битным числом с плавающей запятой. Вот насколько быстродействие и точность 8087 были выше его предшественников.
Читать полностью »
Сколько инструкций в x86?
2020-05-23 в 17:33, admin, рубрики: 80286, 80386, 8086, Broadwell, Cannon Lake, Haswell, i486, Ice Lake, Ivy Bridge, Knights Landing, Merom, Nehalem, Penryn, pentium, pentium ii, Pentium III, Pentium Pro, Prescott, Sandy Bridge, Skylake, Westmere, Willamette, визуализация данных, старое железо, Статистика в ITvvvphoenix упомянул в своей позавчерашней статье: «Кстати, я пытался найти график роста числа X86 инструкций по годам (или по поколениям). Пока не смог (может, есть у кого?)»
Я решил, что мне это тоже интересно — да настолько, что не жалко потратить выходной день на сведение en.wikipedia.org/wiki/X86_instruction_listings в одну табличку:
Считались различные мнемоники; например, десятки вариантов MOVЧитать полностью »
Извлекаем константы с кристалла математического сопроцессора 8087
2020-05-21 в 7:00, admin, рубрики: 8086, 8087, 8088, cordic, intel, ROM, константы, ПЗУ, Производство и разработка электроники, реверс-инжиниринг, сопроцессорВ 1980 году Intel представила чип 8087 для ускорения обработки чисел с плавающей запятой на 8086-х процессорах, и его использовали в оригинальном IBM PC. Поскольку первые микропроцессоры работали только с целыми числами, арифметика с числами с плавающей запятой была медленной, а с трансцендентными функциями вроде арктангенса или логарифмов дела обстояли ещё хуже. Добавление чипа сопроцессора 8087 к системе было способно ускорить операции с числами с плавающей запятой до ста раз.
Я вскрыл чип 8087 и сделал несколько его фотографий под микроскопом. На фото ниже показан крохотный кремниевый кристалл чипа. По его бокам крохотные проводники соединяют его с 40 внешними ногами. Разметка основных функциональных блоков на картинке сделана мною благодаря реверс-инжинирингу. Если внимательно изучить чип, то можно извлечь из его ПЗУ различные константы – такие числа, как π, используемые чипом в вычислениях.
Кристалл чипа от Intel 8087 для работы с плавающей запятой с отмеченными основными функциональными блоками. ПЗУ с константами отмечен зелёным. Кликабельно.
Читать полностью »
Новый золотой век для компьютерной архитектуры
2019-02-18 в 15:36, admin, рубрики: 432, 8086, Agile для процессоров, cisc, IBM, IBM PC, ILP, Intel SGX, ISA, mips, open source, RISC, RISC-I, System/360, вертикальная интеграция коллектива, закон Амдала, закон масштабирования Деннарда, закон Мура, Компьютерное железо, микроинструкции, микропрограммирование, Производство и разработка электроники, Процессоры, управляющая памятьАвторы — Джон Хеннесси и Дэвид Паттерсон, лауреаты премии Тьюринга 2017 года «за новаторский систематический и измеримый подход к проектированию и проверке компьютерных архитектур, оказавший долговременное влияние всю отрасль микропроцессорной техники». Статья опубликована в журнале Communications of the ACM, февраль 2019, том 62, № 2, стр. 48-60, doi:10.1145/3282307
«Те, кто не помнит прошлого, обречены повторить его» — Джордж Сантаяна, 1905
Свою лекцию Тьюринга 4 июня 2018 года мы начали с обзора компьютерной архитектуры, начиная с 60-х годов. Кроме него, мы освещаем актуальные проблемы и пытаемся определить будущие возможности, которые сулят новый золотой век в области компьютерной архитектуры в следующем десятилетии. Такой же, как в 1980-е, когда мы проводили свои исследования по улучшению в стоимости, энергоэффективности, безопасности и производительности процессоров, за что и получили эту почётную награду.
Ключевые идеи
- Прогресс программного обеспечения может стимулировать архитектурные инновации
- Повышение уровня программно-аппаратных интерфейсов создаёт возможности для инноваций архитектуры
- Рынок в конечном итоге определяет победителя в споре архитектур
Загрузка ядра Linux. Часть 1
2018-11-03 в 8:57, admin, рубрики: 8086, coreboot, grub, linux, x86, Настройка Linux, реальный режим, системное программированиеОт загрузчика к ядру
Если вы читали предыдущие статьи, то знаете о моём новом увлечении низкоуровневым программированием. Я написал несколько статей о программировании на ассемблере для x86_64
Linux и в то же время начал погружаться в исходный код ядра Linux.
Мне очень интересно разобраться, как работают низкоуровневые штуки: как программы запускаются на моём компьютере, как они расположены в памяти, как ядро управляет процессами и памятью, как работает сетевой стек на низком уровне и многое другое. Итак, я решил написать еще одну серию статей о ядре Linux для архитектуры x86_64.
Обратите внимание, что я не профессиональный разработчик ядра и не пишу код ядра на работе. Это всего лишь хобби. Мне просто нравятся низкоуровневые вещи и интересно в них копаться. Поэтому если заметите какую-то путаницу или появилятся вопросы/замечания, свяжитесь со мной в твиттере, по почте или просто создайте тикет. Буду благодарен.
Читать полностью »
Неожиданная история микропроцессоров
2016-09-19 в 16:38, admin, рубрики: 4004, 8008, 8086, cpu, ctc, intel, texas instruments, История ИТ, микропроцессор, старое железоВы думаете, что всё началось с Intel 4004, но всё не так просто
Intel 4-битный 4004
Транзисторы, электронные усилители и переключатели, находящиеся сейчас в центре всего, от карманного радиоприёмника до суперкомпьютера, были изобретены в 1947 году. Ранние прототипы звались биполярными транзисторами, и они всё ещё в ходу. К 1960-м инженеры придумали, как комбинировать несколько биполярных транзисторов на одной интегральной микросхеме. Но из-за их сложной структуры, на схеме могло быть только небольшое их количество. Поэтому, хотя мини-компьютер, созданный на основе биполярных интегральных микросхем, был гораздо меньше ранних компьютеров, ему требовалось несколько плат с сотнями чипов на них.
В 1960-м был показан новый тип транзисторов: транзистор со структурой металл-окисел-полупроводник, МОП-транзистор. Сначала технология не выглядела многообещающей. Они были медленнее, менее надёжными и более дорогими, чем биполярные. Но к 1964-му интегральные микросхемы на МОП-транзисторах уже могли похвастаться большей плотностью и меньшей стоимостью производства, чем биполярные. Сложность интегральных микросхем росла согласно закону Мура, но технология МОП вырвалась вперёд.
Читать полностью »