Мультиплексор и демультиплексор — различия между версиями
Gaporf (обсуждение | вклад) (→Применение мультиплексора и демультиплексора в реальной жизни) |
Gaporf (обсуждение | вклад) (→Модуль памяти) |
||
Строка 131: | Строка 131: | ||
Также с помощью мультиплексоров и демультиплексоров можно построить логику некоторых компонентов компьютера, в том числе и можно построить схему модуля памяти с использованием мультиплексора и демультиплексора. | Также с помощью мультиплексоров и демультиплексоров можно построить логику некоторых компонентов компьютера, в том числе и можно построить схему модуля памяти с использованием мультиплексора и демультиплексора. | ||
− | + | В качестве примера рассмотрим модуль памяти на 8 бит. Для того, чтобы модуль памяти мог обрабатывать запросы, есть управляющие входы <tex>A_0</tex>, <tex>A_1</tex>, <tex>A_2</tex>, которые кодируют номер бита, к которому делается запрос. Существует два типа запросов: | |
+ | * Прочитать значение, записанное в <tex>i</tex>-ом бите. В этом случае на вход <tex>R/W</tex> подаётся <tex>0</tex>. | ||
+ | * Записать в <tex>i</tex>-ый бит значение на входе <tex>D</tex>. В этом случае на вход <tex>R/W</tex> подаётся <tex>1</tex>. | ||
− | + | Также для корректной работы модуля памяти используется провод синхронизации <tex>C</tex>. | |
+ | |||
+ | На рисунке представлена схема такой памяти. Для хранения значений в битах используются [[Триггеры#D-триггер|<tex>D</tex>-триггеры]]. Рассмотрим схему подробнее. Если на входе <tex>C</tex> записано значение <tex>0</tex>, то нам не важно, что находится на выходе <tex>Q</tex>, поэтому эту ситуацию можно свести к ситуации, когда на <tex>C</tex> подано <tex>1</tex>, а на <tex>R/W</tex> - <tex>0</tex>. Поймём, как реализованы операции чтения и записи. Существует демультиплексор <tex>3</tex>-to-<tex>8</tex>, которому на вход <tex>Y</tex> подадим результат конъюнкции входов <tex>R/W</tex> и <tex>C</tex>, а на входы <tex>S_0</tex>, <tex>S_1</tex>, <tex>S_2</tex> подадим значения на входах <tex>A_0</tex>, <tex>A_1</tex>, <tex>A_2</tex>. Пусть число <tex>i</tex> кодируется входами <tex>A_0</tex>, <tex>A_1</tex>, <tex>A_2</tex>. Тогда на все выходы демультиплексора, кроме выхода <tex>Z_i</tex> будет подаваться <tex>0</tex>, а на выход <tex>Z_i</tex> - значение на входе <tex>Y</tex>. Очевидно, что операция чтения никак не изменяет значение битов, в то время как запись меняет их значения, поэтому можно считать, что модуль памяти всегда возвращает значение на <tex>i</tex>-ом бите, кроме случаев, когда <tex>C = R/W = 1</tex>. Подадим все выходы демультиплексора на соответствующие им входы <tex>C</tex> <tex>D</tex>-триггеров. Оставшиеся свободными входы триггеров соединим со входом <tex>D</tex> модуля памяти. Тогда все триггеры, возможно, кроме <tex>i</tex>-го триггера будут только возвращать значения, записанные в них, и только <tex>i</tex>-ый триггер поменяет своё значение в случае, если <tex>C = R/W = 1</tex>. Также есть мультиплексор <tex>8</tex>-to-<tex>1</tex>, которому на входы <tex>X_0</tex>, <tex>X_1</tex>, <tex>\ldots</tex>, <tex>X_7</tex> подают значения соответственных триггеров, а на входы <tex>S_0</tex>, <tex>S_1</tex>, <tex>S_2</tex> подают значения на входах <tex>A_0</tex>, <tex>A_1</tex>, <tex>A_2</tex>. Тогда мультиплексор всегда возвращает значение, хранящееся в <tex>i</tex>-ом бите. Очевидно, что на любой запрос чтения значения в <tex>i</tex>-ом бите модуль памяти возвращает то, что нужно, а что схема возвращает на запрос записи неважно. | ||
Однако, такая схема редко используется в реальных электронно-вычислительных машинах, поскольку иногда требуется делать несколько миллионов ячеек памяти, а с помощью такого модуля памяти сделать это будет очень трудно, поскольку такая схема будет потреблять большое количество энергии, а также требует много места и большого количества проводников, что влияет на качество передачи сигнала по проводам. Гораздо эффективнее использовать матричную память, поскольку она позволяет с использованием меньшее количества проводов управлять большим количеством ячеек, а также она менее громоздкая. | Однако, такая схема редко используется в реальных электронно-вычислительных машинах, поскольку иногда требуется делать несколько миллионов ячеек памяти, а с помощью такого модуля памяти сделать это будет очень трудно, поскольку такая схема будет потреблять большое количество энергии, а также требует много места и большого количества проводников, что влияет на качество передачи сигнала по проводам. Гораздо эффективнее использовать матричную память, поскольку она позволяет с использованием меньшее количества проводов управлять большим количеством ячеек, а также она менее громоздкая. |
Версия 23:32, 10 декабря 2018
Определение: |
Мультиплексор (англ. multiplexer, или mux) — логическая схема, имеющая входов , , , , , , , и один выход , на который подаётся значение на входе , где — число, которое кодируется входами , , , . |
Определение: |
Демультиплексор (англ. demultiplexer, или demux) — логическая схема, имеющая | входов , , , , и выходов , , , . На все выходы подаётся кроме выхода , на который подаётся значение на входе , где — число, которое кодируется входами , , , .
Содержание
Принцип работы мультиплексора
Мультиплексор 2-to-1
Рассмотрим мультиплексор
-to- (это значит, что есть всего два входа и , значения которых могут подаваться на вход ). Переберём всевозможные варианты значений на входах. Если на подавать , то на выход будет подаваться то же значение, которое подаётся на вход , т.е. в данном случае значение на входе нас не интересует. Аналогично, если на вход подавать , то на выход будет подаваться то же значение, которое подаётся на вход . Для более лучшего понимания посмотрим на таблицу истинности.Мультиплексор 4-to-1
Также рассмотрим мультиплексор
-to- (это значит, что есть четыре входа , , и , значения которых могут подаваться на выход ). Также переберём всевозможные варианты значений на входах. Тут уже входа и , которые определяют, значение какого из входов , , или будет подаваться на выход . Если , то на выход будет подаваться значение входа , если и — то значение , если и — то значение , в противном случае — значение . Для более лучшее понимания рекомендуется обратиться к таблице истинности.Логическая схема мультиплексора
Заметим, что дешифратор имеет входов и выходов, причём на все выходы дешифратора подаётся кроме выхода , на который подаётся , где — число, которое кодируется его входами.
Тогда давайте построим дешифратор
-to- (это значит, что у дешифратора имеется входов и выходов), на вход ему подадим входы , , , , а выходы этого дешифратора обозначим как , , , , а потом с помощью гейта соединим выход дешифратора с входом мультиплексора, потом соединим все гейты с выходом . Давайте разберёмся, почему эта схема правильная: очевидно, что если входы , , кодируют вход , то это значит, что только выход дешифратора будет иметь , тогда как на остальных выходах будет , значит, что значения на входах , , , , , , на ответ никак повлиять не могут. Теперь, если на входе было , то на выходе будет , если же на входе был , то на выходе будет .Принцип работы демультиплексора
Демультиплексор 1-to-2
Рассмотрим демультиплексор
-to- (это значит, что у демультиплексора два выхода). Если на вход подать значение , то на выход будет подаваться то же значение, которое подаётся на вход , а на выход будет подаваться . Если же на вход подать значение , то на выход будет подаваться значение , а на выход то же значение, которое будет подаваться на вход . Для более лучшего понимания посмотрим на таблицу истинности.Демультиплексор 1-to-4
Также рассмотрим демультиплексор
-to- (это значит, что у демультиплексора четыре выхода). Теперь у нас уже есть два входа и , которые определяют, на какой из выходов , , или будет подаваться значение , тогда как на остальные выходы будет подаваться . В случае, когда , то на выход будет подаваться значение на входе , тогда как на , и будет подаваться . Если же и , то на выходы , и будет подаваться , а на выход будет подаваться то же, что подаётся на вход . Аналогично разбираются случаи , и . Для более лучшего понимания посмотрим на таблицу истинности.Логическая схема демультиплексора
Построим схему, аналогичную схеме мультиплексора.
Тогда давайте построим дешифратор,
-to- , на входы дешифратора подадим входы , , , , а выходы этого дешифратора мы обозначим как , , , . Поставим гейтов и соединим каждый из выходов дешифратора , , , со входом с помощью гейта , потом соединим соответственные гейты с выходами , , , , причем мы соединим гейт с выходом , если на этот гейт приходится выход дешифратора .Применение мультиплексора и демультиплексора в реальной жизни
Мультиплексоры и демультиплексоры часто используются в электронных схемах. Один из типов мультиплексоров и демультиплексоров используется для разделения на временные слоты и предоставления каждому объекту логической цепи свой временной промежуток, когда можно обмениваться данными с другими объектами с использованием минимального количества проводов. В качестве примера можно привести телефонные станции, которые соединяются с помощью одного провода, а для обеспечения помехоустойчивой связи используются временные слоты, в которые только одна из станций может обмениваться данными с остальными.
Также мультиплексоры и демультиплексоры используются в современных мобильных телефонах для того, чтобы воспроизводить звук и видео с помощью минимального количества проводников, а именно можно использую всего 24 провода
Модуль памяти
Также с помощью мультиплексоров и демультиплексоров можно построить логику некоторых компонентов компьютера, в том числе и можно построить схему модуля памяти с использованием мультиплексора и демультиплексора.
В качестве примера рассмотрим модуль памяти на 8 бит. Для того, чтобы модуль памяти мог обрабатывать запросы, есть управляющие входы
, , , которые кодируют номер бита, к которому делается запрос. Существует два типа запросов:- Прочитать значение, записанное в -ом бите. В этом случае на вход подаётся .
- Записать в -ый бит значение на входе . В этом случае на вход подаётся .
Также для корректной работы модуля памяти используется провод синхронизации
.На рисунке представлена схема такой памяти. Для хранения значений в битах используются . Рассмотрим схему подробнее. Если на входе -триггеры записано значение , то нам не важно, что находится на выходе , поэтому эту ситуацию можно свести к ситуации, когда на подано , а на - . Поймём, как реализованы операции чтения и записи. Существует демультиплексор -to- , которому на вход подадим результат конъюнкции входов и , а на входы , , подадим значения на входах , , . Пусть число кодируется входами , , . Тогда на все выходы демультиплексора, кроме выхода будет подаваться , а на выход - значение на входе . Очевидно, что операция чтения никак не изменяет значение битов, в то время как запись меняет их значения, поэтому можно считать, что модуль памяти всегда возвращает значение на -ом бите, кроме случаев, когда . Подадим все выходы демультиплексора на соответствующие им входы -триггеров. Оставшиеся свободными входы триггеров соединим со входом модуля памяти. Тогда все триггеры, возможно, кроме -го триггера будут только возвращать значения, записанные в них, и только -ый триггер поменяет своё значение в случае, если . Также есть мультиплексор -to- , которому на входы , , , подают значения соответственных триггеров, а на входы , , подают значения на входах , , . Тогда мультиплексор всегда возвращает значение, хранящееся в -ом бите. Очевидно, что на любой запрос чтения значения в -ом бите модуль памяти возвращает то, что нужно, а что схема возвращает на запрос записи неважно.
Однако, такая схема редко используется в реальных электронно-вычислительных машинах, поскольку иногда требуется делать несколько миллионов ячеек памяти, а с помощью такого модуля памяти сделать это будет очень трудно, поскольку такая схема будет потреблять большое количество энергии, а также требует много места и большого количества проводников, что влияет на качество передачи сигнала по проводам. Гораздо эффективнее использовать матричную память, поскольку она позволяет с использованием меньшее количества проводов управлять большим количеством ячеек, а также она менее громоздкая.
См. также
- Реализация булевой функции схемой из функциональных элементов
- Метод Лупанова синтеза схем
- Дешифратор