Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Совместный цикл





Ещё одним вариантом цикла является цикл, задающий выполнение некоторой операции для объектов из заданного множества, без явного указания порядка перечисления этих объектов. Такие циклы называются совместными (а также циклами по коллекции, циклами просмотра) и представляют собой формальную запись инструкции вида: «Выполнить операцию X для всех элементов, входящих в множество M». Совместный цикл, теоретически, никак не определяет, в каком порядке операция будет применяться к элементам множества, хотя конкретные языки программирования, разумеется, могут задавать конкретный порядок перебора элементов. Произвольность даёт возможность оптимизации исполнения цикла за счёт организации доступа не в заданном программистом, а в наиболее выгодном порядке. При наличии возможности параллельного выполнения нескольких операций возможно даже распараллеливание выполнения совместного цикла, когда одна и та же операция одновременно выполняется на разных вычислительных модулях для разных объектов, при том что логически программа остаётся последовательной.

Совместные циклы имеются в некоторых языках программирования (C#, Java, JavaScript, Perl, Python, PHP, LISP, Tcl и др.) — они позволяют выполнять цикл по всем элементам заданнойколлекции объектов. В определении такого цикла требуется указать только коллекцию объектов и переменную, которой в теле цикла будет присвоено значение обрабатываемого в данный момент объекта (или ссылка на него). В различных языках программирования синтаксис оператора различен:

28)

29)

С момента своего возникновения комбинаторная логика и ламбда-исчисле- ние были отнесены к “неклассическим” логиками. Дело заключается в том, что комбинаторная логика возникла в 1920-х гг., а ламбда-исчисление (λ- исчисление) – в 1940-х гг. как ветвь метаматематики с достаточно очерчен- ным предназначением – дать основания математике (см. [8]). Это означа- ет, что сконструировав требуемую ‘прикладную’ математическую теорию – предметную теорию, – которая отражает процессы или явления в реальной внешней среде, можно воспользоваться ‘чистой’ метатеорией как оболочкой для выяснения возможностей и свойств предметной теории. Комбинаторная логика и ламбда-исчисление – это такие формальные системы, в которых центральной разрабатываемой сущностью является пред- ставление об объекте. В первой из них – комбинаторной логике, – механизм связывания переменных в явном виде отсутствует, а во второй он имеется. Наличие явного механизма связывания предполагает и наличие связанных переменных, но тогда есть и свободные переменные, а также механизмы за- мещения формальных параметров – связанных переменных, – на фактиче- ские параметры, то есть подстановка. Изначальным назначением комбинаторной логики был именно анализ процесса подстановки. В качестве ее сущностей планировалось исполь- зовать объекты в виде комбинаций констант. Ламбда-исчислению отво- дилась роль средства уточнения представлений об алгоритме и вычисли- мости. Как следствие, комбинаторная логика дает в руки инструмент для анализа процесса подстановки. Через короткий промежуток времени ока- Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 3 of 19 Go Back Full Screen Close Quit залось, что обе эти системы можно рассматривать как языки программи- рования (см. [1], [9], а также книгу [4] и библиографию к ней). В обеих системах исчисляются объекты, они являются исчислениями или языками высших порядков, то есть имеются средства описания отоб- ражений или операторов, которые определяются на отображениях или опе- раторах, а в качестве результата вырабатывают также отображения или опе- раторы. Самое существенное, что именно отображение считается объ- ектом. В этом их принципиальное отличие от всего многообразия других систем, в которых первичной сущностью обычно считают представление о множестве и его элементах. К настоящему времени оба эти языка не только стали основой для всей массы исследований в области computer science, но и широко используют- ся в теории программирования. Развитие вычислительной мощности ком- пьютеров привело к автоматизации значительной части теоретического – логического и математического, – знания, а комбинаторная логика вместе с ламбда-исчислением признаются основой для рассуждений в терминах объектов (см. [6], [7]). Без овладения их методами нельзя полноценно развить базовую технику вычислений с объектами, поскольку все еще распространенный в объект- ных языках программирования и проектирования теоретико-множественный стиль заставляет вязнуть в обилии второстепенных деталей, упуская из виду действительно существенные моменты взаимодействия объектов. Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 4 of 19 Go Back Full Screen Close Quit 2. Зачем нужно исчислять объекты Работа за компьютерами с оболочкой, способной взять на себя заботы об управлении объектами программного обеспечения, закладывает основу са- мой современной на сегодня методики программирования. В настоящее вре- мя с объектами работают сотни прикладных программ таких, как Windows, AutoCAD, Designer и многих других. С другой стороны инструментальные системы программирования Small Talk, Actor,..., C++, C], Java и ряд дру- гих требуют от программиста систематических рассуждений в терминах объ- ектов и связей между ними, которые в свою очередь могут рассматриваться как объекты. Программирование в терминах объектов требует создания и поддержания собственной математической культуры, дающей весь спектр стимулирующих идей (см. [10], а также раздел Круг вопросов в [8], с.9- 39). Программист при решении вполне конкретной задачи становится ис- следователем, от которого требуется создание собственного языка со сво- ими возможностями. Эти возможности не всегда интуитивно очевидны, и могут потребоваться чисто математические оценки их выразительных воз- можностей. Кроме того, часто требуется не просто написать некоторый про- граммный код, но и выполнить его оптимизацию, не теряя свойства эквива- лентности исходному коду. Все это требует для аккуратного и профессио- нального проведения работы своей собственной “математической оболоч- ки”, в которой поддерживаются все значимые и интересные математические приложения. Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 5 of 19 Go Back Full Screen Close Quit 3. Основное – адекватный способ мышления Хорошо известно, что в практике программирования сложились различные подходы, которые развиваются по различным направлениям. Бросающие- ся в глаза различия проявляются в разном способе осмысления и напи- сания программ. Большинство программистов занимается процедурным программированием. Но кроме него есть и программирование, основанное на правилах, логическое программирование, параллельное программи- рование, визуальное программирование, программирование в терминах потоков данных. При желании этот перечень можно продолжить, но он, оче- видно, будет неполон, если в него не включить также и объектно-ориен- тированное программирование, которое имеет явно выраженную тенден- цию роста. 3.1. Подходы и стили программирования Подходов и стилей программирования много, и это отражает картину со- вершенствования и распространения все новых и новых компьютерных ар- хитектур. Возникающие архитектуры ориентированы на новые подходы к программированию, которые еще только зарождаются в исследовательских лабораториях. Обилие и разнообразие подходов к программированию в computer science отражается в развитии и распространении различных подходов к по- строению математики. Действительно, математических теорий построено уди- вительно много, и каждая из них является совершенно своеобразным язы- Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 6 of 19 Go Back Full Screen Close Quit ком общения сравнительно ограниченного круга специалистов, которые хо- рошо понимают друг друга. Однако попытка “непосвященного” понять прак- тическую пользу и значимость нового математического языка наталкива- ется на препятствия. Прежде всего оказывается необходимым перестро- ить собственный стиль мышления, чтобы на известные трудности взглянуть под новым углом зрения. Так распространение объектно-ориентированного программирования требует и привлечения других способов рассуждения, которые зачастую радикально отличаются от стереотипов рассуждения в процедурном программировании. 3.2. Рассуждения в терминах объектов Точно также лишь немногие и сравнительно молодые математические тео- рии ориентированы на рассуждения в терминах объектов, а не в терминах операторов, как это следует из опыта изучения математического анали- за в большинстве университетов, в том числе, и технического или компью- терного профиля. К сожалению, программисту не удается прослушать уни- верситетский курс, закладывающий основы математического мышления в терминах объектов. В лучшем случае дело ограничивается сообщением чи- сто математических результатов, полученных в комбинаторной логике, λ-исчислении или теории категорий, которые не так-то просто прело- мить на практическое программирование без известной теоретической ис- кушенности. Можно утверждать, что комбинаторная логика значительно повлияла на современную картину программирования. Начинаясь как наука о природе Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 7 of 19 Go Back Full Screen Close Quit подстановок в математических теориях, она породила функциональное программирование, программирование в терминах суперкомбинаторов, а также некоторые другие чрезвычайно плодотворные подходы к программи- рованию. В частности, только по-настоящему проникнув в сам дух комби- наторной логики, можно понять в деталях и практически применить систему программирования с заранее нефиксированной системой инструкций. 3.3. Теория вычислений Парадигмы программирования 90-х гг. в сильной степени выросли из ма- тематического способа рассуждений, принятого в теории вычислений. В частности, одной из ее начальных посылок была концепция ‘протекания ин- формации’ вдоль некоторого ‘возможного’ русла, что привело к возникно- вению весьма плодотворной концепции программы, управляемой потоком данных. Другой пример связан с идеей использования некоторой части ком- бинаторной логики, построив в ней специальные объекты-инструкции. Эти объекты образуют систему команд категориальной абстрактной ма- шины, которая может быть с успехом положена в основу вполне практи- ческих (но объектно-ориентированных) систем программирования (см. [3]). Более того, правила комбинаторной логики позволяют оптимизировать компилируемый программный код, редуцируя его к некоторой нормаль- ной форме. Для специалистов в комбинаторной логике это почти само собой разумеется с самого начала, поскольку в этом состояла одна из целей раз- работки комбинаторной логики как математической дисциплины. Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 8 of 19 Go Back Full Screen Close Quit Современные исследования в области computer science показывают, что комбинаторная логика и ее различные категориальные диалекты становят- ся необходимым математическим языком программиста, пользуясь кото- рым он обменивается идеями со своими коллегами. Дело как раз в том, что одним из предметов ее исследования являются объекты и построение раз- личных исчислений объектов, которые удовлетворяют кругу вопросов каж- дой конкретной прикладной задачи. Другими словами, решение всякой за- дачи требует построения специального точного языка. Как хорошо известно программистам, это язык интерфейса программного обеспечения. В терми- нах специалиста в computer science это специализированный диалект ком- бинаторной логики. 3.4. Объекты и системный подход Если программистом для разработки избирается объектно-ориентирован- ный подход, то скорее всего будет ошибкой подгонять решаемую задачу под какую-нибудь заранее известную математическую модель. Возможно, зна- чительно лучше будет поискать нестандартное решение, которое в точно- сти охватывает специфические особенности, связанные с самой природой прикладной области. В computer science для этого избирается метатео- рия, в рамках которой проводится исследование и которая “настраивает- ся” на специфику прикладной области. Один из способов настройки – это погружение прикладной теории (“меньшей” теории) в чистую метатеорию (“большую теорию”). Кроме того, с математической точки зрения в рамках комбинаторной логики удобно строить подтеории – специальные матема- Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 9 of 19 Go Back Full Screen Close Quit тические модули, которые в готовом виде задают механизмы вычислений, имеющие самостоятельное значение (см. [2], [10]). Такие рассуждения лег- ко найдут отклик у программиста, вынужденного заниматься большим про- граммным проектом, когда преимущества рассуждений в терминах объек- тов и их свойств становятся особенно очевидными. Комбинаторная логика позволяет на математически идеализированных объектах предварительно “проиграть” все наиболее сложные и тонкие моменты взаимодействия ме- ханизмов большого программного проекта (см. [11]). Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 10 of 19 Go Back Full Screen Close Quit 4. Аппликативные вычислительные системы Традиционно в состав аппликативных вычислительных систем, или АВС, включают системы исчислений объектов, основанные на комбинаторной ло- гике и ламбда-исчислении. Единственное, что существенно разрабатывает- ся в этих системах – это представление об объекте. В комбинаторной ло- гике единственный метаоператор – аппликация, или, по иной терминоло- гии, приложение одного объекта к другому. В ламбда-исчислении два ме- таоператора – аппликация и функциональная абстракция, позволяющая связывать одну переменную в одном объекте. Возникающие в этих системах объекты ведут себя как функциональные сущности, имеющие следующие особенности: число аргументных мест, или арность объекта заранее не фиксируется, но проявляет себя постепенно, во взаимодействиях с другими объектами; при конструировании составного объекта один из исходных объектов – функция, – применяется к другому – аргументу, – причем в других кон- текстах они могут поменяться ролями, то есть функции и аргументы рас- сматриваются как объекты на равных правах; разрешается самоприменимость функций, то есть объект может приме- няться сам к себе. Вычислительные системы с таким наиболее общими и наименее огра- ничительными свойствами оказываются в центре внимания современного сообщества computer science. Именно они в настоящее время обеспечива- ют необходимые метатеоретические средства, позволяя исследовать свой- Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 11 of 19 Go Back Full Screen Close Quit ства целевых прикладных теорий, дают основу построения семантических средств языков программирования и обеспечивают средства построения мо- делей данных/метаданных в информационных системах. Во второй половине 1970-х – начале 1980-х произошел взрыв в раз- витии аппликативных вычислительных систем, приведший к развитию це- лого спектра направлений исследований и изобилию научных публикаций. Они написаны специальным языком, их прочтение и понимание, не говоря уже об овладении существом дела, требовало основательной теоретической подготовки. Причин тому было несколько. Во-первых, в 1980 году теория аппликативных вычислений все еще ак- тивно развивалась, а одной из целей авторов публикаций было пробудить интерес и привлечь к исследования в этой области математически одарен- ных студентов. Во-вторых, с течением времени изменились роль и место, которые отво- дились в учебных программах для аппликативных систем. Если раньше для овладения важнейшими идеями требовалось изрядное знакомство с целым набором метаматематических дисциплин, то теперь изучение основных эле- ментов аппликативных вычислений входит в стандартную программу, ко- торая обязательна для студентов младших курсов. Это означает, что в со- ответствующих курсах предпочтение отдается содержательному методу из- ложения, который вовлекает только элементарные средства, делая предмет доступным. В-третьих, за это время курсы по компьютерным наукам превратились из математизированных и концептуальных в довольно рецептурные, дающие Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 12 of 19 Go Back Full Screen Close Quit нечто наподобие “быстрого взгляда” на массу готовых решений, методов, технологий и рекомендаций по использованию. В-четвертых, отношение к компьютерным наукам стало в значительной мере практическим и даже потребительским. В большинстве случаем ожи- дается, что овладение тем или иным разделом компьютерных наук долж- но дать немедленную отдачу. У студентов имеется даже вполне заметное нежелание выполнять упражнения или решать задачи творческого и тео- ретического плана, носящих принципиальный характер. С целью сохране- ния уровня обучения аппликативным вычислениям получают развитие при- меры и упражнения различного характера из области программирования, причем их решения даются элементарными средствами, не предполагая ни- какой предварительной математической подготовки. Обычно предполагает- ся, что обучающийся знаком с началами программирования, имея некоторое представление о структурах данных. Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 13 of 19 Go Back Full Screen Close Quit 5. Компьютинг и обучение вычислениям с объектами За последние двадцать лет одним из наиболее интенсивно разрабатываемым понятием было и остается представление о вычислении (computing), кото- рое оказалось оснащенным комплексом дисциплин, состав и содержание которых непрерывно трансформируется (см. раздел Вступление в [8]). То- лько в самое последнее время специальной объединенной комиссией Ассо- циации по Вычислительной Технике (Association for Computing Machinery, ACM) и Компьютерным сообществом Института Инженеров по Электро- технике и Электронике (IEEE Computer Society) был представлен отчет, со- держащий рекомендации по преподаванию информатики (и computer science) и типовым учебным планам этой дисциплины. Вместе с тем и процесс науч- ного становления этой дисциплины нельзя считать завершенным. Хорошо известно, что анализ такого емкого понятия, как ‘вычисление’ нуждается в подходящем понятийном запасе. Действительно, информатика шире, чем собственно компьютерные науки, а последние несводимы толь- ко к программированию. При обучении компьютингу в продвинутых курсах отбираются и подвергаются обсуждению только такие формализации, ко- торые напрямую способствуют изучению вопроса, как же решаются задачи ´ в этих областях. Отличительной особенностью такого подхода является си- стематическое изложение круга вопросов вычислений с объектами – интен- сивно развивающегося направления, которое особенно важно для успешно- го применения информационных технологий. Формальные средства вычислений с объектами действительно позволя- ют охватить все аспекты решения задач, начиная с их аккуратной поста- Введение Зачем нужно... Основное –... Аппликативные... Компьютинг и... Заключение Благодарности Список литературы Home Page Title Page JJ II J I Page 14 of 19 Go Back Full Screen Close Quit новки – чтобы прийти к правильно построенному решению, – вплоть до построения стратегий, которые приводят к решениям шаг за шагом (поша- говые стратегии), и указать аналитические методы, которые дают возмож- ность оценить и сравнить решения. Этот путь изучения вычислений формирует квалифицированных програм- мистов, поскольку именно программирование является той средой, которая используется для обсуждения всех указанных понятий. В частности, аппли- кативные вычислительные системы являются базовыми для развития мето- дов и средств вычислений с объектами, а последние нужны тем, кто заинте- ресован в изучении методов постановки, решения и анализа задач.

30)

31)

Передача данных в параллельном формате в общем случае является более высокоскоростной, чем передача в последовательном формате, поскольку все биты символа информации передаются параллельно по времени, т.е. одновременно. Однако это обстоятельство требует наличия достаточно большого числа физических цепей промежуточного интерфейса. Ввиду этого обмен по параллельным промежуточным интерфейсам обычно используется при работе микроЭВМ с близко расположенными высокоскоростными ПУ. Уже отмечалось, что одними из наиболее распространенных промежуточных интерфейсов являются интерфейс CENTRONICS и его модификации. Отмечалось также, что серийно выпускаются программируемые БИС адаптеров, поддерживающих интерфейс CENTRONICS и другие типы параллельных интерфейсов. Примером такого адаптера является БИС КР580ВВ55.

БИС КР580ВВ55 представляет собой программируемый адаптер параллельного интерфейса, позволяющий организовать обмен в параллельном коде практически с любым периферийным оборудованием. Структурная схема БИС адаптера приведена на рис. 8.10. Из структурной схемы БИС следует, что для подключения к линиям связи адаптер имеет три восьмибитовых порта A, B, C. Порты A и B не разделены, а порт C по существу представляет собой два четырехбитовых порта.

 

 

 

Программная модель адаптера приведена на рис. 8.11. Регистр состояния на рисунке изображен пунктиром, поскольку физически он отсутствует и его функции выполняет порт С.

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

 

 

Для подключения к системной магистрали микроЭВМ используются 14 линий:

D 7-0 – двунаправленная шина данных с трехстабильным буфером.

A 1, A 0 – линии адреса, которые выбирают внутренний регистр адаптера, подключаемый к ШД (00 – порт A, 01 – порт B, 10 – порт C и 11 – регистр управления).

(выбор кристалла) – L-активный сигнал, разрешающий связь между адаптером и ШД.

(считывание) – L-активный сигнал, инициирующий считывание информации из адресуемого по линиям А1, А0 регистра адаптера на ШД.

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

RESET (сброс) – H-активный сигнал сброса для приведения адаптера в начальное состояние. При действии сигнала сброса в регистр управления записывается слово (приказ), переводящее все три порта в режим 0 и состояние ввода.

Следует иметь в виду, что есть запретные комбинации сигналов. Так, недопустимым является считывание информации из регистра управления, т.е. комбинация и A1,0 = 11, а одновременная запись и считывание приводит к непредсказуемым результатам (т.е. и ).

Программирование и обмен данными с адаптером осуществляется обычно командами IN и OUT, при выполнении которых на линиях A7-0 (A15-8) выставляется код адреса. Обмен информацией с адаптером в этом случае можно вести только через аккумулятор. Входы A1, А0 адаптера обычно подключаются к младшим линиям ША, а подключение входа CS зависит от принятого способа выбора адаптера, если адаптеров несколько. В частности, если адаптеров меньше или равно шести, вход без дополнительного дешифратора подключается к соответствующей линии ША
(A7-2). В этом случае кодами адресов будут комбинации 011111xx, 101111xx,..., 111110xx. Если адаптеров больше шести, то требуется дешифратор с L-активными выходами.

Адаптер может функционировать в трех основных режимах.

Режим 0 – простой ВВ. В режиме 0 обеспечивается возможность синхронного и асинхронного программно-управляемого обмена данными через два независимых восьмиразрядных порта A и B и два четырехразрядных порта C.

Режим 1 – стробируемый ВВ. В режиме 1 обеспечивается возможность обмена данными с ПУ через два независимых восьмиразрядных порта A и B по сигналам квитирования. При этом линии порта C используют для приема и выдачи сигналов управления обменом.

Режим 2 – двунаправленный канал. В режиме 2 обеспечивается возможность обмена данными через восьмиразрядный двунаправленный порт A по сигналам квитирования. Для приема и передачи сигналов управления обменом используют пять линий порта C.

Более подробно эти режимы будут рассмотрены ниже.

Режим работы каждого из портов A, B и C определяется содержимым регистра управления, в который загружается управляющее слово (или приказ). Формат управляющего слова определения режима приведен на рис. 8.12. Из рисунка следует, что управляющее слово определения режима идентифицируется состоянием
D7 = 1. Кроме того, режим работы половины порта C (PC7-4) определяется режимом работы порта A (группа A), а режим работы другой половины (PC3-0) определяется режимом работы порта B (группа B).

 

 

При подаче сигнала RESET регистр управления устанавливается в состояние, при котором все каналы настраиваются на работу в режиме 0 для ввода информации. Режим работы портов можно изменить как в начале, так и в процессе выполнения программы, что позволяет обслужить различные ПУ одной БИС в определенном порядке. При изменении режима работы любого порта все входные и выходные регистры портов и триггеры состояния сбрасываются.

В дополнение к основному режиму работы обеспечивается возможность программно-независимой установки 1 или 0 в любой из разрядов порта C. Управляющее слово установки и сброса разрядов порта С идентифицируется состоянием D7 = 0 и имеет формат, приведенный на рис. 8.13. Приказы данного формата используются, как правило, в режимах 1 и 2. Если микросхема запрограммирована для работы в режимах 1 или 2, то через выводы C0 и C3 порта C выдаются сигналы, которые могут использоваться как сигналы запросов прерывания для МП. Запретить или разрешить формирование этих сигналов в адаптере можно установкой или сбросом соответствующего разряда в регистре порта C. Это позволяет программисту запрещать или разрешать обслуживание любого ПУ без анализа запросов в контроллере пре­рываний.

 

Теперь рассмотрим более подробно основные особенности функционирования адаптера в различных режимах. При этом следует помнить, что выводы портов и разряды регистров портов связаны через переключающие схемы (это уже отмечалось). Кроме того, адаптер содержит схемы "И", позволяющие выполнять простейшие логические операции над содержимым определенных разрядов регистра порта C и сигналами на соответствующих выводах порта. Результаты этих операций появляются в виде соответствующих сигналов (H или L) на выводах C0 или C3. Порты A и B служат только для обмена данными и не содержат никаких логических элементов, при этом операции установки и сброса отдельных бит портов A и B можно реализовать только через аккумулятор с помощью операндов-масок, т.е. в три этапа.

 

Режим 0

Применяется в программно-управляемом ВВ с медленно действующими ПУ (например, посимвольный принтер или программатор). В этом случае не требуется сигналов управления обменом информации с ПУ, а необходимы только известительные сигналы, сообщающие о готовности ПУ к вводу и выводу информации. При работе в режиме 0 обеспечивается простой ввод и вывод информации через любой из трех портов. Как уже отмечалось, в этом режиме микросхема представляет собой совокупность двух восьми- и двух четырехразрядных каналов ВВ. В режиме 0 возможны 16 различных комбинаций схем ВВ портов A, B и C, которые определяются содержанием разрядов управляющего слова.

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

В качестве примера рассмотрим использование адаптера в режиме 0 для организации интерфейса с посимвольным принтером и программатором, имеющим канал записи и канал считывания. Пусть два устройства вывода (принтер и канал записи программатора) разделяют общую шину данных порта А. Считаем, что состояние готовности всех устройств представляет H-активный сигнал READY, а собственно передача данных сопровождается L-активными сигналами . Схема такого интерфейса приведена на рис. 8.14.

Из рисунка видно, что группа A (A7-0, C6-4) работает на вывод, а группа B (B7-0, C2-0) – на ввод. Данную конфигурацию определяет приказ вида 10000011 (или 83H).

Для организации ВВ необходима подпрограмма инициализации адаптера и три аналогичных подпрограммы ВВ для каждого ПУ. Каждая из них выполняет следующие действия: ввод слова состояния (порт С), проверку готовности, ввод или вывод данных и формирование сопровождающего строба. Если ПУ не готово к обмену, МП входит в цикл ожидания. В данном случае фактически реализован режим 1 программным способом, однако в общем случае для обмена в режиме 0 не требуется никаких сопровождающих сигналов. Например, при выводе информации на инди­каторы.

 

Режим 1

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

Таким образом, в режиме 1 пользователю предоставляются следующие возможности:

· Запрограммировать один или два параллельных порта с линиями квитирования и прерывания, каждый из которых может работать на ввод или вывод.

· При использовании только одного порта остальные 13 линий адаптера запрограммировать в режим 0.

· При определении двух портов в режим 1 оставшиеся две линии использовать для ввода или вывода.

В качестве иллюстрации рассмотрим форматы управляющих слов и функциональные схемы каналов A при вводе данных в режиме 1 и В при выводе данных в режиме 1.

Канал A (режим 1, ввод данных). Формат управляющего слова приведен на
рис. 8.15, причем знак X обозначает, что значение бита в слове безразлично.

 

 

В соответствии с таким управляющим словом функциональная схема канала A имеет вид, приведенный на рис. 8.16.

 

 

Канал B (режим 1, вывод данных). Формат управляющего слова приведен на рис. 8.17.

 

В соответствии с таким управляющим словом функциональная схема канала B имеет вид, приведенный на рис. 8.18.

 

 

Функциональные схемы, приведенные на рис. 8.16 и 8.18, требуют некоторых пояснений, а именно:

РгC2, РгC4 – триггеры 2-го и 4-го разрядов регистра порта C;

C5-0 – выходы порта C.

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

IBF (входной буфер загружен) – выходной сигнал, высокий уровень которого свидетельствует о том, что входные данные записаны во входной регистр-защелку соответствующего канала. Устанавливается спадом и сбрасывается фрон-
том .

(выходной буфер загружен) – выходной сигнал, низкий уровень которого свидетельствует о наличии данных в порту вывода (данные выставлены на линии интерфейса). Устанавливается фронтом и сбрасывается низким уровнем сигнала .

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

(разрешение прерывания) – сигналы разрешения запросов прерывания по каналам А () и В () устанавливаются и сбрасываются только программным путем, для чего используются управляющие слова с . Сигналом можно управлять с помощью установки и сброса бита регистра порта С РгС4, а сигналом – бита РгС2. При этом следует помнить, что сигналы на входах С2 и С4 никак не воздействуют на разряды РгС2и РгС4 регистра порта С.

IRQ (запрос прерывания) – выходной сигнал, который можно использовать как запрос прерывания МП. Остановимся на сигналах несколько подробнее.

Для состояния ввода (порт А) сигнал устанавливается в состояние 1, если , , . сбрасывается спадом сигнала , когда МП считывает из адаптера поступившие данные. Для состояния вывода (порт В) сигнал устанавливается в состояние 1, если , , . сбрасывается спадом сигнала , когда МП записывает в адаптер новые данные.

При необходимости использования обоих каналов (А и В) в рассмотренных состояниях управляющие слова, приведенные на рис. 8.15 и рис. 8.17, объединяются в одно общее управляющее слово. Аналогичным образом каналы А и В в режиме 1 могут быть запрограммированы и на другие комбинации операций ВВ. Форматы управляющих слов и функциональные схемы каналов для этих комбинаций операций ВВ в настоящем разделе не рассматриваются. Отметим только, что передача сигналов управления обменом осуществляется всегда по шести линиям порта С, но свободными могут оставаться не линии С7, С6, как было в рассмотренном случае, а линии С5, С4.

 

Режим 2

Это режим двунаправленного обмена, обеспечивающий ввод и вывод данных через один порт. В этом режиме может работать только группа A. Порт A используется для передачи собственно 8-битных данных, а для обеспечения протокола обмена используются пять линий порта C. Функции сигналов управления, используемых для передачи информации в режиме 2, и временные соотношения между ними такие же, как и в режиме 1.

Формат управляющего слова в режиме 2 изображен на рис. 8.19. В соответствии с таким управляющим словом функциональная схема канала A имеет вид, приведенный на рис. 8.20. Следует отметить, что биты D2-D0 управляющего слова задают режим работы группы В. Если для группы А определен режим 2, то для группы В может быть определен режим 1 или режим 0.

 

 

Вводимые и выводимые данные фиксируются в регистрах-защелках порта А. Общая дисциплина квитирования, как уже отмечалось, аналогична режиму 1. Однако имеются отдельные сигналы (триггеры) разрешения запросов прерывания для состояния вывода и ввода порта А:

 

 

 

INTE WRA – сигнал разрешения запросов прерывания IRQA по каналу А для состояния вывода. Управляется установкой и сбросом бита регистра порта С РгС6.

INTE RDA – сигнал разрешения запросов прерывания IRQA по каналу А для состояния ввода. Управляется установкой и сбросом бита регистра порта С РгС4.

Назначение линий С2-0 порта С зависит от запрограммированного режима группы В (биты D2-D0 управляющего слова).

Если адаптер запрограммирован для работы в режиме 1 или 2, то состояние каждого сигнала управления об установлении связи с ПУ, принимаемого и выдаваемого через выводы порта C, фиксируется в регистре порта C. Это позволяет программисту проверять состояние каждого ПУ простым чтением содержимого регистра порта C и соответствующим образом изменять программу. Форматы слова состояния в настоящем разделе не рассматриваются.

32)

Дон ГТУ Лабораторная работа №5 АКГ - 05 АУТПТЭК Структура и режимы работы программируемого периферийного адаптера К580ВВ55 Цель работы - ознакомление со структурой и режимами работы программируемого периферийного адаптера К580ВВ55. 1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Описание лабораторной установки Для связи &quo;Микролаб&quo; с объектом управления, для ввода и вывода информации используются 24 линии. Эти линии сгруппированы в 3 порта по 8 линий в каждом и могут быть использованы для вывода, ввода или для ввода-вывода через двунаправленные линии. Указанные порты ввода-вывода построены на унифицированной интерфейсной программируемой БИС К580ВВ55. Программируемый периферийный адаптер (ППА) К580ВВ55, может быть использован в качестве интерфейсной БИС для широкого набора различного периферийного оборудования без каких - либо дополнительных внешних логических схем. Рисунок 1.1 - Структурная схема ППА К580ВВ55. В табл.1 перечислены основные операции, реализуемые ППА К580ВВ55 (РУС - регистр управляющего слова). Таблица 1.1 – Основные операции ППА К580ВВ55 Действие Сигналы управления Операции А1 А0 ЧТ ЗП ВК Чтение 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 А→ШД В→ШД С→ШД Запись 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 ШД→А ШД→В ШД→С ШД→РУС Необходимо отметить, что по шине данных ШД происходит не только обмен данными, но и засылка из микропроцессора МП в ППА управляющих слов УС, генерируемых программным обеспечением процессорам передача в МП информации о состоянии периферийного оборудования. Низкий уровень сигнала на управляющем входе ВК разрешает информационную связь между ППА и МП. В состав ППА входят три порта с различными характеристиками. Их функциональное назначение определяется кодом управляющего слова, которое загружается процессором в регистр управляющего слова РУС. Сигналы на адресных входах А0 и A1 производят селекцию одного из трех портов А, В или С или регистра управляющего слова внутри адаптера. Восьмиразрядные порты А, В и С адаптера могут быть использованы различным способом в зависимости от характеристик конкретного периферийного оборудования. Настройка внутренней организации ППА, т.е. специализация его для конкретного периферийного оборудования, производится под воздействием управляющего слова режим работы. Как показано на рис. 2, ППА может находиться в трех основных режи­мах: 0 - основной режим ввода - вывода информации; 1 - режим стробируемого ввода-вывода информации; 2 - режим двунаправленной шины. Любой из перечисленных режимов может быть выбран в ходе выполнения системой программы и установлен загрузкой управляющего слова по команде OU. Такая возможность позволяет простыми программными средствами осуществлять реконфигурацию периферии МП системы. Следует обратить внимание на то, что порт С в режимах 1 и 2 может быть использован не как порт данных, а в качестве буферного регистра для управления процедурами ввода - вывода. Любой из восьми разрядов порта С может быть установлен в 0 или в I по команде OU, которая передает управляющее слово манипуляции с битами (УСМБ). УСМБ представлено на рис. 3. Управляющее Слово Режима Работы (УСРР).

Любой из разрядов порта С может бить выбран разработчиком системы в качестве триггера запроса прерывания или триггера фиксации разрешения прерывания. В МПУ &quo;Микролаб&quo; принята следующая адресация портов ввода-вывода; FB - регистр управляющего слова; ГА - адрес порта С; F9 - адрес порта В; F8 - адрес порта А. К восьми разрядам порта А и трем разрядам порта С подключена кла­виатура, состоящая из 24 клавиш. К восьми разрядам порта В подключены светодиодные индикаторы. К трем разрядам порта С (которые не используются при сканировании клавиатуры) подсоединены тумблеры, т.е. запрограммировав ППА определенным образом, можно считывать данные с тумблеров и вводить их в МП. К нулевому разряду порта В кроме светодиода подключен громкоговоритель, т.е. организовав определенным образом программу, можно &quo;заставить&quo; громкоговоритель звучать.

Вид Области мы можем изменить и вручную, щелкнув по стрелочке в верхней ее части. В левой части окна PowerPoint разместилась новая, навигационная панель, благодаря которой мы сможем перескакивать от слайда к слайду, расставлять их в нужном нам порядке и создавать новые. У навигационной панели есть два основных режима работы: Обычный, в котором вы видите на панели уменьшенные копии слайдов. Режим структуры здесь картинки вы не увидите... Зато рядом со слайдами появятся их заголовки. Кстати, щелкнув мышкой справа от слайда, вы можете отредактировать или добавить его заголовок, причем он изменится не только на панели, но и в самом слайде! А перетаскивать слайды мышкой, меняя их порядок, можно в любом режиме. Есть изменения и в кнопочной панели наверху экрана: там появились очень важные кнопки Создать слайд и Конструктор. Назначение первой понятно с ее помощью вы будете добавлять в презентацию новые слайды. А вторая поможет вам изменить слайд с помощью шаблона из библиотеки PowerPoint. Работать с PowerPoint можно в двух режимах: Стандартный режим (мы будем знакомиться прежде всего с ним)

 

33)-34)

35)

36)

37)

38)

Date: 2016-02-19; view: 1178; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию