Раздел: Документация
0 ... 10 11 12 13 14 15 16 ... 39 Порт ввода. Адрес порта: ОАОН +5 В IORQ-J Порт вывода. Адрес порта: ОАШ ,D7 Шина\ данных/ Сигнал выбора адреса IORQ-(>o WR •О 7 ° О On Рис. 4.17. Схемы портов ввода-вывода на основе 8-разрядной защелки (74LS373) сом источника питания, что соответствует сигналу «1», для того чтобы сигналы с внешних устройств через входы (вводы I0...I7) автоматически «проскакивали» защелку, прямо попадая на выходы D0...D7, соединенные с выводами шины данных процессора. Таким образом, данные внешних устройств, подсоединенных к порту ввода, только тогда попадают на шину данных и «доставляются» в процессор, когда ЦПУ вызывает этот порт ввода. В течение всего остального времени, когда ЦПУ не обращается к данному порту ввода, сигнал на входе ОС имеет значение «1». При этом выход интегральной схемы находится в высокоомном состоянии, и порт ввода фактически отключается от ЦПУ. Рассмотрим схему порта вывода, представленную на Рис. 4.176. Будем считать, что адрес этого порта - ОАШ. В этом случае 8 младших разрядов (А7...Ао) адресной шины должны находиться в состоянии «10100001». Именно при этом состоянии адресной шины со схемы выборки на один из инверторов, включенных во входную цепь 3-входовой схемы «И-НЕ», поступает логический сигнал «0»- В портах вывода вход ОС схемы-защелки обычно соединен с отрицательным полюсом источника питания, то есть сигнал на этом входе всегда равен «0», и выход защелки находится в активном со-стоянии. Когда все сигналы (сигнал выбора адреса, сигналы IORQ и RD) равны «0», сигнал на выводе G принимает значение «1», во всех остальных случаях он принимает значение «0». Сигнал управления передачей данных на входе G равен «1» лишь при условии, что все три сигнала (сигнал выбора адреса, сигнал IORQ, и сигнал RD) равны «0». При этом данные со входов D0...D7 схемы-защелки передаются без задержки на выходы О0...О7. Когда значение сигнала на входе G изменяется с «1» на «0», входы D0...D7 «защелкиваются», а информация на этих входах сохраняется до тех пор, пока на входе G, присутствует сигнал «0». В таком состоянии схема остается до следующего обращения процессора к данному порту вывода. Так происходит передача данных от процессора к внешним устройствам, подключенным к выходам О0...О7 порта вывода. Итак, в этой главе мы узнали, каким образом запоминающее устройство подключается к ЦПУ, изучили схемы и работу простейших портов ввода-вывода, построенных на основе ИС 8-разрядных регистров типа защелки. ОБОБЩЕНИЕ ГЛАВЫ 1.В зависимости от способности электронных схем, применяемых в цифровой технике, запоминать состояния на их входах они разделяются на два основных класса -комбинационные логические схемы и последовательностные логические схемы. Состояние на выходе комбинационной логической схемы полностью определяется текущим состоянием на ее входах (схемы «ИЛИ», «И» и другие вентильные схемы - инверторы, дешифраторы и т. д.). Состояние на выходе по-следовательностной логической схемы зависит не только от значения сигналов в данный, но и в предыдущий момент времени, а также от характера изменения сигнала (триггеры, регистры-защелки и т. д.). 2.Для обмена данными с запоминающим устройством ЦПУ использует адреса ячеек памяти и управляющие сигналы MREQ , RD , WR. 3.Карта памяти служит для указания областей адресов, отведенных для ПЗУ и ОЗУ (Рис. 4.14). 4.Сигнал выборки адреса - это сигнал выбора области памяти, относящейся к данной ИС памяти. 4. Цифровые схемы 5. Дешифратор в схеме соединения ЦПУ с ЗУ используется для подключения нескольких интегральных схем памяти. Применение дешифратора позволяет значительно упростить обращение к каждой из интегральных схем памяти и оставляет возможность увеличивать объем памяти путем подключения дополнительных ИС. Практические задания 1)Используя только логические элементы «И-НЕ», постройте схему «Исключающее ИЛИ» и составьте для нее нее таблицу истинности. 2)На Рис. 4.18 представлен одноплатный микрокомпьютер, состоящий из ЦПУ Z80, двух интегральных схем ПЗУ по 8 Кбайт и одной интегральной схемы ОЗУ емкостью 8 Кбайт. Область адресов ПЗУ1 - от ООООН до 1FFFH, ПЗУ2 - от 2000Н до 3FFFH, область адресов ОЗУ - от 0A000H до 0BFFFFH. Используя 3-разрядный дешифратор 74LS138 (Рис. 4.9), изобразите на рисунке схему соединения всех интегральных схем с ЦПУ. Рис. 4.18. Схемы выводов процессора, ИС ЗУ и дешифратора 96 5 ПРОГРАММЫ МИКРОКОМПЬЮТЕРА Правильно составленная программа решает успех любого дела В предьщущих главах мы уже говорили о том, что программа - это последовательность команд, выполняемых компьютером, и что она хранится в памяти компьютера. По сути, это подробная «инструкция» компьютеру относительно действий, которые он должен произвести. Для того чтобы осуществить очередное действие, компьютер считывает из памяти соответствующую команду. Поэтому программа должна быть записана только на том языке, которым владеет компьютер. В этой главе мы узнаем, на каком языке составляется программа, заложенная в компьютер, и какие конкретные действия он может производить в процессе выполнения программы. g -jКак вы уже знаете, любой компью- «лингвистические» тер °перирует информацией, представ-способностиленной в виде сигналов низкого и микрокомпьютера высокого уровней напряжения, обозначаемых соответственно «О» и «1». Поэтому и язык, на котором составлена программа для компьютера, должен содержать только эти символы. Язык компьютера, составленный из комбинаций символов «О» и «1», называется языком Машинных команд или чаще его называют машинным кодом. Выполняя практические задания к третьей главе, читатели мог-ли убедиться в том, что работать с двоичными числами довольно непривычно. Кроме того, чтобы приноровиться к специфическому Машинному языку и без ошибок понимать и составлять тексты про- ===-=-=====-=-=-=-- -= 97 5. Программы микрокомпьютера-== грамм, состоящие из одних только «ноликов» и «единичек», требуются определенные навыки. Чтобы облегчить задачу программирования и сделать программы более понятными пользователю («помирить» логику компьютерную с логикой мышления человека), разработчики создают языки программирования высокого уровня (Бейсик, Фортран, Кобол, Паскаль и т. д.). Читателям, наверняка, доводилось если не программировать на одном из таких языков, то, по крайней мере, слышать о них. Однако любой язык программирования высокого уровня требует вспомогательной программы, называемой компилятором, которая переводит программу, написанную на этом языке, на язык машинных команд - единственно доступный для понимания компьютера. На Рис. 5.1 показано, как происходит выполнение программы, написанной на языке Фортран. Составленную программу сначала нужно «оттранслировать», то есть с помощью компилятора преобразовать в «объектную» программу. В соответствии с этой объектной программой, представляющей собой последовательность машинных команд, выполняются вычисления и производится обработка данных. Применение языков программирования высокого уровня позволяет значительно сократить запись программы и упростить процесс программирования. Очень длинная последовательность машинных команд, скажем, на языке Фортран становится достаточно компактной. Потому разработчики Фортрана, равно как и других языков программирования высокого уровня, потратили уйму времени в первую очередь для того, чтобы облегчить жизнь себе и другим программистам (в очередной раз подтверждая тезис о том, что лень - двигатель прогресса). Компилятор, транслирующий программы, написанные на языке высокого уровня, на язык машинных команд, представляет собой достаточно длинную программу, и для ее размещения в компьютере требуется память большого объема. В отличие от универсальных ЭВМ, объем памяти которых позволяет загрузить несколько различных компиляторов, при работе с микрокомпьютером память приходится «экономить». Нельзя, к примеру, занести в память 8-разрядного процессора с ЗУ объемом 64 Кбайта компилятор языка Фортран или Паскаль. Тем не менее существуют методы, позволяющие пользоваться преимуществами, которые дают языки программирования, при ра- 5.1. «Лингвистические» способности микрокомпьютера Без переводчика компьютер понимает только язык машинных команд Программа, составленная на языке высокого уровня, например Фортране, выполняется только после преобразования ее в последовательность машинных команд Программа на Фортране READ... Х=А+В*С... Y = ... Трансляция программы, составленной на Фортране, в последовательность машинных команд Последовательность машинных команд 10011001101010
§ .3 Компилятор Объектная программа Рис. 5.1. Схема выполнения программы, написанной на языке Фортран боте и с микрокомпьютерами. Так, компилятор языка Бейсик осуществляет трансляцию не всей программы сразу, что потребовало бы большого объема памяти, а отдельными «порциями». Операторы («кирпичики», из которых построена программа) поочередно переводятся на машинный язык и выполняются. Такой способ трансляции называется «методом переводчика». Так как модуль программы компилятора, осуществляющий трансляцию одного оператора программы, составленной на Бейсике, занимает в памяти всего 2...8 Кбайт, этот язык вполне соответствует «интеллектуальным возможностям» микрокомпьютера. Как видно из Рис. 5.2, программа на языке Бейсик состоит из операторов. Один оператор может представлять собой арифметическую операцию, проверку какого-либо условия типа «если..., то...», переход в указанное место программы и т. п. С помощью операторов мы можем записать последовательность действий, которую должен выполнить компьютер. 0 ... 10 11 12 13 14 15 16 ... 39
|