Re[9]: Несколько замечаний об истории советской информатики
От: alpha21264 СССР  
Дата: 09.06.14 11:06
Оценка:
Здравствуйте, elmal, Вы писали:

E>Про дополнительные регистры. 2 то их два. Но это не просто регистры, это специализированные регистры для поддержки дополнительного способа адресации.

E>Там система команд расширена очень значительно, в результате код на z80 часто довольно значительно компактнее кода на i8080. А в условиях охрененно ограниченной и дорогой памяти это было важно.

Это всё интересно, но к советской информатике это уже не имеет отношения.

Течёт вода Кубань-реки куда велят большевики.
Re[2]: Несколько замечаний об истории советской информатики
От: Michael7 Россия  
Дата: 09.06.14 11:07
Оценка: +1
Здравствуйте, bastrakov, Вы писали:

B>про "клише" так и не понял, но хочу кинуть пару камней.

B>1) то, что кибернетика была лженаукой, уже нельзя вычеркнуть из истории. и это сильный тормозной фактор развития.

А в чем тут проявился тормоз в создании ЭВМ или как их называли тогда ЭСМ?
Вот сколько не смотрю на историю появления разных там первых МЭСМ и прочих, вижу что МЭСМ начала разрабатываться в 1948-м (!!!) году, не намного-то и позже США и никто разработки такого рода не тормозил ни тогда, ни в 50-х. Как раз в 60-х пошла идея, что нам проще слямзить на Западе, чем своё развивать.
Re[9]: Несколько замечаний об истории советской информатики
От: eskimo82  
Дата: 09.06.14 11:11
Оценка:
E>Их там не несколько штук, а несколько десятков штук. А на деле — чуть ли не в 2 раза больше.
Эти команды — манипуляция с битами и с дополнительными регистрами, без них вполне себе жить можно, а при надобности и пропатчить эти места при загрузке (но это уже потом стало широко использоваться). Про адресацию я не вспомнил — да.
E>Теневая страница регистров используется софтом вовсю, ибо когда каждый такт на счету, никто не будет отказываться от дополнительных регистров. И даже если не используется.
Теневая страница регистров была придумана разработчиками Z80 исключительно для того чтобы не сохранять и стейт регистров при системных вызовах и востанавливать его потом назад. Прикладной програме туда нельзя было, так что это ничего не меняет.

E>Там есть команды относительного перехода относительно текущего счетчика команд. на +-128 байт, сама команда двухбайтовая. В z80 очень активно используется. Если что, в i8080 ничего такого нет, переход там всегда 3 байта занимает (если не считать команду программного прерывания RST), и одной этой новой команды достаточно чтоб ни черта не работало.

В i8080 команды перехода — относительные, относительно PC — нынешний короткий джамп на x86 со знаковым 16 битным смещением, это он и есть.

E>Использовалось это все активно, и это позволяло не только экономить память, но и писать программы, которые сразу же штатно работают загруженными по любому адресу памяти, без всяких таблиц трансляции адресов.

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

E>Про дополнительные регистры. 2 то их два. Но это не просто регистры, это специализированные регистры для поддержки дополнительного способа адресации.

E>Там система команд расширена очень значительно, в результате код на z80 часто довольно значительно компактнее кода на i8080. А в условиях охрененно ограниченной и дорогой памяти это было важно.
Ну ты сам посмотри — дополнительных команд только работы с двумя доп регистрами, манипуляции с битами, и, еще что-то по мелочи и всё.
Re[10]: Несколько замечаний об истории советской информатики
От: eskimo82  
Дата: 09.06.14 11:16
Оценка:
E>В i8080 команды перехода — относительные, относительно PC — нынешний короткий джамп на x86 со знаковым 16 битным смещением, это он и есть.
Так, это я кажется наврал, опкод у x86 другой.
Re[10]: Несколько замечаний об истории советской информатики
От: elmal  
Дата: 09.06.14 11:26
Оценка:
Здравствуйте, eskimo82, Вы писали:

E>Ну ты сам посмотри — дополнительных команд только работы с двумя доп регистрами, манипуляции с битами, и, еще что-то по мелочи и всё.

Это ни хрена не мелочи. Манипуляции с битами очень активно используются на практике. Это не современные компы, когда можно фигачить различный код в зависимости от того, поддерживаются ли определенные команды или нет. А в то время память была ограничен, каждый байтик был на счету, потому пользовались всеми возможностями, и затачивали под конкретный процессор. И писали сразу на асме.
Re[11]: Несколько замечаний об истории советской информатики
От: eskimo82  
Дата: 09.06.14 11:42
Оценка:
E>Это ни хрена не мелочи. Манипуляции с битами очень активно используются на практике. Это не современные компы, когда можно фигачить различный код в зависимости от того, поддерживаются ли определенные команды или нет. А в то время память была ограничен, каждый байтик был на счету, потому пользовались всеми возможностями, и затачивали под конкретный процессор. И писали сразу на асме.
В своё время я писал для Океана240 (там как раз KP580BM80A) и кое что перепаивал. Но по прежнему и до сих пор считаю, что персональные команды для манипуляции с одиночными битами не нужны.
Re[10]: Несколько замечаний об истории советской информатики
От: elmal  
Дата: 09.06.14 11:45
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Это всё интересно, но к советской информатике это уже не имеет отношения.

Это все к тому, что массовая советская информатика для простых людей — это клоны pdp11 и intel8080. А самая массовая — это были вообще программируемые калькуляторы, да и те хрен купишь. И если в буржундиях массово это все появилось в начале 80-х годов, то в СССР начало что то двигаться в начале 90-х.

Какие то отдельные разработки, заслуживающие внимания — да, были. Но именно компьютерной революции СССР не застал вообще, это случилось уже в России.
Re[8]: Несколько замечаний об истории советской информатики
От: qwertyuiop Российская Империя  
Дата: 09.06.14 11:52
Оценка:
Здравствуйте, eskimo82, Вы писали:

Q>>Z80 хотя и сделан на основе 8080, но система команд у него совершенно другая. Не говоря уже о таких "мелочах", как одно питание вместо трех. Поэтому нельзя говорить о том, что аналог Z80 — KP580BM80A.


E>Питание — совершенно не при чем, хоть трехфазное — софту пофигу.


Это означает, что его нельзя назвать аналогом. Аналог — это когда впаиваешь его вместо оригинала и он работает точно так же. Так вот аналог KP580BM80A — это 8080, а Z80 — это совершенно другой процессор.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re[9]: Сравнение опкодов Z80 vs i8080 (KP580BM80A)
От: qwertyuiop Российская Империя  
Дата: 09.06.14 11:54
Оценка:
Здравствуйте, eskimo82, Вы писали:

Q>>>Z80 хотя и сделан на основе 8080, но система команд у него совершенно другая.

E>Даже книжку откапывать не пришлось, вот сравнительная таблица — система команд одинаковая, но расширеная. Дополнительные команды — это все-то манипуляция с дополнительными регистрами и тесты битов.

Значит меня сбили с толку мнемоники — они другие, поэтому я думал что и система команд другая.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re[5]: Несколько замечаний об истории советской информатики
От: qwertyuiop Российская Империя  
Дата: 09.06.14 12:01
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Ну вообще-то я имел в виду твоё мнение по поводу курса рубля и рыночной экономики.


А по этому поводу тебе лучше вообще скромно помалкивать.

Q>>А что не так с лженаукой кибернетикой? Это Гайдар придумал? А я помню, что слышал об этом еще в школе.


A>Да, это Гайдар придумал.

A>Вот в этом ты весь. Вопиющая безграмотность. Ты бы хоть Википедидию почитал.

Альфа, пойми наконец, что мне не надо читать википедию потому что я тогда жил и читал о том, что цифровая электроника долгое время не развивалась (читай: не копировалась) как раз из-за того, что некоторые умники объявили кибернетику буржуазной лженаукой. И спорить можно лишь о том правда ли там писалась или нет, но это писалось в советских журналах 70-х годов, я это читал лично! А дыма без огня, как известно, не бывает.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re[12]: Несколько замечаний об истории советской информатики
От: elmal  
Дата: 09.06.14 12:03
Оценка:
Здравствуйте, eskimo82, Вы писали:

E>В своё время я писал для Океана240 (там как раз KP580BM80A) и кое что перепаивал. Но по прежнему и до сих пор считаю, что персональные команды для манипуляции с одиночными битами не нужны.

Это сейчас они не нужны. А тогда они были нужны и еще как:
1) Для вывода чего то на экран
2) В условиях ограничений памяти, когда каждый байт на счету, в один байт упаковывали достаточно много флагов сразу. Сейчас уже такими техниками не пользуются.

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

Не следует то время сравнивать с текущим. Сейчас на ассемблере практически никто не пишет. Уже даже на GPU на плюсах программируют. И у каждого GPU под 1000 процессоров, с частотой под гигагерц, гигабайты памяти доступны, и инструкции таковы, что даже синусы косинусы вычисляются аппаратно практически за такт. А тогда даже целочисленное умножение считалось крайне дорогой операцией, приходилось подпрограммы писать для этого дела.
Re[13]: Несколько замечаний об истории советской информатики
От: eskimo82  
Дата: 09.06.14 12:57
Оценка:
E>>В своё время я писал для Океана240 (там как раз KP580BM80A) и кое что перепаивал. Но по прежнему и до сих пор считаю, что персональные команды для манипуляции с одиночными битами не нужны.
E>Это сейчас они не нужны. А тогда они были нужны и еще как:
E>1) Для вывода чего то на экран
E>2) В условиях ограничений памяти, когда каждый байт на счету, в один байт упаковывали достаточно много флагов сразу.
Много битовых флагов в одном байте или слове разруливаются другими техниками. А персональные команды работы с одиночными битами — это мрачные отголоски CISC подхода, который слава богу, уже помер.
История уже поставила все точки на i.

E>Сейчас уже такими техниками не пользуются.

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

E>Ну занимает булев флаг порядка 50 байт, да и черт с ним, памяти достаточно. Нужно битовый массив — так и хреначим массив объектов, которые являются оберткой над целочисленным типом. А тогда даже байт на булев флаг считалось крайним расточительством. Потому упаковывали все как только можно. А тогда было хреново одновременно и с объемом памяти, и со скоростью процессора. Потому на вот такие дополнительные команды молились, ибо они значительно ускоряли работу и делали программу более компактной, а значит можно было больше данных в памяти уместить.

Мне не надо напомнинать про 32К памяти — я все прекрасно помню. CISC подход наоборот увеличивает размер программы. Сравните код x86 и ARM32, будете удивлены.

E>Не следует то время сравнивать с текущим. Сейчас на ассемблере практически никто не пишет.

Пишут и очень много, но не везде, а там где требуется. Во всяких embedded — еще как пишут.

E>Уже даже на GPU на плюсах программируют.

На расширеном подмножестве С, если быть точным. У GPU нет стека (вообще нет) поэтому там не очень традиционный подход.

E>И у каждого GPU под 1000 процессоров, с частотой под гигагерц, гигабайты памяти доступны, и инструкции таковы, что даже синусы косинусы вычисляются аппаратно практически за такт.

Это все немного не так, но да ладно.

E>А тогда даже целочисленное умножение считалось крайне дорогой операцией, приходилось подпрограммы писать для этого дела.

Целочисленое умножение — не самая медленая операция, есть еще и деление. Ну а подпрограммы писались потому что соответсвующая команда целочисленого умножения отсутсвовала. Сейчас, кстати, тоже пишут подпрограммы для целочисленого умножения и деления для типов большей разрядности чем может обрабатывать CPU, так что ничего особо не поменялось.
Re[2]: Несколько замечаний об истории советской информатики
От: Privalov  
Дата: 09.06.14 13:10
Оценка:
Здравствуйте, bastrakov, Вы писали:

B>1) то, что кибернетика была объявлена лженаукой, уже нельзя вычеркнуть из истории. и это сильный тормозной фактор развития.


Fixed
Re[3]: Несколько замечаний об истории советской информатики
От: Privalov  
Дата: 09.06.14 13:16
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>При этом Непейвода сообщает. что наши были у Цузе и кое-что у него явно слямзили...

LVV>Как-то это не очень стыкуется с объявлением кибернетики лженаукой.

Тем не менее, статья такая была в БСЭ 50-х годов. Сам читал. К сожалению, сейчас доступа к той энциклопедии у меня нет, не могу привести точные координаты статьи. Возможно, ее объявили лженаукой для масс, а в узких кругах понимали все значение работ Тьюринга и других.
Re[14]: Несколько замечаний об истории советской информатики
От: elmal  
Дата: 09.06.14 13:24
Оценка:
Здравствуйте, eskimo82, Вы писали:

E>Много битовых флагов в одном байте или слове разруливаются другими техниками. А персональные команды работы с одиночными битами — это мрачные отголоски CISC подхода, который слава богу, уже помер.

E>История уже поставила все точки на i.
Вот только что intel8080, что z80 — это все вполне себе CISC. Про x86, который снаружи живее всех живых даже говорить смысла нет — там сейчас сверхсложная система команд снаружи, хоть и RISC внутри, уже вообще без поллитра не разобраться. Как то массовых производительных RISC процессоров сейчас не ахти. Рулят то немеряно в плане энергоэффективности, но в плане скорости все пока слабо. И что то я не наблюдаю перспектив смерти x86. Может быть Apple то и перейдет с интела на RISC, вроде планы есть у них, да и опыт перехода имеется. Майкрософт попыталась, и пока не получается у нее, RT планшеты не очень покупают, предпочитают атомы а не АРМ. Но пока x86 архитектура не загибается, лет 5-10 еще точно протянет.

E>Мне не надо напомнинать про 32К памяти — я все прекрасно помню. CISC подход наоборот увеличивает размер программы. Сравните код x86 и ARM32, будете удивлены.

Ха, x86. Так это минимум 16 битный процессор, а сейчас уже 64 битные. И для скорости там выравнивание применяют по границу слова (а для 64 бит и двойного слова кажись), что расточительно черти как. Естественно, что при такой битности сейчас RISC рулит, ибо декодирование команд тривиально. Вот только в 80-е годы процессоры были 8 и 16 битными. 8 битный RISC сделать весьма проблематично, слишком мало команд в 8 бит влезет, а 16 бит на команду расточительно. А вот 16 битные RISC были, тот же PDP-11. Ну и как с размером программ на БК-0010? Тот же z80 это все рвет как тузик грелку, несмотря на 8 битность.
Re[15]: Несколько замечаний об истории советской информатики
От: eskimo82  
Дата: 09.06.14 13:48
Оценка:
E>>Много битовых флагов в одном байте или слове разруливаются другими техниками. А персональные команды работы с одиночными битами — это мрачные отголоски CISC подхода, который слава богу, уже помер.
E>>История уже поставила все точки на i.
E>Вот только что intel8080, что z80 — это все вполне себе CISC. Про x86, который снаружи живее всех живых даже говорить смысла нет — там сейчас сверхсложная система команд снаружи, хоть и RISC внутри, уже вообще без поллитра не разобраться. Как то массовых производительных RISC процессоров сейчас не ахти. Рулят то немеряно в плане энергоэффективности, но в плане скорости все пока слабо. И что то я не наблюдаю перспектив смерти x86.
При чём здесь смерть x86 ? Речь идет о том что CISC в процессе эволюции CPU была отвергнута и похоронена. И даже Intel со своей x86 перешел на RISC микроядро транслируя CISC команды x86 в RISC подрограммы.

Но пока x86 архитектура не загибается, лет 5-10 еще точно протянет.
E>Она внутри RISC уже давно. Аппаратный транслятор там для совместимости.

E>>Мне не надо напомнинать про 32К памяти — я все прекрасно помню. CISC подход наоборот увеличивает размер программы. Сравните код x86 и ARM32, будете удивлены.

E>Ха, x86. Так это минимум 16 битный процессор, а сейчас уже 64 битные.
Я имел ввиду 32 битный x86 (а он опкодами от 16 битового не отличается, кстати).

E>И для скорости там выравнивание применяют по границу слова (а для 64 бит и двойного слова кажись), что расточительно черти как. Естественно, что при такой битности сейчас RISC рулит, ибо декодирование команд тривиально.

Код x86 не выравнивается ни по каким границам.

E>Вот только в 80-е годы процессоры были 8 и 16 битными. 8 битный RISC сделать весьма проблематично, слишком мало команд в 8 бит влезет, а 16 бит на команду расточительно.

1) Z80 и i8080 — это 16 битовые процессоры. 2) RISC набор команд как раз в 8бит влезает. Reduced Instruction Set вообще то по определению.

E>А вот 16 битные RISC были, тот же PDP-11.

WTF ?

E>Ну и как с размером программ на БК-0010? Тот же z80 это все рвет как тузик грелку, несмотря на 8 битность.

БК-0010 была основана на К1810ВМ86/К1810ВМ88 — это аналоги i8086/i8088, натуральный CISC. Ты о чем спросить то хотел ?
Re[16]: Несколько замечаний об истории советской информатики
От: eskimo82  
Дата: 09.06.14 13:55
Оценка:
E>1) Z80 и i8080 — это 16 битовые процессоры.
Это я опять сморозил в пылу.
Re[16]: Несколько замечаний об истории советской информатики
От: eskimo82  
Дата: 09.06.14 14:00
Оценка:
E>>Ну и как с размером программ на БК-0010? Тот же z80 это все рвет как тузик грелку, несмотря на 8 битность.
E>БК-0010 была основана на К1810ВМ86/К1810ВМ88 — это аналоги i8086/i8088, натуральный CISC. Ты о чем спросить то хотел ?

Да ежшкин код, чтож такое. Все нафиг перепутал. Ну да другая там не x86 микросхема была, совместима с PDP-11. Но PDP-11 ни разу не RISC.
Re[17]: Несколько замечаний об истории советской информатики
От: Privalov  
Дата: 09.06.14 14:17
Оценка:
Здравствуйте, eskimo82, Вы писали:

E>>1) Z80 и i8080 — это 16 битовые процессоры.

E>Это я опять сморозил в пылу.

Это потому, что там регистры в пары можно было объединять. Или я наврал?
Re[18]: Несколько замечаний об истории советской информатики
От: eskimo82  
Дата: 09.06.14 14:27
Оценка:
P>Это потому, что там регистры в пары можно было объединять. Или я наврал?
Ну да можно, но сама шина 8 битовая.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.