
- •Содержание
- •История развития и классификация эвм (Лекция 1) Понятие архитектуры эвм
- •Классификация эвм
- •История развития эвм
- •Универсальные и управляющие эвм
- •Программное обеспечение
- •Архитектура системных плат (Лекция 2)
- •Шины ввода-вывода (xt, isa, eisa, mca, vesa, pci).
- •Сравнение и характеристики шин.
- •Основные микросхемы ibm pc
- •Микропроцессоры (Лекция 3)
- •Классификация процессоров
- •Общая организация современного микропроцессора
- •Исполнение процессорами инструкций x86 и x64 (Лекция 4) Кэш инструкций
- •Предсказание переходов
- •Исполнение инструкций
- •Процессоры Intel Pentium III, Pentium m и Core Duo
- •Внеочередное исполнение операций, функциональные устройства
- •Система прерываний (Лекция 5) Организация обработки прерываний в эвм
- •Обработка прерываний в персональной эвм.
- •Память (Лекция 6) Определения
- •Система управления памятью
- •Память. Микросхемы sdram (Лекция 7). Организация и принципы работы.
- •Физическая организация
- •Организация модулей памяти sdram
- •Микросхема spd
- •Тайминги памяти
- •Соотношения между таймингами
- •Схемы таймингов
- •Задержки командного интерфейса
- •Ddr/ddr2 sdram: Отличия от sdr sdram
- •Накопители информации. (Лекция 8) Эволюция носителей информации.
- •Управление распределением диска.
- •Структура таблицы разделов
- •Периферийные устройства (Лекция 9) Kлaвиaтуpa и управление клавиатурой
- •Сводная таблица скан-кодов
- •Клавиши пишущей машинки
- •Cвoднaя тaблицa кoдoв ascii
- •Сводная таблица расширенных кодов.
- •Визуализация данных (Лекция 10) Устройство видеомонитора.
- •Эволюция видеоадаптеров
- •Основа архитектуры видеоадаптеров
- •Установка атрибутов/цветов символов.
- •Управление курсором.
- •Ввод/вывод. (Лекция 11)
- •Особенности pio и dma
- •Доступ к последовательному порту.
- •Программирование микросхемы uart 8250.
- •Инициализация последовательного порта.
- •Установка текущего коммуникационного порта.
- •Инициализация и управление модемом.
- •Печатающие устройства. Принтеры. (Лекция 12) Классификация печатающих устройств
- •Управление работой принтера.
- •Посылка данных на принтер.
- •Параллельные вычислительные процессы и системы (Лекция 13) Виды параллелизма
- •Реализация параллельных систем
- •Нейровычислительные системы.
- •Сложности использования параллельных систем
- •Программирование параллельных систем
- •Сети эвм (Лекция 14) Организация сети
- •Характеристики стеков коммуникационных протоколов
- •Стек tcp/ip
- •Типовой состав оборудования локальной сети (Лекция 15)
- •Кабельная система
- •Сетевые адаптеры
- •Повторители и концентраторы
- •Мосты и коммутаторы
- •Маршрутизаторы
- •Список литературы
- •Список тем рефератов по курсу «Архитектура эвм»
- •Список вопросов к экзамену по предмету «Архитектура эвм».
Нейровычислительные системы.
Нейровычислительное устройство – это система, функционирование которой в максимальной степени ориентировано на реализацию нейросетевых алгоритмов. Основное отличие нейрокомпьютеров от других вычислительных систем – это обеспечение высокого параллелизма вычислений за счет применения специализированного нейросетевого логического базиса или конкретных архитектурных решений. Использование возможности представления нейросетевых алгоритмов для реализации на нейросетевом логическом базисе является основной предпосылкой резкого увеличения производительности нейрокомпьютеров.
Сейчас разработки цифровых нейрокомпьютеров наиболее активно ведутся по следующим направлениям:
программная эмуляция нейросетевых алгоритмов на основе использования обычных вычислительных средств и ППО по моделированию нейросетей;
программно-аппаратная эмуляция нейросетей на основе стандартных вычислительных средств с подключаемым виртуальным нейросетевым блоком, выполняющим основные нейрооперации, и ППО, осуществляющим функции общего управления;
аппаратная реализация нейронных сетей.
Несмотря на то, что наибольшего эффекта при реализации нейросетевых алгоритмов удается добиться лишь с использованием нейрокомпьютеров третьего направления, их широкое применение ограничивается высокой. Например, нейрокомпьютер Synaps1 – один из представителей нейрокомпьютеров третьего направления, имеет мультипроцессорную архитектуру, оригинальное построение подсистемы памяти, а для выполнения вычислительных операций использует сигнальные процессоры и специальные сигнальные матричные процессоры МА16. За счет этого производительность нейрокомпьютера составила порядка несколько миллиардов умножений и сложений в секунду. Программное обеспечение данной системы включает в себя ОС Synaps1 с библиотекой нейроалгоритмов, а также ППО: базовую библиотеку НС, компилятор языка программирования нейроалгоритмов (nAPL) (набор библиотечных функций для С++) и т.п. Прикладные исследования показали, что использование нейрокомпьютеров третьего направления позволяет повысить производительность обычных вычислительных систем как минимум на три порядка и моделировать НС с миллионами соединений. Так, например, Synaps1 позволяет моделировать нейросеть с 64 миллионами синапсов с использованием различных активационных функций.
Два класса компьютерных систем, которые иногда используют как параллельные компьютеры – это локальная сеть (LAN), в которой компьютеры, находящиеся в физической близости (например, то же строение), связываются быстрой сетью, и глобальная сеть (WAN), в которой соединены географически удаленные компьютеры. Хотя системы такого типа доставляют дополнительные проблемы, такие как безопасность, надежность, они могут быть рассмотрены для различных целей как мультикомпьютеры, хотя и с высокой стоимостью удаленного доступа.
Сложности использования параллельных систем
Гигантская производительность параллельных компьютеров и супер-ЭВМ с лихвой компенсируется сложностями их использования.
У вас есть программа и доступ, скажем, к 256-процессорному компьютеру. Что вы ожидаете? Да ясно что: вы вполне законно ожидаете, что программа будет выполняться в 256 раз быстрее, чем на одном процессоре. А вот как раз этого, скорее всего, и не будет.
Закон Амдала. Предположим, что в программе доля операций, которые нужно выполнять последовательно, равна f, где 0<=f<=1 (при этом доля понимается не по статическому числу строк кода, а по числу операций в процессе выполнения). Крайние случаи в значениях f соответствуют полностью параллельным (f = 0) и полностью последовательным (f = 1) программам. Тогда для того, чтобы оценить, какое ускорение S может быть получено на компьютере из 'p' процессоров при данном значении f, можно воспользоваться законом Амдала: если 9/10 программы исполняется параллельно, а 1/10 по-прежнему последовательно, то ускорения более, чем в 10 раз получить в принципе невозможно вне зависимости от качества реализации параллельной части кода и числа используемых процессоров (10 получается только в том случае, когда время исполнения параллельной части равно 0).
Следствие закона Амдала. Для того, чтобы ускорить выполнение программы в q раз, необходимо ускорить не менее, чем в q раз не менее, чем (1-1/q) -ю часть программы. Следовательно, если есть желание ускорить программу в 100 раз по сравнению с ее последовательным вариантом, то необходимо получить не меньшее ускорение не менее, чем для 99.99% кода!
Таким образом, заставить параллельную вычислительную систему работать с максимальной эффективностью на конкретной программе это задача не из простых, поскольку необходимо тщательное согласование структуры программ и алгоритмов с особенностями архитектуры параллельных вычислительных систем.