Защита адреса при записи
2016-12-10 15:16Дошёл до реализации необычного свойства процессора микро-БЭСМ, отсутствующего у современных компьютеров. Каждое слово в оперативной памяти имеет дополнительный бит запрета записи. При попытке записи по этому адресу возникает прерывание "защита адреса при записи". Чтобы всё-таки иметь возможность изменить значение (и бит запрета), память имеет дополнительный сигнал, отменяющий защиту.
Получается полезная возможность, похожая на const в языке Си, но при этом защиту можно включать и отключать по ходу выполнения программы. Что-то отдалённо похожее - теговая архитектура - существовало в некоторых ранних компьютерах, но не прижилось.
Получается полезная возможность, похожая на const в языке Си, но при этом защиту можно включать и отключать по ходу выполнения программы. Что-то отдалённо похожее - теговая архитектура - существовало в некоторых ранних компьютерах, но не прижилось.

no subject
Date: 2016-12-14 01:17 (UTC)no subject
Date: 2016-12-14 02:32 (UTC)От тэга защиты по записи пользы было мало.
Тэги были необходимой частью архитектуры Эльбруса.
Они обеспечивали полиморфизм и контроль типов.
no subject
Date: 2016-12-14 06:51 (UTC)no subject
Date: 2016-12-15 08:23 (UTC)Для практического программирования нужно или ограничиваться минимальной, но реализуемой защитой типа "в этой клетке число и туда нельзя писать символьные данные" (поможет от типичной проблемы с эксплойтом через переполнение буфера", или замахиваться на серьёзное, тогда надо отличать ячейку для Employee::age от ячейки для Rectangle::width, и вариантов тегов становится больше, чем вариантов значений в ячейке.