Слово «физически» тобой правильно понято? Повторюсь.
И нужно еще помнить, что 50-е и 60-е термином «регистры» в принципе могли называть ячейки RAM, так, например называются ячейки памяти на ферритовых сердечниках в документации IBM-704 и поэтому вероятно в те годы ни у кого в принципе не вызывало претензий к терминологии
По моему мнению, ячейки памяти (в смысле ячейки ОЗУ) по смыслу не считались регистрами (в смысле регистрами процессора). В тексте применен термин «registers», означающий по смыслу также «ячейки памяти», «записи». Чего ты, видимо, не знал, не понял и не учел.
Второй мой тезис такой — в генеральном смысле регистр (в смысле регистр процессора) является ячейкой памяти (но не ОЗУ) и это действительно, может утверждаться в общем смысле.
Я тебе это пояснил, на что ты мне снова выдаёшь:
Вопрос когда чётко стали отличать память от регистров и по каким причинам, ведь видно что IBM в документации по IBM-704 от 1955 года использовала не в современном устоявшемся смысле.
Подозреваю что с пониманием текста про UNIVAC1 у тебя происходит то же самое. Уточни страницу по внутренней нумерации, абзац, текст. Гляну. А главное, еще раз выскажи свои тезисы, что ты утверждаешь/не утверждаешь, хочешь понять.
где прям проговаривается, что регистры это такие же ячейки как ячейки памяти, но их мало, они в тельняшках и быстро работают.
Регистры это вид памяти, ячейки памяти, да. Как иначе? Возникает ощущение, что у тебя трудности с базовой терминологией, не понимая общих (обобщенных) терминов ты полагаешь что это ФИЗИЧЕСКИ одни и те же вещи.
Вопрос когда чётко стали отличать память от регистров и по каким причинам
Конечно register это от «запись». Это точно. Вопрос когда чётко стали отличать память от регистров и по каким причинам, ведь видно что IBM в документации по IBM-704 от 1955 года использовала не в современном устоявшемся смысле.
Копнул из любопытства в чуть более древнуюю штуку — UNIVAC I: www.bitsavers.org/pdf/univac/univac1/UNIVAC1_Operating_Manual_1954.pdf — документация от 1954 года. Опять таки память чётко отличается от регистров.
Есть чуть более поздняя дока от 59 года www.bitsavers.org/pdf/univac/univac1/UNIVAC1_Programming_1959.pdf где прям проговаривается, что регистры это такие же ячейки как ячейки памяти, но их мало, они в тельняшках и быстро работают. Однако есть некоторые забавные отличия от того как бы (имхо) описывали некоторые вещи сейчас.
Но прежде тут уместно вспомнить откуда взялся еще один термин — word/слово. А взялся от судя по всему как раз из UNIVAC (в вики вроде бы это же и написано), т.к. ячейка памяти в нём хранила 12 разрядов в каждом из которых хранились буквы, цифры или символы из алфавитно-цифрового набора на 63 знака и вместе эти 12 разрядов и составляли то что документация называет буквально словом по очевидной причине — там можно хранить слова до 12 знаков. Заодно они могут выступать как 12-разрядные числа при условии что в разрядах представлены только цифры.
Ну так вот — в системе UNIVAC I есть два регистра I и O (input/output) размером по 60 слов каждый. Т.е. не каждое из 60 слов называется регистром, а весь массив как целое. Сомневаюсь что в наше время такие буфера ввода-вывода (на магнитную плёнку) вообще называли бы регистрами, а не собственно буфером памяти.
В общем наверное чтобы понять где когда и кто чётко стал разграничивать надо кучу литературы перелопатить.
Слово register в английском имеет также смысл «запись». Всмысле то, что обычно называется «record». Поэтому, либо это не те «регистры», либо же термин register означал (а может и означает?) в редких случаях по смыслу «ячейка памяти».
Вообще (отступая в сторону) я в таких случая проверяю у англоговорящих исходный смысл термина по сайту etymonline.com. Учитывая что есть слова registrant, registry, registration — для англоговорящих это слово, по видимому, несет устойчивый смысл «запись», «нечто записанное». В смысле записи какого-то списка, нечто записанное на бумаге или внесённое. Поэтому регистры в самом общем смысле «записи» или ячейки (памяти)...
Но. Несмотря на это в каждой области существует устойчивый набор терминов и устоявшееся значение. Так что не стоит обобщать без явной на то необходимости. Напротив, стоит разделять понятия.
Интересный нюанс. На той же страница 6, конец параграфа вверху читаем о Core Memory: «Information is not retained when the power is off». Вообще, память на маг.серд. хранит информацию постоянно, до считывания, а у них на это не рассчитано.
A group of 36 constitutes one register in storage. Magnetic core storage units are available in capacities either 4096 or 32768 core storage registers.
При этом надо заметить, что в этой системе была еще память на магнитном барабане (magnetic drum storage) с заметно меньшей скоростью, может быть поэтому так выделено (потому что знаю несколько документаций тех лет других машин где термин регистра используется только в современном смысле), но в любом случае «программа исполняемая из регистров» в современном понимании — чушь, а исполнялась там программа из core storage. Имхо в те времена смысл был несколько размыт, а в случае с F8 такая память тоже была более быстродействующая несмотря на индексный многокомандный доступ чем большая внешняя.
Хотя я бы лично не согласился с тем, что регистры адресуемые через ISAR нельзя называть ОЗУ.
Вопрос тонкий из-за слишком широкого смысла термина «ОЗУ». Fairchild F8 содержит 64 байта scratchpad (сверх-оперативная память, сверх-оперативное ЗУ, СОЗУ). В документации данная память не только называется регистрами (scratchpad registers) но и имеет регистровую адресацию первых ячеек. С точки зрения документации и программиста F8 scratchad и RAM — различные понятия.
И нужно еще помнить, что 50-е и 60-е термином «регистры» в принципе могли называть ячейки RAM, так, например называются ячейки памяти на ферритовых сердечниках в документации IBM-704
Где я могу об этом прочесть? Можно URL на документацию? Страницу, конкретное место текста?
и поэтому вероятно в те годы ни у кого в принципе не вызывало претензий к терминологии даже если в документации к F8 что-то вот эдакое называется регистрами. Это уже потом понятия как то сильно разошлись и стали чуть ли не противопоставляться.
Это неверно. Внешняя память технологически появилась позже регистровой, но интерес представляет история термина «регистр». Помимо прямого смыслового значения: записывать, отмечать, вносить (т.е. регистрировать) дело тут может оказаться поинтереснее! Гипотезы такие. 1. «регистром» называется электронная схема, триггер. 2. Регистр это кассовый аппарат, втч счетный (букв. — счетчик). 3. Блок механического калькулятора/счетчика называется «регистром». 4. Регистры ЭВМ зачастую предоставляли оператору возможность механически вносить данные. Склоняюсь к прямому смысловому значению, но как оно исторически пока информации нет.
Столько лет уже прошло, а это до сих пор кому-то важно. Вадим: ничего доказывать не надо, мне безразлично ты это сделал или не ты и я уже никого не подозреваю.
Обожаю всё-таки романтику тех ранних лет.
Давно уже натыкался на статью от 20 сентября 1975 года про тестирование новенького и только что спущенного со стапелей микропроцессора 6502 (англ.): www.swtpc.com/mholley/Microprocessors/EDN_Sep_20_1975_6502.pdf
Текст под фото: «Рис. 2 — Изначальный макет (нашего) журнала для „оживления“ микропроцессора MOS Technology 6502 показывает насколько просты машины второго с половиной поколения в плане разводки проводов для пользователя. Эта макетная плата была разложена (в течении недели) чтобы приблизиться к топологии, которую журнал использует для общих замеров микропроцессоров. И хотя мы обнаружили немало шума (главным образом вместе с синхроимпульсами) на всех наших довольно длинных и разбросанных проводах, но 6502 отработал без ошибок.»
Так вот — эта разводка это они буквально тестировали как работает процессор подключив к нему просто щупы и анализируя активность на шине данных, т.к. даже толком RAM к нему подключить не могли. 10 байт программы в ППЗУ залили и смотрели как она ножками «шевелит». :)
Fairchild F8 там, кстати, тоже упомянут как «сильный соперник».
Так вот в начале статьи с восхищением рассказывается, что с появлением MOS 6502 на рынке становится возможным всего за 50 долларов (~240 долларов в сегодняшних ценах) становится возможным создать полностью рабочую мю-систему с 200 байтами ROM, 100 байтами RAM и даже, возможно (!) четырьмя портами ввода-вывода!
Но посмотрите на этой и с другой стороны — разве доступ к регистрам в точности как будто бы через порты ввода-вывода разве соответствует понятию регистра в современном смысле? По моему с памятью как раз проблем в этом смысле меньше, ведь доступ к VRAM ну у той же NES сделан как раз вот наподобие же — через порты ввода-вывода с выставлением адреса и даже тоже возможностью автоинкремента. Конечно тут такой древний мамонт, что напрямую на современные практики плохо натягивается, но всё-таки, имхо, как раз с RAM у такой организации доступа больше общего чем с регистрами. Ну по крайней мере, опять таки, в современном понимании. Так что я бы всё-таки сказал что в данном приборе не то чтобы нет RAM, но её прям мало и она прям «нетрадиционная». :) Но не вижу смысла до хрипоты об этом спорить.
Видео, кстати, с час назад досмотрел. Насчёт этих вот непоняток с адресациями я испытывал похоже такие же ощущения как и вы когда читал доки по Intel 4004 — прям реально вроде вот оно всё написано, но тоже доступ через пень-колоду, и даже 3 или 4 разных видов банков с разной адресацией и вырвиглазным страничным доступом который точно так же «вроде уже показалось что начал понимать», но снова натыкаешься на какую то хрень которую не можешь приладить к только что прочитанному и якобы «осмысленному». :) Дааа.
Так дело не в том, как технически реализованы эти ячейки (на ферритовых сердечниках точно так же можно сделать ОЗУ, а можно регистры). А в том, какие возможности обеспечиваются. В данном случае это «ОЗУ» отсутствует в адресном пространстве. И оно просто напросто не соответствует термину Random Access Memory, ибо оно не random. Нет там произвольного доступа к любой ячейке.
Отличная статья! Хотя я бы лично не согласился с тем, что регистры адресуемые через ISAR нельзя называть ОЗУ. Scratchpad memory в принципе популярна в микроконтроллерах и сейчас. И нужно еще помнить, что 50-е и 60-е термином «регистры» в принципе могли называть ячейки RAM, так, например называются ячейки памяти на ферритовых сердечниках в документации IBM-704 и поэтому вероятно в те годы ни у кого в принципе не вызывало претензий к терминологии даже если в документации к F8 что-то вот эдакое называется регистрами. Это уже потом понятия как то сильно разошлись и стали чуть ли не противопоставляться.
насчет инверсной графики это совершенно точно, так как было отлично видно на всех компьютерах, имевших проблемы с отображением чередующихся инверсных и неинверсных знакомест (тонкая светлая вертикальная полоса на стыке знакомест).
Прочитал всё что ты написал, написанное очень осмысленно.
Мои мысли пока такие. Думаю что надо стремиться к тому что выбирать пакер не просто так, имея накопленные знания, а иметь практически легко доступный «интерфейс» компрессоров (а может и декомпрессоров) с тем чтобы пробовать их практически и сразу сравнить. Потому что знание это хорошо, но компрессия, штука порой непредсказуемая. Сжимаемые данные внезапно могут оказаться с какой-то совсем неожиданной спецификой, так что практика может оказаться далеко от ожидаемого, как в ту, так и в иную сторону.
Также надо исследовать пакеры на _наборах_ специфичных данных, например на спрайтах и тексте (или как насчет того чтобы паковать стрим регистров AY? :))) ). Ориентация на скорость/сжатие хорошо, но для игроделов требования более интересные. Основное добавочное требование игровых схем упаковки — это возможность распаковывать произвольные фрагменты упакованных данных, а не всё сразу и не потоково.
И вообще, интересный факт из всех демок E.S.I. А в курсе ли вы, что _ВСЕ_ они идут на 48к компьютере? Интересно, почему и зачем это. AY чип в оригинальном спектруме был только на 128к модели.
У них были расширенные до 128к 48-е спектрумы с АУ интерфейсом но без второго экрана. Yerz даже ведёт список игор до сих пор которые 48к+ау
И еще до кучи, что-то там интересное творится в H.A.T.E. не помню, что именно, я её глубоко не копал, по-моему дизассеблировал всего один раз, но там спрайты не просто по and-or, а сделаны «врезкой» битов: xor-and-xor или xor-or-xor…
По моему мнению, ячейки памяти (в смысле ячейки ОЗУ) по смыслу не считались регистрами (в смысле регистрами процессора). В тексте применен термин «registers», означающий по смыслу также «ячейки памяти», «записи». Чего ты, видимо, не знал, не понял и не учел.
Второй мой тезис такой — в генеральном смысле регистр (в смысле регистр процессора) является ячейкой памяти (но не ОЗУ) и это действительно, может утверждаться в общем смысле.
Я тебе это пояснил, на что ты мне снова выдаёшь:
Подозреваю что с пониманием текста про UNIVAC1 у тебя происходит то же самое. Уточни страницу по внутренней нумерации, абзац, текст. Гляну. А главное, еще раз выскажи свои тезисы, что ты утверждаешь/не утверждаешь, хочешь понять.
Регистры это вид памяти, ячейки памяти, да. Как иначе? Возникает ощущение, что у тебя трудности с базовой терминологией, не понимая общих (обобщенных) терминов ты полагаешь что это ФИЗИЧЕСКИ одни и те же вещи.
Загугли что такое «омонимы».
Копнул из любопытства в чуть более древнуюю штуку — UNIVAC I: www.bitsavers.org/pdf/univac/univac1/UNIVAC1_Operating_Manual_1954.pdf — документация от 1954 года. Опять таки память чётко отличается от регистров.
Есть чуть более поздняя дока от 59 года www.bitsavers.org/pdf/univac/univac1/UNIVAC1_Programming_1959.pdf где прям проговаривается, что регистры это такие же ячейки как ячейки памяти, но их мало, они в тельняшках и быстро работают. Однако есть некоторые забавные отличия от того как бы (имхо) описывали некоторые вещи сейчас.
Но прежде тут уместно вспомнить откуда взялся еще один термин — word/слово. А взялся от судя по всему как раз из UNIVAC (в вики вроде бы это же и написано), т.к. ячейка памяти в нём хранила 12 разрядов в каждом из которых хранились буквы, цифры или символы из алфавитно-цифрового набора на 63 знака и вместе эти 12 разрядов и составляли то что документация называет буквально словом по очевидной причине — там можно хранить слова до 12 знаков. Заодно они могут выступать как 12-разрядные числа при условии что в разрядах представлены только цифры.
Ну так вот — в системе UNIVAC I есть два регистра I и O (input/output) размером по 60 слов каждый. Т.е. не каждое из 60 слов называется регистром, а весь массив как целое. Сомневаюсь что в наше время такие буфера ввода-вывода (на магнитную плёнку) вообще называли бы регистрами, а не собственно буфером памяти.
В общем наверное чтобы понять где когда и кто чётко стал разграничивать надо кучу литературы перелопатить.
Вообще (отступая в сторону) я в таких случая проверяю у англоговорящих исходный смысл термина по сайту etymonline.com. Учитывая что есть слова registrant, registry, registration — для англоговорящих это слово, по видимому, несет устойчивый смысл «запись», «нечто записанное». В смысле записи какого-то списка, нечто записанное на бумаге или внесённое. Поэтому регистры в самом общем смысле «записи» или ячейки (памяти)...
Но. Несмотря на это в каждой области существует устойчивый набор терминов и устоявшееся значение. Так что не стоит обобщать без явной на то необходимости. Напротив, стоит разделять понятия.
Интересный нюанс. На той же страница 6, конец параграфа вверху читаем о Core Memory: «Information is not retained when the power is off». Вообще, память на маг.серд. хранит информацию постоянно, до считывания, а у них на это не рассчитано.
Страница 7 глава Magnetic Core Storage:
При этом надо заметить, что в этой системе была еще память на магнитном барабане (magnetic drum storage) с заметно меньшей скоростью, может быть поэтому так выделено (потому что знаю несколько документаций тех лет других машин где термин регистра используется только в современном смысле), но в любом случае «программа исполняемая из регистров» в современном понимании — чушь, а исполнялась там программа из core storage. Имхо в те времена смысл был несколько размыт, а в случае с F8 такая память тоже была более быстродействующая несмотря на индексный многокомандный доступ чем большая внешняя.
Где я могу об этом прочесть? Можно URL на документацию? Страницу, конкретное место текста?
Это неверно. Внешняя память технологически появилась позже регистровой, но интерес представляет история термина «регистр». Помимо прямого смыслового значения: записывать, отмечать, вносить (т.е. регистрировать) дело тут может оказаться поинтереснее! Гипотезы такие. 1. «регистром» называется электронная схема, триггер. 2. Регистр это кассовый аппарат, втч счетный (букв. — счетчик). 3. Блок механического калькулятора/счетчика называется «регистром». 4. Регистры ЭВМ зачастую предоставляли оператору возможность механически вносить данные. Склоняюсь к прямому смысловому значению, но как оно исторически пока информации нет.
Давно уже натыкался на статью от 20 сентября 1975 года про тестирование новенького и только что спущенного со стапелей микропроцессора 6502 (англ.): www.swtpc.com/mholley/Microprocessors/EDN_Sep_20_1975_6502.pdf
Текст под фото: «Рис. 2 — Изначальный макет (нашего) журнала для „оживления“ микропроцессора MOS Technology 6502 показывает насколько просты машины второго с половиной поколения в плане разводки проводов для пользователя. Эта макетная плата была разложена (в течении недели) чтобы приблизиться к топологии, которую журнал использует для общих замеров микропроцессоров. И хотя мы обнаружили немало шума (главным образом вместе с синхроимпульсами) на всех наших довольно длинных и разбросанных проводах, но 6502 отработал без ошибок.»
Так вот — эта разводка это они буквально тестировали как работает процессор подключив к нему просто щупы и анализируя активность на шине данных, т.к. даже толком RAM к нему подключить не могли. 10 байт программы в ППЗУ залили и смотрели как она ножками «шевелит». :)
Fairchild F8 там, кстати, тоже упомянут как «сильный соперник».
Так вот в начале статьи с восхищением рассказывается, что с появлением MOS 6502 на рынке становится возможным всего за 50 долларов (~240 долларов в сегодняшних ценах) становится возможным создать полностью рабочую мю-систему с 200 байтами ROM, 100 байтами RAM и даже, возможно (!) четырьмя портами ввода-вывода!
Видео, кстати, с час назад досмотрел. Насчёт этих вот непоняток с адресациями я испытывал похоже такие же ощущения как и вы когда читал доки по Intel 4004 — прям реально вроде вот оно всё написано, но тоже доступ через пень-колоду, и даже 3 или 4 разных видов банков с разной адресацией и вырвиглазным страничным доступом который точно так же «вроде уже показалось что начал понимать», но снова натыкаешься на какую то хрень которую не можешь приладить к только что прочитанному и якобы «осмысленному». :) Дааа.
Мои мысли пока такие. Думаю что надо стремиться к тому что выбирать пакер не просто так, имея накопленные знания, а иметь практически легко доступный «интерфейс» компрессоров (а может и декомпрессоров) с тем чтобы пробовать их практически и сразу сравнить. Потому что знание это хорошо, но компрессия, штука порой непредсказуемая. Сжимаемые данные внезапно могут оказаться с какой-то совсем неожиданной спецификой, так что практика может оказаться далеко от ожидаемого, как в ту, так и в иную сторону.
Также надо исследовать пакеры на _наборах_ специфичных данных, например на спрайтах и тексте (или как насчет того чтобы паковать стрим регистров AY? :))) ). Ориентация на скорость/сжатие хорошо, но для игроделов требования более интересные. Основное добавочное требование игровых схем упаковки — это возможность распаковывать произвольные фрагменты упакованных данных, а не всё сразу и не потоково.
У них были расширенные до 128к 48-е спектрумы с АУ интерфейсом но без второго экрана. Yerz даже ведёт список игор до сих пор которые 48к+ау