
- •Архитектура аппаратных средств.
- •1.2. Классификация элементов эвм.
- •1.3. Базовые логические элементы "и", "или", "не"
- •1.3.1. Элемент и
- •1.3.2. Элемент или
- •1.3.3. Элемент не
- •Исключительное или
- •Элемент и-не
- •Элемент или-не
- •Стрелка Пирса и штрих Шеффера. Стрелка Пирса
- •Штрих Шеффера
- •Архитектура фон Неймана.
- •Гарвардская архитектура.
- •Классическая гарвардская архитектура
- •Классифиация архитектур аппаратных средств.
- •Архитектура процессоров - cisc.
- •Архитектура процессоров - risc.
- •Сферы применения многоядерных процессоров
- •Основные классы многоядерных процессоров (many-core, multi-core, mimd, simd, smp, mmp)
- •Ячеистые" процессоры компании Tilera Процессоры Tile-64/64Pro
- •Семейство процессоров Tile-Gx
- •Процессор csx700
- •Краткие итоги
- •Архитектура процессоров seAforth
- •Структура графического процессора g80
- •Модель программирования cuda
- •Основные идеи архитектуры atac
- •Ключевые элементы технологии атас
- •Структура межъядерных связей
- •Передача данных и согласование кэш-памяти
- •Общая характеристика мультиядерных arm-процессоров
- •Серия Cortex-a mpCore
- •Состав, устройство и принцип действия основной памяти
- •Основная память
- •Статические элементы памяти
- •Программируемые зу
- •Сверхоперативная память
- •Ассоциативная память
- •Общие принципы функционирования кэш-памяти
- •Механизм сохранения информации в кэш-памяти
- •Типы кэш-памяти
- •Кэширование с обратной записью.
- •Организация внутренней кэш-памяти микропроцессора
- •Управление работой кэш-памяти на уровне страниц
- •Обеспечение согласованности кэш-памяти микропроцессоров в мультипроцессорных системах
- •Базовая система ввода-вывода (bios). Понятие cmos ram
- •Как bios управляет работой оборудования
- •Звуковые сигналы bios
- •Производитель ami
- •Производитель award
- •Системная, материнская плата
- •Цпу (Центральное процессорное устройство).
- •Архитектура графической подсистемы пк
- •Дисплеи
- •Дисплеи на элт
- •Жидкокристаллические дисплеи
- •Другие типы дисплеев
- •Принцип действия
- •Проекторы
- •Звуковая карта
- •Звуковые карты на шине pci.
- •Встроенный в системную плату ас’97_кодек.
- •Звуковые адаптеры и игры
- •Основные параметры и функции звуковых карт.
- •Блок питания.
- •Принтеры
- •Матричные принтеры
- •Струйные принтеры
- •Лазерные принтеры
Процессор csx700
Архитектура процессора CSX700 была разработана для решения проблемы размеров, веса и потребляемой мощности (Size, Weight and Power (SWAP)), которая, как правило, доминирует во встраиваемых высокопроизводительных приложениях. Путем интегрирования процессоров, системных интерфейсов и встроенной памяти с коррекцией ошибок, CSX700 представляет собой экономичное, надежное и производительное решение, отвечающее требованиям современных приложений [13-14-15].
Процессор представляет собой архитектуру с массовым параллелизмом данных и высокой степенью эффективности и надежности. Архитектура нацелена на интеллектуальную обработку сигналов и обработку изображений во временной и частотной областях.
Кристалл CSX700 содержит 192 высокопроизводительных процессорных ядра, встроенную буферную память размером 256 Кбайт (два банка по 128 Кбайт), кэш данных и кэш команд, ECC защиту внутренней и внешней памяти, встроенный контроллер прямого доступа в память. Для обеспечения накристальной и межкристальной сети используется технология ClearConnect NoC (рис. 3.11).
Рис. 3.11. Структура процессора CSX700
Интерфейс внешней памяти имеет 72 бита для контроля и коррекции данных (Error Checking and Correction — ECC). Используется память 64-бит DDR2 SDRAM объемом до 4 Гбайт. Процессор имеет 64- разрядное адресное пространство, которое отображается в 48-разрядное физическое. Порты CCBR0 и CCBR1 предназначены для образования мультикристальных систем, а также могут служить для подключения ПЛИС.
Процессор состоит из двух относительно независимых модулей (ядер) MTAP, содержащих кэши инструкций, данных, блоки управления процессорными элементами, и набор из 96 вычислительных ядер — процессорных элементов (PE) (рис. 3.12). Поддерживает одновременное выполнение восьми потоков.
Рис. 3.12. Структура MTAP-блока
На каждом такте процессор извлекает команду, декодирует ее и направляет в исполнительные блоки mono или poly либо на контроллер ввода-вывода. Набор команд традиционен для RISC-процессоров — это трехадресные команды. Кроме того, процессор выполняет команды перехода и управляет переключением потоков. Команды выполняются над операндами mono или poly, причем некоторые из них реализуются только в каком-то одном блоке (например, команды переходов — лишь в mono).
Каждое ядро имеет двойной блок вычислений с плавающей точкой (сложение, умножение, деление, вычисление квадратного корня, поддерживаются числа одинарной и двойной точности), 6 Кбайт высокопроизводительной оперативной памяти, 128-байтный регистровый файл. Поддерживается 64-битное виртуальное адресное пространство и 48-битное реальное.
Технические характеристики процессора:
тактовая частота ядер — 250 МГц;
96 ГФлоп двойной или одинарной точности;
поддерживает 75 ГФлопс двойной DGEMM;
производительность целочисленных операций — 48 ГMAC/с (умножений с накоплением в секунду);
рассеиваемая мощность — 9 Вт;
пропускная способность внутренних шин памяти — 192 Гбайт/с;
две внешних шины памяти — 4 Гбайт/с;
скорость обмена данными между отдельными процессорами — 4 Гбайт/с;
интерфейсы PCIe, 2х DDR2 DRAM (64 бита).
Внутрикристальная магистраль позволяет одновременно выполнять несколько обменов, например, обеспечивает доступ процессора к внутренней памяти. Кроме того, она дает возможность вести передачу данных из внешней памяти на порты CCBR0 или CCBR1 с использованием канала DMA.
Ядра синхронно исполняют один поток команд в режиме SIMD. Данные, которые должны обрабатываться параллельно, снабжены описателем poly.
Процессор поддерживает для каждого потока его контекст. Если PE- ядра выполняют длительный ввод-вывод, то процессор должен переключиться на другой поток. При этом потоки имеют приоритеты, и готовый поток с более высоким приоритетом прерывает выполнение потока с более низким. Потоки синхронизируются друг с другом и контроллерами ввода-вывода через аппаратные семафоры.
Семафоры представляют собой специальные регистры, значения которых увеличиваются или уменьшаются с помощью неделимых атомарных команд — соответственно, signal и wait. Если wait выполняется над семафором с нулевым значением, то выполнение команды приостанавливается до тех пор, пока не будет исполнена команда signal над этим семафором в другом треде или устройстве. Операции над семафорами способны выполнять и аппаратные блоки, например, контроллеры ввода-вывода.
Каждое ядро PE может выполнять или не выполнять команды в зависимости от значения разрешающих битов. Если все эти биты составляют "1", то команда выполняется. Если же хотя бы один из таких битов равен "0", большинство команд не выполняются (за исключением, например, команд изменения состояния разрешающих битов). Регистр разрешающих битов трактуется как стек: биты заходят в него через вершину.
Условное выполнение команд в PE поддерживается poly-командами перехода: if, else, endif и др. Они управляют значениями битов разрешения. Например, при выполнении команды if сравнения двух операндов во всех PE происходит следующее: в тех PE, где есть совпадение, в вершину стека будет помещена "1", а в тех, где обнаружено несовпадение, в вершину стека помещается "0". Соответственно, эти PE будут или не будут выполнять последующие команды — вплоть до команды endif, которая "вытолкнет" из стека значение, занесенное командой if. Стек имеет фиксированный размер, поэтому необходимо следить за его переполнением.
Команды чтения и записи из локальной памяти PE в регистры также могут выполняться или нет в зависимости от значения разрешающего бита. Для безусловного выполнения обмена между памятью и регистрами введены специальные команды forced load и forced store.
Канал ввода-вывода PE включает в себя контроллер и один или несколько каналов прямого доступа. Контроллер интерпретирует команды ввода-вывода и взаимодействует с тредами посредством семафоров. Обмен между локальной памятью PE и внешними устройствами выполняется путем программируемого ввода-вывода или с использованием каналов прямого доступа в локальную память. Каждый процессор может читать свою часть данных или выполнять общее чтение — с "нарезкой" одинаковых блоков для каждого процессора.
Процессорные элементы (PE) способны осуществлять обмен с "соседями" справа и слева. На каждом такте PE может выполнить передачу из своего регистра в регистр правого или левого "соседа" и получить одновременно справа и слева данные в свои регистры. Используются команды сдвига вправо и влево, а также передачи "соседу". Если PE имеет бит разрешения "0", то соседний процессор не может изменить состояние его регистров.
Разработанный для низкопотребляющих систем, данный процессор сочетает управление тактовой частотой, обычное для встраиваемых систем, с относительно низкой тактовой частотой. Управление частотой позволяет регулировать производительность приложений при работе в условиях определенного энергопотребления и теплового окружения.
CSX700 поддерживается профессиональной средой разработки (SDK) на основе технологии Eclipse с визуальными средствами отладки приложений, базирующейся на оптимизированном компиляторе ANSI C с расширениями для параллельного программирования. В дополнение к стандартной библиотеке С идет набор оптимизированных библиотек с такими функциями, как БПФ, BLAS, LAPACK и др.