Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Твиттер

Автор mnashe, июля 15, 2014, 10:17

0 Пользователи и 1 гость просматривают эту тему.

Toman

Цитата: mnashe от января 10, 2018, 12:40
MMX?
Но это уже не собственно пентиумовское нововведение. А вслед за ним были ещё какие-то расширения подобного же плана.

Цитата: mnashe от января 10, 2018, 12:40
Ты о чём?
Об IBM PC, далее XT, их многочисленных клонах и т.д.

О том, что, когда пользователям собственно настоящих 16-битных компьютеров стало тесновато в 64 килобайтах памяти, то, вопреки всякому здравому смыслу, на как бы рынке ПК победило не (вполне себе существовавшее и предлагавшееся) решение в виде нормального 32-битного (по адресации) проца, имеющего необходимое для нормальной работы и разработки многозадачных систем того вида, которые в то время существовали на более серьёзных более старых компах (страничная виртуальная память и аппаратно переключаемые режимы ядра/пользователя), а какое-то "временное" чудище с дурной сегментной адресацией, "гениально" адресующей ажно целый 1 мегабайт (20 бит), тратя на адрес по 32 бита, и при этом делая адресную арифметику жутко неудобной. И, естественно, никакой ни виртуальной памяти, ни режимов для многозадачных ОС. В качестве ОС, соответственно, встал ДОС. И во всём этом "временном" великолепии большинство пользователей ПК и разработчиков ПО для них застряли лет на 15, и именно в таком извращённом виде с компьютерами общего назначения вообще познакомились большинство пользователей того времени.

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

Тогда как как раз тот процессор, который мог бы сразу принести многозадачные (в т.ч. юникс-подобные) системы на "народные" ПК ещё в начале 80-х, изначально имел всё необходимое, и, кроме того, имел на порядок более простой машинный код и соотв. язык ассемблера (что на порядок облегчило бы по сравнению с x86 массовую разработку любительских ОС, компиляторов и других системных утилит "с нуля" и/или кросскомпиляцией, например, на юниксовых машинах), был интелевско-микрософтовскими локтями задвинут в более далёкие от народа применения - т.е. даже если и в бытовые устройства, то не компы общего назначения, для которых пользователь мог бы и выбирать, и сам разрабатывать программы.

И да, если бы и действительно для Интеля при разработке 8086 была так уж важна бинарная совместимость с 8080, это можно было бы получить гораздо менее извращённым путём - организацией исполнения кода для 8080 в 64-килобайтных "ящиках" в пределах 32-битно адресуемой виртуальной памяти. Причём это была бы реальная бинарная совместимость - вот просто взял программу для 8080 и запустил (при помощи миниатюрного загрузчика в составе ОС), а не какая-то условная, фактически требующая перекодирования машинного кода и некоторых ещё дополнительных телодвижений по формированию рабочего исполнимого .com файла (как оно в реальности получилось у 8086, НЯП). Ну, даже пришлось бы для этого внутрь процессора добавить цельную копию 8080 со всеми его регистрами, на современных тому времени технологиях - и то не велика беда была бы (хотя, вероятно, и этого бы не потребовалось).
Во́зле до́ма хо́лм с куля́ми - вы́йду на́ холм, ку́ль поставлю.
В славном городе Miami тётки мерялись ногтями, тик иң озын завсегда у Фиделя борода!

_Swetlana

Цитата: zazsa от января  9, 2018, 06:09
Кто-нибудь может опознать этого грузинского актёра?
Похож на сильно исхудавшего Имеда Кахиани. Но не он.
🐇

_Swetlana

Манучар Шервашидзе? Нет, брови не такие. И взгляд.
Весёлое занятие, до утра  ;D
🐇

_Swetlana

А другого ракурса нет, чтобы посмотреть на форму носа?  ;D



🐇

zazsa

Цитата: _Swetlana от января 10, 2018, 21:45
А другого ракурса нет, чтобы посмотреть на форму носа?  ;D
:o Но, чёрт возьми, как?!! (ц) Ватсон. Да, это Давид Чубинишвили - вчера на другом ресурсе сначала узнал, из какого фильма этот кадр (а скриншот я сделал не из фильма, а из финала ЧГК 1982 года, где показали безымянный отрывок), а потом на kino-teatrе нашёл актёра.
Привет участникам международного лингвистического форума!
У всякого народа есть родина, но только у нас – Гондурас.
Переписываю историю. Разжигаю национальную, религиозную рознь и ненависть к социальным группам. Недорого.

_Swetlana

Цитата: zazsa от января 10, 2018, 22:08
Цитата: _Swetlana от января 10, 2018, 21:45
А другого ракурса нет, чтобы посмотреть на форму носа?  ;D
:o Но, чёрт возьми, как?!! (ц) Ватсон. Да, это Давид Чубинишвили - вчера на другом ресурсе сначала узнал, из какого фильма этот кадр (а скриншот я сделал не из фильма, а из финала ЧГК 1982 года, где показали безымянный отрывок), а потом на kino-teatrе нашёл актёра.
Просто люблю грузинский синематограф))

Вначале в жж нагуглила ваш пост про ЧГК, затем нашла список актёров сериала "Твой сын, Земля" и на каждого посмотрела, двигаясь от конца к началу. Перед Давидом, кстати, был актёр из фильма "Городок Анара", его я посмотрела 4 раза  ;D
🐇

mnashe

Toman, я так и подумал, что ты про эту идиотскую систему сегментации 8086, но как-то совсем непонятно было написано, поэтому я не был уверен, что правильно понял.

Цитата: Toman от января 10, 2018, 19:08
(вполне себе существовавшее и предлагавшееся) решение в виде нормального 32-битного (по адресации) проца, имеющего необходимое для нормальной работы и разработки многозадачных систем того вида, которые в то время существовали на более серьёзных более старых компах (страничная виртуальная память и аппаратно переключаемые режимы ядра/пользователя)
Современник 8086? Сопоставимый по цене? С 32-битной адресацией? С аппаратными переключениями?
Очень интересно, я вообще никогда о таком не слышал.

Цитата: Toman от января 10, 2018, 19:08
уже давно как вышел пресловутый 386, в котором, наконец, появилось необходимое для нормальной многозадачной ОС, но по назначению это ещё очень долго почти никто не использовал
Так скорость-то тогда была какая! Память очень дорого стоила, а графические системы её очень много жрут.
Я на своём 80386SX запускал Windows (3.11) только чтобы запустить WYSIWYG-редактор, и сразу по окончании редактирования закрывал его, возвращаясь в DOS.
Только когда у меня появился Pentium (120 МГц, с 4 MБ памяти) и в то же время ОС стала несравнимо более user-friendly, я перешёл на постоянное пользование Windows.
Так что неиспользование новых возможностей 80386 вполне естественно.
А вот вся эта идиотская система адресации основательно нервы попортила. Поскольку я написал огромное количество ассемблерного кода, я сталкивался с этим постоянно. И, фактически, до сих пор расхлёбываю этот ужас, поскольку до сих пользуюсь своей версией Multi-Edit'а. Долгое время я ещё надеялся переделать его, задействовав XMS и перестроив строки так, чтобы длина хранилась в двух байтах, а не в одном. Потратил сотни часов на детальное продумывание всех этих переделок, но поскольку для этого нужно было переписывать все десятки тысяч строк программы (невозможно переписать кусок, убедиться, что работает, затем перейти к следующему фрагменту, как делалось с сотнями других переделок), — задача оказалась совершенно нереализуемой без отрыва от работы. Так и осталось ограничение длины строки 255 символов (в редакторе 254) и постоянная подгрузка файла с диска при размере файла больше 400 МБ (примерно).

Цитата: Toman от января 10, 2018, 19:08
и, кроме того, имел на порядок более простой машинный код и соотв. язык ассемблера (что на порядок облегчило бы по сравнению с x86 массовую разработку любительских ОС, компиляторов и других системных утилит "с нуля" и/или кросскомпиляцией, например, на юниксовых машинах)
Ты о чём? Что такое более простой язык ассемблера?
Я в своё время очень радовался, получив информацию о новых командах 386. В моём тогдашнем понимании чем больше команд, тем лучше, поскольку можно получить более простой и компактный код.
Когда я несколько лет назад познакомился с концепцией RISC (на примере семейств PIC16 прежде всего), у меня был сильный разрыв шаблона. Как же так — всего 35 команд, даже нет условных переходов (только условный пропуск следующей команды, и то всего по паре условий), и это преподносится как преимущество!
Конечно, запомнить 35 команд быстрее, чем сотню, но программировать-то не быстрее!
У AVR ассемблер уже гораздо более развитый, хотя при этом он тоже RISC.
А у 8051, который долгое время был промышленным стандартом, ассемблер лишь немногим уступает 8086 (точнее 8080). Вот он не RISC. Гораздо более привычный для меня. Писать на таком ассемблере намного проще.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Валентин Н

Понимаю, когда в спектре соседние цвета перемешиваясь выглядят как смесь цветов: оранжевый это явно красный с жёлтым, салатовый - зелёный с жёлтым, бирюзовый - зелёный с синим, но почему цвета через один дают промежуточный? Красный с зелёным это не смесь, а чистый жёлтый цвет, жёлтый с синим это чистый зелёный, почему же они не выглядят смешанными, было бы интересно на такие цвета посмотреть. Палитра была бы богаче.

:(
ЗАБАНИЛ ВИКИПЕДИЮ
Нижниь ıндэкс в ҷıсʌах — степень тıсяҷı
Препинания авторские!

Bhudh

Говорят, некоторые животинки различают красно-зелёный и жёлтый.
Клеточки по-разному на разные длины-частоты реагируют.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Кассивелан

Цитата: Валентин Н от января 11, 2018, 00:01
Понимаю, когда в спектре соседние цвета перемешиваясь выглядят как смесь цветов: оранжевый это явно красный с жёлтым, салатовый - зелёный с жёлтым, бирюзовый - зелёный с синим, но почему цвета через один дают промежуточный? Красный с зелёным это не смесь, а чистый жёлтый цвет, жёлтый с синим это чистый зелёный, почему же они не выглядят смешанными, было бы интересно на такие цвета посмотреть. Палитра была бы богаче.

:(
Чёрный, проверено.   :smoke:
Лёгкие, как мотыльки,
А в глазах горят фонарики,
А на них большие башмаки,
Это – ᚴ ᛅ ᚱ ᚦ ᛅ ᚱ ᛁ ᚴ ᛁ ⋮

Hellerick

Цитата: Валентин Н от января 11, 2018, 00:01
Понимаю, когда в спектре соседние цвета перемешиваясь выглядят как смесь цветов: оранжевый это явно красный с жёлтым, салатовый - зелёный с жёлтым, бирюзовый - зелёный с синим, но почему цвета через один дают промежуточный? :(
Как смесь зеленого с синим выглядит темно-бирюзовый.
Смесью красного и зеленого является коричневый.
Для нас естественно является субтрактивное смешение. С аддитивной мы познакомились совсем недавно.

zazsa

Цитата: _Swetlana от января 10, 2018, 22:57
Просто люблю грузинский синематограф))

Вначале в жж нагуглила ваш пост про ЧГК, затем нашла список актёров сериала "Твой сын, Земля" и на каждого посмотрела, двигаясь от конца к началу. Перед Давидом, кстати, был актёр из фильма "Городок Анара", его я посмотрела 4 раза  ;D
Значит, сработала моя подсказка в имени картинки :) Но по этой фотографии я бы точно его не узнал.

Кстати, а сам сериал смотрели? Я так понял, что его больше одного раза по ЦТ показывали. Жаль, что нет в сети с переводом.
Привет участникам международного лингвистического форума!
У всякого народа есть родина, но только у нас – Гондурас.
Переписываю историю. Разжигаю национальную, религиозную рознь и ненависть к социальным группам. Недорого.

Toman

Цитата: mnashe от января 10, 2018, 23:35
Toman, я так и подумал, что ты про эту идиотскую систему сегментации 8086, но как-то совсем непонятно было написано, поэтому я не был уверен, что правильно понял.
Ну, не только про неё как таковую, но и отсутствие чего бы то ни было для многозадачности. Впрочем, как показала последующая история с 286, сегментации было достаточно, чтобы всё испортить.

Цитата: mnashe от января 10, 2018, 23:35
Современник 8086? Сопоставимый по цене? С 32-битной адресацией? С аппаратными переключениями?
Очень интересно, я вообще никогда о таком не слышал.
Ну как же - на самом деле очень распространённое в те времена (и вплоть до практически вытеснения их ARMом уже в 2000-х) семейство - Моторола 68к, как можно было о нём не слышать? На них ведь делалось множество ПК, в т.ч. ранние Apple Macintosh, и на них же - классические юниксовые рабочие станции. Но всё это как-то сошло на нет - во многом, вероятно, из-за закрытости и взаимных несовместимостей разных конкретных компьютеров, по сравнению с IBM PC, который взял расширяемостью и распространением его совместимых клонов. Тогда как на базе 68к, может быть, просто никто не успел сделать чего-то подобного, способного стать "народным" в том же смысле, прежде, чем стало уже, фактически, поздно.

Современник 8086 и 8088? - ну, приблизительно. На несколько лет позже, конечно. Учитывая реальные годы применения в выпускавшихся ПК, разницей во времени появления можно было бы и пренебречь. Хотя, конечно, эта разница и могла быть одним из факторов, почему, собственно, на 68к не успели сделать "народного" компьютера. Но не сама по себе, а именно в сочетании с заморочками капитализма, провоцирующими к чрезмерной спешке - "лучше зафигачить явную техническую несуразицу, но сегодня, чем рисковать, что кто-то из конкурентов успеет сделать своё более красивое/совершенное решение". Может быть, не будь такой спешки, и сам Интел бы одумался и выдал бы таки какой-нибудь более-менее вменяемый проц, сравнимый по удобству и возможностям с 68к. Но нет - некогда думать, прыгать надо!

Цитата: mnashe от января 10, 2018, 23:35
Сопоставимый по цене?
Сопоставимый, да. Версий было, понятно, много разных, с разной шириной физических шин, разной частотой, и всякими другими особенностями, они и стоили, соответственно, по-разному, плюс мог быть разный набор необходимых сопроцессоров и микросхем системной платы, разное количество памяти, разные устройства, так что результирующие девайсы в целом могли быть как несколько дешевле (всякие бюджетные ПК, игровые приставки и т.п.), так и намного дороже (юниксовые рабочие станции) среднетипичных компов на 8088 - но в целом, наверное, можно считать, что сопоставимо.

Цитата: mnashe от января 10, 2018, 23:35
С 32-битной адресацией?
Да, адресация у них у всех изначально плоская 32-битная, и целочисленная арифметика тоже, хотя, конечно, физическая шина адреса могла иметь разную ширину. Первоначальный вариант - 24-битная. АЛУ в первых версиях было 16-битным, так что 32-битная арифметика просто считалась за несколько тактов.

Цитата: mnashe от января 10, 2018, 23:35
С аппаратными переключениями?
Да, режим пользователя и супервизора - изначально с первой версии (68000). Виртуальная память стала более-менее нормальным образом возможна со второй версии при помощи внешних блоков (68010), штатного опционального сопроцессора (68020), позже (68030) блок виртуальной памяти включили в состав процессора.

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

Цитата: mnashe от января 10, 2018, 23:35
Так скорость-то тогда была какая! Память очень дорого стоила, а графические системы её очень много жрут.
Разве я что-то говорил об именно графических оболочках общего назначения? Просто многозадачность и возможность многопользовательской организации (да хотя бы вот для запуска недоверенных бинарников под отдельным пользователем) уже даёт радикально иное отношение (и у пользователей, и у программистов, в т.ч. любителей из "народа") к дисциплине и безопасности по сравнению с "вольницей" под ДОС, и, например, вряд ли получился бы такой разгул вирусов, какой получился под ДОС и Виндовс. А графические игрушки или специализированные приложения были таки очень давно, даже на слабеньких компах с малым количеством памяти - конечно, и графика была соответствующая, но тем не менее.

Цитата: mnashe от января 10, 2018, 23:35
Ты о чём? Что такое более простой язык ассемблера?
В моём понимании - более красивый, логичный, гибкий, универсальный. Ну т.е. чтобы как можно меньше было всяких неочевидных хитростей (обусловленных какими-то неведомыми программисту и не должными вообще-то его трогать внутренними заморочками разработчиков процессора) и ограничений в использовании инструкций.

Цитата: mnashe от января 10, 2018, 23:35
Когда я несколько лет назад познакомился с концепцией RISC (на примере семейств PIC16 прежде всего), у меня был сильный разрыв шаблона. Как же так — всего 35 команд, даже нет условных переходов (только условный пропуск следующей команды, и то всего по паре условий), и это преподносится как преимущество!
Конечно, запомнить 35 команд быстрее, чем сотню, но программировать-то не быстрее!
У AVR ассемблер уже гораздо более развитый, хотя при этом он тоже RISC.
Красота и логичность (а значит, и простота с точки зрения программиста) может быть получена как на CISC, так и на RISC наборах инструкций. В случае RISC, скажем так, просто, пожалуй, несколько меньше возможностей сделать чудище-страшилище. Но и CISC набор можно сделать красивым. По сути, между ними в этом случае не так много разницы, можно их считать разными способами записи одного и того же. А вот урезанные наборы с "хитростями" - совсем другое дело.
Насчёт того, что программировать RISC не быстрее - это, опять же, вопрос записи. Там обычно побольше регистров - соотв. имеет большой смысл для удобства записи временно присваивать осмысленные имена регистрам в соответствии с тем, какие переменные в них в это время хранятся. Активнее использовать макросы для всякого рода типовых рутинных действий. Т.е. при RISC в норме ассемблер должен брать на себя больше технической работы - и если это в нём реализовано в необходимой мере, то, наоборот, программирование на нём должно становиться ближе к программированию на языках "среднего уровня". А вот придать при помощи ассемблера "человеческое лицо" неполным, урезанным CISC наборам вроде того же x86 - практически неразрешимая задача, пока ассемблер вообще остаётся ассемблером. Собственно, там, с одной стороны, всё равно потеряна прямая связь между ассемблерными названиями и реальными кодами инструкций или их частями - но и, с другой стороны, достаточно универсальных макросов не сделать, ибо ограничения неполного набора инструкций, неуниверсальности почти всех регистров и прочие подобные "потроха" будут давать о себе знать на каждом шагу.

Цитата: mnashe от января 10, 2018, 23:35
А у 8051, который долгое время был промышленным стандартом, ассемблер лишь немногим уступает 8086 (точнее 8080). Вот он не RISC. Гораздо более привычный для меня. Писать на таком ассемблере намного проще.
Дык и 68к тоже не RISC, а совсем наоборот. Как раз представитель более традиционного подхода для удобства программирования вручную, с достаточно универсальными по способам адресации и ёмкими по выполняемой работе инструкциями.
Во́зле до́ма хо́лм с куля́ми - вы́йду на́ холм, ку́ль поставлю.
В славном городе Miami тётки мерялись ногтями, тик иң озын завсегда у Фиделя борода!

Тайльнемер

Говорить про «смесь цветов» и даже про «субтрактивное» и «аддитивное смешение цветов» некорректно.
Отсюда и противоречия вроде этого:
Цитата: Hellerick от января 11, 2018, 03:17
Смесью красного и зеленого является коричневый.
Цитата: Кассивелан от января 11, 2018, 00:37
Чёрный, проверено.   :smoke:

Toman

Цитата: Hellerick от января 11, 2018, 03:17
Для нас естественно является субтрактивное смешение. С аддитивной мы познакомились совсем недавно.
Художники и просто достаточно наблюдательные - довольно давно познакомились, просто, может быть, не очень последовательно. Смешанное освещение (от голубого или белого неба и от желтоватого солнца, от голубого неба и от оранжевого пламени), а также рефлексы от ярко окрашенных объектов были испокон веков. А художники, с некоторых пор (не столь давних, но всё-таки) должны такие особенности освещения изображать на своих картинах. Если будут сразу два предмета ярких цветов, и рефлексы от них на белую/нейтрально-серую поверхность пересекутся - привет, это вот оно самое и будет.

Цитата: Hellerick от января 11, 2018, 03:17
Смесью красного и зеленого является коричневый.
Строго говоря, в субтрактивном случае - непредсказуемо, зависит от конкретных спектральных реализаций красного и зелёного. Результат может быть и грязно-(тёмно-)красным, и грязно-(тёмно-)зелёным, и разными тёмными оттенками коричневого, оранжевого, оливкового, может даже, как ни странно, пурпурного/фиолетового, и вообще практически чёрным.
Во́зле до́ма хо́лм с куля́ми - вы́йду на́ холм, ку́ль поставлю.
В славном городе Miami тётки мерялись ногтями, тик иң озын завсегда у Фиделя борода!

Lodur

Цитата: Toman от января 11, 2018, 07:37Ну как же - на самом деле очень распространённое в те времена (и вплоть до практически вытеснения их ARMом уже в 2000-х) семейство - Моторола 68к, как можно было о нём не слышать? На них ведь делалось множество ПК, в т.ч. ранние Apple Macintosh, и на них же - классические юниксовые рабочие станции. Но всё это как-то сошло на нет - во многом, вероятно, из-за закрытости и взаимных несовместимостей разных конкретных компьютеров, по сравнению с IBM PC, который взял расширяемостью и распространением его совместимых клонов. Тогда как на базе 68к, может быть, просто никто не успел сделать чего-то подобного, способного стать "народным" в том же смысле, прежде, чем стало уже, фактически, поздно.

Современник 8086 и 8088? - ну, приблизительно. На несколько лет позже, конечно. Учитывая реальные годы применения в выпускавшихся ПК, разницей во времени появления можно было бы и пренебречь. Хотя, конечно, эта разница и могла быть одним из факторов, почему, собственно, на 68к не успели сделать "народного" компьютера. Но не сама по себе, а именно в сочетании с заморочками капитализма, провоцирующими к чрезмерной спешке - "лучше зафигачить явную техническую несуразицу, но сегодня, чем рисковать, что кто-то из конкурентов успеет сделать своё более красивое/совершенное решение". Может быть, не будь такой спешки, и сам Интел бы одумался и выдал бы таки какой-нибудь более-менее вменяемый проц, сравнимый по удобству и возможностям с 68к. Но нет - некогда думать, прыгать надо!
Что-то с памятью вашей стало. Ну, это ладно, но могли бы хоть погуглить. В Apple II стоял аж (!!!) 8-разрядный процессор MOS Technology 6502, ничем не лучше Intel-вского 8088. Они вышли раньше, чем IBM PС, но это и всё их преимущество. С выпуском новых моделей Apple не сильно торопилась. На полностью 32-разрядном Motorola 68020 Аpple сделала компьютер (Macintosh II) аж в 1987 году. Ну так в том же 1987 году вышли и IBM PS/2 Model 80 на полностью 32-разрядном Intel 80386DX. :donno:
8-й Девственник Лингвофорума

If the doors of perception were cleansed, everything would appear to man as it is: infinite. (W. Blake)
Какая потребителю разница, какой продукт лучше не работает?.. (Awwal12)

mnashe

Цитата: Валентин Н от января 11, 2018, 00:01
Красный с зелёным это не смесь, а чистый жёлтый цвет, жёлтый с синим это чистый зелёный
Какая каша у тебя получилась.
красный ∪ зелёный = жёлтыйжёлтый ∪ синий = белый
красный ∩ зелёный = коричневыйжёлтый ∩ синий = зелёный
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

zazsa

Да я ваще фшоке от писанины Томана. Из какого-то костыля для 20-разрядного адреса (который меня тоже бесил) сделать такие далекоидущие выводы :fp: Вон, в Синклере адресация экранной памяти через одно место сделано, но пока никто не додумался в этом винить капитализм.
Привет участникам международного лингвистического форума!
У всякого народа есть родина, но только у нас – Гондурас.
Переписываю историю. Разжигаю национальную, религиозную рознь и ненависть к социальным группам. Недорого.

_Swetlana

Цитата: zazsa от января 11, 2018, 07:07
Цитата: _Swetlana от января 10, 2018, 22:57
Просто люблю грузинский синематограф))

Вначале в жж нагуглила ваш пост про ЧГК, затем нашла список актёров сериала "Твой сын, Земля" и на каждого посмотрела, двигаясь от конца к началу. Перед Давидом, кстати, был актёр из фильма "Городок Анара", его я посмотрела 4 раза  ;D
Значит, сработала моя подсказка в имени картинки :) Но по этой фотографии я бы точно его не узнал.

Кстати, а сам сериал смотрели? Я так понял, что его больше одного раза по ЦТ показывали. Жаль, что нет в сети с переводом.
Нет, сериал не смотрела. Наверно, и без лозоходца можно было бы добраться до вашего жж. Если потратить некоторое количество времени  :)
🐇

Тайльнемер

Цитата: zazsa от января 11, 2018, 09:34
Вон, в Синклере адресация экранной памяти через одно место сделано
Щас придёт Кодер и побьёт вас за то, что вы посмели так охарактеризовать гениальную спектрумовскую адресацию экранной памяти  ;D

mnashe

Цитата: zazsa от января 11, 2018, 09:34
Вон, в Синклере адресация экранной памяти через одно место сделано, но пока никто не додумался в этом винить капитализм.
Не знаю что там в Синклере, но неуклюжая адресация экранной памяти снижает разве что скорость вывода на экран. Какую долю от программы занимают графические процедуры? Даже в игре, а тем более в обычных программах, а тем более в текстовых.
А идиотская система сегментации в 8086, где 32-битный указатель формирует всего лишь 20-битное адресное пространство, причём никакого расширения не предусмотрено вообще (пока не появился 80386, для расширения приходилось создавать внешние устройства вроде EMS), к тому же нет никакой специальной инструкции, позволяющей компактно хранить адрес в 20 битах и быстро загружать его в пару сегмент:смещение*, так что в подавляющем большинстве программ на указатель реально расходуется 32 бита драгоценной памяти** — эта идиотская система влияет на работу почти любой программы, делая большую часть кода более сложной и гораздо менее эффективной.


*Чтобы загрузить, к примеру, в пару ES:DI расположенный в памяти компактно (без перерасхода 60% памяти) 20-битный адрес, на 386-ом процессоре нужна, в зависимости от выравнивания тетрад по границе байта, последовательность типа
les DI,[mem_adr-1]
shr DI,12

или
mov EDI,[mem_adr]
ror EDI,4
mov ES,DI
shr EDI,28


На 8086 и 80286 всё ещё хуже, и не только по количеству команд и скорости, но ещё и единственный пригодный для циклов регистр приходится задействовать:
les DI,[mem_adr-1]
mov CL,12
shr DI,CL

или
mov DI,mem_adr
mov CL,4
shr DI,CL
mov CH,mem_adr+2
shl CH,CL
and CX,0F000h
or DI,CX
mov ES,DI
mov DI,mem_adr
and DI,000Fh

Неудивительно, что почти никто этим не заморачивался, и драгоценная память перерасходовалась зверски.

** Для примера — организация кучи в Turbo Pascal, Turbo C etc. Подозреваю, что такая система много где использовалась.
Указатель, фактически, 17-битный. Потому что базовое смещение в этом адресе может быть только 0 или 8. Но занимает этот адрес в памяти 32 бита! Почти двукратный перерасход.
Свободное пространство кучи связано начиная с адреса начала кучи таким образом: в первых 8 байтах каждого свободного фрагмента хранится 17-битный адрес следующего фрагмента (занимает, естественно, 32 бит) и 20-битный размер данного фрагмента (тоже 32 бит памяти).
Если бы память фрагментировали по 16 байт, а не по 8, то адрес в куче занимал бы 16 бит, а не 32. Но зато потерялась бы куча
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Toman

Цитата: Lodur от января 11, 2018, 09:26
В Apple II стоял аж (!!!) 8-разрядный процессор MOS Technology 6502, ничем не лучше Intel-вского 8088. Они вышли раньше, чем IBM PС, но это и всё их преимущество.
Так это ж был конкурент всяческим 8080, Z80 и своему "старшему брату" 6800. Которые все с 16-битной адресацией и соотв. ограничением 64 кб. По сравнению с ними он был, очевидно, как раз совсем не первым и даже не вторым. Зато дёшево и весьма популярно в бюджетных машинках. Но это таки из области первого поколения ПК. Что же касается того, что можно было погуглить - так я и погуглил, ибо собственно про компы тех времён и их названия конкретики никогда и не знал (для меня 68к известна в основном как одна из древних архитектур, на которых умеет Линукс, и которая в линуксах появилась потому, что разнообразных компов на ней в своё время таки было изготовлено изрядное количество). И потому написал:
Цитата: Toman от января 11, 2018, 07:37
в т.ч. ранние Apple Macintosh
а не "просто Apple".

А вот и 8086/8088, и 68000 были таки очередным шагом вперёд для тех, кому мало 64 кб. Интел шагнул, да, таки раньше, но породил аццкое чудище, у которого единственное преимущество - возможный мегабайт памяти, а всё остальное - страх и ужас. Типа "ну ладно, держите этот чёртов мегабайт, подавитесь!" Моторола же на этом очередном шаге сразу сделала процессор с защищённым режимом и плоской адресацией памяти, с физически доступными 16 Мб, пригодный для запуска приличных многозадачных систем, включая юникс-подобные. Единственный серьёзный прокол - невозможность на этих первых версиях нормальной реализации страничной виртуальной памяти без более или менее грязных хаков из-за несохранения полного состояния процессора при страничном промахе - но на 8088-то об этом вообще и близко речи нет, хоть с хаками, хоть без - и вообще ни о какой многозадачности.

Следующим шагом Интел выдаёт 286 опять в том же стиле "ну ладно, держите этот пресловутый защищённый режим и возможность работать с несколькими Мб памяти, подавитесь!" Адресное пространство таки да, увеличилось, но по-прежнему нарублено сегментами (и абсолютно несовместимо с реальным режимом при этом), так что нормальные многозадачные системы если и можно реализовать, то они выйдут сами на себя непохожими и неудобными. Моторола же следующим шагом исправляет свой промах, получает возможность иметь полноценную виртуальную память, что позволяет крутить многозадачные системы уже совсем по-взрослому, и приходит к полноценной 32-битности внутри и снаружи.

Цитата: Lodur от января 11, 2018, 09:26
С выпуском новых моделей Apple не сильно торопилась.
Ну это их личное эппловское дело, торопились они или нет. На них же свет клином не сошёлся, я ж не о них, а о процессорах.

Цитата: Lodur от января 11, 2018, 09:26
На полностью 32-разрядном Motorola 68020 Аpple сделала компьютер (Macintosh II) аж в 1987 году. Ну так в том же 1987 году вышли и IBM PS/2 Model 80 на полностью 32-разрядном Intel 80386DX. :donno:
Во-во. В том же году... Только в первом случае - просто вот 32-разрядный процессор, который просто делает свою работу. Во втором случае - девайс, который стартует в обратно-совместимом 16-битном "реальном режиме", через который нужно проломиться и организовать определённый набор структур в памяти только для того, чтобы включить, собственно 32-разрядный многозадачный режим (но, да, в подавляющем большинстве случаев девайс так и крутится в основном в том реальном режиме, и если ходить в защищённый, то это надо ещё и всё время переключаться туда-сюда - 87 год же ещё!), в котором и в новой версии защищённого режима, несмотря на наличие страничной системы, всё равно вычисление адреса происходит при посредстве лишней ступени - пресловутых сегментов, требующих для себя организации соответствующих структур в памяти, и оставленных просто так, потому что они были на прошлых версиях. Ну да, нормальные пацаны наконец получили возможность просто записать нули в соответствующие места и выставить соответствующие биты доступа, и как бы забить на то, что есть какие-то там сегменты - но таки и этим надо париться и держать в голове просто потому что вот так. А соответствующая куча регистров и оборудования для хранения дескрипторов сегментов и вычисления линейных адресов фактически болтается впустую.

Ну и да, сколько в те времена, в середине 80-х, памяти-то обычно ставилось на компах у обычных простых людей, чтоб так уж налегать на "полностью 32-разрядность" против "не полностью" (читай, 24-разрядный адрес снаружи)?

Цитата: zazsa от января 11, 2018, 09:34
Из какого-то костыля для 20-разрядного адреса (который меня тоже бесил) сделать такие далекоидущие выводы :fp: Вон, в Синклере адресация экранной памяти через одно место сделано, но пока никто не додумался в этом винить капитализм.
Однако ж, на этих "костылях" в некоторой степени до сих пор работают наши десктопные компьютеры и серверы, и для старта системы всё равно приходится через это продираться, и сегментные регистры в принципе и поныне существуют, даже в x86_64, хоть и используются специфическим образом. И система команд, по сути, вся в том же духе.

Цитата: mnashe от января 11, 2018, 12:36
так что в подавляющем большинстве программ на указатель реально расходуется 32 бита драгоценной памяти
Ну, указатель-то как раз и должен был быть 32-битным - как раз на будущее, для того, чтоб было куда плавно расширяться с увеличением количества доступной памяти. Так что это-то ладно, засада в том, что из такого двукратного роста объёма указателя получается лишь жалкие 4 дополнительных бита. И ещё засада в том, что когда нужно сравнить два указателя на равенство или посчитать расстояние между ними, нужно либо проверять, что они с одинаковыми сегментами (или по логике прогаммы гарантировать, что они будут именно строго в одном сегменте), либо честно считать всё это в несколько действий. Что, собственно, порождает всякий напряг и специальные префиксы на эту тему, поневоле вылазящие аж в языки "среднего уровня" вроде Си/Паскаля. Как будто вылез какой-то "динозавр" чуть ли не из начала 60-х.
Во́зле до́ма хо́лм с куля́ми - вы́йду на́ холм, ку́ль поставлю.
В славном городе Miami тётки мерялись ногтями, тик иң озын завсегда у Фиделя борода!

mnashe

Когда памяти доступно много и указатели 32-битные — нет проблем.
Но когда доступное адресное пространство расширили всего в 16 раз (на 25% удлинили физический адрес), а плата за это — двукратное увеличение расхода памяти на указатель, — это ни в какие рамки не лезет.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Тайльнемер

Цитата: mnashe от января 11, 2018, 12:36
Не знаю что там в Синклере, но неуклюжая адресация экранной памяти снижает разве что скорость вывода на экран.
Если интересно, там вот что:

mnashe

Цитата: Тайльнемер от января 11, 2018, 18:27
Если интересно, там вот что:
Интересно, спасибо!

Цитата: Тайльнемер от января 11, 2018, 18:27
Что мне не нравится, это то, что вместо полноценных 16 цветов (по 2 цвета на знакоместо) сделали 8 независимых цветов и «яркость» общую на всё знакоместо. Вся эта петрушка из-за того, чтобы один бит из байта атрибутов выделить под мигание. Мигание используется, например, для тестового курсора. Обычно мигающих знакомест на экране ноль или одно (ну в крайнем случае два). Этим миганием курсора можно было бы с лёгкостью заниматься в прерываниях. Выделять по биту на каждое знакоместо для какого-то мигания, заодно создавая лишние проблемы с цветами — это выглядит очень неразумно.
В CGA по умолчанию ровно то же самое: 3 бита на цвет символа, бит яркости символа, 3 бита на цвет фона, бит мигания символа.
Но там можно изменить назначение этого седьмого бита атрибута, просто сбросив переключатель (5-й бит порта 3D8).
В EGA и VGA такой переключатель, конечно, тоже есть.
Я в своей программе, естественно, в процессе инициализации отключаю мигание.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!