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

Обновлено: 21.11.2024

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

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

• Этот путь соединяет все остальные компоненты на материнской плате. Пути, которые соединяются между собой, называются «автобусами».

В системе есть внутренние шины и внешние шины.

•Внутренние шины передают данные внутри компонентов на материнской плате.

• По внешним шинам данные передаются на другие устройства и периферийные устройства, подключенные к материнской плате.

Во внутренней шине она соединяет все внутренние компоненты компьютерной системы. Это шина памяти, шина объединительной платы или системная шина в компьютерной системе.

• Шины процессор-память очень быстрые, но имеют небольшую длину. Они синхронизируются как по времени, так и по ширине с памятью машины, чтобы извлечь максимальную пропускную способность. Дизайн этих автобусов служит очень конкретной цели.

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

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

ТРИ РАЗНЫХ ТИПА ШИН:
Есть три типа шин, которые используются для передачи некоторой информации от процессора в память:

• Шина данных
• Адресная шина
• Шина управления

Эти шины соединяют пути ко всем остальным компонентам на материнской плате.

Расположение шин в структуре компьютера называется шинной архитектурой.

Шина данных:
• Это наиболее распространенный тип шины. Он передает данные вычислительной системы на все остальные компоненты материнской платы.

• Он передает данные между памятью, ЦП и периферийными устройствами.

• В таких автобусах это очень распространенный маршрут.

• На скорость передачи данных влияет количество линий в шине данных.

• Здесь шина данных является двунаправленной.

• ЦП может считывать и записывать данные, используя шины данных.

Адресная шина:
• Каждый компонент в компьютерной системе имеет свой уникальный идентификатор, называемый адресом
• Чтобы быстро получить доступ к каждому символу в памяти, компьютер должен иметь к нему доступ.

•Каждый символ в памяти имеет свой номер адреса.
Для связи используется адресная шина, указывающая адрес этого компонента.

• Здесь адрес является однонаправленным.

• Он передает адрес ячейки памяти из основной памяти в процессор через адресную шину.

• Шина управления управляет работой компьютерной системы

• Он передает информацию со скоростью миллиард символов в секунду.

• Он читает, записывает и выполняет действия, и после выполнения результат будет отправлен обратно в память.

• Он управляет направлением данных в инструкциях процесса.

• Здесь шина управления является двунаправленной.

•Данные распространяются по синхронным шинам.

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

• Таким образом, система очень зависит от правильной работы часов. Отклонения в работе часов делают систему подверженной сбоям. Эти отклонения сводятся к минимуму за счет минимальной длины шины.

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

• Линии управления определяют работу асинхронных шин.

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

Автобусный арбитраж можно разделить на четыре основные категории.

<р>1. Арбитраж гирляндной цепи.
В этой схеме линия управления проходит от устройства с наивысшим приоритетом к устройству с более низким приоритетом.Эта схема не справедлива, так как существует вероятность того, что устройство с более низким приоритетом никогда не получит управление шиной.

<р>2. Централизованный параллельный арбитраж:
Централизованный посредник выбирает, кто получит шину. Хотя это более инклюзивная форма арбитража, в которой каждое устройство имеет шанс, она подвержена узким местам из-за вычислений, принимаемых арбитром.

<р>3. Распределенный арбитраж с использованием самостоятельного выбора. Эта схема аналогична централизованному арбитражу, но вместо того, чтобы центральный орган делал выбор, сами диски определяют, кто имеет наивысший приоритет.

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

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

• Тактовая частота измеряется в гигагерцах (ГГц). По сути, это количество тактов часов в секунду.

Основное различие между системными часами и часами шины заключается в следующем:

Этот обмен данными происходит в следующих форматах.

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

• Байт содержит 8 бит и, следовательно, может хранить до 2^8 различных значений.

• Слово представляет собой набор байтов, поэтому длина слова должна быть кратна 8 битам.

Обычный размер слова – 32 бита (или 4 байта).

• Байт состоит из 8 бит и, следовательно, может хранить до 2^8 различных значений.

•Каждый отдельный байт содержит уникальный адрес и может быть адресован байтом

• Слово представляет собой набор байтов, поэтому длина слова должна быть кратна 8 битам.

Общий размер – 32 бита (или 4 байта).

<р>1. Низкоуровневое чередование и

<р>2. Чередование высокого порядка

<р>1. Младшее чередование:
Младшие биты адреса используются для выбора банка. Память с чередованием низкого порядка размещает последовательные адреса памяти в разных моделях памяти. Крайние правые биты используются для определения модуля, а крайние левые выбирают смещение внутри модуля.

Следовательно, в случае, если у нас есть побайтно-адресуемая память, состоящая из 8 модулей по 2 байта каждый, то есть всего 16 байт памяти, они будут расположены следующим образом:
(см. прикрепленное изображение) <р>2. Перемежение высокого порядка: используются старшие биты адреса. Этот тип чередования распределяет адрес таким образом, что каждый модуль содержит последовательный адрес. В этом случае крайние левые биты выбирают модуль, а крайние правые — смещение внутри модуля.

<р>1. Запросы ввода/вывода:
когда устройство ввода/вывода запрашивает разрешение на чтение или передачу данных в память.

<р>2. Арифметические ошибки:
когда выполняются математически недопустимые операции, такие как деление на ноль и квадратный корень из отрицательного числа.

<р>3. Аппаратная неисправность:
Отказ любой части системы — это еще одно событие, которое может вызвать прерывание, чтобы сообщить процессору, что конкретное устройство больше не работает.

События, которые изменяют нормальный поток выполнения в системе, называются прерываниями. В основном классификация прерываний обычно выполняется на основе того, как они инициируются или обрабатываются. И система, и пользователь могут инициировать прерывание.

• IR (память инструкций):
содержит следующую инструкцию для выполнения.

• InREG (регистр ввода):
содержит данные с устройства ввода.

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

Каждая инструкция MARIE состоит из 16 бит. Старшие биты (12-15) определяют код операции. Код операции определяет команду, которая должна быть выполнена. Младшие значащие биты (0-11) формируют адрес.

Формат инструкции МАРИ:
(см. прикрепленное изображение)

Каждая инструкция MARIE состоит из 16 бит. Старшие биты (12-15) определяют код операции. Код операции определяет команду, которая должна быть выполнена. младшие значащие биты (0-11) формируют адрес.

(См. прикрепленное изображение, чтобы увидеть формат инструкции MARIE)

Набор инструкций MARIE'S состоит из следующих инструкций:

•Загрузить: Эта инструкция определяется кодом операции 0001. Формат инструкции — ЗАГРУЗИТЬ X. Значение по адресу, указанному X, затем загружается в аккумулятор (AC).

•Добавить: Эта инструкция определяется кодом операции 0011. Формат инструкции — ДОБАВИТЬ X.Затем значение по адресу, указанному X, добавляется к значению аккумулятора (AC), и результат сохраняется обратно в AC.

• Subt: Эта инструкция определяется кодом операции 0100. Формат инструкции — SUBT X. Значение по адресу, указанному X, затем добавляется к значению аккумулятора (AC), а результат сохраняется обратно в переменный ток.

• Ввод: эта инструкция определяется кодом операции 0101. Формат инструкции — ВВОД. Это принимает значение, введенное с клавиатуры, которое загружается в аккумулятор (AC).

•Вывод: Эта инструкция определяется кодом операции 0110. Формат инструкции — ВЫВОД. Значение аккумулятора (AC) выводится на дисплей.

• Останов: Эта инструкция определяется кодом операции 0001. Формат инструкции — ЗАГРУЗКА X. Значение по адресу, указанному X, затем загружается в аккумулятор (AC).

• Skipcond: эта инструкция определяется кодом операции 1000. Формат инструкции — SKIPCOND. следующая инструкция пропускается при условии.

Исследуйте мир информатики

Компьютерная шина

Шина данных | Адресная шина | Шина управления

Автобусная архитектура | Ширина шины | Скорость автобуса

Введение в компьютерную шину

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

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

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

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

Что такое компьютерная шина?

В этой статье мы подробно рассмотрим, что такое компьютерные шины , архитектуру системной шины компьютера , типы шин , технические характеристики и функции компьютерных шин.

Компьютерная шина

Оглавление

Что такое компьютерная шина?

Что такое шина данных?

Что такое адресная шина?

Функции компьютерной шины

Архитектура шины материнской платы

Типы компьютерных шин

Что такое шина управления?

Что такое системная шина?

Ширина и скорость шины

Что такое шина расширения?

Что такое компьютерная шина?

Компьютерная система состоит из ряда внутренних и внешних компонентов. Эти компоненты физически взаимосвязаны и взаимодействуют друг с другом через сеть проводов, проходящих через компьютерную систему.

Эти провода называются компьютерными шинами . Шины необходимы для функционирования компьютерной системы.

Компьютерные шины могут быть в виде проводных кабелей или электрических проводов, встроенных в печатную плату материнской платы компьютера (печатную плату), видимую на задней стороне материнской платы.

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

Шина – это общий канал связи, используемый в компьютерной системе, по которому информация передается от одного компонента компьютера к другому.

Система компьютерных шин – это сеть шин, которые физически соединяют все компоненты проводами (фактические провода шины ИЛИ провода цепи на материнской плате).

Система шин состоит из различных типов шин в зависимости от подключаемых компонентов и функций, назначенных шине.

Шина может состоять из набора проводов, сгруппированных вместе в виде соединительных проводов или печатных плат, по которым передаются данные и другие команды (инструкции) от ЦП к памяти и к различным другим компонентам, подключенным к системе.

Производительность шины является важным параметром для доступа к производительности компьютерной системы. Ширина и скорость шины влияют на производительность системы.

Кабельные шины

Шины материнской платы

Шина данных является двунаправленной и может передавать данные в обоих направлениях по шине данных. Например, ЦП может отправлять данные для сохранения в ОЗУ.

Аналогичным образом ЦП также может выполнять операцию выборки для извлечения данных из определенного места в памяти.

Компьютерная шина

Типы компьютерных шин

Система компьютерных шин использует разные типы шин в зависимости от назначения и функции шины.

Шины компьютерной системы можно классифицировать на основе ряда факторов. Эти факторы включают:

  • Подключаемые компоненты . (ЦП, ОЗУ, устройства ввода и вывода).
  • Тип передаваемых данных (данные, адрес, управляющие сигналы).
  • Расположение компонентов (внутренняя шина и внешняя шина).
  • Подключение к набору микросхем ЦП (через северный или южный мост)

Типы шины для передаваемых данных

Системные шины компьютера можно классифицировать по типу передаваемых данных следующим образом:

<р>1. Шина данных , 2. Адресная шина , 3. Шина управления.

Типы компьютерных шин

Типы шин в зависимости от подключаемых компонентов

Системные шины компьютера можно классифицировать по типу подключаемых компонентов следующим образом:

<р>1. Системная шина , 2. Шина расширения , 3. Входная и выходная шины.

Типы шин в зависимости от расположения компонентов

Системные шины компьютера можно классифицировать на основе расположения подключаемого компонента следующим образом:

<р>1. Внутренняя шина , 2. Внешняя шина

Компьютерная шина

Шина данных

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

Шина данных имеет множество различных характеристик, но одной из наиболее важных характеристик является ширина шины. Под шириной шины данных понимается количество битов (электрических проводов), которые шина может передавать одновременно.

Например, 16-битная шина данных может одновременно передавать 16 бит данных между ЦП и системным компонентом, таким как основная память RAM (оперативное запоминающее устройство).

Общая ширина шины данных включает 8 бит, 16 бит, 32 бит и 64 бит. Чем шире ширина шины , тем быстрее будет поток данных по шине данных и, следовательно, будет выше производительность системы.

Автобусная архитектура

Автобусная архитектура

Компьютерная шина

Шина управления

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

Шина управления — это компьютерная шина, которая используется ЦП для связи с устройствами, подключенными к компьютерной системе.Эти устройства соединяются с помощью кабелей и печатной платы, такой как материнская плата.

Шина управления является частью системной шины в дополнение к шине данных и адресной шине.

Шины материнской платы

Шины материнской платы

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

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

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

Шина управления

Как работает процессор?

Адресная шина

Что такое адресная шина?

Компьютерная программа состоит из ряда программных инструкций. Эти инструкции предписывают ЦП выполнить желаемую операцию.

Операционная система загружает инструкции программы и данные в основную память. ЦП выполняет программные инструкции одну за другой, извлекая программные инструкции из основной памяти RAM (оперативное запоминающее устройство).

Чтобы выполнить операцию чтения или записи памяти из ОЗУ основной памяти, ЦП отправляет сигнал управления чтением или записью по шине управления и адрес ячейки памяти по «адресной шине», откуда должна выполняться операция. выполняться .

Адресная шина является частью «системной шины» наряду с шиной данных и шиной управления, которые мы обсуждали.

Системная шина

Что такое системная шина?

Системная шина — это основная шина, которая содержит шину данных, адресную шину и шину управления.

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

Эти аппаратные компоненты в основном включают ЦП, материнскую плату, внутренние дополнительные карты, такие как графическая карта, звуковая карта, сетевая карта, ОЗУ (основная память) и внутренний жесткий диск.

Системная шина — это набор параллельных проводов, которые соединяют два или более независимых основных внутренних компонента компьютерной системы. По системной шине передаются данные, адреса памяти и команды управления устройством.

Компьютерная шина

Функции компьютерной шины

Каковы функции компьютерной шины?

Система компьютерных шин использует различные типы шин. Каждая из этих шин предназначена для передачи определенного типа сигналов и данных в зависимости от ее функции.

  1. Обмен данными.
  2. Адресация
  3. Сигналы управления
  4. Подача питания на компоненты.
  5. Общий доступ к системному времени.

Компьютерная шина

Внутренняя шина

Внутренние шины соединяют различные компоненты внутренней системы, такие как микропроцессор (ЦП), ОЗУ (основная память), набор микросхем (северный мост и южный мост) и дисковая память (жесткий диск).

Внешняя шина

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

Системная шина

Системная шина соединяет наиболее важные внутренние компоненты системы, такие как микропроцессор (ЦП) и оперативную память основной системы. Системная шина также называется FSB (Front Side Bus) или шиной памяти. Он состоит из шины данных, адресной шины и шины управления.

Шина расширения

Шина расширения соединяет наиболее важные внутренние компоненты системы, такие как микропроцессор (ЦП) и разъемы PCI ИЛИ PCI Express на материнской плате.

Разъемы PCI и PCI Express используются для подключения дополнительных карт, таких как графическая карта и звуковая карта. Эти карты устанавливаются для повышения производительности системы.

Шина ввода и вывода

Шина ввода и вывода соединяет наиболее важные внутренние компоненты системы, такие как микропроцессор ( ЦП ) , оперативную память основной системы и устройства ввода / вывода через южный мост контроллера ввода и вывода .

Компьютерная шина и производительность системы

Ширина и скорость шины компьютера

Шина — это информационная магистраль, по которой течет информация, и чем шире шина, тем больше информации может проходить по каналу.

Поэтому совместимая ширина и скорость шины важны для оптимальной работы двух наиболее важных системных компонентов, включая центральный процессор (ЦП) и основную системную память RAM.

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

Компьютерная система на аппаратном уровне понимает только двоичные 0 (ноль) и 1 (единица). И поэтому все компьютерные программы скомпилированы для преобразования в машинный код инструкций в двоичном формате, которые ЦП компьютера может декодировать и выполнять.

Шина состоит из группы кабелей, и каждый из этих кабелей может одновременно передавать 1 бит (двоичный 0 ИЛИ 1). Таким образом, шина состоит из группы кабелей, поэтому по этим шинам одновременно может передаваться группа битов.

Почему компьютерная шина использует двоичный код?

Ширина шины

Что такое ширина шины?

Размер шины измеряется количеством битов, которые она может передавать за один раз. Каждый провод может передавать один бит, таким образом большее количество проводов в шине может передавать большее количество битов за раз. Это количество проводов в шине называется шириной шины.

Ширина шины является важным показателем, поскольку она определяет, сколько данных может быть передано за один раз. Например, 16-битная шина может передавать 16 бит данных, а 32-битная шина может передавать 32 бита данных за раз.

Шина состоит из группы кабелей, и каждый из этих кабелей может одновременно передавать 1 бит (двоичный 0 ИЛИ 1). Таким образом, шина состоит из группы кабелей, так что по шине может быть отправлена ​​группа битов.

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

Эта статья была опубликована в номере журнала linuxgazette за март 2006 г.

Аннотация

Параллельный порт – наиболее популярный способ взаимодействия. 8 линий вывода данных, а иногда и порты CONTROL и STATUS параллельного порта, используемые для ввода данных в компьютер, недостаточны для некоторых сложных проектов. Для некоторых проектов требуется больше линий ввода/вывода данных. В этом проекте показано, как получить 32 линии ввода-вывода общего назначения путем сопряжения с шиной ISA. Хотя шина PCI может быть кандидатом для экспериментов с интерфейсом, ее более высокая скорость и богатая функциональность создают большую сложность с точки зрения аппаратного и программного обеспечения для начинающих. Таким образом, этот проект может стать трамплином для тех, кто думает в конечном итоге перейти к шине PCI для экспериментов с интерфейсом. Этот проект также может быть полезен тем, кто думает о создании цифрового осциллографа с использованием ПК, аналого-цифровых и цифро-аналоговых преобразователей, программатора микроконтроллеров и т. д.

Прежде чем вдаваться в подробности всего проекта взаимодействия с шиной ISA, мы должны ознакомиться с некоторыми деталями, приведенными ниже:

Описание булавки

Мы рассмотрели X(n) как сторону, содержащую компоненты в любых стандартных картах ISA. Точно так же Y(n) — это сторона, содержащая припой. Очень важно, чтобы вы были свободны от вышеуказанного соглашения. Вы повредите материнскую плату, если подключите другим способом.

Описание наиболее часто используемых контактов приведено ниже:

Сторона X

Сторона Y

GND (контакты Y1,Y10,Y31) Подключаются к заземлению компьютера. +5 В (контакт Y3) Выход +5 В пост. тока -5 В (контакт Y5) Выход -5 В пост. тока +12 В (контакт Y9) Выход +12 В пост. тока -12 В (контакт Y7) Выход -12 В пост. тока MEMW (контакт Y11)* Микропроцессор переводит эту линию в НИЗКИЙ уровень при выполнении ЗАПИСИ В ПАМЯТЬ.MEMR (контакт Y12)* Микропроцессор переводит эту линию в НИЗКИЙ уровень при выполнении ЧТЕНИЯ ИЗ ПАМЯТИ. IOW (контакт Y13) Микропроцессор переводит эту линию в НИЗКИЙ уровень во время выполнения ЗАПИСИ В ПОРТ. (например: когда вы пишете outportb(АДРЕС,БАЙТ), эта линия становится НИЗКОЙ) IOR (вывод Y14) Микропроцессор переводит эту линию в НИЗКИЙ уровень при выполнении ЧТЕНИЯ ИЗ ПОРТА. (например: когда вы записываете byte = inportb(ADDRESS), эта линия становится НИЗКОЙ) DACK0 – DACK3 (контакты Y19, Y17, Y26, Y15)* Контроллер DMA сигнализирует на этих линиях, чтобы сообщить устройствам, что этот DMA контролирует автобусов. DRQ1 – DRQ3 (контакты Y18, Y6, Y16)* Эти контакты позволяют периферийным платам запрашивать использование шин. T/C (контакт Y27)* Контроллер DMA устанавливает этот сигнал, чтобы сообщить периферийному устройству, что запрограммированное количество байтов было отправлено. IRQ2 – IRQ7 (контакты Y4, Y25, Y24, Y23, Y22, Y21)* Сигналы прерывания. Периферийные устройства устанавливают эти сигналы, чтобы запросить внимание микропроцессора. ALE (контакт Y28)* Включение фиксации адреса. Этот сигнал используется микропроцессором для блокировки 16 младшей адресной шины в защелке во время операции ввода/вывода памяти или порта. CLOCK (контакт Y20)* Системные часы OSC (контакт Y30)* Это высокочастотные часы, которые можно использовать для плат ввода/вывода.

* : эти пины не будут использоваться в этом проекте

Получение четырех выходных строк шины ISA

Три микросхемы 74LS138 выполняют часть декодирования адреса. Мы подключили адресные линии таким образом, что в проводах (представленных зеленым проводом) появляется короткий импульс (CLOCK) всякий раз, когда адресные линии содержат адрес в диапазоне от 0x338 до 0x33B и запрашивается вывод порта (IOW).< /p>

Чтобы узнать, доступны ли адреса портов ввода-вывода для использования в этом проекте, мы изучим содержимое портов ввода-вывода в каталоге /proc нашей системы Linux.

Расшифровка адреса

< td>0 < /tr> < td>0x238 < td>0
Адрес
0x338 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0
0x339 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1
0x33A 0 0 0 0< /td> 0 0 1 1 0 0 1 1 1 0 1 0
0x33B 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 1
0 0 0 0 0 0 1 0 0 0 1 1< /тд > 1 0 0 0
0x239 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1
0x23A 0 0 0 0 0 1 0 0 0 1 1 1 0< /td> 1 0
0x23B 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1
Адресные строки A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

Мы видим, что адресные строки A8A1A0 меняются только в случае всех восьми адресов. Весь процесс подключения проводов к ИМС 74LS138 похож на решение головоломки. Подсоедините оставшиеся провода ( A15A14A13A12A11 А10А9А7А6А5А4 A3A2) на два 74LS138, чтобы они, наконец, давали низкий выходной сигнал, когда эти строки имеют адресные биты, частично совпадающие с нашими адресами (кроме A8A1A0 ).Теперь соединяем оставшиеся линии (A8A1 >A0 A2) к третьему 74LS138. Все 8 выходов этой ИС используются для выбора защелок 74LS374, соответствующих входным и выходным адресам, после того, как он объединен с помощью НЕ-ИЛИ с IOR и IOW используют 74LS02, чтобы различать адресацию ввода-вывода памяти и ввода-вывода порта.

< td>H < td>LH < td>L < /tbody>
Таблица истинности 74LS138
G1 G2 C B A Y0 Y1 Y2< /td> Y3 Y4 Y5 Y6 Y7
X H X X X H H H H H H H H
L X X X X H H H H H H H
H L L L L L H H H H H H H
H L L H H L H H H H H H
H L L H L H H L H H H H
H L L H H H H H L H H H H
H L H L H H H H L H H H
H L H L H H H H H H L H H
H L H H L H H< /td> H H H H L H
H L H H H H H H H H H H L
Подробности см. в техническом описании 74LS138

Настоящие вещи

Три микросхемы 74LS138 используются для декодирования адреса вместе с двумя микросхемами 74LS02 (2 входа НЕ-ИЛИ). Всякий раз, когда в адресных строках обнаруживается совпадение, соответствующая выходная линия Y(x) третьей микросхемы 74LS138 (подключенной к двум микросхемам 74LS02) получает НИЗКИЙ уровень. Эти линии вместе с IOW (и IOR) подключены к вентилям ИЛИ-НЕ (74LS02), которые выдают ВЫСОКИЙ уровень только тогда, когда два входа одновременно переходят в НИЗКИЙ уровень.

Следовательно, выход высокий только тогда, когда:

  1. в адресных строках найдено совпадение
  2. строки IOW или IOR становятся НИЗКИМИ, представляя операцию PORT IO.

На принципиальной схеме видно, что выходные линии логических элементов ИЛИ-НЕ подключены к контактам CLOCK защелки 74LS374 (обозначены зелеными проводами). Таким образом, всякий раз, когда два вышеупомянутых случая совпадают одновременно, импульс CLOCK отправляется на соответствующую защелку. и данные в шине данных фиксируются, что отображается в выходных строках.

Кодирование

isa.c иллюстрирует некоторые простые методы кодирования для контроля и тестирования линий ввода-вывода устройства, созданного в этом проекте.

ioperm() получает разрешение на доступ к указанным портам из ядра. Функции outb() и inb(), определенные в sys/io.h, помогают нам писать и читать в указанный порт.

Некоторые методы отладки

Использование мультиметра Мультиметр будет очень полезен для проверки нулей и единиц на микросхемах. Убедитесь, что ожидаемый вывод поступает на каждую микросхему. НОЛЬ будет измеряться как 0,8 В, а ЕДИНИЦА будет измеряться как 3,8 В (это зависит от компьютера). Это можно использовать, если декодирование адреса не работает или когда в выходных строках видны неожиданные данные. НЕ ПОДКЛЮЧАЙТЕ МУЛЬТИМЕТРИЧЕСКИЕ ЗОНДЫ НАПРЯМУЮ К ШИНЕ ДАННЫХ ИЛИ АДРЕСНЫМ ЛИНИЯМ. ВСЕГДА ПОДКЛЮЧАЙТЕ ЕГО К ВЫХОДУ СООТВЕТСТВУЮЩЕГО ICS! Использование светодиодов Светодиоды могут быть очень полезны для проверки битов данных, поступающих с выходных линий; загорание светодиода будет видно через защелки. Чтобы проверить, идет ли тактовый импульс на правую защелку, подключите светодиод к выводу CLK и отправьте данные на этот порт в непрерывном цикле, например:

Существует множество других методов отладки, которые вы, вероятно, обнаружите сами, когда столкнетесь с проблемами. Постарайтесь убедиться, что проводка на разъеме, который входит в слот ISA, исправна. Мы проверили каждую часть устройства (каждую IC, все эти перемычки и т. д.), и после отладки в течение недели мы обнаружили, что провода IOW и IOR были подключены к некоторым другим контактам слота ISA. Итак, перепроверьте проводку.К счастью, мы не перепутали контакт 12 В с контактом 5 В ;)

Мы не несем ответственности за какие-либо убытки или ущерб, вызванные этой статьей. Вероятность поджаривания вашей материнской платы составляет более 100 %, если вы работаете над этим проектом, не используя свои мысли. Держите глаза открытыми и мысленно настороженными, выполняя проводку и подключение микросхем и проверяйте все соединения VCC и GND каждый раз, когда вы включаете компьютер после подключения этого устройства к слоту ISA. ВЫ БЫЛИ ПРЕДУПРЕЖДЕНЫ :). К счастью, материнская плата, использовавшаяся для этого эксперимента, все еще жива, и эксперимент увенчался огромным успехом.

Комментарии и предложения

Присылайте свои комментарии и предложения по адресу:

Некоторые исправления

ERR: Эта адресная шина может адресовать 1 МБ (2^20=1024 байта)
OK: Эта адресная шина может адресовать 1 МБ (2^20=1024 Кбайт)

Центральный процессор (ЦП) — это мозг компьютера, потому что именно он принимает все решения и выполняет все программы. Задача процессора — обрабатывать данные. ЦП работает, следуя процессу, известному как «выборка, декодирование и выполнение». ЦП извлекает инструкцию из памяти, декодирует эту инструкцию и затем выполняет ее. Процессор выполняет этот цикл непрерывно, миллионы раз в секунду. Какое бы программное обеспечение не использовалось на компьютерах, ЦП обрабатывает используемые данные.

Прежде чем этот процесс может начаться, и программа, и данные загружаются в оперативную память (ОЗУ) операционной системой. Затем он загружается во временную область памяти внутри ЦП, называемую регистром адреса памяти (MAR). Теперь ЦП готов к выполнению цикла выборки-декодирования.

ШАГ 1. Получить

Блок управления отправляет сигнал в ОЗУ, чтобы получить программу и данные, которые затем сохраняются в одном из регистров ЦП. Для этого ЦП использует жизненно важный аппаратный путь, называемый «адресной шиной», по которому перемещаются программа и данные.

Затем блок управления увеличивает счетчик программ (ПК). PC — это важный регистр, который отслеживает порядок выполнения инструкций и показывает, какая инструкция в программе должна быть выполнена следующей.

Затем ЦП помещает адрес следующего элемента для выборки на адресную шину. Затем данные с этого адреса перемещаются из основной памяти в ЦП по другому аппаратному пути, называемому «шина данных».

ШАГ 2. Декодирование

«Набор инструкций» ЦП предназначен для понимания определенного набора команд, который служит для понимания только что полученной инструкции. Этот процесс называется «декодирование».

Для одного фрагмента программного кода может потребоваться несколько инструкций. Например, посмотрите на этот код Python:

Во-первых, компьютеру необходимо загрузить значение переменной длины в хранилище с немедленным доступом (регистры). Далее необходимо загрузить значение переменной ширины.

ШАГ 3. Выполнение

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

После завершения этапа выполнения ЦП начинает цикл заново.

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

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