Среда, 18.10.2017, 19:32
БК-0010.01. Повесть о настоящем компьютере
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Категории каталога
Введение в руководство [2]
Введение [0]
Организация БК-0010 [1]
Раздел 1. Организация БК-0010
Работа с МСД [1]
Раздел 2. Работа с МСД
Системные регистры [1]
Раздел 3. Системные регистры
Системное ПО [1]
Раздел 4. Системное программное обеспечение БК-0010
Прерывания. Приоритет ЦП [1]
Раздел 5. Система прерываний БК-0010. Приоритет процессора
Командные прерывания [1]
Раздел 6. Командные прерывания
ЕМТ БК-0010 [1]
Раздел 7. командные прерывания ЕМТ БК-0010
Коды и ассемблер. Мнемокод. [1]
Раздел 8. Коды и ассемблер. Мнемокод. Формат команды
Способы адресации [1]
Раздел 9. Способы адресации
Команды процессора БК-0010 [1]
Раздел 10. Система команд процессора БК-0010
Псевдокоманды. Метки. Комментарии [1]
Раздел 11. Псевдокоманды ассемблера. Метки. Комментарии
Программирование на ассемблере [1]
Раздел 12. Программирование на ассемблере. Начало. Трансляция программ. Ошибки
Отладка программ [1]
Раздел 13. Отладка программ. Позиционно-независимое программирование. Компановка
Подпрограммы ПЗУ БК-0010 [1]
Раздел 14. Подпрограммы ПЗУ БК-0010
Системная область ОЗУ БК-0010 [1]
Раздел 15. Системная область ОЗУ БК-0010. Некоторые секретные сведения об авторе и МП-клубе
Повышение быстродействия БК-0010 [1]
Раздел 16. Вопросы повышения быстродействия БК-0010
Об использовании ПЗУ [1]
Раздел 17. Полезная подпрограмма. Об использовании ПЗУ
Загадочные регистры [1]
Раздел 18. Загадочные регистры
Штурм системной области [1]
Раздел 19. Продолжаем штурм системной области
Об автозапуске программ [1]
Раздел 20. Об автозапуске программ
Коварные программы [1]
Раздел 21. Коварные программы
Еще о системной области [1]
Раздел 22. О пользе плагиата, или еще о системной области
О псевдокомандах и компановке [1]
Раздел 23. Еще раз о псевдокомандах, метках и компановке
Тук-тук, кто в стеке живет? [1]
Раздел 24. Тук-тук, кто в стеке живет?
Фокал с позиций ассемблера [1]
Раздел 25. Взгляд на фокал с позиций ассемблера
Наш опрос
Оцените мой сайт
Всего ответов: 47
 Каталог статей
Главная » Статьи » Организация БК-0010

Организация БК-0010

БК-0010, выполненная на базе микропроцессорного комплекта К1801, имеет архитектуру "общая шина адрес-данные", обычно именуемую "дековской" (от dec - digital equipment corporation, фирмы, впервые освоившей выпуск микро-ЭВМ pdp-11 с такой архитектурой). К особенностям БК-0010, резко отличающей ее от аналогичных по архитектуре ДВК-1, ДВК-2, Электроника-60, СМ-3, СМ-4 и других микро- и мини-ЭВМ, относится наличие общей зоны ОЗУ пользователя и экранного ОЗУ, причем последнее ничем не выделяется, и при обращении к памяти ведет себя точно так же, как ОЗУ пользователя, отличаясь от него только адресами программных ячеек. ПЗУ также расположено в общем адресном пространстве БК-0010, но в отличие от ОЗУ к нему возможно обращение только для чтения, попытка записи в ПЗУ приводит к аварийному останову. В конце адресного пространства БК имеется область системных регистров (СР), т.е. аппаратно выделенные ячейки памяти для обращения к внешним и внутренним устройствам микро-ЭВМ. В отличие от ОЗУ, не во все системные регистры возможна запись.
 Кроме того, если микро-ЭВМ внешне никак не реагирует на запись любой информации в ОЗУ, то запись определенной информации в СР может привести к существенным изменениям в работе машины. Все адресное пространство БК занимает 64д Кбайта, или область адресов 0...177777. Каждое слово имеет длину 2 байта, причем адрес младшего байта четный (0, 766, 17772) и совпадает с адресом слова. Адрес старшего байта нечетный, на 1 больше адреса слова (1, 767, 17773). Обращение возможно как к слову, так и к байту. Все адресное пространство БК поделено на 2 равные части - область ОЗУ и ПЗУ. Область ПЗУ расположена начиная с адреса 100000, и до адреса 177577 включительно. С адреса 177600 начинается область системных регистров. Распределение адресного пространства ОЗУ производится между ОЗУ пользователя и экранным ОЗУ, причем возможны 2 варианта: - ОЗУ пользователя 16д Кбайт (адреса 0...37777), Экранное ОЗУ 16д Кбайт (полноразмерный экран); - ОЗУ пользователя 28 Кбайт (0...67777), Экранное ОЗУ 4 Кбайта (режим расширения памяти, экран 4 строки). Вне зависимости от режима в начале ОЗУ выделяется зона адресов (0...777) Так называемой системной области, в которую заносятся данные, необходимые для нормальной работы ЭВМ. Аппаратной защиты системная область не имеет, и запись туда случайной информации может привести к отказу ЭВМ, выход из которого возможен только переключателем системного сброса, расположенным в отсеке ПЗУ БК-0010.

Область адресов ПЗУ распределена следующим образом: 100000...117777 - Мониторная система драйверов (МСД); 120000...137777 - Интерпретатор языка фокал; 140000...157777 - Свободная розетка; 160000...177577 - ПЗУ тест-программ. Это распределение является чисто условным, как можно будет видеть в дальнейшем. Нас будут интересовать в основном МСД и ПЗУ тест-программ, которые с точки зрения системного программиста представляют одно целое. Поэтому под именем МСД мы будем понимать оба эти ПЗУ, при необходимости выделяя их, как М-ПЗУ и Т-ПЗУ. Вопреки традиции мы не будем выделять центральный процессор для отдельного рассмотрения, и рассмотрим его структуру в этом разделе. Действительно, с точки зрения программиста регистры ЦП являются такими же ячейками памяти, как и ячейки ОЗУ, хотя ЭВМ с ними работает заметно быстрее, а обращение к ним производится не по адресам, а по именам. ЦП К1801ВМ1 имеет 9 регистров. Это 6 регистров общего назначения R0...R5, регистр указателя стека R6 или SP, и регистр счетчика команд R7 или PC. Как уже сказано, регистры 0...5 Мало отличаются от ячеек ОЗУ. Регистр R6 содержит адрес вершины стека. Стек - это часть системной области ОЗУ (адреса 400...777), В которую ЭВМ сама заносит различные данные. При их извлечении из стека и используется R6. Заносить в стек данные может и программа пользователя, но при этом нужно помнить, что по окончании работы со стеком необходимо привести его в то же состояние, которое имело место в начале, иначе ЭВМ не сможет понять, где ее данные, а где чужие, и ее работа нарушится. То же самое относится к случаю использования R6 в качестве "обычного" регистра (это иногда допустимо) - после работы необходимо занести туда прежнее число. Регистр R7 - счетчик команд. В процессе работы в нем всегда содержится число - адрес следующей команды. Выполнив очередную команду, ЦП обращается к R7, чтобы узнать, какую команду выполнять дальше. Понятно, что изменение содержимого R7 в обычных случаях производит сама ЭВМ, а изменение его содержимого программой пользователя приведет к изменению порядка выполнения команд. При чтении R7 нужно помнить, что там содержится адрес не данной, а следующей команды, т.е. Число, на 2 большее, чем текущий адрес (здесь под командой понимается слово, но вообще команда может занимать от 1 до 3 слов). Еще один регистр не имеет номера, а только имя - PS. Это регистр состояния процессора. В нем нас особенно интересуют 4 разряда (00...03) - Коды условий. После выполнения любой команды они принимают значение в зависимости от ее результатов. "начальное" состояние этих разрядов - 0. Единицы появляются в этих разрядах при следующих условиях: в разряде 00 (C) - если имел место перенос разряда в разряде 01 (V) - если имело место переполнение в разряде 02 (Z) - если результат операции равен нулю в разряде 03 (N) - если результат отрицательный. Очевидно, что используя содержимое PS, можно организовать ветвление программы по условиям, аналогично оператору if [...] Фокала, для чего есть специальные команды. В код такой команды входит адрес, по которому нужно передать управление, если после выполнения предыдущей команды имело место то или иное условие (состояние ps). Помимо команд, процессор работает с данными, т.е. Попросту с числами, причем в код команды входит указание, откуда взять очередное число, сама же команда указывает, что с ним сделать. Это указание называется способом адресации. В БК-0010 возможно много таких способов, но рассматривать их лучше в разделе, посвященном системе команд процессора.

Категория: Организация БК-0010 | Автор: ЗАЛЬЦМАН Ю.А., МП-КЛУБ, г.АЛМА-АТА
Просмотров: 790 | Рейтинг: 0.0/0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Используются технологии uCoz
Форма входа

Поиск
Друзья сайта
Статистика