Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/DataGeneral/D19831103Elc030.shtml

Набор микросхем для реализации 32-рзрядной архитектуры машин Eclipse

УДК 621.3.049.77

Чандра Р. Вора (Chandra R. Vora)
Фирма Data General Corp. (Уэстборо, шт.Массачусетс)

Марк Хеккер
Фирма Data General Corp. (Уэстборо, шт.Массачусетс)

Дональд Уайзер
Фирма Data General Corp. (Уэстборо, шт.Массачусетс)

Роберт Мердок
Фирма Data General Corp. (Саннивейл, шт.Калифорния)

Стив Гамильтон
Фирма Data General Corp. (Саннивейл, шт.Калифорния)

Набил Такла
Фирма Data General Corp. (Саннивейл, шт.Калифорния)

Chandra R. Vora et al. Chip set implements 32-bit Eclipse architecture, pp. 121—126.

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

Разработчиков систем, занимающихся созданием следующего поколения вычислительных аппаратных средств, уже не будут удовлетворять новые микросхемы, которые просто увеличивают существующую длину машинного слова. Кроме возможностей собственно центрального процессора им придется учитывать также и другие «факторы — например, особенности вычислений с плавающей точкой и организации процедур ввода-вывода.

Фирма Data General разрабатывает сейчас новый набор микросхем под названием microEagle (микроорел), содержащий пять ИС, функциональные возможности которых дополняют друг друга и позволяют решить указанные проблемы Этот новый набор микросхем, используемых з комплексе, послужит фундаментом для создания недорогих и компактных систем, совместимых с супермини-компьютерами семейства Eclipse той же фирмы.

Одной из наиболее важных целей разработки является обеспечение совместимости с машинами серии MV; более того, микромашина на ИС нового набора по производительности должна лишь примерно вдвое уступать модели MV/8000. Новый комплект ИС должен также решить проблему минимизации внешней логики, требуемой для построения системы, которая реализовала бы архитектуру 32-разрядного супермини-компьютера Eclipse MV фирмы Data General (этот супермини-компьютер рассчитан на обслуживание виртуальной памяти объемом 4 Гбайт).

Новый и пока что экспериментальный комплект рассматриваемых сверхбольших интегральных n-канальных МОП-схем (рис.1) включает центральный процессор, микроконтроллер последовательности инструкций, процессор арифметики с плавающей точкой, устойство системного ввода-вывода и модуль блок-мультиплексного канала. Оригинальная технология с применением дисилицида титана и использование 3,5-В внутреннего рабочего напряжения способствуют повышению скоростных характеристик, удерживая при этом мощность рассеяния этих сложных схем в пределах 3 Вт (см. «Использование дисилицида титана для повышения быстродействия»). Центральный процессор выполняет операции типа «регистр — регистр» над 32-разрядными словами за один микроцикл длительностью 400 нс и производит пересылки данных типа «память — регистр» за два цикла с высокой степенью параллелизма. Процессор арифметики с плавающей точкой сам по себе достаточно активен и самостоятелен и выполняет сложение двойной точности (64-разрядное) за четыре цикла. Устройство системного ввода-вывода управляет работой шины ввода-вывода машин серии Eclipse MV и одновременно реализует ряд внутренних периферийных функций. Работающий во взаимодействии с ним модуль блок-мультиплексного канала управляет блок-мультиплексным каналом ввода-вывода указанных машин.

Великолепная пятерка. Показанная двухшинная конфигурация в отличие от обычной одношинной обеспечивает повышение быстродействия микросистемы, построенн
Рис.1. Великолепная пятерка. Показанная двухшинная конфигурация в отличие от обычной одношинной обеспечивает повышение быстродействия микросистемы, построенной на пяти ИС набора microEAGLE. Одна шина служит для обслуживания процессорных транзакций, а другая — для реализации операций системного ввода-вывода.

Эти системные элементы связываются друг с другом при помощи двусторонней 32-разрядной шины данных и адресов (системной шины) с тремя состояниями линий. В течение каждого цикла (периода Т) по шине передается одна транзакция. Для более эффективного использования аппаратных ресурсов четыре внешних синхросигнала разделяют период Т на восемь равных подциклов, S0—S7.

Так, например, к регистровому блоку центрального процессора можно обращаться четыре раза за один цикл. Адрес на шину выдается в течение подциклов S1—S2—S3, а данные — в течение S5—S6—S7. (Чтобы предотвратить «состязания» на шине, подциклы S0 и S4 остаются свободными.) Что именно передается по шине — адрес или данные, — определяется по временной диаграмме системы — никакие другие сигналы как признаки адресов или данных не нужны.

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

Прежде чем инициировать транзакцию, системный элемент должен вначале выдать запрос и получить право доступа к шине. Системные элементы с помощью минимального объема внешних аппаратных средств связываются в шлейфовую приоритетную схему, определяющую порядок их доступа к шине. На нижнем уровне этой приоритетной цепочки находится ЦП, который имеет самый низший приоритет. Если ни одно другое устройство не выдает запроса на обращение к шине, ЦП загружает ее недействительной транзакцией. С другой стороны, в качестве признака нормальных действительных операций используется специальный бит VALID в 6-разрядном управляющем поле (рис.2).

Адресация. Гибкость набора интегральных схем microEAGLE повышается благодаря наличию 6-разрядного управляющего поля. При адресации системной памяти (к
Рис.2. Адресация. Гибкость набора интегральных схем microEAGLE повышается благодаря наличию 6-разрядного управляющего поля. При адресации системной памяти (когда бит LOCAL = 0) остальные 26 бит представляют физический адрес. В ином случае остальные биты могут служить адресом памяти, размещенной в других интегральных схемах.

Если нужно выполнять многоцикловые операции шины, системный элемент может выставить бит LOCK (замок), чтобы не позволить устройству более высокого приоритета перехватить шину. Такие устройства не должны требовать предоставления им шины, если оказывается, что она заблокирована (т.е. если они видят, что «замок» закрыт).

Пять СБИС рассматриваемого комплекта могут включаться как по традиционной схеме с одной шиной, так и по схеме с двумя шинами для повышения производительности. В конфигурации с двумя шинами устройство системного ввода-вывода и модуль блок-мультиплексного канала работают с одной шиной, а ЦП — с другой. В результате повышается скорость обмена данными с основной памятью и тем самым производительность системы. Каждая шина имеет свою собственную приоритетную цепочку, и доступ к ней предоставляется независимо от другой шины. При определенных условиях, например при выполнении операции с блокировкой (LOCK), запрашивающее шину устройство должно получать возможность управлять обеими шинами одновременно при помощи приемопередатчика, который объединяет обе шины в одну.

Системные элементы (кроме основной памяти) могут взаимодействовать через адресное пространство лакальных связей, устанавливая в адресе бит локального режима (LOCAL) — бит 1 (рис.2). Это адресное пространство распределяется между устройством системного ввода-вывода, модулем блок-мультиплексного канала, процессором арифметики с плавающей точкой и микроконтроллером последовательности инструкций, а также постоянной памятью виртуального пульта. Центральный процессор может использовать такую схему локальной адресации, например, для выдачи команд в микросхемы ввода-вывода.

Центральный процессор

ИС ЦП — это действительно 32-разрядный процессор (рис.3); в его состав входят пять основных блоков: арифметики с фиксированной точкой; преобразования адресов; автономной выборки инструкций; управления и внешнего интерфейса. При помощи перечисленных блоков ЦП выполняет все операции с фиксированной точкой и осуществляет адресацию в системе micro-EAGIE. Блок преобразования адресов обеспечивает управление памятью со страничной организацией (размер страницы 2 кбайт) и рассчитан на физическое адресное пространство размером 128 Мбайт. В блоке преобразования адресов имеется полностью ассоциативная кэш-память, где хранятся до 16 преобразованных адресов для немедленной выборки. Такая внутрикристальная схема позволяет за один цикл осуществлять вычисление адреса и последующее его преобразование.

Центральный процессор. Кроме размещенного на кристалле устройства арифметики с плавающей точкой показанный здесь компонент семейства microEAGLE содерж
Рис.3. Центральный процессор. Кроме размещенного на кристалле устройства арифметики с плавающей точкой показанный здесь компонент семейства microEAGLE содержит устройство преобразования адресов с ассоциативной кэш-памятью на 16 слов. Адреса, которых нет в кэш-памяти, подвергаются микропрограммной процедуре преобразования.

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

Выборка инструкций

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

Горизонтальная программируемая логическая матрица (ПЛМ) адресуется контроллером последовательности инструкций. В ответ на «вертикальную» микроинструкцию от микроконтроллера последовательности вначале выбирается элемент ПЛМ, соответствующий полю горизонтального адреса вертикальной микроинструкции. Последующие адреса могут вырабатываться внутри, что позволяет быстро и эффективно реагировать на изменения внутренних состояний.

Обработка исключительных ситуаций, таких, как преобразование длинных адресов, а также ожидание готовности сопроцессора и памяти, осуществляется при помощи горизонтального микрокода, без прерывания последовательности вертикальных микроинструкций. Для выполнения программ обработки исключительных ситуаций в горизонтальном микрокоде используется сигнал завершения микроинструкции, который служит для микроконтроллера последовательности признаком того, что текущая вертикальная микроинструкция закончена. Если во время выполнения горизонтальной программы для обработки соответствующей исключительной ситуации сигнал завершения микроинструкции не выдается, микроконтроллер последовательности «наблюдает» только несколько более длительное, но в остальном абсолютно нормальное выполнение вертикальной микроинструкции.

Микроконтроллер последовательности инструкций

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

Микроконтроллер последовательности. Этот член семейства microEAGLE содержит конвейер, обеспечивающий более эффективное декодирование инструкций. Разме
Рис.4. Микроконтроллер последовательности. Этот член семейства microEAGLE содержит конвейер, обеспечивающий более эффективное декодирование инструкций. Размещенная на кристалле кэш-память дает разработчикам возможность заменять части микрокода, находящиеся в постоянной памяти, другими частями, записанными в оперативную управляющую память.

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

Наиболее вероятный вариант

Чтобы скомпенсировать нежелательные задержки при условных переходах, в микроконтроллере предусмотрены так называемые условные «обрывы». Микроконтроллер не задерживает ветвление до получения контрольного признака; вместо этого он может выбрать наиболее вероятный путь (по указанию вертикального микрокода) и продолжать двигаться по этому маршруту. Если контрольный признак покажет, что выбранный маршрут был неверным, система обрывает текущую последовательность и начинает выполнять другую. В случае подобного обрыва теряется время — один или два цикла — на очистку и перезагрузку конвейера микроинструкций. Благодаря методу условных обрывов можно, например, строить микрокод исходя из предположения, что будет выбираться маршрут возврата на начало цикла, и таким образом достигать оптимальной скорости работы в случае итеративного цикла.

Чтобы сформировать адрес следующей вертикальной микроинструкции, микроконтроллер обрабатывает информацию о последовательности, поступающую из внешней управляющей памяти. В микроконтроллере предусмотрено несколько аппаратных решений, позволяющих повысить гибкость управления вертикальной последовательностью; наиболее важным среди них является шестиэлементный стек микроадресов, используемый в микрокодовых подпрограммах. Принцип модульности, реализуемый при помощи подпрограмм, играет важную роль для разработки надежного, удобного для сопровождения и экономного с точки зрения объема занимаемой памяти микрокода для макроинструкций более высокого уровня, включаемых в систему команд машин серии MV.

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

Процессор арифметики с плавающей точкой (рис.5) выполняет набор инструкций арифметики с плавающей точкой, присущий архитектуре ЭВМ Eclipse MV, в которой используются стандартные шестнадцатеричные форматы фирмы IBM (32-разрядной одинарной и 64-разрядной двойной точности). Все три основных функциональных блока процессора арифметики с плавающей точкой — исполнительный блок, внешний интерфейс и контроллер — работают параллельно, что повышает быстродействие при выполнении операций с плавающей точкой, особенно для итеративных алгоритмов.

Процессор арифметики с плавающей точкой. Две «предварительно загруженные» 64-разрядные шины обеспечивают загрузку данных в арифметические устройства и
Рис.5. Процессор арифметики с плавающей точкой. Две «предварительно загруженные» 64-разрядные шины обеспечивают загрузку данных в арифметические устройства изображенной здесь ИС, что позволяет выполнять операции с плавающей точкой параллельно. Кроме того, сдвиговый регистр выполняет функции нормализации и служит в качестве дополнительного регистра при выполнении операций умножения и деления.

Два тракта передачи данных

В исполнительном блоке данные между АЛУ мантиссы, АЛУ порядка, логической схемой знака и сдвигателем передаются при помощи двух предварительно загружаемых 64-разрядных шин. Шина А служит для передачи данных из 64-разрядного регистрового блока в АЛУ мантиссы и порядка, а шина В — для передачи данных во второй порт этих АЛУ и для подключения других функциональных блоков.

АЛУ мантиссы — это комбинационный сумматор с запоминанием и передачей переносов, причем обе эти функции сочетаются в одном 66-разрядном устройстве. Входы данных сумматора имеют триггеры-фиксаторы и тракты, необходимые для реализации алгоритмов умножения и деления. АЛУ мантиссы может выполнять две операции запоминания переносов за один процессорный цикл, что позволяет процессору арифметики с плавающей точкой за каждый цикл производить 4-разрядное умножение с использованием модифицированного 2-разрядного алгоритма Бута.

Размещенный на кристалле 64-разрядный сдвигатель может осуществлять сдвиг влево или вправо на величину от 0 до 16 шестнадцатеричных цифр за один цикл. Сдвигатель служит для выравнивания порядков операндов при сложении и вычитании, для нормализации результатов с плавающей точкой и выполняет функцию регистра множителя/частного при умножении и делении. Для каждого конкретного цикла число цифр, на которое нужно произвести сдвиг, может поступать из нескольких источников. При выравнивании порядков величина сдвига определяется выходным результатом АЛУ порядка. При нормализации схема, находящаяся на выходе АЛУ мантиссы, подсчитывает число первых нулевых цифр и передает его в сдвигатель. При умножении и делении необходимые константы выбираются с помощью управляющей логики самого сдвигателя.

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

Блок контроллера принимает микроинструкции от ПС микроконтроллера и формирует горизонтальные адреса, выдавая их из горизонтальной ПЛМ. Этот блок содержит свой контроллер последовательности, который позволяет для одной вертикальной микроинструкции выполнять ряд горизонтальных.

Такой контроллер последовательности дает горизонтальной ПЛМ возможность осуществлять условные переходы по признакам процессора арифметики с плавающей точкой без задержки, присущей вертикальной последовательности. Он позволяет осуществлять условный пропуск горизонтальных инструкций или завершать последовательность, а также может выполнять ветвление, подставляя биты-признаки условия непосредственно в адрес следующей микроинструкции. Эта последняя возможность используется для обнаружения особых случаев, определяемых данными, — примером таких случаев могут служить нулевые значения операндов при умножении и делении.

Две ИС, устройство системного ввода-вывода и модуль блок-мультиплексного канала, совместимы с шинами ввода-вывода машин Eclipse. Устройство системного ввода-вывода осуществляет функции управления запрограммированными ВВ (в частности, программные прерывания), определенными базовыми устройствами ВВ, вспомогательными устройствами программируемого интерфейса пульта и средствами управления каналом данных. Взаимодействующий с ним модуль блок-мультиплексного канала осуществляет управление блок-мультиплексным каналом машин.

ИС ЦП обеспечивает выполнение программных инструкций ВВ, передавая соответствующую команду по системной шине устройству системного ВВ, которое содержит логику управления программным ВВ, реагирующую на полученную команду, вырабатывая управляющие сигналы для шины ВВ. Эти сигналы необходимы для выполнения требуемой операции переноса данных по шине.

В состав устройства системного ВВ входят такие блоки, как часы реального времени, программируемый интервальный таймер, первичный контроллер асинхронной линии и контроллер защиты по питанию для ЭВМ Eclipse. В нем содержатся также средства реализации эффективного программируемого пульта и работы со стандартным устройством регистрации ошибок, предусмотренным в машинах серии MV.

Кэш-память преобразованных адресов

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

В рамках диапазона рабочего времени этой СБИС — длительность периода Т может находиться в пределах от 300 до 600 нс — внутренняя логическая схема частотного синтеза обеспечивает постоянные временные параметры для внешней шины ВВ и постоянные измерения в реальном времени при помощи внутренних блоков, таких, как часы реального времени и интервальный таймер. 32-разрядный регистр управления конфигурацией еще более повышает гибкость этой СБИС, позволяя задавать для нее тактовую частоту, скорость передачи двоичных данных по асинхронной линии, сигнал разрешения работы с кэш-памятью данных и другие оперативные параметры.

СБИС блок-мультиплексного канала управляет шиной ВВ блок-мультиплексного канала, совместимого с машинами Eclipse, позволяя осуществлять высокоскоростной ввод-вывод данных. Блок-мультиплексный канал Eclipse рассчитан на подключение до восьми контроллеров, а также на обмен пакетами данных со скоростью 8 Мбайт/с между системной памятью и контроллером устройства ВВ модуля блок-мультиплексного канала без участия центрального процессора. При этом размер пакетов может находиться в пределах от 1 до 256 слов длиной по 16 бит.

Кроме того, модуль блок-мультиплексного канала может передавать блоки данных по системной шине. Передача блока — это две последовательные передачи 32-разрядных данных. В таком режиме устройство осуществляет передачи блоков для выполнения всех необходимых операций чтения и записи основной памяти.

Дочерние статьи:

Использование дисилицида титана для повышения быстродействия

Двухуровневая микропрограммная архитектура, обеспечивающая повышение быстродействия

Выходные данные:

Журнал "Электроника" том 56, No.22 (678), 1983г - пер. с англ. М.: Мир, 1983, стр.27

Electronics Vol.56 No.22 November 3, 1983 A McGraw-Hill Publication

Chandra R. Vora et al. Chip set implements 32-bit Eclipse architecture, pp. 121—126.

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Интеграция систем





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/DataGeneral/D19831103Elc030.shtml