Анализ принципа работы БП адаптера связи ОП - Работка буферной памяти адаптера связи
Буферная память этопамять для промежуточного хранения данных. Применяется при обмене данными между двумя устройствами, обладающими различной скоростью обработки информации, чтобы работа "тихоходного" устройства не снижала их общую производительность. Характерным примером применения БП является выдача данных программой на принтер. Так как скорость передачи данных от программы к принтеру неизмеримо выше, чем скорость работы принтера, то, чтобы не замедлять работу программы на время выдачи данных, программа помещает данные в БП и продолжает свою работу, а принтер "самостоятельно" извлекает их со своей скоростью и печатает, не требуя прерывания работы программы. Многие внешние устройства имеют собственную Б. п., кроме того, в качестве БП может служить специально выделяемая операционной системой область оперативной памяти.
Буферная память имеет еще несколько назначений:
Целью механизма буферной памяти, является уменьшение потребляемых ресурсов объектом приемником, требующего сравнительно больших затрат, путем уменьшения частоты поступления потока данных в объект-приемник;
Целью механизма буферной памяти является создание участка оперативной памяти для отработки процессов памяти, и других процессов, время выполнения которых зависит от размеров памяти. Буферной памятью называется - объект памяти, которым владеют одновременно два объекта, не связанные между собой.
Обычно два объекта, владеющие буферной памятью, называются по типу их отношений с буфером, источник - приемник. Один объект источник помещает данные в буфер, а другой объект - приемник снимает их с буфера. Но сами эти объекты, не связаны между собой никакой архитектурной зависимостью кода. Между прочим, такая модель взаимодействия получила название прокси, когда существует система-посредник между двумя системами. То есть буфер иными словами является прокси-объектом, а источник - буфер - приемник - прокси-системой. Рабочий цикл буфера.
Буферная память имеет три основных состояния:
- -состояние сброса; -состояние наполнения; -состояние передачи.
Состояние сброса - это первоначальное состояние буфера, в котором весь буфер считается пустым.
Состоянием наполнения называется момент времени, в котором информация помещается в буфер.
Состоянием передачи называется процесс, когда информация из буфера перемещается в объект приемник.
Графическое изображение цикла работы буфера представлено на рисунке 1.
Рисунок 1 - Графическое изображение цикла работы буфера
Состояние сброса является начальным состоянием буферной памяти, после того как она заказана и выделена. Буферную память, как правило, заказывает третье лицо, и назначает ее владельцам, источнику и приемнику. То есть источник, и приемник не подозревают, что они работают через буфер. Очень часто буферную память заказывает и объект приемник, который, по сути, управляет выходным хранилищем данных. В этом случае, он подключается к объекту источнику и передает ему буфер. Но никогда буферную память не заказывает объект источник. Можно считать, что объект источник должен быть сконструирован так, чтобы он не подозревал, что работает с буфером. Конечно, на любое правило есть исключения, но в большинстве случаев, такое утверждение указывает на не оптимальность управляющего алгоритма, либо на возможность потенциальной ошибки в нем. Объект источник помещает поток данных в буфер, при этом этот процесс передачи может быть организован двумя методами:
- -сегментами; -произвольно.
В первом случае считается, что источник заполняет буфер посегментно, фиксированными блоками памяти. Во втором случае, заполнение буфера происходит произвольным образом. По способу заполнения можно выделить следующие виды взаимодействия:
- -посессионное заполнение; -циклическое; -неупорядоченное.
В первом случае источник заполняет буфер во время специальных периодов, называемых сессиями, во втором случае буфер заполняет в каком-либо непрерывном цикле, и в третьем случае буфер заполняется в произвольный момент времени. И, наконец, по способу доступа источника и приемника: компьютер буферный адаптер нейронный
- -синхронный; -асинхронные.
От приведенной выше классификации зависят методы и способы построения рабочего цикла буфера. Главным моментом в жизни буфера является его переполнение, именно по возникновению этого события происходит процедура передачи и перевод буфера в состояние сброса. То как это происходит, зависит от схемы взаимодействия.
Если память в буфере занимается сегментно, то тогда возникает возможность предсказывать переполнение, и передать данные в приемник в любой момент, когда он будет готов для приема. В подобных алгоритмах активно используются асинхронные вызовы и событийные системы потенциалов, но можно ограничиться и традиционными способами.
Если заполнение выполняется сессиями, то возникает возможность освобождать буфер каждый раз после сессии, если приемник готов к передаче. Но этим не стоит злоупотреблять, так как система буферной памяти разрабатывалась именно чтобы сделать обращение к выделению основных блоков памяти менее частым. В этом случае можно использовать систему потенциальных предсказаний. В случае циклического заполнения процесс передачи осуществляется в зависимости после последнего гарантированного удачного помещения данных в буфер. Удачным гарантированным помещением в случае сегментной схемы считается - последний помещающийся в буфер сегмент.
Так же хочется отметить посекторную модель, в которой имеется возможность одновременных процессов считывания и записи в буфер, это актуально при многониточном программировании, а также в нелинейных системах. В этом случае буфер делиться на несколько секторов. Когда заполняется один сектор буфера, следующий переходит в состояние заполнения, а заполненный сектор переходит в состояние передачи.
Выделение памяти буферу.
Вопрос создания буфера открывается в момент создания объекта приемника. И как нестранно такое утверждение - правило. Сколько же памяти следует отдавать на буфер? Вот довольно жесткий принцип:
Размер буфера должен быть таким, чтобы суммарное время выполнения кода обслуживающее режим наполнения, было бы равно времени выполнения кода, выполняющего режим передачи. При этом код исполняемый объектом источником должен иметь приемлемое время исполнения.
В первой части определения разговор идет касательно так называемого первого назначения буфера. Обычно код организующий выделение памяти средствами ОС является <тяжелым кодом>, то есть он требует сравнительно много времени на выполнение. Предположим, если вы выполняете какие-то циклические действия над потоком ввода из файла, то было бы чрезвычайно расточительно обращаться к диску за каждым байтом. В этом случае, с диска считывается сразу дамп памяти, а некая операция выполняется над этим дампом. Данный пример, аналогичен, так же если вместо источника диска, подставить источник - некую функцию, конвертирующую данные, либо что-то еще.
Во второй части правила говориться о затратах на использование ресурсов источником, подобно примеру выше - это диск. Диск - медленное устройство и требует сравнительно большего времени для получения/передачи данных. Вместо диска можно подразумевать совокупность процедур, работающих с памятью, и время выполнения которых зависит от размера обрабатываемой памяти. Примером таких процедур могут служить процедуры рейдеринга памяти, выполняющих ее дефрагментацию.
Однако, несмотря на все вышесказанное, прямое использование этого правила невозможно, так как число влияющих факторов на выбор размера буфера намного больше из тех, что рассмотрены в правиле. На выбор размера буфера так же влияют: гранулярность памяти, физический размер страниц, методы выделения памяти, удобство работы обслуживающих алгоритмов, и др. Так же фактором выбора размера буфера является место его размещения и метод получения.
Буферную память можно разместить как статически, то есть заранее расположенную в секции неинициализированных данных, так и динамически выделенную.
В том случае, если буфер создается для кэширования вывода в файл, можно разместить буфер прямо на первых страницах файла, однако это чревато последствиями перекачки всех данных при сохранении файла. Можно размещать буфер и в хвосте файла, с каким-то запасом, и постепенно передвигать сам буфер по мере заполнения файла.
Буферную память целесообразно размещать в области виртуальной памяти, т. е. в файле подкачки. В любом случае размер буфера обязан быть кратен размеру страницы в данной системе. Однако гранулярность выделения памяти в Win32 является 64-bits, что создает жесткие ограничения на размер буфера. Поэтому стоит выделять некоторое пространство памяти для нескольких буферов, и давать им размеры и базовые адреса по размерам страниц.
Один буфер для многих и многоуровневая буферизация.
Широкий круг задач приходится выполнять жестко последовательно. Например, ввод с клавиатуры может быть направлен в данный момент времени только в один источник. Этим можно воспользоваться для организации одного буфера. Для использования многими, можно применить технологию ускользающих. В этом случае сброс буфера будет выполняться либо, когда он наполнен, либо, когда к буферу обращается другой объект-хозяин. Место под такой буфер можно зарезервировать в неинициализированном разделе, если он не превышает 8kb - 12kb оперативно памяти. Использование статических буферов является более эффективными по способу адресации, и тем эта эффективность выше, чем больше кода использует данный буфер. Статические буфера желательно использовать, где только это возможно, хотя это возможно далеко не везде. К счастью существует метод многоуровневой буферизации. Как следует из названия, этот метод представляет собой наличие объекта хозяина у буфера, где объект хозяин сам является буфером. Буфер, который <стоит> ближе к действительному источнику именуется первым, а все последующие по порядку. Обычно каждый последующий буфер имеет меньшую частоту сброса, а значит, занимает больше памяти. Метод многоуровневой буферизации позволяет комбинировать достоинства нескольких приемов размещения буферов. Например, первым буфером может являться буфер размещенный статически, а вторым - размещенный динамически. Примером использования многоуровневой системы буферизации может послужить API работы с файлами. Вы можете использовать кокой-то свой буфер для выполнения задач, когда система прозрачно для вас выполняет еще одну буферизацию. А если вспомнить про физический буфер, находящийся в самом жестком диске, то мы получим трех уровневую систему буферизации ввода.
Определенный интерес представляет использование, какой-либо памяти и буфера. Модель работы такой системы выглядит так:
- -объект источник помещает данные в область памяти не являющуюся буфером; - после всех операций данные направляются в буфер.
В качестве промежуточной памяти может выступать какой-либо ее блок, размещенный статически и работать по методике ускользающих. Такая система нашла широкое применение на практике. Важно отметить следующее, что в данной многоуровневой системе, первый объект-буфер не является либо совсем буфером, либо является буфером неполноценным, так как не отвечает одному из назначений буфера, или не имеет буферного цикла.
Похожие статьи
-
Анализ архитектуры и структуры компьютера Структура компьютера будет проанализирована, начиная с истории. В настоящее время известно пять поколений...
-
Заключение, Список использованных источников - Работка буферной памяти адаптера связи
После получения технического задания было проделано много работы по созданию буферной памяти адаптера связи ОП, включая анализ, разработку и...
-
Анализ элементной базы компьютера - Работка буферной памяти адаптера связи
Современные ЭВМ работают на сложной элементной базе. Но ее развитие начинается с далекой истории. Каждый этап развития элементной базы компьютера тесно...
-
Введение - Работка буферной памяти адаптера связи
На сегодняшний день компьютеры проникли во все сферы деятельности человека, начиная с начального образования и заканчивая изучением новейших технологий,...
-
В процессе анализа элементной базы и существующих устройств был выбран алгоритм работы схемы, подобранна элементная база и разработаны соответствующие...
-
Тема: "Основные устройства ЭВМ, их функции и взаимосвязь в процессе работы. Магистрально - модульный принцип построения ПЭВМ" Цель урока: Объяснить...
-
Архитектура фон Неймана - Характеристика, классификация и принцип работы центральных процессоров
Большинство современных процессоров для персональных компьютеров в общем основаны на той или иной версии циклического процесса последовательной обработки...
-
Упpавление памятью, Что такое виpтуальная память? - Операционная система Linux
В этой главе pассматpиваются возможности упpавления памятью системы Linux, то есть виpтуальная память и дисковый буфеp. Здесь описаны назначение и...
-
Центральные процессоры - Характеристика, классификация и принцип работы центральных процессоров
Центральный процессор (ЦП, или центральное процессорное устройство -- ЦПУ; англ. central processing unit, CPU, дословно -- центральное обрабатывающее...
-
Обозначенные условия определяют работу по внедрению многопоточных средств в модели параллельного программирования С общей памятью с использованием...
-
Концентраторы вместе с сетевыми адаптерами, а также кабельной системой представляют тот минимум оборудования, с помощью которого можно создать локальную...
-
Обзор протокола Multi-Touch технологий передачи данных TUIO [7] - основной кроссплатформенный протокол с открытым исходным кодом Multi-Touch передачи...
-
Система мониторинга социальных сетей предоставляет исследователю возможность собрать интересующие его упоминания в социальных сетях по какой-либо...
-
В настоящее время систем видеонаблюдения на рынке продается очень много, и обычно бывает очень сложно принять правильное решение, выбрать нужное решение....
-
SIW (System Information for Windows) -- это условно-бесплатная утилита, которая предоставляет пользователям мощный и простой в использовании инструмент...
-
Объектом автоматизации сайта "вопрос-ответ" является предметная область "Проектирование информационных систем". Основное назначение сайта "вопрос-ответ"...
-
Для обеспечения эффективного управления активами коммерческой организации необходимым условием является наличие оперативной и достоверной информации и...
-
Принципы работы мостов - Построение локальных сетей по стандартам физического и канального уровней
Алгоритм работы прозрачного моста Прозрачные мосты незаметны для сетевых адаптеров конечных узлов, так как они самостоятельно строят специальную адресную...
-
В среде электронного ресурса ИИС "MD_SLAGMELT" (Рис. 6) для доступа к компоненту "моделирование" необходима учетная запись (пара логин/пароль) (Рис.7)....
-
Процесс перезагрузки может быть достигнут путем прекращения работы системы, выключения питания и включения снова. Более простой способ - это указать...
-
Методы разработки вычислительной сети: 1. Экспериментальный метод - персонал предприятия закупает "новинки" рынка компьютерной техники. Такой метод -...
-
Корпуса и маркировка, Логическая организация памяти - Аппаратные средства IBM PC
Элементы динамической памяти для персональных компьютеров бывают конструктивно выполнены либо в виде отдельных микросхем в корпусах типа DIP (Dual In...
-
Оперативная память Оперативная память (RAM - Random Access Memory память со случайным доступом) - это массив кристаллических ячеек, способных хранить...
-
Корпоративная интеграционная подсистема на базе IBM WebSphere Business Integration Message Broker [28] отвечает за выстраивание корпоративной...
-
ВВЕДЕНИЕ - Анализ средств защиты информации в ЛВС
Вопрос защиты информации поднимается уже с тех пор, как только люди научились письменной грамоте. Всегда существовала информация, которую не должны знать...
-
Следующей задачей было изучение литературы по теме и ее анализ. Для этого использовались публикации из российских источников с целью учета особенностей...
-
Основные принципы Первая и главная идея, лежащая в основе объектно-ориентированного подхода такова: программная система представляется в виде множества...
-
Системный подход к анализу информационной сферы предприятия Сущность системного подхода может быть определена путем обобщения его свойств и...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Управляющим компонентом многих СУБД является ядро, выполняющее следующие функции: Хоменко А. Д. Основы современных компьютерных технологий /А. Д....
-
SAP HANA - это гибкий многоцелевой и независимый от источника данных программный комплекс на базе технологии "in-memory", который объединяет компоненты...
-
Принципы работы служб прикладного уровня - Компьютерные сети
Сетевая служба - это набор функций, которые уровень выполняет для вышележащего уровня (например, коррекция ошибок). Набор свойств и функций, которыми...
-
Принцип работы коммутатора, Маршрутизатор - Архитектура локальных компьютерных сетей
Коммутатор хранит в памяти таблицу коммутации (хранящуюся в ассоциативной памяти), в которой указывается соответствие MAC-адреса узла порту коммутатора....
-
Описание исходных данных На текущий момент (в силу большой загрузки IT-отдела) не реализован доступ к серверу с ХД, маркетинговые данные выгружаются в...
-
Вирусы и антивирусное программное обеспечение
Реферативная часть Что такое вирус? Один из известных "докторов" Д. Н Лозинский дал определение вируса на примере клерка. Представим себе аккуратного...
-
В рамках выпускной квалификационной работы из всех возможных бизнес-процессов предприятия было принято решение рассматривать только внутренний...
-
При внедрении СЭД необходимо придерживаться следующих основных принципов: *активное участие высшего руководства Заказчика в решении организационных...
-
Фирма Advanced Micro Devices (AMD), как уже говорилось, начала производство микропроцессоров с выпуска дешевых аналогов процессоров 80386 и 486SX фирмы...
-
Шина - это кабель, состоящий из множества проводников. По одной группе проводников - шине данных передается обрабатываемая информация, по другой - шине...
-
КР580ИР82 представляет собой 8-разрядный буферный регистр, предназначенный для ввода и вывода информации со стробированием. Микросхема имеет восемь...
Анализ принципа работы БП адаптера связи ОП - Работка буферной памяти адаптера связи