Научная литература
booksshare.net -> Добавить материал -> Физика -> Джонс М.Х. -> "Электроника - практический курс" -> 164

Электроника - практический курс - Джонс М.Х.

Джонс М.Х. Электроника - практический курс — М.: Постмаркет, 1999. — 528 c.
ISBN 5-901095-01-4
Скачать (прямая ссылка): elektronika1999.djvu
Предыдущая << 1 .. 158 159 160 161 162 163 < 164 > 165 166 167 168 169 170 .. 195 >> Следующая

машинкой для сложения.
Мы видим, что можно не заставлять программиста ломать голову над ячейками
памяти и кодами операций: Бейсик оставляет детали за кулисами и допускает
использование обычных алгебраических переменных, таких как А и В. Бейсик,
как и другие языки высокого уровня, способен непосредственно воспринимать
выражения типа
SUM = А + В
так что выполнение математических операций становится исключительно
простым. В противоположность этому язык ассемблера удобен для быстрых
пересылок и сортировки данных, а также для чтения и записи при
взаимодействии с портами ввода и вывода, где существенно использование
определенных адресов. Большая часть компьютерных игр и видеоигр написана
на языке ассемблера, так как в них в большом объеме происходит
перемешивание данных и встречаются лишь простейшие вычисления и
логические действия. С другой стороны, вычисление, например, такого
выражения, как
C\C2R\R
1/2
2 У
значительно быстрее запрограммировать на языке высокого уровня, чем на
языке ассемблера.
Трансляция программы с языка высокого уровня в машинный код, понятный
процессору, является, ясное дело, довольно сложным процессом, требующим
своей собственной специальной программы. Интерпретатор может осуществлять
этот процесс строка за строкой по мере исполнения программы; с помощью
компилятора вся программа может быть оттранслирована до ее исполнения. В
общем случае, программа, написанная на языке, предусматривающем
использование интерпретатора, например, на Бейсике, выполняется
медленнее, чем программа, скомпилированная с такого языка, как С, из-за
времени, затрачиваемого на интерпретирование во время исполнения. Однако
переделки быстрее производить в интерпретируемой программе, поскольку не
требуется затрат времени на компиляцию программы заново перед ее
исполнением.
Хотя программа, оттранслированная с языка высокого уровня, может работать
сравнительно быстро, все же программа в машинном коде, полученная из
эквивалентной программы на языке ассемблера, обычно исполняется еще
быстрее, так как для выполнения требуемых операций процессор используется
в ней более эффективно. Однако в настоящее время программирование все
больше осуществляется на языках высокого уровня из-за ясности выражений и
логической структуры. Эти два обстоятельства способствуют созданию
сложных программ, работающих быстрее, а также по-
Ввод в микроЭВМ и вывод из нее 457
могают обеспечить их надежность в работе и легкость модификации, если
позднее возникает необходимость в изменениях.
14.8 Ввод в микроЭВМ и вывод из нее
14.8.1 Дешифрирование адреса
На рис. 14.11 показано, что порты ввода и вывода, удовлетворяющие все
потребности системы, располагаются на общих с остальной частью системы
шинах адреса и данных. Однако во многих компьютерах отсутствует
возможность прямого обмена логическими сигналами, а доступ к системе
ограничен и его имеют только клавиатура, принтер и дисководы. В этом
параграфе организация ввода/вывода рассматривается шире и результаты
этого рассмотрения могут пригодиться при использовании персональных
компьютеров семейства IBM. Одновременно читатель приобретет опыт
дешифрирования адреса и применения логических элементов с тремя
состояниями на выходе для подключения к шине данных.
У некоторых процессоров, таких как Intel 80486, имеются специальные
средства обеспечения ввода и вывода, допускающие совместное использование
шины адреса с памятью. Это достигается за счет дополнительного
управляющего сигнала в системной шине, называемого запросом ввода/вывода.
Если данный сигнал имеет активное значение (обычно 0 В), то это означает,
что шина данных потребовалась устройству ввода или вывода и любая память,
доступ к ячейкам которой осуществляется по тем же адресным линиям,
временно отключается, чтобы избежать искажения данных обусловленных
конфликтом на шине. Достоинство специально выделенной управляющей линии
для ввода/вывода заключается в том, что при этом нет необходимости
дешифрировать в порте ввода/вывода полный адрес, выставляемый процессором
на шину адреса, длина которого может доходить до 32. Обычно бывает
достаточно 16 разрядов, а иногда нет нужды в дешифрировании более 8
разрядов.
При альтернативном подходе, который называется вводом/выводом согласно
распределению памяти, линия запроса ввода/вывода не нужна, а просто
группа адресов памяти выделяется для ввода/вывода. Чтобы избежать
конфликта на шине, нормально никакие ячейки памяти, как правило, не
располагаются по этим адресам. У любого процессора ввод/вывод может быть
организован согласно распределению памяти, но процессор 6502 и процессоры
серии 68000, фактически, могут пользоваться только этим способом,
поскольку у них нет линии запроса ввода/вывода.
Адреса, используемые для ввода/вывода, обычно располагаются в карте
распределения памяти вблизи одного из ее концов, чтобы избежать конфликта
с программой и другими данными. Отправной точкой при организации порта
Предыдущая << 1 .. 158 159 160 161 162 163 < 164 > 165 166 167 168 169 170 .. 195 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed