Как называется контроллер, который управляет обменом данными между внешним устройством и памятью компьютера
Обновлено: 21.11.2024
Центральный процессор (ЦП) направляет компьютер на различные этапы решения проблемы.
Связанные термины:
Скачать в формате PDF
Об этой странице
Адаптация и оценка симплексного алгоритма для архитектуры потока данных
Урош Чибей, Юрий Михелич, Достижения в области компьютеров, 2017
2.2 Вид программиста
Чтобы программист мог разработать законченную программу, необходимо написать три компонента.
обычно написанный на языке программирования C, код ЦП управляет выполнением и использует DFE в качестве блока обработки, вызывая подходящие функции, предоставляемые компилятором Maxeler.
Каждое ядро реализует определенную функциональность и примерно соответствует абстракции функции. Он имеет набор входных потоков и набор выходных потоков.
Менеджер — это компонент, который соединяет потоки данных от ЦП к ядрам-получателям и наоборот. Он устанавливает соединения между ядрами и LMem, а также связывает ядра между собой. Диспетчер также создает интерфейсы, с помощью которых код ЦП взаимодействует с DFE.
Диспетчер и ядра написаны на предметно-ориентированном языке MaxJ. Этот язык представляет собой надмножество языка программирования Java с несколькими расширениями, более подходящими для упрощения создания программ потока данных.
Компилятор преобразует описание ядер в граф потока данных, и этот граф физически размещается на микросхеме FPGA серверной частью. Серверная часть обычно очень требовательна к вычислительным ресурсам, поскольку необходимо учитывать множество структурных ограничений.
Схема этой архитектуры представлена на рис. 1.
Рис. 1 . Схематический обзор компонентов системы потока данных. серая рамка обозначает микросхему FPGA. Взгляд программиста на архитектуру показан в виде файлов, которые необходимо реализовать для каждой программы, файл .maxj написан на языке MaxJ, тогда как поток управления обычно написан на C или C++, но поддерживаются и другие языки. .
КОМПЬЮТЕРНЫЙ ДИЗАЙН
Доминик Росато, Дональд Росато, Дизайн изделий из пластмассы, 2003 г.
Центральный процессор
Центральный процессор компьютера (ЦП) — это часть компьютера, которая извлекает и выполняет инструкции. Процессор, по сути, является мозгом CAD-системы. Он состоит из арифметико-логического блока (АЛУ), блока управления и различных регистров. Центральный процессор часто называют просто процессором. АЛУ выполняет арифметические операции, логические операции и связанные с ними операции в соответствии с инструкциями программы.
Блок управления управляет всеми операциями ЦП, включая операции АЛУ, перемещение данных внутри ЦП, а также обмен данными и управляющими сигналами через внешние интерфейсы (системную шину). Регистры — это быстродействующие блоки внутренней памяти ЦП. Некоторые регистры видны пользователю; то есть доступный для программиста через набор машинных инструкций. Другие регистры предназначены исключительно для ЦП в целях управления. Внутренние часы синхронизируют все компоненты ЦП. Тактовая частота (количество тактовых импульсов в секунду) измеряется в мегагерцах (МГц) или миллионах тактовых импульсов в секунду. Тактовая частота, по сути, определяет, насколько быстро ЦП обрабатывает инструкции.
Оборудование
Центральный процессор управляет всем. Он извлекает программные инструкции по своей шине «на стороне инструкций» (IS), считывает данные по своей шине «на стороне данных» (DS), выполняет инструкции и записывает результаты на шину DS. ЦП может работать на частоте SYSCLK до 80 МГц, что означает, что он может выполнять одну инструкцию каждые 12,5 нс. ЦП способен умножать 32-разрядное целое число на 16-разрядное целое число за один цикл или 32-разрядное целое число на 32-разрядное целое число за два цикла. Блока с плавающей запятой (FPU) нет, поэтому вычисления с плавающей запятой выполняются программными алгоритмами, что делает операции с плавающей запятой намного медленнее, чем вычисления с целыми числами.
ЦП представляет собой ядро микропроцессора MIPS32® M4K®, лицензированное компанией Imagination Technologies. ЦП работает при напряжении 1,8 В (обеспечиваемом стабилизатором напряжения, встроенным в PIC32, поскольку он используется на плате NU32). Контроллер прерываний, обсуждаемый ниже, может уведомлять ЦП о внешних событиях.
Встроенные процессоры
Внутренние шины ЦП
Шины ЦП — это механизмы, соединяющие другие компоненты ЦП: АЛУ, ЦП и регистры (см. рис. 4-22). Шины — это просто провода, которые соединяют между собой различные другие компоненты ЦП.Провод каждой шины обычно делится на логические функции, такие как данные (которые переносят данные в двух направлениях между регистрами и АЛУ), адрес (который переносит расположение регистров, содержащих данные для передачи), управление (переносит управление информацию о сигналах, такую как временные и управляющие сигналы, между регистрами, ALU и CU) и т. д.
Рисунок 4-22. Ядро и шины PowerPC. [15]
В ядре PowerPC есть управляющая шина, по которой управляющие сигналы передаются между АЛУ, CU и регистрами. То, что PowerPC называет «исходными шинами», — это шины данных, передающие данные между регистрами и АЛУ. Существует дополнительная шина, называемая обратной записью, которая предназначена для обратной записи данных, полученных с исходной шины, непосредственно обратно из модуля загрузки/сохранения в фиксированные регистры или регистры с плавающей запятой.
Примечание. Во избежание дублирования автобусы будут более подробно обсуждаться в главе 7 .
Микрокомпьютерная аппаратура и управление
Чтение/запись памяти
ЦП всегда контролирует направление потока данных в базе данных, поскольку, хотя он и является двунаправленным, данные могут перемещаться только в одном направлении за раз. ЦП выдает специальный сигнал управления чтением/записью (R/W) (рис. 3.2), который активирует схемы в памяти, определяющие направление потока данных. Например, когда линия чтения/записи (R/W) имеет высокий уровень, ЦП передает информацию из ячейки памяти в ЦП.
Временная диаграмма операции чтения из памяти показана на рис. 3.3.
Рис. 3.3. Время чтения/записи.
Предположим, что компьютеру была дана инструкция прочитать данные из ячейки памяти номер 10. Чтобы выполнить операцию чтения, ЦП переводит линию чтения/записи в высокий уровень, чтобы активировать схему памяти при подготовке к операции чтения. Практически одновременно на АБ размещается адрес для местоположения 10 («адрес действителен» на рис. 3.3). В память АБ отправляется число 10 в 16-битном двоичном коде (0000 0000 0000 1010). Двоичные электрические сигналы, соответствующие 10, управляют определенными цепями в памяти, чтобы заставить двоичные данные в этом месте быть помещенными в БД. ЦП имеет внутренний регистр, который активируется во время этой операции чтения для приема и сохранения данных. Затем данные обрабатываются ЦП во время следующего цикла работы в соответствии с соответствующей инструкцией.
Аналогичная операция выполняется всякий раз, когда ЦП должен отправить данные из одного из своих внутренних регистров в память, что является операцией «записи». В этом случае линия R/W будет установлена на логический уровень, противоположный операции чтения (т.е. низкий в данном примере). Во время операции записи отправляемые данные помещаются в БД одновременно с адресом назначения в АВ. Эта операция перенесет данные из источника ЦП в место назначения, которым может быть место в памяти в ОЗУ или внешнее устройство (как будет объяснено позже).
Компьютерные системы
1.3.1 Работа системы
ЦП управляет передачей системных данных по шинам данных и адреса и дополнительным линиям управления. Требуется схема часов, обычно содержащая кварцевый генератор (как в цифровых часах); это создает точный сигнал фиксированной частоты, который управляет микропроцессором. Операции ЦП запускаются по переднему и заднему фронтам тактового сигнала, что позволяет определить их точную синхронизацию. Это позволяет событиям в ЦП выполняться в правильной последовательности с достаточным временем для каждого шага. Центральный процессор генерирует все основные управляющие сигналы на основе часов. Тот или иной ЦП можно использовать в различных системах, в зависимости от типа приложения, необходимого объема памяти, требований к вводу-выводу и т. д.
Декодер адреса управляет доступом к памяти и регистрам ввода-вывода для конкретного проекта. Как правило, программируемое логическое устройство (PLD) используется для выделения каждой микросхеме памяти определенного диапазона адресов. Код входного адреса в определенном диапазоне генерирует выходной сигнал выбора микросхемы, который включает это устройство. Регистры портов ввода-вывода, которые настроены для обработки передачи данных в систему и из нее, также получают определенные адреса с помощью того же механизма, и ЦП обращается к ним так же, как к ячейкам памяти. Назначение адресов конкретным периферийным устройствам называется картой памяти (рис. 1.6 б).
Процессор
ХАРВИ М. ДЕЙТЕЛЬ, БАРБАРА ДЕЙТЕЛЬ, Введение в обработку информации, 1986 г.
Сводка издателя
Центральный процессор (ЦП) направляет компьютер на различные этапы решения проблемы.Данные поступают в компьютер через блок ввода, обрабатываются центральным процессором и затем становятся доступными для пользователя через блок вывода. Логический вид компьютера показывает, какие функции выполняет компьютер. Физический вид компьютера показывает, как на самом деле механизмы компьютера выполняют эти функции. Центральный процессор состоит из трех логических блоков: арифметико-логического блока (ALU), основного хранилища и блока управления. Основная память сохраняет активные программы и данные. Это относительно дорого, поэтому вторичное хранилище используется для хранения программ и данных до тех пор, пока они не потребуются в основном хранилище. Набор встроенных операций компьютера называется его «набором инструкций». Компьютерная программа представляет собой набор инструкций, которые сообщают компьютеру, как решить конкретную задачу. Компьютерная программа должна находиться в оперативной памяти, чтобы компьютер мог выполнять ее инструкции.
Управление энергопотреблением
5.15.2.4.2.1 Блок процессора
Это центральный процессор (ЦП) ПЛК, то есть микропроцессор по конструкции и функциональным возможностям. Основная функция этого блока состоит в том, чтобы воспринимать входные значения через свои модули ввода/вывода, генерировать управляющие сигналы в соответствии с входными сигналами и предопределенной инструкцией (хранящейся в блоке памяти в виде программы). Затем обработанное решение передается на устройства вывода, подключенные к модулям ввода/вывода, для обновления выходных переменных [51]. Типичный цикл процесса ЦП показан на рис. 40, демонстрирующем основную идею функции процесса. Время одного цикла выполнения программы называется «время сканирования». Типичные значения времени сканирования могут составлять всего 1 м/с. Входные и выходные значения обычно хранятся в единице памяти за цикл или несколько его кратных [53] .
Рис. 40 . Рабочий цикл центрального процессора (ЦП) программируемого логического контроллера (ПЛК).
Беспроводная МЭМС для носимых сенсорных сетей
5.2.2.2 Блок обработки
Рабочие процедуры промышленной системы управления
(1) адресные пространства PCI
ЦП и все устройства PCI должны иметь доступ к общей памяти. Драйверы устройств управляют устройствами PCI и передают информацию между ними, используя эту память. Как правило, эта разделяемая память содержит регистры управления и состояния устройства, которые используются для управления устройством и чтения его состояния. Например, драйвер устройства PCI SCSI может прочитать свой регистр состояния, чтобы узнать, готово ли устройство к записи блока информации, или он может записать в управляющий регистр, чтобы запустить устройство после его включения.
Системная память ЦП может использоваться для этой общей памяти, но в этом случае каждый раз, когда устройство PCI обращается к памяти, ЦП должен будет останавливаться, ожидая завершения. Доступ к памяти обычно ограничивается одним системным компонентом за раз. Это замедлит работу системы. Это не позволяет периферийным устройствам системы бесконтрольно обращаться к основной памяти. Это было бы очень опасно; неисправное устройство может сделать систему очень нестабильной.
Периферийные устройства имеют собственные области памяти. ЦП может получить доступ к этим пространствам, но доступ устройств к системной памяти очень строго контролируется с помощью каналов DMA (прямой доступ к памяти). Устройства ISA имеют доступ к двум адресным пространствам; ISA I/O (ввод/вывод) и память ISA. В большинстве современных микропроцессоров PCI должен состоять из трех элементов: ввода-вывода PCI, памяти PCI и пространства конфигурации PCI.
Некоторые микропроцессоры, например процессор Alpha AXP, не имеют естественного доступа к адресным пространствам, отличным от системного адресного пространства. Этот процессор использует наборы микросхем поддержки для доступа к другим адресным пространствам, таким как пространство конфигурации PCI, с помощью схемы разреженного отображения адресов, которая крадет часть большого виртуального адресного пространства и сопоставляет его с адресными пространствами PCI.
Одной из важных задач операционной системы является управление различными устройствами ввода-вывода, включая мышь, клавиатуру, сенсорную панель, дисководы, адаптеры дисплея, устройства USB, экран с растровым отображением, светодиод, аналого-цифровой преобразователь. , переключатель включения/выключения, сетевые подключения, аудиовходы/выходы, принтеры и т. д.
Система ввода-вывода должна принимать запрос ввода-вывода приложения и отправлять его на физическое устройство, а затем принимать любой ответ, возвращаемый устройством, и отправлять его приложению. Устройства ввода-вывода можно разделить на две категории —
Блочные устройства. Блочное устройство — это устройство, с которым драйвер взаимодействует, отправляя целые блоки данных. Например, жесткие диски, USB-камеры, Disk-On-Key и т. д.
Символьные устройства. Символьное устройство — это устройство, с которым драйвер взаимодействует, отправляя и получая отдельные символы (байты, октеты). Например, последовательные порты, параллельные порты, звуковые карты и т. д.
Контроллеры устройств
Драйверы устройств — это программные модули, которые можно подключить к ОС для работы с конкретным устройством. Операционная система использует драйверы устройств для обработки всех устройств ввода-вывода.
Контроллер устройств работает как интерфейс между устройством и драйвером устройства. Блоки ввода-вывода (клавиатура, мышь, принтер и т. д.) обычно состоят из механического компонента и электронного компонента, где электронный компонент называется контроллером устройства.
Для каждого устройства всегда есть контроллер устройства и драйвер устройства для связи с операционными системами. Контроллер устройства может иметь возможность обрабатывать несколько устройств. В качестве интерфейса его основная задача состоит в том, чтобы преобразовывать последовательный битовый поток в блок байтов, при необходимости выполнять исправление ошибок.
Любое устройство, подключенное к компьютеру, подключается через вилку и розетку, а розетка подключается к контроллеру устройства. Ниже приведена модель подключения ЦП, памяти, контроллеров и устройств ввода-вывода, в которой ЦП и контроллеры устройств используют для связи общую шину.
Синхронный и асинхронный ввод-вывод
Синхронный ввод-вывод — в этой схеме выполнение ЦП ожидает, пока выполняется ввод-вывод
Асинхронный ввод-вывод — ввод-вывод происходит одновременно с выполнением ЦП
Связь с устройствами ввода/вывода
ЦП должен иметь способ передачи информации на устройство ввода-вывода и обратно. Доступны три подхода для связи с ЦП и устройством.
- Специальные инструкции ввода/вывода
- Ввод-вывод с отображением памяти
- Прямой доступ к памяти (DMA)
Специальные инструкции ввода-вывода
При этом используются инструкции ЦП, специально предназначенные для управления устройствами ввода-вывода. Эти инструкции обычно позволяют отправлять данные на устройство ввода-вывода или считывать их с устройства ввода-вывода.
Ввод-вывод с отображением памяти
При использовании ввода-вывода с отображением памяти одно и то же адресное пространство совместно используется памятью и устройствами ввода-вывода. Устройство подключается напрямую к определенным ячейкам основной памяти, чтобы устройство ввода-вывода могло передавать блок данных в память и из памяти, минуя ЦП.
При использовании операций ввода-вывода с отображением памяти ОС выделяет буфер в памяти и сообщает устройству ввода-вывода использовать этот буфер для отправки данных в ЦП. Устройство ввода-вывода работает асинхронно с ЦП, прерывает ЦП по завершении.
Преимущество этого метода заключается в том, что каждая инструкция, имеющая доступ к памяти, может использоваться для управления устройством ввода-вывода. Ввод-вывод с отображением памяти используется для большинства высокоскоростных устройств ввода-вывода, таких как диски и коммуникационные интерфейсы.
Прямой доступ к памяти (DMA)
Медленные устройства, такие как клавиатуры, будут генерировать прерывание для основного ЦП после передачи каждого байта. Если бы быстрое устройство, такое как диск, генерировало прерывание для каждого байта, операционная система тратила бы большую часть своего времени на обработку этих прерываний. Таким образом, типичный компьютер использует аппаратное обеспечение прямого доступа к памяти (DMA), чтобы уменьшить эти накладные расходы.
Прямой доступ к памяти (DMA) означает, что ЦП предоставляет модулю ввода-вывода полномочия на чтение или запись в память без участия. Модуль DMA сам управляет обменом данными между основной памятью и устройством ввода/вывода. ЦП задействован только в начале и конце передачи и прерывается только после передачи всего блока.
Для прямого доступа к памяти требуется специальное оборудование, называемое контроллером DMA (DMAC), которое управляет передачей данных и разрешает доступ к системной шине. Контроллеры запрограммированы указателями источника и назначения (где читать/записывать данные), счетчиками для отслеживания количества переданных байтов и настройками, которые включают типы ввода-вывода и памяти, прерывания и состояния для циклов ЦП. р>
Операционная система использует оборудование прямого доступа к памяти следующим образом:
Шаг | Описание |
---|---|
1 | Драйвер устройства получает указание передать данные диска по адресу буфера X. |
2 | Драйвер устройства затем указать контроллеру диска передать данные в буфер. |
3 | Контроллер диска начинает передачу DMA. |
4 | Контроллер диска отправляет каждый байт контроллеру DMA. |
5 | Контроллер DMA передает байты в буфер, увеличивает память адрес, уменьшает счетчик C до тех пор, пока C не станет равным нулю. |
6 | Когда C становится равным нулю, DMA прерывает ЦП, чтобы сигнализировать о завершении передачи. |