Система команд процессора — Загрузка числа в регистр. Копирование и обмен содержимого регистров. Загрузка регистров из памяти. Команды записи данных из регистров в память.
5. Система команд процессора.
Система команд процессора Z-80 довольно обширна и потому наилучший способ ее изучения состоит в том, чтобы сгруппировать похожие по своему действию команды и осваивать их по группам.
Базовый и ограничительный регистры
В простом решении используется весьма примитивная версия динамического перераспределения памяти. При этом адресное пространство каждого процесса просто проецируется на различные части физической памяти.
Классическое решение, примененное на машинах от CDC 6600 (первого в мире суперкомпьютера) до Intel 8088 (сердца первой модели IBM PC), заключается в оснащении каждого центрального процессора двумя специальными аппаратными регистрами, которые обычно называются базовым и ограничительным регистрами. При использовании этих регистров программы загружаются в последовательно расположенные свободные области памяти без модификации адресов в процессе загрузки (см. рис.
2. Как правильно загружать данные в 1С из файла
3.2, в). При запуске процесса в базовый регистр загружается физический адрес, с которого начинается размещение программы в памяти, а в ограничительный регистр загружается длина программы. На рис. 3.2, в при запуске первой программы базовыми и ограничительными значениями, загружаемыми в эти аппаратные регистры, будут соответственно 0 и 16 384.
При запуске второй программы будут использованы значения 16 384 и 32 768 соответственно. Если непосредственно над второй будет загружена и запущена третья программа, имеющая объем 16 Кбайт, значениями базового и ограничительного регистров будут 32 768 и 16 384 соответственно.
При каждой ссылке процесса на память с целью извлечения команды или записи слова данных аппаратура центрального процессора перед выставлением адреса на шине памяти добавляет к адресу, сгенерированному процессом, значение базового регистра. Одновременно аппаратура проверяет, не равен ли предлагаемый адрес значению ограничительного регистра или не превышает ли он это значение (в этом случае генерируется отказ и доступ прерывается). Если взять первую команду второй программы (см. рис. 3.2, в), то процесс выполняет команду
но аппаратура рассматривает ее как команду 1МР 16412
поэтому переход осуществляется, как и ожидалось, на команду СМР.
Использование базового и ограничительного регистров — это простой способ предоставления каждому процессу собственного закрытого адресного пространства, поскольку перед обращением к памяти к каждому автоматически сгенерированному адресу добавляется значение базового регистра. Многие реализации предусматривают такую защиту базового и ограничительного регистров, при которой изменить их значения может только операционная система. Именно так был устроен компьютер CDC 6600, в отличие от компьютеров на основе Intel 8088, у которых не было даже ограничительного регистра. Но у последних было несколько базовых регистров, позволяющих, к примеру, реализовать независимое перемещение текста и данных программы, но не предлагающих какой-либо защиты от ссылок за пределы выделенной памяти.
Регистры сведений в 1С 8.3
Недостатком перемещений с использованием базовых и ограничительных регистров является необходимость применения операций сложения и сравнения к каждой ссылке на ячейку памяти. Сравнение может осуществляться довольно быстро, но сложение является слишком медленной операцией из-за затрат времени на вспомогательный сигнал переноса, если, конечно, не используются специальные сумматоры.
Источник: lawbooks.news