Процессор i8086.
Aug. 10th, 2024 08:16 amВ интернетах из из статьи в статью тиражируют глупости про программную совместимость 8086 с 8080 и что i8086 был прорывом. Эту же глупость пишет википедия даже.
На самом деле i8086 был убогим, но благодаря компьютеру ibm pc, на котором одновременно можно было играть и считать, а так же прошивке ibm без ошибок, он взлетел. IBM PC захватил нишу инфантильных взрослых, которые на работе играют в видео игры на компьютере. По той же причине макинтоши взлетели.
Сейчас под компьютером понимают цифровую вычислительную машину. Не всегда так было. Были еще аналоговые электронные вычислительные машины. Цифровые вычислительные машины вытеснили аналоговые из-за точности. Аналоговая вычислительная машина - это набор операционных усилителей, типичная точность которых 0.1%, она ограничена дрейфом нуля. Точность расчета на цифровой машине ограничена временем расчета только.
Поэтому производить технические расчеты на цифровом компьютере оперирующем цифрами меньшими 1000 смысла нет. Аналоговая ЭВМ это сделает быстрее и с той же точностью.
Поэтому у компьютера для работы процессор должен иметь регистры от 16 бит, то есть оперировать числами до 65535.
Для динамических игр достаточно считать до 100, с чем 8 бит справляются, но для них нужен видеоадаптер имеющий общую шину данных и адреса с ЦП, что бы быстро перерисовывать экран.
Для расчетов достаточно вывода символов по последовательному порту на терминал (печатную машинку).
Поэтому в 70-80 годах прошлого века персональные компьютеры были двух типов в основном: домашние (8 битные с видеоадаптером для игры) и микрококомпьютеры (16 разрядные без видеоадаптера с символьным выводом на терминал/принтер для расчетов).
Компьютер для инфантильных взрослых, которые на работе играют на компьютере, тогда не делали.
IBM PC стал бестселлером именно из-за того, что он занял нишу компьютеров для инфантильных взрослых, которые на работе играют. По той же причине макинтоши знаменитыми стали. Заслуги в этом процессора i8086 и intel нет. Он самый убогий из 16-разрядных тогда был. Если бы ibm тогда выбрала z8000 персонального компьютера, то сейчас те же самые авторы славили z8000 и zailog. Причем микросхемы z800x вероятно быстрее работали, ибо они используются в ракетах атакамс для хаймарс первой версии/ревизии. По быстродействию ibm pc уступал продукции pdp-11 и vax от dec. Команда цикла (loop у i8086, она же sob у pdp-11) на к1801вм1 (советский аналог первого проца lsi-11, созданного за 3 года до i8086) работала раз в 5...10 быстрее, чем на i8086. При этом совдеп не осилил полную копию lsi-11, к1801вм1 не умела умножать и делить, а lsi-11 могла.
Заслуга в славе IBM PC у IBM, создавшей прошивку компьютера без ошибок, и motorola, создавшей графический видеоконтроллер mc6845.
Теперь на счет совместимости. Википедия дает смешное объяснение "программной совместимости" i8086 с i8080.
После перекомпиляции программы на языке высокого уровня все процессоры совместимы.
Какие еще глупые объяснения совместимости читал.
1. Разделение регистров на 2 половинки по байту. На самом деле это сделано для обработки символов, которые имеют размер в байт. Если бы в i8086 обработку байт сделал в стиле pdp-11, то есть использовать только младшую часть регистра, а старшую для хранения знака только или вообще ее игнорировать, то совместимость еще бы выше даже была бы, ибо число регистров совпало бы.
2. Не ортогональность, то есть для каждой команды свой набор регистров. Это не для совместимости, а для удешевления. Могли бы сделать как у pdp-11, это совместимости не помешало бы, но цену процессора подняло бы, ибо продукция dec была дороже ibm pc всегда, хотя их системные блоки без видеоадаптера были. Причина этого как раз в неортогональности процессоров интел. Она сильно сужает набор инструкций процессора. Например у pdp-11 можно работать сразу с несколькими стеками данных, в дополнение к основному, i8086 так не умеет. У него push/pop адрес только из sp берет.
3. Похожесть мнемокодов в макроассемблере. Это к процессору отношения не имеет вообще. Микросхемы мнемокоды не понимают, а только цифры.
Совместимость i8086 с i8080 не программная, а аппаратная. Частично микропроцессорный комплект 8080, сейчас это обычно называют "южным мостом" или "чипсетом", подходит к 8086.
В ibm pc минимум контроллер gpio (портов ввода-вывода общего назначения) был 8255, то есть от 8080.
Сделано это для удешевления.
На самом деле i8086 был убогим, но благодаря компьютеру ibm pc, на котором одновременно можно было играть и считать, а так же прошивке ibm без ошибок, он взлетел. IBM PC захватил нишу инфантильных взрослых, которые на работе играют в видео игры на компьютере. По той же причине макинтоши взлетели.
Сейчас под компьютером понимают цифровую вычислительную машину. Не всегда так было. Были еще аналоговые электронные вычислительные машины. Цифровые вычислительные машины вытеснили аналоговые из-за точности. Аналоговая вычислительная машина - это набор операционных усилителей, типичная точность которых 0.1%, она ограничена дрейфом нуля. Точность расчета на цифровой машине ограничена временем расчета только.
Поэтому производить технические расчеты на цифровом компьютере оперирующем цифрами меньшими 1000 смысла нет. Аналоговая ЭВМ это сделает быстрее и с той же точностью.
Поэтому у компьютера для работы процессор должен иметь регистры от 16 бит, то есть оперировать числами до 65535.
Для динамических игр достаточно считать до 100, с чем 8 бит справляются, но для них нужен видеоадаптер имеющий общую шину данных и адреса с ЦП, что бы быстро перерисовывать экран.
Для расчетов достаточно вывода символов по последовательному порту на терминал (печатную машинку).
Поэтому в 70-80 годах прошлого века персональные компьютеры были двух типов в основном: домашние (8 битные с видеоадаптером для игры) и микрококомпьютеры (16 разрядные без видеоадаптера с символьным выводом на терминал/принтер для расчетов).
Компьютер для инфантильных взрослых, которые на работе играют на компьютере, тогда не делали.
IBM PC стал бестселлером именно из-за того, что он занял нишу компьютеров для инфантильных взрослых, которые на работе играют. По той же причине макинтоши знаменитыми стали. Заслуги в этом процессора i8086 и intel нет. Он самый убогий из 16-разрядных тогда был. Если бы ibm тогда выбрала z8000 персонального компьютера, то сейчас те же самые авторы славили z8000 и zailog. Причем микросхемы z800x вероятно быстрее работали, ибо они используются в ракетах атакамс для хаймарс первой версии/ревизии. По быстродействию ibm pc уступал продукции pdp-11 и vax от dec. Команда цикла (loop у i8086, она же sob у pdp-11) на к1801вм1 (советский аналог первого проца lsi-11, созданного за 3 года до i8086) работала раз в 5...10 быстрее, чем на i8086. При этом совдеп не осилил полную копию lsi-11, к1801вм1 не умела умножать и делить, а lsi-11 могла.
Заслуга в славе IBM PC у IBM, создавшей прошивку компьютера без ошибок, и motorola, создавшей графический видеоконтроллер mc6845.
Теперь на счет совместимости. Википедия дает смешное объяснение "программной совместимости" i8086 с i8080.
Процессор Intel 8086 представляет собой модернизированный процессор Intel 8080, и хотя разработчики не ставили перед собой цели достичь полной совместимости на программном уровне, большинство программ, написанных для Intel 8080, способно выполняться и на Intel 8086 после перекомпиляции.
После перекомпиляции программы на языке высокого уровня все процессоры совместимы.
Какие еще глупые объяснения совместимости читал.
1. Разделение регистров на 2 половинки по байту. На самом деле это сделано для обработки символов, которые имеют размер в байт. Если бы в i8086 обработку байт сделал в стиле pdp-11, то есть использовать только младшую часть регистра, а старшую для хранения знака только или вообще ее игнорировать, то совместимость еще бы выше даже была бы, ибо число регистров совпало бы.
2. Не ортогональность, то есть для каждой команды свой набор регистров. Это не для совместимости, а для удешевления. Могли бы сделать как у pdp-11, это совместимости не помешало бы, но цену процессора подняло бы, ибо продукция dec была дороже ibm pc всегда, хотя их системные блоки без видеоадаптера были. Причина этого как раз в неортогональности процессоров интел. Она сильно сужает набор инструкций процессора. Например у pdp-11 можно работать сразу с несколькими стеками данных, в дополнение к основному, i8086 так не умеет. У него push/pop адрес только из sp берет.
3. Похожесть мнемокодов в макроассемблере. Это к процессору отношения не имеет вообще. Микросхемы мнемокоды не понимают, а только цифры.
Совместимость i8086 с i8080 не программная, а аппаратная. Частично микропроцессорный комплект 8080, сейчас это обычно называют "южным мостом" или "чипсетом", подходит к 8086.
В ibm pc минимум контроллер gpio (портов ввода-вывода общего назначения) был 8255, то есть от 8080.
Сделано это для удешевления.
no subject
Date: 2024-08-11 12:08 pm (UTC)"На самом деле i8086 был убогим, но благодаря компьютеру ibm pc, на котором одновременно можно было играть и считать, а так же прошивке ibm без ошибок, он взлетел"
Нет, он взлетел (точнее, не он, а его удешевлённая версия i8088) благодаря тому, что IBM сделала ставку на сторонних разработчиков периферии — спроектировала компьютер открытой архитектуры и запатентовала только BIOS. Производители компьютеров писали свой код прошивки или покупали прошивку у Phoenix, AMI, Award и выпускали совместимые компьютеры с привлекательной ценой без лицензионных отчислений IBM. То есть не благодаря, а вопреки прошивке IBM.
Для IBM это стало провалом и в 2004 году IBM объявила об уходе с рынка PC-совместимых компьютеров.
no subject
Date: 2024-08-11 03:51 pm (UTC)Сторонние разработчики плат расширения создавали свои компьютеры использовали компьютеры dec, у которой шина qbas открытая. Например, siemens выпускала pg-675 не совместимый с ibm pc, но с цпу 8086 уже в середине 80-х даже, только из-за того, что в компьютере должен был быть особенный последовательный порт для связи с ПЛК. ЧПУ были часто с компьютерами dec. В них настоящие сторонние платы были.
Просто в ibm pc все микросхемы не производства ibm, патентовать нечего, кроме прошивки.
no subject
Date: 2024-08-11 04:18 pm (UTC)А я вижу фразу "патентовать нечего, кроме прошивки" и не понимаю, что за глупость. Основу компьютерной архитектуры, системную шину патентовали, документацию к ней хранили в секрете. IBM решила её сделать открытой.
no subject
Date: 2024-08-11 05:25 pm (UTC)Без схем электронный блок тогда не продать было.
DEC так же со схемами продавала компьютеры, только системную плату повторить невозможно было, ибо микросхемы dec надо для этого. ЦАП, АЦП и т.п. для pdp-11 можно было создавать, вот их и создавали.
no subject
Date: 2024-08-11 12:48 pm (UTC)"IBM PC стал бестселлером именно из-за того, что он занял нишу компьютеров для инфантильных взрослых, которые на работе играют. По той же причине макинтоши знаменитыми стали. Заслуги в этом процессора i8086 и intel нет."
Если бы в этом было дело, то нишу компьютеров для инфантильных взрослых, которые на работе играют занял бы Amiga 1000, а затем дешёвый Amiga 500 и его модификации.
Вот тут разработчик ПО пишет, что только к концу 1990-х перестал пользоваться Amiga 500.
no subject
Date: 2024-08-11 01:55 pm (UTC)В 1985 году ibm pc уже взлетел, ибо появились следующие модели: pc/xt (почти тоже самое, но с винчестером) и pc/at (с совершенно другими платами, он был раз в 5...10 быстрее и с улучшенным видеоадаптером).
no subject
Date: 2024-08-11 04:12 pm (UTC)Во первых, тогда у домашних компьютеров была операционная система cp/m.
Это что-то типа современного linux. То есть программы надо было компилировать под конкретный компьютер, как программы для linux сейчас компилируют под конкретную плату.
Соответственно со специализированными программами от 8 битных компьютеров больших проблем не было. Тем более их уже тогда программы для работы с документами в основном ms создала.
Во вторых, игры ibm pc сразу стали создавать. Самая знаменитая игра digger - это 1983 год. На ibm pc/at была кнопка "turbo", что бы играть в digger или что-то подобное можно было.
no subject
Date: 2024-08-11 04:02 pm (UTC)"Компьютер от IBM был очень дорогим даже в самой скромной конфигурации, здесь не было никаких простых «народных» программ и уж тем более игр, а у конкурентов помимо последних было еще и специализированное ПО для самых требовательных юзеров. Не впечатляли на тот момент и технические возможности платформы – к примеру графика и звук сильно уступали вышедшему в 1982 году легендарному Commodore 64.
И хотя бизнес-сектор перешел на IBM PC и MS-DOS уже в течение нескольких лет, мир домашних компьютеров и настоящих гиков держался от него еще очень долго – во многом из-за высокой цены и большой конкуренции со стороны более доступных платформ." (https://habr.com/ru/articles/689950/)
Поэтому я сравниваю Амигу с IBM 8550, модель 1987 года на 80286 процессоре. 286 покупали уже не только чтобы работать, но и чтобы играть. Я знал чувака, который в 1989 купил PC AT 286 только чтобы играть (конечно, покупая, он надеялся, что будет на нём деньги зарабатывать, но получилось так, что в основном играл). Мы познакомились, когда он докупил 1 мегабайт оперативной памяти. Я посмотрел на чек, ужаснулся и постеснялся спрашивать, сколько стоил весь компьютер.
no subject
Date: 2024-08-11 04:52 pm (UTC)Во первых, тогда у домашних компьютеров была операционная система cp/m.
Это что-то типа современного linux. То есть программы надо было компилировать под конкретный компьютер, как программы для linux сейчас компилируют под конкретную плату.
Соответственно со специализированными программами от 8 битных компьютеров больших проблем не было. Тем более уже тогда программы для работы с документами в основном ms создала.
Во вторых, игры ibm pc сразу стали создавать. Самая знаменитая игра digger - это 1983 год. Она в формате com, то есть меньше 64 кбайт, 640 кбайт для игры в диггер не надо. Первой версии даже dos не нужен был. Дисковод возможно тоже, ибо ошибки записи на диск результатов она игнорировала. . На ibm pc/at была кнопка "turbo", что бы играть в digger или что-то подобное можно было.
В третьих, дороговизна относительная, например msx стоил как ibm pc, но он чисто игровой был.
https://www.msx.org/forum/msx-talk/general-discussion/price-your-first-msx-computer
no subject
Date: 2024-08-11 06:42 pm (UTC)Первые компьютеры IBM PC практически не использовали для игр (по сравнению с другими аналогичными компьютерами). Игры для них, конечно, писались. Игры всегда пишутся, для всех компьютеров. Но компьютеры IBM PC сначала взлетели, а потом начали помимо вычислений использоваться для игр. Потому что поначалу, когда они взлетали, у них не было звука, кроме системной пищалки, не было джойстика, была убогая (по сравнению с многими другими компьютерами) графика и высокая (по сравнению с многими другими компьютерами) цена. Несмотря на это они взлетели. А раз взлетели, то начала падать цена, и этому падению способствовала открытая архитектура. Нонеймовская звуковая карта стоила в 5 раз дешевле Саундбластера, а звук для игр выдавала ничуть не худший.
286-е уже покупались с прицелом на игры. Но это было уже развитие, а не взлёт.
Подумайте сами: Первая IBM PC с 16 Кб оперативной памяти и одним дисководом предлагалась за $1600 (это не считая стоимости операционной системы MS-DOS 40$, $тогда как полная комплектация могла достигать в цене целых 6 тысяч долларов. Бесплатным бонусом в комплекте с машиной шел лишь BASIC авторства Microsoft, тогда как тот же MS-DOS продавался под лицензией IBM как PC-DOS и стоил $40. USCD Pascal, более специфичный по своей природе, предлагали за баснословные $500. А когда шестью месяцами позже Digital Research все-таки закончила многострадальное портирование CP/M на архитектуру IBM PC, она тоже попала в программный каталог по цене в $240 за лицензию. https://habr.com/ru/articles/689950/
При этом в том же 1981 году компьютер Sinclair ZX81 стоил £49,95 в разобранном виде и £69,99 фунтов — в собранном.
В апреле 1982 года на полках магазинов появился ZX Spectrum. Первоначально появилось две версии — 16 Кб ОЗУ и 48 Кб. Стоимость составляла £125 и £175 соответственно, хотя спустя некоторое время цены снизили до £99,95 и £129,95.
Какой смысл был покупать дорогой PC, думая при этом ещё и поиграть, когда для "поиграть" были очень дешёвые Спектрумы, недорогие Амиги и Атари, далеко превосходившие по качеству игр IBM PC?
no subject
Date: 2024-08-11 07:10 pm (UTC)Видеоадаптер CGA у IBM PC тогда топовым был: 16 кбайт, два видеорежима 640*200 2 цвета или 320*200 4 цвета из палитры 16 цветов. Видеоадаптер zx Spectrum: 7кбайт, видеорежим 256×192 с монохромными спрайтами 8*8, палитра 8 цветов, да еще сложно программируемый и без текстового режима.
Соответственно, на pc игры лучше были. Это несмотря на то, что zx Spectrum позже создали.
CGA в ibm pc на уровне msx был, у msx разрешение хуже CGA, но зато с 2d ускорителем для игр. Но msx стоил, как ibm pc и на нем играть только можно было.
А компьютеры все тогда с открытой архитектурой были, ибо программировать без знания архитектуры нельзя было и без схемы не продать, ибо предполагалось, что он на века, его ремонтировать будут.
no subject
Date: 2024-08-12 03:08 pm (UTC)Теоретик, блин. Забыли, что практика критерий истины.
А практика такова, что игры на IBM PC были поначалу (когда PC "взлетал") унылые
Хороший пример - шахматы от IBM, написанные на Бейсике, где фигуры были не нарисованы, а написаны — ROOK, KNIGHT, BISHOP... и чёрные от белых не очень отличались.
Ещё была Microsoft Adventure — просто текст, даже без псевдографики.
Игры 1982 всё ещё унылые — сделаны на основе псевдографики или такой примитивной графики, что смотреть страшно.
Digger вышел в 1983 году, и он был лучшим из лучших для первых PC. Pac-Man тоже вышел в 1983.
Я сейчас для сравнения посмотрел на игры "Спектрума" 1983 года, и они нарисованы тоже так себе. Игры 1984 года уже лучше по графике. Но преимуществом "Спектрума" в 1983 года было большое разнообразие игр, в том числе "трёхмерные" гонки со стрельбой "3d deathchase". И всё в цвете.
Тетрис для PC вышел в 1986 году, но пока только в СССР.
"Принц Персии", который первым приходит на ум, когда мы вспоминаем старые игры для IBM совместимых компьютеров, портирован на PC в 1990 году.
И ещё немного практики. Предположим, вы бизнесмен и хотите купить IBM PC.
Изучаете цены (цены были снижены в августе 1986 года для тех, кто покупает напрямую у IBM, на 16 — 22 %):
Модель 5150, ОЗУ 16 КБ, без дисководов и монитора = 1565 долларов США.
Модель 5150, 16 КБ ОЗУ, один дисковод для гибких дисков 5,25 дюйма, монохромный монитор = 2880 долларов США.
Модель 5150, ОЗУ 64 КБ, один дисковод для гибких дисков 5,25 дюйма, монохромный монитор = 3005 долларов США.
Модель 5150, ОЗУ 16 КБ, один дисковод для гибких дисков 5,25 дюйма, цветной монитор CGA = ? долларов США.
Модель 5150, ОЗУ 64 КБ, один дисковод для гибких дисков 5,25 дюйма, цветной монитор CGA = 4500 долларов США.
При максимальном объеме ОЗУ в 256 КБ и цветной графике общая стоимость составит 6000 долларов США.
Сравниваем выделенные модели и думаем, готовы ли мы переплачивать за CGA, если MGA даёт лучшую разрешающую способность (количество символов на экране то же, но больше точек), то есть нагрузка на глаза оператора чуть меньше, а к CGA "бонусом" идёт "снег" и дрожание?
Нет, первые IBM PC покупали не для игр.
no subject
Date: 2024-08-12 04:45 pm (UTC)Во первых, у zx spectrum графика как у этой игры "осел". Это максимум его:)
Я на спектруме не играл, но в ютубе есть видео.
Для сравнения. Сравниваю сравнимое. Одни и те же игры но на ibm pc и zx spectrum.
1. alley cat.
IBM PC.
zx spectrum
2. digger
ibm pc
zx spectrum
3. tapper
ibm pc
zx spectrum
Во вторых, ibm pc к телевизору подключался, у cga выход был аналоговый/композитный под телевизор. Соответственно минимальная конфигурация с cga дешевле, чем с mda должна была быть, ибо ему монитор не нужен, а платы похожие, с тем же самым 6845 и 16к видеобуфера. У вас наоборот.