История и устройство ЭВМ

Структурная схема процессора, понятие о микропрограммном управлении. Алгоритмы выполнения микроопераций, принципы защиты и построения устройств памяти и организация КЭШ-памяти. Проверка корректности использования отдельных команд, системы ввода/вывода.

Рубрика Программирование, компьютеры и кибернетика
Вид курс лекций
Язык русский
Дата добавления 15.09.2017
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

С подчиненными программными сегментами, у которых С=1, не ассоциируется конкретный уровень привилегий, так как эти программы подчиняются уровню привилегий той программы, которая передает им управление. Например, если программа, у которой PL=3, передает управление подчиненному программному сегменту, то такая подчиненная программа будет работать с CPL=3, если же этот сегмент вызывает программа с PL=0, то подчиненная программа из этого сегмента будет выполняться, имея CPL=0. Когда управление передается подчиненному программному сегменту, то биты поля CPL регистра кодов CS не принимает значение поля DPL дескриптора нового программного сегмента, а сохраняют значение DPL последнего выполнявшегося неподчиненного программного сегмента. Таким образом, переход на подчиненные программные сегменты являются переходом без изменения текущего уровня привилегий PL.

Но даже для подчиненных программных сегментов имеются ограничения по их использованию. Передавать управление подчиненному сегменту может только та программа, уровень привилегий которой CPL не выше уровня привилегий DPL подчиненного программного сегмента, т.е. проверяется условие CPLDPL. Чтобы программа подчиненного сегмента была доступна на всех уровнях привилегий, она должна иметь наивысший уровень привилегий, т.е. DPL=0. Такое условие соответствует общему правилу использования сервисных программ: любая программа может быть сервисом только для программ более низкого уровня иерархии.

При переходе на программы сегментов того же уровня привилегий механизм защиты контролирует соблюдение равенства уровней привилегий , вызывающей CPL и вызываемой DPL программ, а также, чтобы значение поля RPL в селекторе было меньше или равно значению CPL, т.е. в этом случае должно выполняться условие (CPLDPL)&(CPLRPL).

Рассмотренная модель взаимодействия программ проста по реализации, но имеет минимум защиты программ от возможных ошибок.

В процессоре Intel запрещена передача управления обычным средствам, программному сегменту, находящемуся на другом уровне привилегий. Ограничивая передачу управления в пределах одного кольца защиты, процессор тем самым предотвращает произвольное изменение уровней привилегий. Если бы значение CPL можно было легко изменять, все остальные средства защиты оказались бы бессмысленными.

Но передача управления на программы ОС необходима. Для решения этой проблемы в микропроцессоре предусмотрены особые системные объекты - шлюзы. Шлюзы являются ключевыми объектами для организации межсегментных переходов с увеличением уровня привилегий, т.е. на программы ОС. Любые переходы с увеличением уровня привилегий производятся только с использованием шлюза. Дескриптор шлюза вызова действует как посредник между программными сегментами, находящимися на различных уровнях привилегии.

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

Доступность шлюза аналогично доступности данных. Шлюз доступен, если его уровень привилегий DPL шл не выше текущего уровня привилегий CPL вызывающей программы и уровня привилегий RPL запроса. Таким образом, механизм защиты проверяет условие: (CPLDPLшл)&(RPLDPLшл) (2)

В результате получается следующий алгоритм проверок при использовании шлюзов. На первом этапе вызывающая программа производит чтение дескриптора шлюза вызова и проверяется условие его доступа (2). Уровень привилегий шлюза DPLшл выбирается из дескриптора шлюза. Если условие (2) выполняется, то на втором этапе производится чтение дескриптора программного сегмента из локальной LDT или глобальной GDT таблиц дескрипторов. Обращение к этим таблицам производится с помощью селектора, заданного в дескрипторе шлюза вызова. После этого проверяется условие доступности программного сегмента. Межсегментная передача управления допустима только на программы своего или более высоких уровней привилегий DPL. Таким образом на втором этапе проверяется условие (CPLDPL) (3). Если условие (3) выполняется , то значение DPL из дескриптора вызываемого программного сегмента заносится в поле уровня привилегий CPL сегментного регистра CS. После сохранения в стеке параметров вызывающей программы, таких как точки возврата, и проведения необходимых проверок управление передается вызываемой программе.

Принципы организации системы прерывания

Во время выполнения ЭВМ текущей программы внутри машины в связанной с ней внешней среде могут возникать события , требующие немедленной реакции на них со стороны машины. Реакция состоит в том, что машина прерывает выполнение текущей программы и переходит к выполнению некоторой другой программы, специально предназначенной для данного события. По завершению прерывающей программы ЭВМ возвращается к выполнению прерванной программы к той точке, где произошло прерывание.

Каждое событие, требующее прерывания, сопровождается сигналом, который называется запросом прерывания.

Моменты возникновения запросов прерывания заранее неизвестны и поэтому не могут быть учтены при программировании. Запросы на прерывание могут возникать как в самой машине, так и в ее внешней среде.

Внутренние запросы - сбой в работе аппаратуры, переполнение разрядной сетки, деление на 0, нарушение защиты памяти, различные ситуации при выполнении операции ввода/вывода.

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

Для реализации прерывания программ в состав ЭВМ вводят специальные аппаратные и программные средства. Совокупность аппаратных и программных средств, необходимых для реализации прерываний, называется системой прерывания программ.

Основными функциями системы прерывания программ являются:

1.Запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе.

2.Восстановление состояния прерванной программы и возврат к ней.

Основной характеристикой систем прерываний является глубина прерываний. Глубина прерываний - это максимальное число программ, которые могут прерывать друг друга. Если при выполнении прерывающей программы другие запросы на прерывание не обслуживаются, то система имеет единичную глубину. Глубина прерывания равна n, если допускаются последовательные прерывания до n программ.

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

Запросы одного уровня имеют одинаковый приоритет. Обычно запросы от всех источников прерывания поступают на специальный регистр запросов прерывания RG ЗП. Поступивший запрос устанавливает соответствующий разряд регистра в единичное состояние. Наличие 1 в данном разряде указывает на наличие запроса на прерывание от определенного источника, поскольку каждому запросу соответствует свой разряд регистра.

Запросы одного уровня (класса) объединяются с помощью дизъюнкторов. Далее стоит схема, которая выделяет запросы с наивысшим приоритетом. Информация о действительной причине прерывания содержится в коде прерывания. После принятия запроса прерывания на обслуживание и передачи управления прерывающей программе, соответствующий разряд RG ЗП сбрасывается в ноль.

Очень часто встречается ситуация, когда приоритет за каждым классом прерывания не может быть закреплен жестко и может меняться в процессе решения задачи. В этом случае применяется программное управление приоритетом на основе маски прерывания.

Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие запросам или классам прерывания. Маска загружается в специальный регистр маски RGM. Единичное состояние в данном разряде маски разрешает, а нулевое - запрещает (маскирует) прерывание текущей программы по соответствующему запросу, то есть каждая прерывающая программа может устанавливать свою маску и устанавливать произвольные приоритетные соотношения между запросами прерываний.

При формировании маски единицы устанавливаются в разряды соответствующие запросам с более высоким приоритетом, чем у данной программы, а в остальные разряды записываются нули, запрещая тем самым выполнение программ с меньшим приоритетом.

5539

Размещено на http://www.allbest.ru/

Конъюнкторы выделяют не замаскированные запросы прерывания, из которых специальная схема выделяет наиболее приоритетный запрос и формирует его код. С замаскированными запросами в зависимости от причин прерываний поступают двумя образами: либо они игнорируются, либо запоминается с тем, чтобы осуществить прерывание, когда запрет на прерывание будет снят.

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

1. начальный адрес прерывающей программы(начальный адрес программы обработки прерывания от данного источника)

2.слово состояния процессора(ССП)

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

Система прерывания PDP-11.

В PDP-11 возможно два вида прерываний от внешних устройств.

1.Внепроцессорное прерывание, при котором ПУ осуществляет обмен данными непосредственно с ОЗУ или другими ПУ, минуя процессор. Это внепроцессорная передача данных. Такой режим работы называется прямой доступ в память (ПДП).

2.Программное прерывание, при котором управление передается специальной программе обработки прерывания. Это программная передача данных под управлением процессора.

Всего в PDP-11 имеется 4 уровня программных прерываний и 1 уровень внепроцессорных прерываний.

Устройства, поставляющие запросы на линию ЗПД, имеют наивысший абсолютный приоритет. В этом случае управление передачей данных происходит под управлением того ПУ, которое выставило сигнал ЗПД (запрос прямого доступа). В этом случае обмен данными идет без участия процессора.

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

При получении запроса на одной из линий ЗП4 - ЗП7 процессор сравнивает приоритет, то есть номер линии со своим приоритетом. Если приоритет линии выше, то процессор выдает соответствующий сигнал по РП. При равенстве приоритетов линии ЗП и процессора прерывание не происходит. Поэтому, если приоритет процессора равен 7, то ни одно из ПУ не может прервать текущую программу процессора.

Линии РПД и РП проходят последовательно через все устройства, находящиеся на их уровне.

Если несколько устройств одного уровня выставили запрос, то удовлетворяется запрос того ПУ, которое первым подключено к соответствующей линии РП.

Рассмотрим процедуру обслуживания прерывания для ПУ , пославшего запрос по одной из линий ЗП 4 - ЗП 7.

1.Если приоритеты позволяют, то процессор предоставляет интерфейс запрашивающему ПУ.

2.Получив управление интерфейсом (сигнал РП), устройство посылает в процессор сигнал прерывания и адрес ячейки памяти, которая содержит вектор прерывания. Каждая ПУ имеет свой вектор прерывания. В векторе прерывания - 2 слова. Первое слово содержит начальный адрес программы обслуживания прерывания от данного устройства. Второе слово - содержит слово состояние процессора - ССП. После получения адреса вектора прерывания начинается процедура обслуживания прерывания.

3.Процессор вводит текущее значение ССП, а затем текущее значение счетчика команд ( СК ) - в стек.

В качестве аппаратного указателя стека (УС) используется РОН R6. Таким образом, происходит сохранение параметров прерываемой программы (сохраняется ССП и адрес точки возврата в прерванную программу).

4.Новое значение СК и ССП выбираются из ОЗУ по адресу, указанному запрашивающим ПУ. После этого запускается программа обслуживания устройства.

5.По окончании работы программы обслуживания устройства происходит возврат к прерванной программе, для чего два верхних слова из стека загружаются обратно в СК и RG ССП. Возобновляется выполнение прерванной программы с точки, где произошло прерывание.

Программируемый контроллер прерываний фирмы Intel .

Программируемый контроллер прерываний обеспечивает управление восьми уровневыми векторными приоритетными прерываниями, то есть один контроллер прерываний обеспечивает приемную обработку до восьми сигналов прерывания.

Структурная схема контроллера прерываний имеет следующий вид. (Рис.1.)

Рис.1.

-запрос прерывания

Запросы прерывания обрабатываются тремя взаимосвязанными регистрами. Регистр запросов (IRR) фиксирует все запросы прерываний, а регистр обслуживания (ISR) хранит только те прерывания, которые приняты на обслуживание .

Регистр масок-IMR идентифицирует маскируемые коды прерывания.

Шифратор приоритетов (арбитр приоритетов)-PR анализирует содержимое этих трех регистров и определяет нужно или нет генерировать сигнал запроса прерывания INT.

Контроллер прерываний может работать в одном из двух режимов:

1)контроллер является ведущим.

2)контроллер является ведомым.

Если на вход контроллера поступает сигнал SP с отриц.=1, то в этом случае контроллер является ведущим, в противном случае ведомым. Когда контроллер ведомый, то микропроцессор загружает в его регистры специальную управляющую информацию. Когда контроллер ведущий, то он управляет процессом передачи данных.

Рассмотрим алгоритм работы контроллера:

1)ПУ посылает по одной из линий единичный сигнал.

2)в регистре IRR происходит установка соответствующих разрядов в единицу под действием сигналов, поступающих от ПУ.

3)незамаскированные запросы, то есть те, для которых соответствующие разряды регистров IMG содержат 1, передаются в арбитр PR ,замаскированные запросы при этом блокируются.

4)арбитр PR выделяет наиболее приоритетный запрос и передает его в регистр обслуживания ISR.

5)приоритет запроса сравнивается с текущим приоритетом программы, выполняемой в микропроцессоре. Если приоритет запроса выше приоритета программы, то контроллер формирует сигнал прерывания INT, в противном случае обработка запроса откладывается.

6)Микропроцессор принимает микро запросы прерываний INT и начинает реализовывать последовательности прерываний, выполняя с цикла подтверждения прерывания, с формированием сигнала в каждом из этих циклов.

7)В первом цикле подтверждение с прерывания происходит установка соответствующего разряда ISR и сброса аналогичного сигнала в регистре IRR.

8)Во втором цикле подтверждение прерывания текущее содержимое адреса прерывания передается в микропроцессор по шине данных.

9)Микропроцессор принимает этот адрес и использует его для обращения к таблице векторов прерывания, где хранятся сами вектора прерывания.

10)Текущее значение вектора прерывания , прерванное программой, запоминается в стеке, а вместо него в микропроцессор загружается вектор прерывания , выбранный из таблицы векторов прерывания. Управление передается прерывающей программе по адресу, содержащемуся в первом слове вектора прерывания.

11)По завершению прерывающей программы происходит восстановление сохраненного в стеке вектора прерывания прерванной программы, после этого управление возвращается к прерванной программе с той точки, где произошло прерывание.

Контроллер может быть запрограммирован на один из следующих режимов работы:

1)вложенные прерывания.

Каждому из восьми входов запросов прерывания назначается фиксированный приоритет , при этом наивысший приоритет будет у запроса и далее в порядке убывания приоритетов до .Запрос с большим приоритетом прерывает обслуживание того ПУ , у которого меньший приоритет.

2)круговой (циклический) приоритет

В этом режиме также каждому входу назначается приоритет, однако, после запроса и обслуживания прерывания приоритеты изменяются в круговом порядке таким образом, что последний обслуженный вход будет иметь самый маленький приоритет.

Организация прямого доступа к памяти.

Одним из способов обмена данными с ПУ является обмен в режиме прямого доступа к памяти (ПДП). В этом режиме обмен данными между ПУ и основной памятью микроЭВМ происходит без участия процессора. Обменом в режиме ПДП управляет не программа, выполняемая процессором, а электронные схемы, внешние по отношению к процессору. Обычно эти схемы размещаются в специальном контроллере, который называется контроллером прямого доступа к памяти.

Режим ПДП обычно используется при начальной загрузке программ в основную память микроЭВМ из устройств ввода и для организации обмена данными с быстродействующими внешними запоминающими устройствами (дисковыми накопителями).

Контроллер ПДП подключается к основной памяти посредством системного интерфейса. При этом возникает проблема совместного использования шин системного интерфейса процессором и контроллером ПДП. Существует два основных способа решения этой проблемы:

1. Реализация обмена в режиме ПДП с захватом цикла.

2. Реализация обмена в режиме ПДП с блокировкой процессора.

Наиболее простой способ организации ПДП с захватом цикла состоит в использовании контроллером ПДП тех машинных циклов процессора, когда процессор не обменивается данными с памятью. В такие циклы контроллер ПДП может обмениваться данными с памятью, не мешая работе процессора и не снижая его производительности. Однако при использовании такого способа организации ПДП обмен возможен только в случайные моменты времени и одиночными байтами, что не всегда является удобно.

Поэтому на практике чаще используется режим ПДП с захватом цикла и принудительным отключением процессора от шин системного интерфейса. Для реализации такого режима системные интерфейс дополняется двумя линиями для передачи управляющих сигналов: «Запрос прямого доступа к памяти» (ЗПДП) и «Подтверждение прямого доступа к памяти» (ППДП).

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

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

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

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

К одному контроллеру ПДП можно подключать несколько ПУ , которые получают право обмена данными с памятью в соответствии с их приоритетами.

Контроллеры ПДП обычно реализуются в виде одной микросхемы, к которой подключаются несколько ПУ.

Программируемый контроллер прямого доступа к памяти.

Такой контроллер служит для управления обменом данными между четырьмя ПУ и памятью. Управление работой каждого из 4 каналов ПДП осуществляется с помощью двух 16-разрядных регистров: регистра начального адреса и регистра управления. В регистр начального адреса при программировании БИС заносится начальный адрес передаваемого массива данных . В 14-и младших разрядов регистра управления размещается счетчик байт, в который заносится число на единицу меньше длины передаваемого массива данных. Два оставшихся разрядов (15 и 14) регистра управления определяют тип операции обмена: 00 - контроль, 01 - запись в память, 10 - чтение из памяти, 11 - запрещенное состояние.

Связь контроллера с системным интерфейсом микроЭВМ осуществляется по шине данных ШД. Запись информации в регистр начального адреса и в регистр управления производится программным путем перед началом передачи данных.

По четырем входным линиям DRQ запросов от ПУ внешние устройства сигнализируют контроллеру об их готовности к передаче данных. Программно запросам DRQ могут быть назначены либо фиксированные приоритеты (при этом DRQ0 - высший, а DRQ3 - низший), либо циклические приоритеты.

В ответ на получение запроса DRQ контроллер сигналом

извещает ПУ о начале запрошенного им цикла ПДП.

Когда контроллер получает управление системной шиной он выводит на ШД 8 старших бит адреса памяти из старшей половины регистра начального адреса работающего канала ПДП. По сигналу «Строб адреса» ADSTB эти 8 бит загружаются во внешний регистр старших разрядов адреса, выходы которого подключены к линиям А15 - А8 шины адреса системного интерфейса. Младшие разряды адреса формируются на линиях А7 - А0 .

Контроллер может быть либо ведомым, либо ведущим. Ведомым контроллер является при его программировании или при считывании содержимого его внутренних регистров. При этом контроллер управляется МП. Когда же контроллер получает управление системным интерфейсом он становится ведущим и управляет процессом передачи данных без участия микропроцессора.

Если контроллер ведомый, то он по сигналу

принимает с ШД байт и загружает его в адресуемый по линиям А3 - А0 внутренний регистр. По сигналу

содержимое адресуемого регистра передается на ШД (чтение из контроллера).

Когда контроллер является ведущим, то он формирует пару сигналов

при передаче данных в основную память, и

при передаче данных из памяти в ПУ.

Сигнал «Запрос ПДП» HRQ подается на вход HOLD микропроцессора и сигнализирует о необходимости его отключения от системной шины.

Сигнал «Подтверждение ПДП» HLDA формируется МП и извещает контроллер о том, что он может управлять системной шиной.

Сигнал «Разрешение адреса» AEN служит для управления работой шинных формирователей, связывающих МП, и другие устройства с системной шиной.

Сигнал «Окончание счета» ТС форсируется при достижении нуля в 14-битном счетчике работающего канала. Это сигнал извещает об окончании передачи заданного блока данных.

Системы ввода/вывода

Помимо центрального процессора (ЦП) и памяти, третьим ключевым элементом архитектуры ВМ является система ввода/вывода (СВВ). Система ввода/вывода призвана обеспечить обмен информацией между ЭВМ и разнообразными внешними устройствами (ВУ).

Технически система ввода/вывода в рамках ВМ реализуется комплексом модулей ввода/вывода (МВВ). Модуль ввода/вывода выполняет сопряжение ВУ с ЭВМ и различные коммуникационные операции между ними. Две основные функции МВВ:

- обеспечение интерфейса с ЦП и памятью («большой» интерфейс);

- обеспечение интерфейса с одним или несколькими периферийными устройствами («малый» интерфейс).

Анализируя архитектуру известных ВМ, можно выделить три основных способа подключения СВВ к ядру процессора.

В варианте с раздельными шинами памяти и ввода/вывода (см. рис. 1, а) обмен информацией между ЦП и памятью физически отделен от ввода/вывода, поскольку обеспечивается полностью независимыми шинами. Это дает возможность осуществлять обращение к памяти одновременно с выполнением ввода/вывода. Кроме того, данный архитектурный вариант ЭВМ позволяет специализировать каждую из шин, учесть формат пересылаемых данных, особенности синхронизации обмена и т.п. Недостатком решения можно считать большое количество точек подключения к ЦП.

Рис. 1. Место системы ввода/вывода в архитектуре вычислительной машины: а - с раздельными шинами памяти и ввода/вывода; б - с совместно используемыми линиями данных и адреса; в - подключение на общих правах с процессором и памятью

Второй вариант -- с совместно используемыми линиями данных и адреса (см. рис. 1, б). Память и СВВ имеют общие для них линии адреса и линии данных, разделяя их во времени. В то же время управление памятью и СВВ, а также синхронизация их взаимодействия с процессором осуществляются независимо по раздельным линиям управления. Это позволяет учесть особенности процедур обращения к памяти и к модулям ввода/вывода и добиться наибольшей эффективной доступа к ячейкам памяти и внешним устройствам.

Последний тип архитектуры ВМ предполагает подключение СВВ к системной шине на общих правах с процессором и памятью (см. рис. 1, в).

Преимущества: простота и низкая стоимость.

Недостатки: такое подключение не в состоянии обеспечить высокие интенсивность и скорость операций на шине.

Адресное пространство системы ввода/вывода

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

Адресное пространство ввода/вывода может быть совмещено с адресным пространством памяти или быть выделенным.

При совмещении адресного пространства для адресации модулей ввода/вывода отводится определенная область адресов (рис. 2). Обычно все операции с модулем ввода/вывода осуществляются с использованием входящих в него внутренних регистров: управления, состояния, данных. Фактически процедура ввода/вывода сводится к записи информации в одни регистры МВВ и считыванию ее из других регистров. Это позволяет рассматривать регистры МВВ как ячейки основной памяти и работать с ними с помощью обычных команд обращения к памяти, при этом в системе команд ВМ вообще могут отсутствовать специальные команды ввода и вывода. Так, модификацию регистров МВВ можно производить непосредственно с помощью арифметических и логических команд. Адреса регистрам МВВ назначаются в области адресного пространства памяти, отведенной под систему ввода/вывода.

Рис. 2. Распределение совмещенного адресного пространства

Достоинства совмещенного адресного пространства:

- Расширение набора команд для обращения к внешним устройствам, что позволяет сократить длину программы и повысить быстродействие;

- Значительное увеличение количества подключаемых внешних устройств;

- возможность внепроцессорного обмена данными между внешними устройствами, если в системе команд есть команды пересылки между ячейками памяти;

- возможность обмена информацией не только с аккумулятором, но и с любым регистром центрального процессора.

Недостатки совмещенного адресного пространства:

сокращение области адресного пространства памяти;

- усложнение декодирующих схем адресов в СВВ;

- трудности распознавания операций передачи информации при вводе/выв среди других операций.

Сложности в чтении и отладке программы, в которой простые команды вызывают выполнение сложных операций ввода/вывода;

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

Достоинства выделенного адресного пространства:

- адрес внешнего устройства в команде ввода/вывода может быть коротким. В большинстве СВВ количество внешних устройств намного меньше количества ячеек памяти. Короткий адрес ВУ подразумевает такие же короткие команды ввода/вывода и простые дешифраторы;

- программы становятся более наглядными, так как операции ввода/вывода выполняются с помощью специальных команд;

- разработка СВВ может проводиться отдельно от разработки памяти.

Недостатки выделенного адресного пространства:

ввод/вывод производится только через аккумулятор центрального процессора. Для передачи информации от ВУ в РОН, если аккумулятор занят, требуется выполнение четырех команд (сохранение содержимого аккумулятора, ввод из ВУ, пересылка из аккумулятора в РОН, восстановление содержимого аккумулятора);

перед обработкой содержимого В У это содержимое нужно переслать в ЦП.

Внешние устройства

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

для общения с пользователем;

для общения с ВМ;

для связи с удаленными устройствами.

Примерами первой группы служат видеотерминалы и принтеры. Ко второй группе причисляются внешние запоминающие устройства (магнитные и оптические диски, магнитные ленты и т. п.), датчики и исполнительные механизмы. Отметим двойственную роль внешних ЗУ, которые, с одной стороны, представляют собой часть памяти ВМ, а с другой -- являются внешними устройствами. Наконец, устройства третьей категории позволяют ВМ обмениваться информацией с удаленными объектами, которые могут относиться к двум первым группам. В роли удаленных объектов могут выступать также другие ВМ.

Обмен данными с внешней средой

Рис. 3. Структура внешнего устройства

Обобщенная структура ВУ показана на рис. 3. Интерфейс с МВВ реализуется в виде сигналов управления, состояния и данных. Данные представлены совокупностью битов, которые должны быть переданы в модуль ввода/вывода или получены из него. Сигналы управления определяют функцию, которая должна быть выполнена внешним устройством. Это может быть стандартная для всех устройств функция -- посылка данных в МВВ или получение данных из него, либо специфичная для данного типа ВУ функция, такая, например, как позиционирование головки магнитного диска или перемотка магнитной ленты. Сигналы состояния характеризуют текущее состояние устройства, в частности включено ли ВУ и готово ли оно к передаче данных.

Логика управления -- это схемы, координирующие работу ВУ в соответствии с направлением передачи данных. Задачей преобразователя является трансформация информационных сигналов, имеющих самую различную физическую природу, в электрические сигналы, а также обратное преобразование. Обычно совместно с преобразователем используется буферная память, обеспечивающая временное хранение данных, пересылаемых между МВВ и ВУ.

6.7 Модули ввода/вывода

Функции модуля

Модуль ввода/вывода в составе вычислительной машины отвечает за управление одним или несколькими ВУ и за обмен данными между этими устройствами с одной стороны, и основной памятью или регистрами ЦП -- с другой. Основные функции МВВ можно сформулировать следующим образом:

- локализация данных;

- управление и синхронизация;

- обмен информацией;

- буферизация данных;

- обнаружение ошибок.

Структура модуля ввода-вывода

Структура МВВ в значительной мере зависит от числа и сложности внешних устройств, которыми он управляет, однако в самом общем виде такой модуль можно представить в форме, показанной на рис. 3.

Связь модуля ввода/вывода с ядром ВМ осуществляется посредством системной или специализированной шины.

Данные, передаваемые в модуль и из него, буферизируются в регистре данных. Буферизация позволяет компенсировать различие в быстродействии ядра ВМ и внешних устройств.

Помимо регистра данных в составе МВВ имеются также регистр управления и регистр состояния (либо совмещенный регистр управления/состояния).

В регистре управления (РУ) фиксируются поступившие из ЦП команды управления модулем или подключенными к нему внешними устройствами. Отдельные разряды регистра могут представлять такие команды, как очистка регистров МВВ, сброс ВУ, начало чтения, начало записи и т. п.

Регистр состояния (PC) служит для хранения битов состояния MBВ и подключенных к нему ВУ. Содержимое определенного разряда регистра может характеризовать, например, готовность устройства ввода к приему очередной порции данных, занятость устройства вывода или нахождение ВУ в автономном режиме (offline).

Процедура ввода/вывода предполагает возможность работы с каждым регистром МВВ или внешним устройством по отдельности. Такая возможность обеспечивается системой адресации. Каждому модулю в адресном пространстве ввода/ вывода (совмещенном или раздельном) выделяется уникальный набор адресов, количество адресов в котором зависит от числа адресуемых элементов. Поступивший из ЦП адрес с помощью селектора адреса проверяется на принадлежность к диапазону, выделенному данному МВВ. В случае подтверждения дешифратор DC выполняет раскодирование адреса, разрешая работу с соответствующим регистром модуля или ВУ.

Узел управления вводом/выводом по сути играет роль местного устройства управления МВВ. На него возлагаются две задачи: обеспечение взаимодействия с ЦП и координация работы всех составляющих МВВ. Связь с ЦП реализуется посредством линий управления, по которым из ЦП в модуль поступают сигналы, служащие для синхронизации операций ввода и вывода. В обратном направлении передаются сигналы, информирующие о происходящих в модуле событиях, например сигналы прерывания. Часть линий управления может задействоваться модулем для арбитража. Вторая функция узла управления реализуется с помощью внутренних сигналов управления.

Со стороны «малого» интерфейса МВВ обеспечивает подключение внешних устройств и взаимодействие с ними. Каждое из внешних устройств «обслуживается» своим узлом «малого» интерфейса, который реализует принятый для данного ВУ стандартный протокол взаимодействия.

Методы управления вводом/выводом

В ЭВМ находят применение три способа организации ввода/вывода:

- программно управляемый ввод/вывод;

- ввод/вывод по прерываниям;

- прямой доступ к памяти.

При программно управляемом вводе/выводе все связанные с этим действия происходят по инициативе центрального процессора и под его полным контролем. ЦП выполняет программу, которая обеспечивает прямое управление процессом ввода/вывода, включая проверку состояния устройства, выдачу команд ввода или вывода. Выдав в МВВ команду, центральный процессор должен ожидать завершения ее выполнения, и, поскольку ЦП работает быстрее, чем МВВ, это приводит к потере времени.

Ввод/вывод по прерываниям во многом совпадает с программно управляемым методом. Отличие состоит в том, что после выдачи команды ввода/вывода ЦП не должен циклически опрашивать МВВ для выяснения состояния устройства. Вместо этого процессор может продолжать выполнение других команд до тех пор, пока получит запрос прерывания от МВВ, извещающий о завершении выполнения выданной команды В/ВЫВ. Как и при программно управляемом В/ВЫВ, ЦП отвечает за извлечение данных из памяти (при выводе) и запись данных в память (при вводе).

Повышение как скорости В/ВЫВ, так и эффективности использования ЦП обеспечивает третий способ В/ВЫВ - прямой доступ к памяти (ПДП). В этом режиме основная память и модуль ввода/вывода обмениваются информацией напрямую, минуя процессор.

Размещено на Allbest.ru

...

Подобные документы

  • Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация памяти. Регистры общего назначения. Алгоритмы моделирования команд. Реализация модели внешнего устройства.

    курсовая работа [3,7 M], добавлен 24.06.2013

  • Принципы сегментации памяти. Классификация регистров по назначению и способу использования. "Перевернутое" представление данных в центральном процессоре. Адресация ввода/вывода информации. Программное, внутреннее и аппаратное прерывание выполнения команд.

    презентация [107,4 K], добавлен 27.08.2013

  • Принцип работы процессора (одномагистральная структура). Временные диаграммы, описывающие выполнение микроопераций для каждой команды. Структурная схема управляющего автомата на основе памяти с одним полем адреса. Описание процессора на языке Active VHDL.

    курсовая работа [621,0 K], добавлен 24.09.2010

  • Принципы программного управления компьютером. Модульная и функциональная организация, аппаратная реализация электронно-вычислительной машины. Назначение устройств ввода и вывода информации. Функции процессора; устройства внутренней и внешней памяти.

    презентация [2,2 M], добавлен 27.11.2013

  • Типы системной памяти. ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное запоминающее устройство), "энергонезависимая память" (CMOS). Процессор. Основные шины. Адресные данные. Совокупность всех возможных команд - система команд процессора.

    контрольная работа [24,3 K], добавлен 30.03.2009

  • Структурная схема проектируемого контроллер и ее обоснование. Центральный процессорный модуль и блок памяти. Дешифраторы адреса ОЗУ/ПЗУ и внешних устройств. Блоки ввода аналоговых данных, отображения информации, вывода результата и интерфейсный.

    реферат [476,5 K], добавлен 22.09.2011

  • Главная задача компьютерной системы. Виртуальные адресные пространства нескольких программ. Классификация методов распределения памяти. Зависимость загрузки процессора от числа задач и интенсивности ввода-вывода. Схема функционирования кэш-памяти.

    презентация [2,2 M], добавлен 14.11.2012

  • Принципиальная схема устройства современного персонального компьютера. Краткая характеристика основных составляющих ПК: процессора, модулей оперативной (внутренней) и долговременной (внешней) памяти, устройств ввода и вывода информации для пользователя.

    презентация [100,7 K], добавлен 07.06.2015

  • Использование пользовательских регистров. Регистры общего назначения. Элементарные и базовые типы данных. Язык микроопераций, ассемблер. Директивы резервирования памяти. Система команд, организация вычислений. Сложные структуры данных. Схемы ввода-вывода.

    курс лекций [280,7 K], добавлен 02.12.2009

  • Блок-схема, отражающая основные функциональные компоненты компьютерной системы в их взаимосвязи. Устройства ввода-вывода информации. Определение объема оперативной памяти. Применение карт памяти и flash-дисков для долговременного хранения информации.

    презентация [5,3 M], добавлен 28.01.2015

  • Классические принципы построения электронных вычислительных машин, их основные блоки: арифметико-логический, устройства управления, ввода-вывода и памяти. Автоматизация перевода информации. Двоичное кодирование и организация оперативной памяти компьютера.

    презентация [55,2 K], добавлен 22.02.2015

  • Определение основных функций процессора. Микросхема процессора и выводы шин адреса, данных и управления. Функции памяти и устройств ввода/вывода (мыши, клавиатуры, джойстика). Описание функций внутренних регистров микропроцессора. Оперативная память.

    презентация [603,1 K], добавлен 17.06.2014

  • Характеристика назначения микропроцессора, системной шины, основной и внешней памяти, портов ввода-вывода внешних устройств и адаптеров. Сравнительный анализ элементной базы и математического обеспечения персональных компьютеров разных поколений.

    реферат [34,4 K], добавлен 25.03.2010

  • Стратегии размещения информации в памяти. Алгоритмы распределения адресного пространства оперативной памяти. Описание характеристик модели и ее поведения, классов и элементов. Выгрузка и загрузка блоков из вторичной памяти. Страничная организация памяти.

    курсовая работа [708,6 K], добавлен 31.05.2013

  • Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.

    учебное пособие [1,1 M], добавлен 09.04.2013

  • Функциональная схема микропроцессора Intel 8086 (i8086). Формирование физического адреса памяти, выборка команд из памяти и запись их в очередь команд. Система команд процессора. Суть защищенного режима, переход из защищенного режима в реальный режим.

    практическая работа [93,3 K], добавлен 24.03.2013

  • Физическая организация памяти компьютера. Организация структуры обработки потока данных. Степень и уровни параллелизма. Оценка иерархической организации памяти. Динамическая перестройка структуры. Микросхемы запоминающих устройств. Кэш-память процессора.

    лекция [2,4 M], добавлен 27.03.2015

  • Классификация и основные определения периферийных устройств. Устройства ввода и вывода информации, памяти, мультимедиа, связи, защиты электропитания. Интерфейсы подключения периферийных устройств. Рекомендации и правила эксплуатации компьютерной техники.

    курсовая работа [582,1 K], добавлен 06.09.2014

  • Микроконтроллер — компьютер на микросхеме, предназначенный для управления электронными устройствами. Структурная схема типичного современного микроконтроллера. Архитектурная особенность построения портов ввода/вывода. Принципиальная схема устройства.

    курсовая работа [2,1 M], добавлен 26.11.2013

  • Общее устройство микропроцессора. Структура 64-битной подсистемы памяти. Селекция портов ввода/вывода. Особенности интерфейса микропроцессорных систем. Проектирование подсистемы памяти на базе Itanium 2. Расчёт информативности и необходимых объёмов.

    курсовая работа [3,7 M], добавлен 05.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.