Параллелизм на уровне процессоров
Параллелизм на уровне команд помогает, но увеличить производительность с ее помощью можно только в 5- 10 раз. Чтобы увеличить производительность в 50, 100 и более раз – нужны компьютеры с несколькими процессорами.
1) Многоядерность
2) Многопроцессорность
Многоя́дерный проце́ссор — центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе.
Ядро является полноценным микропроцессором, использующим все достижения микропроцессорной техники: конвейеры, внеочередное исполнение кода, многоуровневый кэш, поддержка векторных команд. Суперскалярность в ядре не используется, так как она реализована самим наличием нескольких ядер в процессоре.
Кэш-память: Во всех существующих на сегодня многоядерных процессорах кеш-памятью 1-го уровня обладает каждое ядро в отдельности, а кеш-память 2-го уровня существует в нескольких вариантах:
· разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core.
· Индивидуальная — отдельные кеши равного объёма, интегрированные в каждое из ядер. Обмен данными из кешей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода).
Многоядерные процессоры также имеют гомогенную или гетерогенную архитектуру:
· гомогенная архитектура — все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel Core Duo, Sun SPARC T3, AMD Opteron
· гетерогенная архитектура — ядра процессора выполняют разные задачи. Типичный пример: процессор Cell альянса IBM, Sony и Toshiba, у которого из девяти ядер одно является ядром процессора общего назначения PowerPC, а восемь остальных — специализированными процессорами, оптимизированными для векторных операций, которые используются в игровой приставке Sony PlayStation 3
В многоядерных процессорах тактовая частота, как правило, намеренно снижена. Это позволяет уменьшить энергопотребление процессора без потери производительности. Поэтому выгоду от запуска на многоядерных процессорах имеют только приложения, ориентированные на многопоточное выполнение. Иначе снижение тактовой частоты только замедляет выполнение задач.
Термином многопроцессорный обозначают компьютеры, имеющие несколько физически раздельных процессоров (например, серверные материнские платы часто имеют 2 или 4 сокета для подключения нескольких чипов), но управляемые одним экземпляром ОС.
Предсказание переходов.
Микроархитектура ядра должна решать проблему предсказания ветвлений программы. Суть проблемы в том, что, встретив инструкцию перехода, процессор останавливает конвейер. Задержка будет тем дольше, чем больше длина конвейера.
Поэтому инструкции перехода надо выявлять заранее и реагировать соответствующим образом. Для этого предназначен специальный блок предсказания переходов (Branch Prediction Unit). Его задача — предвидеть направление перехода и, в случае удачного предсказания, сэкономить время. Соответственно, если результат предсказания будет неудачным, происходит полная остановка конвейера и очистка буферов.
В большинстве случаев точность предсказания переходов в современных процессорах превышает 90 %, что позволяет оптимально использовать вычислительные ресурсы процессора.
Существует два основных метода предсказания переходов:
· статический и
· динамический.
Статическое предсказание
Наиболее просты. Суть - различные типы переходов либо выполняются всегда, либо не выполняются никогда.В современных процессорах статические методы используются лишь в том случае, когда невозможно использование динамического предсказания (в качестве подстраховки).
Пример: в ранних процессорах архитектуры MIPS предполагалось, что условные переходы никогда не выполняются.
Динамическое предсказание
Современное, подразумевает анализ истории ветвлений.
Блок предсказаний хранит специальную таблицу истории переходов (Branch History Table),в которой записана результативность предыдущих примерно 4000предсказаний. Кроме того, отслеживается точность последнего предсказания, чтобы при необходимости откорректировать алгоритм работы.
Примером динамического предсказания может служить двухуровневый адаптивный исторический алгоритм (англ. Bimodal branch prediction), использовавшийся процессорами архитектуры P6 (анализируется таблица истории переходов, содержащая младшие значимые биты адреса инструкции и соответствующую им вероятность условного перехода:
· «скорее всего, будет выполнен»,
· «возможно, будет выполнен»,
· «возможно, не будет выполнен»,
· «скорее всего, не будет выполнен»
и обновляемая после каждого перехода).
35. Понятие шины расширения. Шины PCI, PCI-X, PCI-E
Шина расширения — компьютерная шина, которая используется на материнской плате компьютеров, для добавления устройств (плат) в компьютер.
Для передачи данных между устройствами, расположенными на материнской плате, используются проводники, называемые шиной. Шины используются для передачи информации между устройствами и могут быть нескольких видов: шина главного процессора (на которой работает процессор и кэш-память), системная шина. Системная шина является основным источником передачи информации между устройствами, находящимися на материнской плате и вне ее, такими, как оперативная память, процессор, клавиатура, жесткий диск, флоппи-дисковод, клавиатура, мышь и так далее. Конечно, такое взаимодействие происходит не напрямую, а через специальные устройства, называемые контроллерами. Так, например, существует контроллер для клавиатуры, шины расширения (через которую происходит обмен информацией между внешними устройствами и устройствами на материнской плате, такими как звуковая плата, дисплей, сканер) и другие.
Шины расширения бывают:
· ISA — 8 и 16 разрядная, использовалась в первых персональных компьютерах
· VL-bus — шина, разработанная на смену шине ISA, в противовес MCA
· MCA — микроканальная архитектура, разработана IBM, для своего компьютера IBM PS/2
· PCI — шина, разработанная Intel, для процессоров Pentium
Особенности шины PCI:
� Синхронный 32-х или 64-х разрядный обмен данными (правда, насколько мне известно, 64-разрядная шина в настоящее время используется только в Alpha-системах и серверах на базе процессоров Intel Xeon, но, в принципе, за ней будущее). При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям
� Шина поддерживает метод передачи данных, называемый linear burst (метод линейных пакетов). Этот метод предполагает, что пакет информации считывается (или записывается) одним куском, то есть адрес автоматически увеличивается для следующего байта. Естественным образом при этом увеличивается скорость передачи собственно данных за счет уменьшения числа передаваемых адресов
� В шине PCI используется совершенно отличный от ISA способ передачи данных. Этот способ, называемый способом рукопожатия (handshake), заключается в том, что в системе определяется два устройства: передающее (Iniciator) и приемное (Target). Когда передающее устройство готово к передаче, оно выставляет данные на линии данных и сопровождает их соответствующим сигналом (Iniciator Ready), при этом приемное устройство записывает их (данные) в свои регистры и подает сигнал Target Ready, подтверждая запись данных и готовность к приему следующих. Установка всех сигналов производится строго в соответствии с тактовыми импульсами шины
� Относительная независимость отдельных компонентов системы. В соответствии с концепцией PCI передачей пакета данных управляет не CPU, а мост, включенный между ним и шиной PCI (Host Bridge Cashe/DRAM Controller). Процессор может продолжать работу и тогда, когда происходит обмен данными с RAM. То же происходит и при обмене данными между двумя другими компонентами системы
� Низкая нагрузка на процессор. Эта особенность вытекает из предыдущей
� Частота работы шины 33 MHz или 66 MHz позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):
o 132 МВ/сек при 32-bit/33 MHz
o 264 MB/сек при 32-bit/66 MHz
o 264 MB/сек при 64-bit/33 MHz
o 528 МВ/сек при 64-bit/66 MHz
� При этом для работы шины на частоте 66 MHz необходимо, чтобы все периферийные устройства работали на этой частоте
� Поскольку шина процессора и шина расширения PCI соединены с помощью главного моста (Host Bridge), то последняя может работать с CPU последующих поколений
� Полная поддержка multiply bus master (например, несколько контроллеров жестких дисков могут одновременно работать на шине)
� Поддержка 5V и 3.3V логики. Разъемы для 5 и 3.3V плат различаются расположением ключей
� Поддержка write-back и write-through кэша
� PCI приспособлена для распознавания аппаратных средств и анализа конфигурации системы в соответствии со стандартом Plug&Play, разработанным корпорацией Intel. Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space - конфигурационное пространство. Оно состоит из трех регионов:
o Заголовка, независимого от устройства (device-independent header region)
o Региона, определяемого типом устройства (header-type region)
o региона, определяемого пользователем (user-defined region)
� Спецификация шины позволяет комбинировать до восьми функций на одной карте (например, видео+звук и прочее)
� Шина позволяет устанавливать до 4 слотов расширения, однако возможно использование моста PCI to PCI для увеличения их количества
� PCI-устройства оборудованы таймером, который используется для определения максимального промежутка времени, в течении которого устройство может занимать шину
� При разработке шины в ее архитектуру были заложены передовые технические решения, позволяющие использовать шину в будущем и модернизировать ее
· AGP — вариант PCI, использовавшийся для видеокарт
· PCI Express — современная шина, которая пришла на смену PCI
PCI Express, или PCIe, или PCI-E — компьютерная шина (хотя на физическом уровне шиной не является, будучи соединением типа «точка-точка»), использующая программную модель шины PCI и высокопроизводительный физический протокол, основанный на последовательной передаче данных.
В отличие от стандарта PCI, использовавшего для передачи данных общую шину с подключением параллельно нескольких устройств, PCI Express, в общем случае, является пакетной сетью с топологией типа звезда.
Устройства PCI Express взаимодействуют между собой через среду, образованную коммутаторами, при этом каждое устройство напрямую связано соединением типаточка-точка с коммутатором.
Кроме того, шиной PCI Express поддерживается:
· горячая замена карт;
· гарантированная полоса пропускания (QoS);
· управление энергопотреблением;
· контроль целостности передаваемых данных.
Шина PCI Express нацелена на использование только в качестве локальной шины. Так как программная модель PCI Express во многом унаследована от PCI, то существующие системы и контроллеры могут быть доработаны для использования шины PCI Express заменой только физического уровня, без доработки программного обеспечения. Высокая пиковая производительность шины PCI Express позволяет использовать её вместо шин AGP и тем более PCI и PCI-X. Де-факто PCI Express заменила эти шины в персональных компьютерах.
PCI-X- Расширение PCI64 с добавлением двух новых частот работы, 100 и 133МГц, а также механизма раздельных транзакций для улучшения производительности при одновременной работе нескольких устройств. Как правило, обратно совместима со всеми 3.3В и универсальными PCI-картами.
PCI-X карты обычно выполняются в 64-бит 3.3В формате и имеют ограниченную обратную совместимость со слотами PCI64/66, а некоторые PCI-X карты - в универсальном формате и способны работать (хотя практической ценности это почти не имеет) в обычном PCI 2.2/2.3.
В сложных случаях для того, чтобы быть полностью уверенным в работоспособности выбранной вами комбинации из мат.платы и карты расширения, случае надо посмотреть таблицы совместимости (compatibility lists) производителей обоих устройств.
36. Внешние интерфейсы ПК. Интерфейс USB
Шины, объединяющие компьютер с внешними устройствами, называются внешними.
По способу передачи информации интерфейсы подразделяются на параллельные и последовательные. В параллельном интерфейсе все биты передаваемого слова (обычно байта) выставляются и передаются по соответствующим параллельно идущим проводам одновременно. В ПК традиционно используется параллельный интерфейс Centronics, реализуемый LPT-портами. В последовательном же интерфейсе биты передаются друг за другом, обычно по одной линии. СОМ порты ПК обеспечивают последовательный интерфейс в соответствии со стандартом RS-232C. При рассмотрении интерфейсов важным параметром является пропускная способность.
В архитектуре современных компьютеров все большее значение приобретают внешние шины, служащие для подключения различных устройств. Сегодня это могут быть, например, внешние жесткие диски, CD-, DVD-устройства, сканеры, принтеры, цифровые камеры и прочее.
Одним из последних нововведений в архитектурах материнских плат является последовательная шина USB (Universal Serial Bus). В USB реализована возможность подключения большого количества периферийных устройств к компьютеру.
Теоретически по шине USB можно подключать до 127 устройств. Обмен данными с быстродействующими устройствами осуществляется на скорости 12 Мбит/с, а с медленными – на 1,5 Мбит/с. Имеющаяся в составе шины USB линия питания с допустимым током нагрузки до 500 мА во многих случаях позволяет периферии обходиться без дополнительных источников. Все устройства подключаются в горячем режиме и автоматически конфигурируются благодаря поддержке режима Plug and Play.
USB 2.0 унаследовал все достоинства USB 1.1. Максимальная скорость обмена увеличилась в 40 раз и составила 480 Мбит/с. USB 2.0 может быть востребован в первую очередь в качестве интерфейса внешних накопителей данных. Речь идет о приводах DVD, CD-RW и различных мобильных компактных носителях. К подобным аппаратам относятся цифровые, видео- и фотокамеры.
37. Устройства ввода информации. Сенсорные экраны.
Устройства ввода информации:
Клавиатуры живы и еще собираются жить долго, но все большее распространение получают сенсорные экраны. Впервые они появились в 1965 году, довольно давно, но на массовый рынок они вышли вместе с айфонами в 2007 году.
Сенсорные устройства бывают:
· Непрозрачные (тачпад на буке) – это нас не интересует
· Прозрачные – собственно сенсорные экраны
Основные разновидности сенсорных экранов:
· Инфракрасные
· Резистивные
· Емкостные
Инфракрасные – технология древняя как мир, на мобильниках не применяется, только на интерактивных киосках, например.
· Суть: сверху и слева – лазерные излучатели
· Снизу и справа – приемники.
· Когда какой-то предмет перекрывает свет – вычисляются координаты предмета.
Резистивные – тоже древние
· Состоит из двух слоев:
· Нижний – содержит вертикальные проводники
· Верхний – гибкий – содержит горизонтальные проводники
· Палец заставляет проводники соприкасаться, вычисляются координаты.
Проблемы инфракрасных и резистивных экранов:
· Двоение (если нажать на две точки с координатами 3.5 и 5.3 – система помрет соображая, какую именно нажали, так как координаты одни и те же)
· Невозможно определять мультитач
Для мультитача потребовалась новая технология – проекционно-емкостные сенсорные экраны.Эти экраны бывают тоже разных видов, самые распространенные– взаимно емкостные.
Экран по сути – большой конденсатор, состоящий из двух пластин, разделенных слоем диэлектрика. Прикасаясь к экрану, палец, который является проводником, изменяет емкость всех затронутых пересечений. Это изменение измеряется и фиксируется.
Причем в сенсорных экранах используются особые проводники, прозрачные – 50 микрон толщиной сплав оксида индия и оксида олова, прикрепленные к обратной стороне тонкой стеклянной панели. От толщины этой стеклянной панели зависит чувствительность экрана.
Координаты точки соприкосновения передаются драйверу устройств в виде пар (х, у), а уже дальнейшую обработку этих пар выполняет операционная система.
38. Устройства вывода информации.
Классификация мониторов:
· ЭЛТ (с электронно-лучевой трубкой) CRT (cathode ray tube )
· ЖКИ (на жидкокристаллическом индикаторе) LCD (liquid crystal display )
· Плазменные панели PDP (plasma display panel )
· OLED-мониторы OLED (Organic Light-Emitting Diode)
· Проекционный
Электронно-лучевая трубка:
В электронно-лучевой трубке используется поток электронов, сконцентрированный в форме луча или пучка лучей.
Давно вымерли как мамонты
Жидко-кристаллический дисплей:
Лампа излучает неполяризованный свет. Пройдя через поляризатор, свет будет иметь преимущественное направление. Если поставить второй поляризатор, где ось поляризации перпендикулярна первому, то свет попросту не пройдёт.
Если разместить между двумя поляризаторами жидкий кристалл, то он сможет повернуть ось поляризации света таким образом, чтобы она совпадала с осью второго поляризатора.Если подать на кристалл электрический ток, то он будет поворачиваться в зависимости от разницы потенциалов. Изменяя напряжение на краях жидкого кристалла, можно задать оттенки цвета.
Плазменная панель
Принцип действия плазменной панели основан на свечении специальных люминофоров (фосфоресцирующие вещества) при воздействии на них ультрафиолетового излучения. В свою очередь это излучение возникает при электрическом разряде в среде сильно разреженного газа.
Каждый суб-пиксель представляет собой микроскопическую флуоресцентную лампу, излучающую только один из основных цветов: красный, зелёный или синий. Регулируя яркость свечения лампы можно получить различные оттенки.
OLED-дисплей
При прохождении тока напряжением от 2.5 V, базовый слой начинает излучать фотоны, их поток становится все более интенсивным по мере увеличения силы тока, усиливаясь практически линейно, и позволяя при напряжении менее 10 В получить яркость более 1000 Кд /м2.