Опубликован: 03.04.2013 | Доступ: свободный | Студентов: 354 / 30 | Длительность: 34:17:00
Специальности: Разработчик аппаратуры
Лекция 3:

Состояние и перспективы развития вычислительных систем и проектных технологий их создания

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Аннотация: В лекции раскрыт эволюционный характер становления технологии прототипирования.
Ключевые слова: компонент, логическое описание, технологические ограничения, компьютер, Instruction, set, computer, MIPS, SPARC, DEC, alpha, PA-RISC, AMD, ПО, processor, architecture, матрица, field, programmable, gate array, массив, полупроводниковые элементы, логический вентиль, макет, программное обеспечение, программатор, итерация, цикла, путь, конфигурация, вентиль, стоимость, расходы, IEEE 1076, альтернативные, этапы проектирования, место, объект, интерфейс, порт, архитектура, операторы, задача мультиплексирования, язык моделирования, произвольное, VHDL-T, опыт, программная совместимость, таблица, разрядность, SISD, MISD, ОКОД, ОКМД, векторный процессор, shared-memory multiprocessor, векторно-конвейерные компьютеры, классификация Флинна, система с распределенной памятью, DAI, LRU, работ, программа, joint, Texas Instrument, avionics, virtual, system engineering, AND, prototyping, информационный датчик, JSF, ICP, SCI, MFA, ISS, VHSIC, mimic, data bus, AGP, запоминающее устройство, шина, значение, обработка сигналов, процессор, сеть, плата, модуль, производительность, информация, отображение, виртуальное, пространство, поле, индикатор, устойчивость, реакция, запуск, оптимизация, группа, анализ, интеграция, functional integration, mouse, aperture, sensor, system, core, GOPS, GFLOPS, GMACS, MPC, бит, кеш, фиксированная запятая, операционная система, Green, software, integrity, радар, расстояние, low-power, дисплей, CNI, VMS, фирма, vehicle management, VMC, IEEE, целостность, LCD, MFD, HMD, позиционирование, точность, безопасность, вес

2.1. Основные определения и понятия системотехники

Архитектура системы - это функциональное проявление системы с точки зрения пользователя.

Архитектура системы (с позиций разработчика) - это ее структурно-функциональная схема и регламент функционирования, оговоренный, как правило, в протоколах работы отдельных компонент и системы в целом.

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

Реализация - это физическое воплощение исполнения.

В " хорошей" архитектуре выдерживаются следующие общепринятые принципы:

  1. Согласованность.Хорошая архитектура согласована в том смысле, что частичное знание системы позволяет предсказать остальное.
  2. Ортогональность. Этот принцип требует, чтобы функции были независимы друг от друга и специфицированы по отдельности.
  3. Соответственность. Согласно этому принципу следует включать в архитектуру только те функции, которые соответствуют существенным требованиям к системе, другими словами, в хорошей архитектуре нет ненужных функций.
  4. Экономность. Никакая функция в описании архитектуры не должна в том или ином виде дублировать другую функцию.
  5. Прозрачность. Функции, найденные в процессе исполнения, должны быть известны пользователю.
  6. Общность. Если функция должна быть введена, ее следует вводить в таком виде, чтобы она отвечала как можно большему числу назначений.
  7. Открытость. Пользователь должен иметь право использовать функцию иначе, чем это предполагалось при проектировании.
  8. Полнота. Введенные функции должны с учетом экономических и технологических ограничений как можно полнее соответствовать требованиям и пожеланиям пользователя. нанометровую или супра-молекулярную

Если в 80-х годах прошлого столетия бортовые вычислительные системы (БВС) и машины комплектовались процессорами общего назначения и цифровыми процессорами обработки сигналов с CISC- архитектурой (компьютер с расширенной системой команд), то в современных наземных и бортовых вычислительных комплексах и системах доминируют процессоры с RISC- архитектурой. ( RISC - это Reduced Instruction Set Computer, то есть компьютер с редуцированной системой команд.) Основными признаками RISC- концепции являются:

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

К RISC- процессорам сегодня причисляют: MIPS, SPARC, PowerPC, DEC Alpha, HP PA-RISC, Intel 960, AMD 29000 и некоторые другие.

RISC- концепция предоставляет компилятору большие возможности по оптимизации кода. В настоящее время область применения RISC- процессоров непрерывно расширяется от микроконтроллеров до суперкомпьютеров. RISC- процессоры лидируют по производительности среди процессоров общего назначения. Существуют стандарты на RISC- процессоры, например SPARC (Scalable Processor Architecture, текущая версия UltraSPARC9), MIPS (текущая версия IV, R10000), PowerPC и т. д. (часто их называют открытыми архитектурами).

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

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

FPGA- матрица (Field Programmable Gate Array - программируемая пользователем вентильная матрица) - это особым образом сделанный массив полупроводниковых элементов (емкостью от 1 до 100 тыс. логических вентилей), позволяющий разработчикам достаточно быстро (за 2-3 недели) спроектировать и изготовить работоспособный образец (макет) заказной интегральной схемы в лабораторных условиях. По оценкам экспертов, технология FPGA идеально подходит как для изготовления опытных образцов (с дальнейшим переходом на заказные (С)БИС), так и для выпуска мелких и средних партий готовых изделий.

Все что необходимо для проведения проекта - это компьютер, специальное программное обеспечение и программатор. Процесс разработки блока на базе FPGA существенно выигрывает у технологии базовых матричных кристаллов (БМК). Последняя предполагает использование мощностей специализированных микроэлектронных предприятий, в результате чего цикл проектирование-изготовление затягивается на многие месяцы, причем каждая итерация требует повторения этого цикла и дополнительных ассигнований. Совершенно очевидно, что в нынешних условиях это абсолютно неприемлемый путь. Необходимо также отметить, что в отличие от однократно "программируемых" БМК каждая микросхема FPGA может программироваться "неограниченное" число раз (конфигурация загружается из внешней памяти типа ППЗУ при включении питания, поэтому для смены конфигурации достаточно поменять эту дешевую микросхему ППЗУ).

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

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

VHDL - это язык синтеза дискретных систем. Он разработан в соответствии со спецификацией IEEE 1076 и используется для формального описания проектов в области электроники (существуют и альтернативные языки, такие, например, как Verilog ).

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

схем с поэтапно углубляемой детализацией и их формального описания и, таким образом, объединять все этапы проектирования в единый нисходящий процесс проектирования (разработка "сверху вниз"). Появление языка VHDL в определенной степени позволяет автоматизировать задачи проектирования от описания алгоритма функционирования системы до реализации в кремнии кристаллов микросхем. При этом понятие "синтез" следует определить как формализованный процесс построения схемы из некоторого заранее заданного и достаточно стабильного набора компонентов, как это имеет место в кремниевой компиляции, где базовые элементы синтеза "заморожены" на все "время жизни" технологии производства СБИС или УБИС.

Одно из главных свойств - это способность описывать аппаратуру и ее работу во времени. Поэтому основными в VHDL являются такие близкие разработчику понятия, как объект проекта, интерфейс, порт, архитектура, сигнал, атрибуты сигнала, операторы параллельного присвоения, процесс и др.

Сигнал в VHDL трактуется весьма широко и может быть скалярным (целым, вещественным, битовым и т. д.) или векторным (шинным), булевым или многозначным. Многозначная логика дает возможность выявлять с помощью моделирования такие явления в схемах, как гонки или неопределенности на выходах схем, а также решать задачи мультиплексирования шины. Многозначность не следует путать с 3-стабильными вентилями интерфейсов, для которых существует "активное" и "пассивное" состояние, и только для первого из них возможны переходы из "нуля" в "единицу" и наоборот.

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

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

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

Количество уровней вложенности структурной модели произвольное, что позволяет фактически описать любую систему от уровня ее

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

Для успешного решения задач высокоуровневого синтеза с последующим переходом на более низкие уровни с использованием VHDL- описаний ( VHDL- синтеза) должны выполняться следующие допущения:

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

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

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >