1500py470 (1500py470) wrote,
1500py470
1500py470

Вычислительная система "Электроника ССБИС" по курсу Александра Николаевича Томилина

Более подробно можно посмотреть на http://parallel.ru/info/education/tom-kurs.html#p2

2. ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА "ЭЛЕКТРОНИКА СС БИС"

Вычислительная система "Электроника СС БИС" включает:

высокопроизводительную основную машину векторно-конвейерного типа, оснащенную полупроводниковой массовой памятью большой емкости и внешней памятью на магнитных дисках;
управляющую машину;
внешние машины.
Управляющая машина, внешние машины и устройства внешней памяти (массовой и на магнитных дисках) подключаются к основной машине через устройство обмена, содержащее 16 высокоскоростных каналов. Пользовательские терминалы подключаются к внешним машинам.

2.1. Аппаратные особенности основной машины.

В состав основной машины (ОМ) входят:

процессор (тактовая частота 10 наносекунд);
оперативная память (емкость от 8 до 32 мегабайт);
устройство обмена.
Через каналы (пропускная способность 200 Мгб/сек) подключается массовая интегральная память емкостью 256 Мгб, темп обмена 0,64 мксек на 64-х разрядное слово. Через канал (пропускная способность 10 Мгб/сек) подсоединяется дисковая память, управляемая контроллерами или дисковыми серверами.

Процессор состоит из:

трех групп оперативных регистров, а именно - 8 адресных регистров (A-регистры), 8 скалярных регистров (S-регистры) и 8 векторных регистров (V-регистры);
промежуточных регистров: 64 адресных (B-регистры) и 64 скалярных (T-регистры);
вспомогательных регистров: регистра длины вектора (VL) и регистра векторной маски (VM);
16 полностью независимых конвейерных функциональных устройств, которые могут работать параллельно, выполняя операции над данными из оперативных регистров;
аппаратуры связи регистров с оперативной памятью, аппаратуры управления командами и аппаратуры управления каналами ввода-вывода.
Адресные регистры (A- и B-регистры) содержат 24 разряда, скалярные регистры (S- и T-регистры) - 64 разряда; каждый векторный регистр состоит из 64 слов по 64 разряда.

Каждое функциональное устройство реализует алгоритм одной или нескольких близких операций системы команд ОМ, причем скорость работы любого функционального устройства полностью детерминирована и не зависит от кодов конкретных операндов. Функциональные устройства могут получать новые наборы операндов и выдавать результаты в каждом такте синхронизации.

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

Имеется возможность выдачи команд для выполнения в функциональных устройствах с темпом одна команда за один такт синхронизации (максимальная производительность конвейера команд). Каждая команда в момент ее выдачи захватывает необходимые ей ресурсы (основные регистры и функциональные устройства) путем установки признаков резервирования в поле состояния ресурсов системы, приданном устройству управления (при этом соответствующий ресурс оказывается зарезервированным). Если один из ресурсов, запрашиваемых очередной командой, зарезервирован предшествующими командами, выдача команды блокируется до момента освобождения соответствующего ресурса, и конвейер команд приостанавливается. При выполнении скалярной команды регистр, на который должен быть помещен результат, резервируется на все время выполнения команды, а регистры, с которых берутся операнды, и функциональное устройство резервируются только на такт выдачи команды (они освобождаются сразу после выдачи команды). При выполнении векторной команды все три регистра (регистры, с которых берутся операнды, и регистр, на который помещается результат), а также функциональное устройство резервируются на все время выполнения команды.

2.2. Защита памяти

Средства защиты памяти гарантируют неприкосновенность адресных пространств задач разных пользователей и операционной системы. Адресное пространство для задачи определяется содержимым регистра базового адреса и распространяется непрерывной областью до границы, установленной значением в регистре граничного адреса. Все адреса памяти, вырабатываемые при выполнении программы, складываются с содержимым регистра базового адреса, который устанавливается ОС в соответствии с началом отведенной для программы области памяти. Таким образом, программа не может обратиться к ячейке памяти, имеющей физический адрес меньший, чем базовый. Обращение к памяти за пределами граничного адреса приводит к аппаратному прерыванию.

2.3. Система прерываний

Система обеспечивает изменение состояния процессора при возникновении некоторых внешних или внутренних условий, тем самым осуществляется переход на программу обработки прерываний.

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

Источником прерываний могут быть события в работе каналов (например, окончание обмена по каналу), определение ошибки памяти схемами контроля памяти, сигналы от таймера,"программные прерывания". К "программным прерываниям" относятся попытки обращения к памяти за границу адресного пространства, выполнение команд обращения к операционной системе, арифметические "прерывания".

Время переключения на программу обработки прерывания равняется 50 тактам.

2.4. Режимы выполнения

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

2.5. Особенности программирования.

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

Другим источником сокращения времени выполнения программы является замена итерационных циклов векторными командами (там, где это возможно) и использование возможности зацепления векторных команд.

Это необходимо учитывать при составлении программ на языке ассемблера, а также при генерации объектных программ в компиляторах с языков высокого уровня.
Tags: Электроника СС БИС
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments