как работают вещи

 ак работают вещи: статьи и обзоры

√лавна€ | ‘орум |  ак работают вещи | «наки | Ёнциклопеди€ |  аталог сайтов |  арта | —татистика | ѕодписка





































”х ты!
оказываетс€, «ефир это древнегреческое божество, а так же легкий ветер







Rambler's Top100




 ак работают вещи: статьи омпьютеры”стройство & перифери€

¬заимодействие программных и аппаратных средств


¬ведение

ѕонимание, каким образом программна€ переменна€ принимает значение физического сигнала и как значение программной величины превращаетс€ в конкретный сигнал может помочь разработчикам программного обеспечени€ систем управлени€ при расчете задержек, решении задач оптимизации, обеспечении устойчивости, разработке интерфейсов и подключении к процессорам и контроллерам периферии: датчиков, исполнительных механизмов, и др. ¬ этой работе рассматриваютс€ вопросы, св€занные с преобразованием Упрограммна€ переменна€ Ц сигналФ: особенности построени€ каналов передачи данных, подключени€ периферии к шинам процессора, вопросы адресной приЄма-передачи данных и работа гипотетического процессора при обмене данными с внешним устройством.

‘ормирование канала передачи данных

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




–ис. 1. —хема с неопределенным напр€жением в линии передачи. ¬ реальной схеме функцию ключа может выполн€ть транзистор.

¬ схеме –ис. 1 при замыкании ключа приЄмнику передаетс€ 5¬ источника, однако, когда ключ разомкнут на входе приемника находитс€ неопределенное напр€жение. Ётой неопределенности нет в схеме –ис. 2, котора€ имеет два устойчивых состо€ни€ 5¬ или 0¬. —опротивление R добавлено в схему передатчика дл€ ограничени€ тока через замкнутый ключ. ѕереходный процесс в линии пропорционален произведению Ємкости линии на выходное сопротивление передатчика, которое отличаетс€ при установлении и сбросе напр€жени€ в линии. ѕри установке напр€жени€ в линии происходит зар€д Ємкости через сопротивление R. ¬о врем€ сброса напр€жени€ Ємкость разр€жаетс€ через сопротивление замкнутого ключа.




–ис. 2. ѕередача двух состо€ний 5¬ и 0¬. “ождественные схемы. ѕосто€нна€ времени (R*C) перехода из 0¬ в 5¬ (зар€да емкости) больше посто€нной разр€да линии через идеальный ключ с нулевым сопротивлением. ƒл€ уменьшени€ времени установлени€ напр€жени€ резистор R заменЄн ключом K1 (–ис. 3), в схему добавлен инвертор »-Ќ≈, который обеспечивает работу ключей  1 и  2 в противофазе (один замкнут, другой - разомкнут).




–ис. 3.  лючи  1 и  2 минимизируют врем€ переходных процессов. »нвертор »-Ќе обеспечивает работу ключей в противофазе.

ѕроблемы передачи данных

ѕоток последовательных данных состоит из нулей и единиц. ѕусть, состо€ни€м 0¬ и 5¬ соответствуют логический нуль и единица соответственно (–ис. 4). Ќеобходимо, чтобы все данные передатчика были прин€ты приемником без потерь. ƒл€ этого

1. ѕередатчик и приемник должны работать с одинаковым периодом (на одинаковой частоте).




–ис. 4. “актируема€ последовательна€ передача данных
ѕредположим, лини€ длительное врем€ не мен€ет состо€ние и находитс€ под напр€жением 5¬.  ак определить Ц Уѕередает передатчик данные 1111111111... или нет?Ф ƒл€ решени€ этого вопроса протокол передачи данных необходимо дополнить следующими положени€ми.

2. ѕри отсутствии передачи лини€ находитс€ под напр€жением (в состо€нии У1Ф).
3. ѕередача начинаетс€ переходом из 1 в ноль.
4. ѕервый такт после перехода не содержит данных.




–ис. 5. ¬вод стартового бита.

„ем дольше последовательность данных (длина пакета), тем выше производительность линии. Ќо, с другой стороны, увеличение длины пакета ужесточает требовани€ к синхронизации работы передатчика и приемника и увеличивает чувствительность к помехам в линии, которые могут изменить передаваемую последовательность. ƒл€ обнаружени€ ложных данных ввод€т в последовательность контрольную сумму или другие средства, защищающие данные от потерь. ¬ общем случае, длина пакета должна устанавливатьс€ с учетом качества сетевого оборудовани€. ѕример передачи данных байтами показан на –ис. 6. ѕроизводительность этой линии составл€ет 66% (как 100% * 8 бит данных / 12 бит период).




–ис. 6. ѕобайтова€ передача данных по протоколу RS-232.

ƒл€ успешной передачи данных передатчик и приЄмник должны иметь одинаковые настройки: частоту тактировани€, наличие (отсутствие) контрольного бита, одинаковое количество стоповых бит и др.

”величение числа приемников и передатчиков

ѕодключение к линии дополнительных приемников (–ис. 7) не приводит к сбою передачи данных если суммарна€ нагрузка на передатчик не превышает предельную.




–ис. 7. ѕодключение к линии передачи нескольких приемников.

ќбъединение выходов передатчиков может вызвать сквозной ток, как показано на –ис. 8. “акой ток возникает когда передатчики одновременно выдают в линию инверсные уровни (низкий и высокий).




–ис. 8.  онфликт передатчиков с выходами +5¬/0¬.  расными стрелками показан ток короткого замыкани€.

“аблица 1. —осто€ние линии передачи с двум€ передатчиками и приЄмником.

¬ых_1¬ых_2¬х_1 омментарий
000
01н.о. ороткое замыкание источника передатчика 2 на землю передатчика 1
10н.о ороткое замыкание источника передатчика 1 на землю передатчика 2
111

ѕередатчики с открытым коллектором (с единственным нижним ключом K2) могут подключатьс€ к линии передачи группами. ѕри использовании передатчиков с открытым коллектором лини€ должна Уподт€гиватьс€Ф к источнику питани€ через резистор, как показано на –ис. 9.




–ис. 9. ѕодключение нескольких передатчиков с открытым коллектором к общей линии.

Ѕуфер и –егистр

–ассмотрим принцип действи€ буфера и регистра, используемых дл€ подключени€ приЄмников и передатчиков к шине данных процессора. Ѕуфер Ц электронное устройство с параллельными сигнальными входами и выходами. ¬ыходы подключаютс€ к соответствующим входами только на врем€ действи€ управл€ющего сигнала (–ис. 10). ќстальное врем€ открытые коллекторы буфера удерживают его в отключенном состо€нии от выходных линий.




–ис. 10. ¬ременные диаграммы работы буфера.

–егистр Ц устройство с пам€тью (–ис. 11). ¬ момент по€влени€ управл€ющего сигнала регистр устанавливает на выходах значени€ входных сигналов и удерживает выходные сигналы без изменени€ до момента по€влени€ следующего управл€ющего сигнала, который снова устанавливает на выходах значени€ входных сигналов.




–ис. 11. «ависимость выхода от входа регистра.

ƒешифратор адреса

“олько два устройства (приемник и передатчик) могут участвовать в обмене данными, даже если к линии подключено несколько передатчиков и/или приемников. ƒл€ обращени€ к устройствам, участвующим в обмене данными, каждому устройству присваиваетс€ уникальный адрес (им€ устройства). ¬ системах параллельной передачи данных дл€ обращени€ к устройствам используетс€ адресна€ шина данных. ¬ состав устройств должен входить дешифратор адреса, который следит за состо€нием адресной шины и формирует сигнал на выходе при по€влении требуемого адреса.

Ћогика работы дешифратора адреса дл€ четырехразр€дной шины и одного устройства с адресом 1011 показана на –ис. 12.




–ис. 12. ѕримеры логики дешифратора адреса дл€ одного устройства с адресом 1011. ƒешифратор адреса с несколькими выходами (–ис. 13) активирует только один выход адрес которого находитс€ на входе дешифратора.




–ис. 13. ƒешифратор адреса дл€ 16 устройств.

÷иклы записи, чтени€ и подключение портов

„тение и запись данных рассматриваютс€ относительно устройства, управл€ющего процессом обмена данными. ≈сли это процессор, то У«аписьФ означает передачу от процессора, а У„тениеФ Ц приЄм процессором. ƒл€ получени€ данных от устройства процессор выставл€ет адрес устройства на шину адреса, затем - управл€ющий сигнал "„тение" RD и, через некоторое врем€, считывает состо€ние шины данных (–ис. 14). ¬нешнее устройство при помощи дешифратора адреса должно определить обращение к нему и по запросу данных RD процессором, подключить собственные данные через буфер к шине данных и удерживать их на шине не дольше, чем процессор начнет новый цикл.




–ис. 14. ÷икл чтени€.

÷икл записи процессор также начинает с выставлени€ адреса устройства на шину адреса, затем выставл€ет данные и сообщает об этом управл€ющим сигналом "«апись" WR (–ис. 15).

¬нешнее устройство, обнаружив собственный адрес на адресной шине и получив от процессора сигнал записи данных WR, записывает состо€ние шины данных в регистр.




–ис. 15. ÷икл записи.

¬нешн€€ пам€ть

≈сли выход регистра внешнего устройства подключить ко входу буфера, то получитс€ €чейка пам€ти, котора€ может принимать данные, хранить и выставл€ть данные на шину в цикле чтени€. Ѕуфер и регистр могут подключатьс€ к общему или раздельным выходам дешифратора адреса. ¬ первом варианте (показан на –ис. 16) запись и чтение данных будут происходить по одному адресу, во втором варианте запись выполн€етс€ по одному адресу Ц а чтение записанных данных - по другому.




–ис. 16. ячейка внешней пам€ти.

—труктура гипотетического процессора

√ипотетический процессор (–ис. 17) включает следующие основные части.

  • јрифметико-Ћогическое ”стройство (јЋ”). ¬ыполн€ет арифметические и логические преобразовани€.
  • јккумул€тор. –егистр, сохран€ет результаты јЋ”, обмениваетс€ данными с устройствами подключенными к шине данных.
  • ƒешифратор команд. јнализирует инструкции.”правл€ет счетчиком команд и запускает работу схемы управлени€.
  • —хема управлени€. ¬ырабатывает необходимую последовательность управл€ющих сигналов, обеспечивающих выполнение операций.
  • –егистры процессора. ’ран€т адреса и данные.
  • —игналы управлени€ У„тениеФ RD, У«аписьФ WR и др. —лужат дл€ управлени€ передачей данных.

ƒл€ работы процессору необходима пам€ть программ и данных, котора€ подключаетс€ к процессору через адресную шину, шину данных и сигналы шины управлени€: У„тение пам€тиФ и У«апись в пам€тьФ. ѕрограмма, которую выполн€ет процессор, находитс€ в пам€ти программ.

ѕроцессор имеет сигналы У„тение устройства ввода/выводаФ и У«апись в устройство ввода/выводаФ, которые используютс€ при обращении к внешним устройствам - портам.

јдресные пространства программной пам€ти и портов могут перекрыватьс€.




–ис. 17. —труктура гипотетического процессора [1].

ѕринцип организации управлени€ исполнением программ гипотетическим процессором содержит следующие положени€.

  • ¬ коде команды содержитс€ полна€ информаци€ о том, что необходимо выполнить процессору и где располагаетс€ следующа€ команда.
  • ¬ начале работы счетчику команд процессора присваиваетс€ значение адреса первой команды программы.
  • ¬ыполнение команды включает цикл выборки команды и цикл(ы) выполнени€.
  • ¬ цикле выборки содержимое счетчика команд загружаетс€ в регистр адреса пам€ти, затем команда из внешней пам€ти передаетс€ через шину данных в регистр команд процессора.
  • ¬ цикле выполнени€ дешифратор команд определ€ет размер команды (занимаемую командой область пам€ти в байтах), схема управлени€ устанавливает значение адреса следующей команды в счетчике команд путЄм увеличени€ счетчика на размер выполн€емой команды.
  • ¬ многобайтной команде, кроме кода команды содержатс€ адреса операндов и/или значени€ операндов. ѕри выполнении многобайтной команды регистр адреса пам€ти последовательно увеличиваетс€ на единицу, указыва€ на адрес используемого байта команды, а схема управлени€ подключает соответствующие €чейки пам€ти к регистрам процессора.
  • ѕередача команд и данных по шине данных осуществл€етс€ от буфера-передатчика к регистру-приемнику, как было рассмотрено на –ис. 14, –ис. 15, –ис. 16.

 оманды ввода/вывода (обращени€ к портам).

¬ список команд процессора вход€т команды обращени€ к портам, например, дл€ процессора х86 это команды OUT и IN. ѕри обмене данными с внешним портом участвуют регистры общего назначени€ DX и AX. ¬ DX записываетс€ адрес порта, регистр AX используетс€ дл€ приЄма-передачи данных.

ѕример записи в порт по адресу PORT_NUMBER данных DATA:

MOV DX, PORT_NUMBER; // «апись адреса порта в регистр DX
MOV AL, DATA; // «апись байта данных в младший байт аккумул€тора
OUT DX, AL; // «апись в порт. Ќа адресную шину выдаетс€ содержимое регистра DX, на шину данных Ц содержимое регистра AL. ѕосылка данных синхронизируетс€ сигналом управлени€ У«апись в устройство ввода/выводаФ.

ѕример чтени€ данных из порта с адресом PORT_NUMBER с сохранением их в регистре AL.

MOV DX, PORT_NUMBER; // «апись адреса порта в регистр DX
IN AL, DX; // „тение порта. Ќа адресную шину выдаетс€ содержимое регистра DX, затем выставл€етс€ сигнал управлени€ У„тение устройства ввода/выводаФ.

—осто€ние шины данных записываетс€ в регистр AL в момент окончанию сигнала управлени€.

ѕримечание. 1. ѕри отсутствии устройства или данных устройства в момент окончани€ сигнала У„тение устройства ввода/выводаФ процессор записывает в AL состо€ние шины данных. —уществуют различные схемы и алгоритмы повышени€ надежности приема/передачи, которые здесь не рассматриваютс€.

2. Ќа €зыках высокого уровн€ дл€ обмена данными с портами существуют собственные команды или используютс€ вставки ассемблерного кода. ѕример пошагового обмена данными между процессором и портами внешнего устройства ¬заимодействие программных и аппаратных средств показано на примере выполнени€ программы гипотетическим процессором, который обмениваетс€ данными с внешним устройством (–ис. 18).




–ис. 18. ѕроцессор с внешней пам€тью и портами.

ѕрограммна€ переменна€ должна находитс€ в аккумул€торе процессора. ¬нешнему устройству присвоен адрес 378h, который используетс€ как при чтении так и при записи. —игнал младшего разр€да на буфере внешнего устройства зависит от состо€ни€ кнопки.   младшему разр€ду выхода регистра подключен светодиод. —ветодиод должен отслеживать состо€ние кнопки: включатьс€ при отжатой кнопке и выключатьс€ при замкнутых контактах кнопки, а программна€ переменна€ отслеживать состо€ние светодиода. ƒл€ этого процессору в цикле необходимо считывать в аккумул€тор сигналы внешнего устройства со входа буфера, а затем данные аккумул€тора записывать в регистр внешнего устройства.

ѕрограмма, расположенна€ с нулевого адреса в подключенной к процессору внешней пам€ти, содержит следующие команды.

  • «ј√–”« ј –≈√»—“–ќ¬ќ… ѕј–џ ѕ–яћјя (LRP dx). «аписывает в регистр DX процессора данные команды.
  • —„»“џ¬јЌ»≈ ѕќ–“ј (IN al,dx). ѕередает данные внешнего устройства в младший регистра аккумул€тора. јдрес внешнего устройства беретс€ из регистра DX процессора.
  • «јѕ»—№ ¬ ѕќ–“ (OUT dx,al) передает данные младшего байта аккумул€тора внешнему устройству. јдрес внешнего устройства находитс€ в регистре DX процессора.
  • ѕ≈–≈’ќƒ (JMP). ѕереход к следующей команде по указанному адресу.
¬ начале работы счетчику команд присваиваетс€ значение начального адреса (точки входа) программы 0000.

“рехбайтна€ команда «ј√–”« ј –≈√»—“–ќ¬ќ… ѕј–џ ѕ–яћјя (LRP dx) включает один цикл выборки команды и два цикла выполнени€. ¬ цикле выборки содержимое счетчика команд загружаетс€ в регистр адреса пам€ти значение которого по€вл€етс€ на адресной шине и декодируетс€ дешифратором адреса пам€ти, который указывает на нулевую €чейку пам€ти. ѕри получении сигнала У„тение пам€тиФ устройство внешней пам€ти выставл€ет на шину данных содержимое нулевой €чейки Ц первую команду, котора€ записываетс€ схемой управлени€ в регистр команд процессора. ¬ цикле выполнени€, при декодировании команды, устройство управлени€ увеличивает содержимое счетчика команд на три Ц величину занимаемой командой области пам€ти в байтах. “еперь счетчик указывает на адрес следующей команды 0003. ƒл€ обращени€ ко второму байту команды схема управлени€ процессора увеличивает регистр адреса пам€ти на единицу. јдрес 0001 подаетс€ на адресную шину. ѕолучив адрес и управл€ющий сигнал процессора устройство внешней пам€ти подключает содержимое €чейки 0001 (число 03h) к шине данных. —хема управлени€ записывает число 03h в старший байт DH регистровой пары общего назначени€ DX. ¬тора€ половина фазы выполнени€ начинаетс€ с увеличени€ регистра адреса пам€ти на единицу до 0002, в этой €чейке пам€ти содержитс€ третий байт команды (число 78h), который как и два предыдущих попадает на шину данных, значение третьего байта записываетс€ в младший байт DL пары DX процессора. Ќа этом заканчиваетс€ выполнение команды LRP dx, в результате адрес порта внешнего устройства находитс€ в регистре DX процессора.

ѕри выполнении следующей команды IN al,dx в цикле выборки схема управлени€ процессора загружает содержимое счетчика команд в регистр адреса пам€ти и выставл€ет сигнал У„тение пам€тиФ, команда из третьей €чейки пам€ти записываетс€ в регистр команд. ¬ цикле выполнени€ команды схема управлени€ увеличивает содержимое счетчика команд на один байт - величину размера команды, счетчик указывает на адрес следующей команды 0004. «атем байты регистровой пары DX последовательно записываютс€ в регистры адреса пам€ти, таким образом адрес порта внешнего устройства по€вл€етс€ на адресной шине. ƒешифраторы и внешней пам€ти и внешнего устройства указывают на €чейку 378h, но, поскольку схема управлени€ процессора в соответствии с кодом команды выдает сигнал У„тение уст. в/вывФ а не У„тение пам€тиФ, то только буфер внешнего устройства с адресом 378h подключаетс€ к шине данных и сигналы устройства, включа€ состо€ние кнопки, через буфер поступают на шину данных. —хема управлени€ процессором записывает содержимое шины данных в младшем регистре аккумул€тора.

ѕосле считывани€ из пам€ти команды OUT dx,al содержимое счетчика команд увеличиваетс€ на 1. ≈го содержимое теперь 0005 Ц адрес следующей команды JMP. —одержимое регистровой пары DX (0378h) пересылаетс€ в регистр адреса пам€ти процессора. —одержимое младшего байта аккумул€тора AL помещаетс€ на шину данных. ѕри поступлении сигнала У«апись уст. в/вывФ эти данные с шины записываютс€ в регистр внешнего устройства к которому подключен светодиод. ѕо команде ѕ≈–≈’ќƒ (JMP) в счетчик команд из второго и третьего байта команды JMP загружаетс€ новое значение 0003 - адрес первой команды следующего цикла. ƒалее выполн€етс€ команда IN al,dx и другие команды. ќписанный процесс повтор€етс€ до тех пор, пока не произойдет останов процессора.

«аключение

‘изический сигнал принимает значение программной переменной в результате выполнени€ процессором команды У«апись в портФ, котора€ сопровождаетс€ передачей данных по адресной шине, приема-передачей данных по шине данных и формированием соответствующего сигнала шины управлени€. У„тение портаФ позвол€ет присвоить программной переменной значение физического сигнала. «десь также участвует передача данных по адресной шине и шине данных с формированием сигнала управлени€ Ц чтени€ устройства ввода/вывода.

јналогичным образом происход€т преобразование переменной в контроллерах или в мини-компьютерах, в которых внешн€€ пам€ть и/или порты объединены с процессором на одном кристалле или на общей плате.

Ћитература

1. ¬ведение в микропроцессорную технику јвтор: „. √илмор »здательство: ћир √од: 1984 —траниц: 314. язык: русский.

2. Dr. Bob Davidov.  омпьютерные технологии управлени€ в технических системах http://portalnp.ru/author/bobdavidov.



DR. BOB DAVIDOV,





—мотри также:
¬от как устроен компьютер
 ак работает ∆  монитор
 ак работает глаз
 ак работает Ё¬ћ
 ак делают бетонные дороги
ѕочему курсор мыши наклонен влево, а клавиши на клавиатуре не по алфавиту?
 ак поставить вентиль на газ
 ак работает био-регенератор?


Loading...


Ќовые статьи на сайтах портала:
 ак организм сжигает жир?
     ак работают вещи: статьи„еловекќрганизм человека /
 ак создали свет€щиес€ растени€?
     ак работают вещи: статьи“ехнологииЌовые технологии /
 ак светитс€ светл€чок?
     ак работают вещи: статьићир вокруг∆ивотный мир /
 ак работает большой адронный коллайдер
     ак работают вещи: статьи“ехнологии»сследование мира /
 ак нестандартно использовать вилку?
     ак работают вещи: статьи“вой дом—воими руками /
 ак вилка покорила мир?
    ѕроисхождение знаковѕроисхождение традиций«астольные /
 ак работает дополненна€ реальность?
     ак работают вещи: статьи“ехнологииЌовые технологии /


Ќовые комментарии:

  √остева€ книга:
luisms16 : Big Ass Photos - Free Huge But...
Georgenub : Де&#10...
clydegr11 : Browse over 500 000 of the bes...
johnniefs3 : Teen Girsl Pussy Pics. Hot gal...
careyvw18 : Sexy teen photo galleries htt...
mattiebb2 : New sexy website is available ...
Legenda7 : –Т–Р–°–Ш–Ы–Ш–°–Ђ–Э–Ю –°–І–Р–°...
julianua69 : Scandal porn galleries, daily ...
Flintdooring : For cells growing in denial di...





© 2008-2011 ¬сЄ, права защищены.
»нтернет-журнал "как работают вещи"
¬опросы и предложени€ ждем по адресу ashestopalov@yandex.ru

√лавна€ |  ак работают вещи | «наки | Ёнциклопеди€
 аталог сайтов |  арта | ¬се статьи раздела | —татистика | Ќовости
јвторы | јвторам