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

Обновлено: 21.11.2024

Это первое руководство из семинара "Начало работы с ливерморскими вычислениями". Он предназначен для предоставления лишь краткого обзора обширной и обширной темы параллельных вычислений в качестве вводной части для последующих руководств. Таким образом, он охватывает только самые основы параллельных вычислений и предназначен для тех, кто только знакомится с предметом и планирует посетить одно или несколько других руководств на этом семинаре. Он не предназначен для подробного рассмотрения параллельного программирования, так как это потребует значительно больше времени. Учебное пособие начинается с обсуждения параллельных вычислений — что это такое и как оно используется, после чего следует обсуждение концепций и терминологии, связанных с параллельными вычислениями. Затем исследуются темы параллельных архитектур памяти и моделей программирования. За этими темами следует серия практических дискуссий по ряду сложных вопросов, связанных с проектированием и выполнением параллельных программ. Учебник завершается несколькими примерами того, как распараллелить несколько простых задач. Ссылки включены для дальнейшего самостоятельного изучения.

Обзор

Что такое параллельные вычисления?

Последовательные вычисления

Традиционно программное обеспечение писалось для последовательных вычислений:

  • Задача разбита на отдельные серии инструкций.
  • Инструкции выполняются последовательно одна за другой
  • Выполняется на одном процессоре
  • В любой момент времени может выполняться только одна инструкция

Например:

Параллельные вычисления

Проще говоря, параллельные вычисления — это одновременное использование нескольких вычислительных ресурсов для решения вычислительной задачи:

  • Проблема разбивается на отдельные части, которые можно решать одновременно
  • Каждая часть далее разбита на серию инструкций.
  • Инструкции из каждой части выполняются одновременно на разных процессорах
  • Используется общий механизм контроля/координации

Например:

  • Вычислительная задача должна уметь:
    • Разбить на отдельные части работы, которые можно решать одновременно;
    • Выполнение нескольких программных инструкций в любой момент времени;
    • Решайте задачи быстрее, используя несколько вычислительных ресурсов, чем один вычислительный ресурс.
    • Один компьютер с несколькими процессорами/ядрами
    • Произвольное количество таких компьютеров, объединенных в сеть

    Параллельные компьютеры

    • Сегодня практически все автономные компьютеры параллельны с аппаратной точки зрения:
      • Несколько функциональных блоков (кеш L1, кэш L2, переход, предварительная выборка, декодирование, операции с плавающей запятой, обработка графики (GPU), целые числа и т. д.)
      • Несколько исполнительных блоков/ядер
      • Несколько аппаратных потоков

      • Сети соединяют несколько автономных компьютеров (узлов) для создания больших параллельных компьютерных кластеров.
      • Например, на приведенной ниже схеме показан типичный кластер параллельных компьютеров LLNL:
        • Каждый вычислительный узел сам по себе является многопроцессорным параллельным компьютером
        • Несколько вычислительных узлов объединены в сеть Infiniband.
        • Узлы специального назначения, также многопроцессорные, используются для других целей.
        • Большинство больших параллельных компьютеров (суперкомпьютеров) в мире представляют собой кластеры оборудования, произведенного несколькими (в основном) известными поставщиками.

        Зачем использовать параллельные вычисления?

        Реальный мир чрезвычайно сложен

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

        Основные причины использования параллельного программирования

        ЭКОНОМЬТЕ ВРЕМЯ И/ИЛИ ДЕНЬГИ
        • Теоретически, выделение большего количества ресурсов для выполнения задачи сократит время ее выполнения и потенциально сэкономит средства.
        • Параллельные компьютеры могут быть собраны из дешевых, широко распространенных компонентов.

        РЕШАТЬ БОЛЬШИЕ/БОЛЕЕ СЛОЖНЫЕ ПРОБЛЕМЫ

        ОБЕСПЕЧИТЬ ПАРАЛЛЕЛЬНОСТЬ
        • Один вычислительный ресурс может одновременно выполнять только одну операцию. Несколько вычислительных ресурсов могут выполнять множество задач одновременно.
        • Пример. Сети для совместной работы представляют собой глобальную площадку, где люди со всего мира могут встречаться и работать «виртуально».

        ИСПОЛЬЗОВАТЬ НЕМЕСТНЫЕ РЕСУРСЫ
        • Использование вычислительных ресурсов в глобальной сети или даже в Интернете, когда локальных вычислительных ресурсов недостаточно или недостаточно.
        • Пример. SETI@home (setiathome.berkeley.edu) насчитывает более 1,7 миллиона пользователей почти во всех странах мира (май 2018 г.).
        ЛУЧШЕ ИСПОЛЬЗОВАТЬ БАЗОВОЕ ПАРАЛЛЕЛЬНОЕ ОБОРУДОВАНИЕ
        • Современные компьютеры, даже ноутбуки, имеют параллельную архитектуру с несколькими процессорами/ядрами.
        • Параллельное программное обеспечение специально предназначено для параллельного оборудования с несколькими ядрами, потоками и т. д.
        • В большинстве случаев последовательные программы, запускаемые на современных компьютерах, «тратят впустую» потенциальную вычислительную мощность.

        Будущее

        Кто использует параллельные вычисления?

        Наука и техника

        Исторически параллельные вычисления считались «высшим уровнем вычислений» и использовались для моделирования сложных задач во многих областях науки и техники:

        • Атмосфера, Земля, Окружающая среда
        • Физика - прикладная, ядерная, частица, конденсированное состояние, высокое давление, термоядерный синтез, фотоника.
        • Бионаука, биотехнология, генетика
        • Химия, молекулярные науки
        • Геология, сейсмология
        • Машиностроение: от протезов до космических кораблей
        • Электротехника, схемотехника, микроэлектроника
        • Информатика, математика
        • Оборона, Оружие

        Промышленные и коммерческие

        Сегодня коммерческие приложения являются равной или даже большей движущей силой в разработке более быстрых компьютеров. Эти приложения требуют сложной обработки больших объемов данных. Например:

        Реже называемый интерфейсом Centronics, разъемом Centronics или портом Centronics в честь компании, которая изначально его разработала, порт был позже разработан Epson. Параллельный порт находится на задней панели IBM-совместимых компьютеров и представляет собой 25-контактный (тип DB-25) компьютерный интерфейс, обычно используемый для подключения принтеров к компьютеру.

        Где находится параллельный порт на компьютере?

        Параллельный порт находится на задней панели компьютера и является частью материнской платы. Ниже приведен пример интерфейса DB25 на задней панели компьютера.

        С появлением USB, FireWire и других более быстрых решений параллельные порты стали использоваться редко. Кроме того, многие новые компьютеры и ноутбуки больше не имеют параллельного порта.

        Определение параллельного порта

        На приведенном выше рисунке видно, что подключение к параллельному порту DB25 легко определить, поскольку это самое большое подключение на задней панели компьютера. Соединение имеет форму буквы D, гнездо и 25 отверстий.

        Режимы параллельного порта

        Компьютер может использовать параллельный порт в разных режимах в зависимости от ваших потребностей и доступных ресурсов. Вот некоторые из этих режимов: IEEE-1284 (автоматический), режим Centronics, режим полубайта, SPP (однонаправленный), двунаправленный, EPP и ECP.

        Обзор параллельного порта

        < td>Pin 13< td>Pin 22
        PIN НАЗНАЧЕНИЕ
        Pin 1 -Strobe
        Контакт 2 +Бит данных 0
        Контакт 3 +Бит данных 1
        Контакт 4 +Бит данных 2
        Контакт 5 +Бит данных 3
        Контакт 6 +Бит данных 4
        Контакт 7 +Бит данных 5
        Контакт 8 +Бит данных 6
        Контакт 9 +Бит данных 7
        Контакт 10 -Подтверждение
        Контакт 11 +Занято
        Контакт 12 +Конец бумаги
        +Select
        Pin 14 -Auto Feed
        Контакт 15 -Ошибка
        Контакт 16 -Инициализация принтера
        Контакт 17 -Выбор входа
        Контакт 18 -Возврат бита данных 0 (GND)
        Контакт 19 -Возврат бита данных 1 (GND)
        Контакт 20 -Да ta Bit 2 Return (GND)
        Pin 21 -Data Bit 3 Return (GND)
        -Data Bit 4 Return (GND)
        Pin 23 -Data Data Bit 5 Return (GND)
        Pin 24 -Data Bit 6 Return (GND)
        Pin 25 -Возврат бита данных 7 (GND)

        Ниже приводится объяснение каждой из вышеуказанных целей.

        Для чего используется параллельный порт?

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

        Принтер. Наиболее распространенное использование параллельного порта.

        Сканер. Еще одним часто используемым параллельным устройством является сканер параллельного порта. Сканеры параллельных портов — популярная альтернатива сканерам SCSI из-за простоты их установки.

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

        Параллельные порты на компьютерах Apple

        Компьютеры Apple Macintosh используют SCSI в качестве интерфейса, который является параллельным, но гораздо более гибким по сравнению с параллельным портом, используемым на компьютерах, совместимых с IBM. Компьютеры Apple никогда не использовали параллельный порт.

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

        Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

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

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

        Компьютеры размещают веб-сайты, состоящие из HTML, и отправляют текстовые сообщения так же просто, как. РЖУ НЕ МОГУ. Взломайте этот тест, и пусть какая-нибудь технология подсчитает ваш результат и раскроет вам его содержание.

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

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

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

        Существуют различные стандарты подключения периферийных устройств к компьютерам. Например, последовательное подключение передовой технологии (SATA) является наиболее распространенным интерфейсом или шиной для магнитных дисков. Шина (также известная как порт) может быть как последовательной, так и параллельной, в зависимости от того, передается ли по пути данных один бит за раз (последовательный) или сразу несколько (параллельный). Последовательные соединения, в которых используется относительно мало проводов, как правило, проще, чем параллельные соединения. Универсальная последовательная шина (USB) — это обычная последовательная шина.

        Редакторы Британской энциклопедии Эта статья была недавно отредактирована и обновлена ​​Эриком Грегерсеном.

        Последовательный порт, считающийся одним из основных внешних подключений к компьютеру, уже более 20 лет является неотъемлемой частью большинства компьютеров. Хотя многие новые системы полностью отказались от последовательного порта в пользу соединений USB, большинство модемов по-прежнему используют последовательный порт, как и некоторые принтеры, КПК и цифровые камеры. Немногие компьютеры имеют более двух последовательных портов.

        По сути, последовательные порты предоставляют стандартный разъем и протокол, позволяющие подключать к компьютеру такие устройства, как модемы. В этом выпуске How Stuff Works вы узнаете о разнице между параллельным портом и последовательным портом, о том, что делает каждый вывод и что такое управление потоком.

        Эта 40-контактная микросхема Dual Inline Package (DIP) является разновидностью микросхемы National Semiconductor NS16550D UART.

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

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

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

        Последовательные порты, также называемые портами связи (COM), являются двунаправленными. Двунаправленная связь позволяет каждому устройству как получать данные, так и передавать их. Последовательные устройства используют разные контакты для приема и передачи данных — использование одних и тех же контактов ограничило бы связь полудуплексом, а это означает, что информация может передаваться только в одном направлении за раз. Использование разных контактов обеспечивает полнодуплексную связь, при которой информация может передаваться в обоих направлениях одновременно.

        Последовательные порты обеспечивают правильную работу специальной микросхемы контроллера, универсального асинхронного приемника/передатчика (UART). Микросхема UART принимает параллельный вывод системной шины компьютера и преобразует его в последовательную форму для передачи через последовательный порт. Чтобы работать быстрее, большинство микросхем UART имеют встроенный буфер размером от 16 до 64 килобайт. Этот буфер позволяет чипу кэшировать данные, поступающие с системной шины, в то время как он обрабатывает данные, поступающие в последовательный порт. В то время как большинство стандартных последовательных портов имеют максимальную скорость передачи 115 Кбит/с (килобит в секунду), высокоскоростные последовательные порты, такие как Enhanced Serial Port (ESP) и Super Enhanced Serial Port (Super ESP), могут достигать скорости передачи данных 460 Кбит/с. .

        Встроенная электроника представляет собой соединение схем (процессоров или других интегральных схем) для создания симбиотической системы. Чтобы эти отдельные схемы могли обмениваться информацией, они должны использовать общий протокол связи. Для обмена данными определены сотни коммуникационных протоколов, и, как правило, каждый из них можно разделить на две категории: параллельный или последовательный.

        Параллельное и последовательное

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

        Последовательные интерфейсы передают свои данные по одному биту за раз. Эти интерфейсы могут работать всего с одним проводом, обычно не более чем с четырьмя.

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

        Параллельное взаимодействие, безусловно, имеет свои преимущества. Это быстро, просто и относительно легко реализовать. Но для этого требуется гораздо больше линий ввода/вывода (I/O). Если вам когда-либо приходилось переносить проект с базовой Arduino Uno на Mega, вы знаете, что линии ввода-вывода на микропроцессоре могут быть драгоценными и их мало. Поэтому мы часто выбираем последовательную связь, жертвуя потенциальной скоростью в пользу контактной недвижимости.

        Асинхронный последовательный

        За прошедшие годы были созданы десятки последовательных протоколов для удовлетворения конкретных потребностей встраиваемых систем. USB (универсальная последовательная шина) и Ethernet — это пара наиболее известных последовательных интерфейсов для вычислений. Другие очень распространенные последовательные интерфейсы включают SPI, I 2 C и последовательный стандарт, о котором мы сегодня поговорим. Каждый из этих последовательных интерфейсов можно разделить на две группы: синхронные или асинхронные.

        Синхронный последовательный интерфейс всегда соединяет свои линии данных с тактовым сигналом, поэтому все устройства на синхронной последовательной шине используют общий тактовый сигнал. Это обеспечивает более простую и часто более быструю последовательную передачу, но также требует, по крайней мере, одного дополнительного провода между взаимодействующими устройствами. Примеры синхронных интерфейсов включают SPI и I 2 C.

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

        Бестактовый последовательный протокол, который мы будем обсуждать в этом руководстве, широко используется во встроенной электронике. Если вы хотите добавить в свой проект модуль GPS, Bluetooth, XBee, ЖК-дисплеи с последовательным интерфейсом или многие другие внешние устройства, вам, вероятно, потребуется немного серийного фу.

        Рекомендуемое чтение

        Это руководство основано на нескольких концепциях электроники более низкого уровня, в том числе:

        Двоичный

        Двоичная система счисления в электронике и программировании. так что, должно быть, важно учиться. Но что такое двоичный код? Как это переводится в другие системы счисления, такие как десятичная?

        Читайте также: