Comments 20
Ссылки [1] и [2] в статье не раскрыты (или я не нашёл).
Upd. Надеюсь (не флейма ради), что фраза про запутанность Big Endian (vs Little Endian) относится лишь к конкретному случаю обозначений индексов.
В первой статье указал источники, дальше не повторял.
Речь про неоднозначность обозначений разрядов внутри машины: архитектура обозначает старший бит как 0, а младший -- 7, 15, 31... в зависимости от разрядности величины; регистры внутри процессора тоже нумеруются в таком (архитектурном) порядке -- но перенос из предыдущего (младшего) разряда обозначается индексом i-1, хотя номер этого разряда будет больше, а не меньше, т.е. следовало бы обозначить его i+1.
Но, замечу, тут не очень корректно говорить о big/little endian, так как под этим практически всегда понимают порядок следования байтов в памяти, а не номеров битов в байте/слове.
Но, замечу, тут не очень корректно говорить о big/little endian, так как под этим практически всегда понимают порядок следования байтов в памяти, а не номеров битов в байте/слове.
В исходном документе, где ввели эти термины, говорят про оба, например:
The Little-Endians assign B0 to the LSB of the words and B31 is the MSB. The Big-Endians do just the opposite, B0 is the MSB and B31 is the LSB.
И особенно по поводу типовой странности нумерации (которую как раз не поддерживает IBM, практически как исключение, и, неожиданно, IETF в своих основных стандартах):
Don't let the B0-to-B31 direction fool you!! Most computers were designed by Big-Endians, who under the threat of criminal prosecution pretended to be Little-Endians, rather than seeking exile in Blefuscu. They did it by using the B0-to-B31 convention of the Little-Endians, while keeping the Big-Endians' conventions for bytes and words.
У IETF это можно увидеть, например, в RFC791 (IPv4), где чётко нумерация битов 0=MSB.
Дык в исходных документах много что по-другому, а не так, как сейчас понимается. Кстати говоря, такая нумерация (0=MSB) лично мне совершенно никогда не нравилась (в отличие от порядка байтов в памяти, где мне всегда было всё равно). По мне, намного удобнее, когда 0 -- младший бит, тогда номер бита автоматически является степенью двойки для этого бита.
Я видел источники со всеми 4 вариантами нумерации битов, так что вопрос просто в привычке;)
Хотя стиль IBM, где надо думать, как именно понимается регистр в данном конкретном случае - 32- или 64-битный - неудобен именно этим сдвигом. Написано "биты 0-3" и сиди ищи контекст...
0=LSB действительно принят ну почти всеми даже в BE мире. IBM и IETF исключения. Вполне вероятно, что мотивация такая же, как у вас (и у авторов той доки по 1030)...
Вроде б, в HP21xx (что у нас содрали и в АСВТ, и в виде СМ-1, СМ-2) тоже 0 -- старший бит, но голову на отсечение не дам...
В HP2100A бит 0 младший, бит 15 старший, вот дока: http://bitsavers.org/pdf/hp/21xx/02100-90001_2100refManDec71.pdf
Возможно, это как раз разработчики СМ-1 и СМ-2 использовали привычную им нумерацию начиная со старшего бита.
Курс для попаданца, но работать на машинах серии ЕС скучно, вечно что-то ломалось, требовательна к температурному режиму и рынок труда в этом плане был ограничен.
Веселье можно было себе обеспечить где угодно :) а выбора толком и не было.
"Ломалось" зависело от конкретной установки. В Киевском Нефтехиме 1040 работала как швейцарские часы, а 1055 никогда не могли запустить дольше чем на полчаса, обычно до первого сбоя проходило минут 5:( Ценовская 1022 зависела непонятно от чего, но в (насколько помню) ≈⅔ дней работала нормально, в остальные от получаса до 2 часов до зависа.
Когда году в 85-м пришла на кафедру настольная Электроника-85 (клон PDP-11) с 512K памяти, стало ясно, что эпоха ЕСок окончательно ушла в закат.
Замечу -- именно ЕСок, а не мэйнфреймов как таковых: просто они и СМки/персоналки -- под разные задачи. Но, опять-таки, под занавес Союза минчане выкатили ЕС-1130 -- очень надёжную и быструю машину, к тому что достаточно малогабаритную (проц, каналы и 16 Мбайт памяти по объёму... ну, примерно половина стандартной стойки, там конструктив был уже не традиционный стоечный).
"а 1055 никогда не могли запустить дольше чем на полчаса, обычно до первого сбоя проходило минут 5"
Странно, 1055 (как и 1040) немецкая машина, у нас работала без единого сбоя (но медленная).
В статуправлении "электронный мальчик" залазил в шкаф процессора ЕС-1022 как фиксик и что-то там пропаивал.
Дела давно минувших дней. Эх... Моих знакомых СПЕЦОВ, кто занимался запуском и ТО этих машин уже нет...
А я типа программировать на Паскале и ассемблере (System/360) на них учился. До сих пор свой пароль в СВМ помню :)
Если не считать вечного "ГУУ: нет ресурса", у нас ломалось только АЦПУ постоянно.
у нас ломалось только АЦПУ постоянно.
а как же : "...пройтись киянкой по ТЭЗам ?...", или байка?)
В первые месяцы "выгорали" дребезжащие ТЭЗы, потом полёт нормальный (кроме задранных дисков).
Сильно зависело от машины. Как писал ещё в комментам к прошлому циклу, у нас было две ЕС-1035: простая и "военная", она же "золотая". У простой (с "оловянными" разъёмами) сбои были постоянно; чинилось пинками по рамам процессора -- но ненадолго. У "золотой" таких проблем не было вообще, лишь память дохла со скоростью примерно микросхема (К565РУ1) в месяц. Но, поскольку там уже код Хэмминга был, подыхание одной микросхемы не приводило к немедленной неработоспособности: текущие задачи досчитывали, после чего прогоняли тесты, находили и перепаивали подохшую микросхему, ну и опять запускались в работу.
Вот с дисками беда была вечной: требовали постоянного обслуживания и всё такое прочее. Но, поскольку в сумме было 16 29-Мбайтных ЕС-5061 и 16 же 7,25-Мбайтных (вперемешку ЕС-5056 и ЕС-5052 -- они остались от ЕС-1022), на вычислительном процессе сказывалось очень редко: просто пара дисков были на техобслуживании, а работали на остальных, и так по кругу.
Печать... Ну, бывало, что ломалось, но редко, плюс их четырех штуки было, что тоже устраняло простои по этой причине.
лишь память дохла со скоростью примерно микросхема (К565РУ1) в месяц
О, я ещё школьником был и это был мой первый урок по демонтажу многоножек. Повезло наблюдать полный процесс как машина встала, тест выдал на АЦПУ портянку по которой инженер вытащил ТЭЗ и заменил РУ1 отломав сначала у неё ножки специально изогнутой стальной проволокой, а дальше уже легко выпаивая по одной.
На вопрос о причинах, ответил, что скорее всего что то по питающей сети прилетело.
откуда у студентов ВМК киянка?
наверняка, это байка происходит из более инженерных ВУЗов :)
Процессор ЭВМ ЕС-1030. Арифметико-логический блок