vak: (Улыбка)
[personal profile] vak
Дошёл до реализации необычного свойства процессора микро-БЭСМ, отсутствующего у современных компьютеров. Каждое слово в оперативной памяти имеет дополнительный бит запрета записи. При попытке записи по этому адресу возникает прерывание "защита адреса при записи". Чтобы всё-таки иметь возможность изменить значение (и бит запрета), память имеет дополнительный сигнал, отменяющий защиту.

Получается полезная возможность, похожая на const в языке Си, но при этом защиту можно включать и отключать по ходу выполнения программы. Что-то отдалённо похожее - теговая архитектура - существовало в некоторых ранних компьютерах, но не прижилось.

Date: 2016-12-11 11:39 (UTC)
From: [identity profile] nms.livejournal.com
Burroughs, однако!

Date: 2016-12-12 04:25 (UTC)
From: [identity profile] nms.livejournal.com
Не понимай ссылку на Burroughs буквально. ;-)

Date: 2016-12-12 07:58 (UTC)
From: [identity profile] b0p0h0k.livejournal.com
В Эльбрусе-1,2 (а следовательно и в СВС) также имелся "тэг незабиваемой информации". На практике, однако же, требовалось включить специальный режим процессора, чтобы этот тэг действовал, и режим этот замедляд обращение в память по записи раза в два.
Поэтому режим этот никогда не включали, кроме, может быть, особо тяжёлых случаев отладки.

Date: 2016-12-14 02:32 (UTC)
From: [identity profile] b0p0h0k.livejournal.com
Ну это ты загнул.
От тэга защиты по записи пользы было мало.
Тэги были необходимой частью архитектуры Эльбруса.
Они обеспечивали полиморфизм и контроль типов.

Date: 2016-12-15 08:23 (UTC)
From: [identity profile] netch80.livejournal.com
Потому что любая возможная система тегов крайне слаба.
Для практического программирования нужно или ограничиваться минимальной, но реализуемой защитой типа "в этой клетке число и туда нельзя писать символьные данные" (поможет от типичной проблемы с эксплойтом через переполнение буфера", или замахиваться на серьёзное, тогда надо отличать ячейку для Employee::age от ячейки для Rectangle::width, и вариантов тегов становится больше, чем вариантов значений в ячейке.