Использование сопроцессора

В случае наличия у транспьютера встроенного сопроцессора, выполняющего операции с плавающей точкой, распознавание команд и передача их на выполнение осуществляются аппаратно в центральном процессоре, там же выполняется вычисление адреса операндов и их загрузка в регистры FPU.

Модуль операций с плавающей точкой, как показано на рис. 2.2, состоит из двух блоков: блока мантиссы и блока порядка со своим набором регистров (два регистровых стека). Все команды с плавающей точкой подразделяются на два класса: полностью самостоятельные команды, никак не влияющие на состояние центрального процессора, и команды, пересылающие результаты выполнения операции в центральный процессор.

После передачи команды на исполнение в сопроцессор центральный процессор продолжает выполнение потока команд, если это команда относится к первому классу, или ожидает получения результата, если это команда второго класса.

Транспьютер может адресовать до 232 байт (4 Гбайт). Особенностью транспьютера является начало адресов в области отрицательных значений. Младший адрес в дополнительном коде соответствует значению (8000000016).

Структурно (конструктивно) вся оперативная память подразделяется на внутрикристальную и внешнюю. Объем внутрикристальной памяти составляет 4 (2) Кбайт (в зависимости от модели транспьютера). Архитектурно (с точки зрения программиста) вся память транспьютера, как внешняя, так и внутрикристальная, равнодоступна и имеет единую адресацию. Внутрикристальной памяти соответствуют младшие адреса, а внешней памяти - старшие.

Поскольку внутрикристальная память имеет меньшее время доступа (один такт процессора), в нее обычно помещаются программистом часто используемые данные и подпрограммы. Пример распределения памяти показан на рис. 2.1.

Несколько слов в младших адресах памяти используются для специальных целей: для слов состояния аппаратных каналов - линков, блока Event, регистров таймера, в качестве рабочих областей памяти диспетчера.

Будет полезно почитать по теме: