Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: подсистемы ввода-вывода  (Прочитано 9643 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eugrita
Помогающий

ru
Offline Offline

« : 23-09-2011 04:55 » 

Говоря об п/с ввода вывода приводят обычно 3 схемы:
1)т.н. схему с общей магистралью (все ПУ и процессор сидят на ней)
2)схему с DMA-контроллером (УПДП) к которому подсоединено несколько УВВ
3)многоканальную схему: адрес устройства состоит из 3 частей
        № канала №контроллера. № устройства
-------------------------------------------------------------------------------------
 в некоторых курсах информатики и  компьютерной архитектуры
(в частности авторитетного intuit www.intuit.ru/department/os/bmos/4/ )когда доходит до описания
подсистемы ввода/вывода рисуют чаще всего
1)1 магистраль-шину
2)и ряд контроллеров+перифер.у-ва с ним связанные опять таки подсоединенных к 1 магистрали
и все!!!
хотя вроде бы а)структура с 1 общим интерфейсом -  не единственная (есть вроде и КВВ мультиплексные и селекторные ) с адресацией периф устройств вида
---------------------------------------------------------------------------------------------------------------------------
В связи с этим вопросы:
1)правильно ли что даже в схеме УВВ с одним общим интерфейсом скажем IBM PC Контроллер прерываний всегда есть?
2Правильно ли что контроллер DMA всегда отсутствует в схемах УВВ с одним общим интерфейсом? (а используется только в ЭВМ классов мини, супермини и выше)
Уточнение вопроса - в каких архитектурах прежде всего laptop и notebook
используются ли вместо единой магистрали каналы ввода-вывода и
соответственно стоит ли тогда DMA-контроллер?

в курсах по ПУВТ и архитектуре компьютера говоря о п/c ввода вывода упоминают о 3 способах вывода:
1)программный 2)управляемый прерываниями 3)с помощью контроллера DMA
Ясно видимо что 2 и 3 способы требуют наличия контроллера прерываний.
Ну а можно ли построить компьютер без контроллера прерываний, выполняющий только
программный ввод вывод?
Конечно будет неэффективно, медленно. Но все же?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 23-09-2011 07:35 » 

Не понял, в каком контексте "приводят 3 схемы"? Все перечисленное как-то слабо коррелируется.

В целом текст сообщения оставил впечатление, что ты в данном предмете совсем не разбираешься. Тогда может будем плясать от печки? Какова задача?
« Последнее редактирование: 23-09-2011 07:39 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 23-09-2011 08:47 » 

Цитата: eugrita
1)правильно ли что даже в схеме УВВ с одним общим интерфейсом скажем IBM PC Контроллер прерываний всегда есть?
2Правильно ли что контроллер DMA всегда отсутствует в схемах УВВ с одним общим интерфейсом? (а используется только в ЭВМ классов мини, супермини и выше)
Я могу ошибаться, но предлагаю такую точку зрения, которая снимает твои вопросы.

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

Далее вопрос заключается в следующем: кто имеет право посылать запросы на выборку данных по адресу в шине? Если только процессор - имеем архитектуру, где ввод-вывод осуществляет процессор. Если ещё и какие-то другие контроллеры, имеем другую архитектуру, где устройства сами между собой могут обмениваться данными, в частности, возможна организация DMA (запись в ОЗУ данных из УВВ или обратно без участия процессора).

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

Отсюда следует ответ.
Цитата: eugrita
Ну а можно ли построить компьютер без контроллера прерываний, выполняющий только
программный ввод вывод? Конечно будет неэффективно, медленно. Но все же?
Можно.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
eugrita
Помогающий

ru
Offline Offline

« Ответ #3 : 23-09-2011 16:17 » 

Ну с этим я согласен со всем. Только какие архитектуры применяются на практике для современных desktop и labtop? ставят ли там этот контроллер DMA или нет? (Магистраль (строенная шина) одна?
или используют дополнительные каналы (как раньше в больших ЭВМ)?
Вы пишете что процессор либо имеет линии запроса прерываний ,либо нет. А в самом деле так на современных процессорах? Ведь вроде на материнке южный мост всегда есть. Только задействован ли он как контроллер прерываний или нет?
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 23-09-2011 17:09 » 

eugrita, твои вопросы, честно говоря, напоминают бред.

В чём ты видишь архитектурную (по устройству) разницу между desktop и laptop? Сильные различия есть между мобильными устройствами, мейнфреймами и всем, что между ними по размерам. Но и эти различия плавно стираются.

А какая связь между "южным мостом материнки" и фактом наличия у процессоров, используемых в PC, входов для линий прерывания - это вообще загадка. Ибо во времена i8086 самого понятия "южный мост" не было, а прерывания были, как и в более ранних моделях.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
eugrita
Помогающий

ru
Offline Offline

« Ответ #5 : 23-09-2011 17:42 » 

связь между "южным мостом материнки" и фактом наличия у процессоров, используемых в PC, входов для линий прерывания ? - Насчет входов для прерывания процессора IBM8086 не знаю, жа тогда не было южного моста в материнке. Но позже в разных источниках говорится, что в новых материнках функции контроллера прерываний играет южный мост. Это - факт. Если надо -дам ссылки

не вижу никакого бреда. Для начала ссылки на 2 источника, из которых следует что т.н. "структура
с каналами ввода-вывода" использовалась еще до ПК на малых ЭВМ типа СМ:
http://referatplus.ru/programmer/stozu3.php
www.studfiles.ru/dir/cat32/subj58/file8429/view78371/page12.html
То что она была - беспорно. То что контроллер DMA есть - беспорно.
Мой вопрос состоит в том:  применяется либо эта структура п/c ввода вывода, или с использованием DMA  в  современных схемах ПК (не миниЭВМ)
Нет или ДА? Если ДА - примеры!
« Последнее редактирование: 23-09-2011 17:47 от eugrita » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 23-09-2011 20:34 » 

Цитата: eugrita
из которых следует что т.н. "структура
с каналами ввода-вывода" использовалась еще до ПК на малых ЭВМ типа СМ
Цитата: Dimka
...как и в более ранних моделях

Цитата: eugrita
Мой вопрос состоит в том:  применяется либо эта структура п/c ввода вывода, или с использованием DMA  в  современных схемах ПК (не миниЭВМ)
Нет или ДА? Если ДА - примеры!
Вот тут у меня просто нет слов. "Если 30 лет назад солнце по утрам всходило, всходит ли оно по утрам в настоящее время? Если да - докажите!" Примерно такой уровень вопросов.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 24-09-2011 08:58 » new

eugrita, лучше попробуй понять назначение то или иного устройства шины (именно этот термин обычно применяется в электронных устройствах, а не "магистраль").

На шине могут быть устройства инициирующие запросы к шине (активные, "мастер") и принимающие запросы от шины (пассивные, "слейв").

Рассмотрим архитектуру старых PC x86. Процессор является активным устройством. И контроллер DMA является активным устройством. Для разрешения конфликтов обращения к шине они поддерживают механизм арбитража, встроенный в процессор - две линии процессорной шины: одна для запроса захвата шины, вторая - для ответа. Т.к. такой арбитраж допустим только между двумя устройствами (нет возможности разрулить ситуацию, когда два активных устройства одновременно запрашивают захват шины), то больше активных устройств на шине быть не могло. По этому, до внедрения в ПК шин с поддержкой мультимастер, устройства, нуждавшиеся в обращении к памяти без участия процессора, использовали для этого контроллер DMA. А когда возможностей 4-канального контроллера DMA стало не хватать, добавили второй - он подключен каскадно к первому (арбитром для второго является первый). Динамическая память нуждается в процедуре регенерации - эта функция также была отдана контроллеру DMA.
Аналогично обстояло дело с контроллером прерываний (PIC). Без него каждое устройство должно было бы знать, что выставить на шину в процедуре прерывания, не было возможности разрулить одновременные прерывания, да и протокол был не слишком простым, а прерывания через контроллер PIC были много проще. PIC также выступал арбитром прерываний.

В дальнейшем развитии PC разделили шину процессора и шину устройств. Это позволило сделать эти шины с различающимися параметрами (разное количество линий адреса/данных, разная частота шины, разный протокол взаимодействия) и выделить в отдельное функциональное устройство контроллер памяти. Для этого потребовался серверный мост: он также заменил собой контроллеры PIC и DMA, сохранив программную совместимость с ними. Южный мост - это набор встроенных периферийных устройств, сгруппированных в один чип.

На шине PCI уже есть поддержка мультимастер. Арбитражем занимается контроллер PCI-мост (мост между процессором, интерфейсом к памяти и шиной PCI), организованный на базе северного моста. Количество независимых устройств на шине PCI ограничено контроллером, т.к. некоторые сигналы выделены индивидуально для каждого слота PCI. Потребность в контроллерах DMA отпала, а также традиционный для PC контроллер PIC был заменен на новый.

Аналогично работает шина PCI Express. Арбитром для нее выступает мост, аналогичный PCI. Но общих сигналов, как на классических шинах, у нее уже нет. Это шина точка-точка - от моста до каждого устройства.

В последние годы в моделях процессоров Intel (у AMD это произошло много раньше) контроллер памяти перешел из северного моста в процессор, а арбитраж устройств шины остался в северном мосте.
« Последнее редактирование: 24-09-2011 09:12 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines