- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.1. Физическое устройство и разумная деятельность мозга
- •§2. Самодостаточная эвм
- •2.1. Память (оперативная память)
- •2.2. Процессор
- •2.3. Программа
- •2.4. Жизненный цикл «Самодостаточной эвм»
- •§3. Язык процессора – базовый язык эвм
- •§4. Реальная эвм. Периферийные устройства
- •§5. Язык программирования. Программа транслятор
- •§6. Язык программирования Pascal
- •6.1. Базовые типы числовых информационных объектов
- •6.2. Явные константы
- •6.3. Оператор описания var
- •Var и1, и2, и3, . . . . ,Иn: Итипа;
- •6.5. Операторы консольного ввода информации
- •6.5.1. Стандартные форматы вывода числовой информации.
- •6.6. Логические переменные
- •6.7. Операторы управления программой
- •6.7.1. Условный оператор if then
- •If Условие then Оператор ;
- •6.7.2. Условный оператор выбора if then else
- •6.8. Метки операторов. Оператор безусловного перехода
- •6.9. Циклические вычисления. Операторы зацикливания
- •Организация циклических вычислений операторами if then goto
- •Программа вычисления корня по формуле Герона.
- •6.9.3. Оператор цикла for to
- •6.9.4. Оператор цикла for downto
- •6.9.5. Оператор цикла while
- •6.9.6. Программа вычисления длины дуги кривой
- •7. Массивы переменных
- •7.1. Программа нахождения экстремальных значений
- •7.2. Программа решения системы линейных алгебраических уравнений
- •8. Сортировка информации
- •8.1. Элементы формальной логики, теории множеств и операций
- •8.2. Упорядоченные структуры информационных объектов
- •8.3. Алгоритм сортировки «поплавок»
- •8.3.1. Программа сортировки массива «на месте»
- •8.3.2. Программа сортировки «индексов» массива
- •8.4. Алгоритм быстрого поиска информации в линейно упорядоченном массиве
- •8.4.1. Программа поиска в отсортированных массивах.
- •9. Символьные переменные
- •9.1.Строковые переменные
- •9.1.1. Программа написания чисел прописью
- •10. Клавиатурное управление эвм
- •§.11. Информационные объекты класса – изображение
- •11.1. Устройство функционированиемонитора
- •11.2. Процедурный язык управления графическим экраном
- •11.3. Оцифровка и масштабирование реальных изображений (чертежей) для последующего их вывода на экран
- •11.4. Пример построения фрагмента графика функции
- •11.5. Ввод и обработка информации в форме изображений
- •§12. Информационные объекты класса – подпрограммы
- •12.1. Подпрограммы типа procedure
- •12.1.1. Пример оформления подпрограммы-процедуры
- •12.2. Подпрограммы класса function
- •12.2.1.Пример оформления подпрограммы-функции
- •12.3. Процедурные языки программирования
- •12.4. Библиотечные модули Unit
- •§13. Динамическое распределение оперативной памяти эвм
- •13.1. Программа использующая динамические переменные
- •§14. Переменные типа record
- •§15. Внешняя память эвм. Работа с файлами
- •15.1. Процедурный язык обработки файлов
- •15.2.Программа “ Жизненный путь файла “
- •15.3. Текстовые файлы
- •§16. Элементы объектно-ориентированного программирования
- •Основная рекомендуемая литература.
11.1. Устройство функционированиемонитора
Как и все перифирийные устройства монитор контактирует с «само- достаточной ЭВМ» через общий, т.е. доступный ему и центральному процессору, фрагмент оперативной памяти. Поскольку объем этого фрагмента весьма велик, его обычно называют не портом, а буфером экрана.
Буфер экрана содержит в строгом порядке числовые коды цветов всех цветовых точек (пикселей), которые заполняют экран в установленном графическом режиме. Упорядоченность размещения кодов соответствует структуре растрового изображения, т.е. коды составляют числовую матрицу (NxNy), которая размещается в линейной оперативной памяти построчно.
Выводы:
Адрес буфера экрана стандартен для заданной конструкции ЭВМ,
Размер буфера экрана зависит от выбранного графического режима,
Местоположение в матрице (а значит и в линейной оперативной памяти) числового кода-цвета любого пикселя, просто вычисляется по задаваемым значениям (ix, iy) и известным (Nx, Ny). Если Ab –адрес начала буфера экрана, то адрес Ap –байта содержащего цвет пикселя с координатами вычисляется по формуле Ap= Ab+ ix+ iy Nx.
Опр. Адаптер перифирийного устройства – специальный процессор, работающий в автономном режиме и обслуживающий само периферийное устройство.
Адаптер экрана, 25 раз в секунду, просматривает (построчно прочитывает) содержимое буфера экрана и выводит на экран цветовые точки, в соответствии прочитанным цветовым кодам.
Для изменения видимого изображения на экране, центральный процессор должен разместить в нужных местах буфера экрана – нужные коды цветов. Таким образом: техника выполнения компьютерного изображения соответствует не привычным приемам рисования или черчения, а скорее напоминает выкладывание мазаики из разноцветных квадратиков одного размера.
Важно: чтобы обеспечить всего одну секунду изображения на экране в режиме SVGA адаптер монитора должен обработать содержимое более чем 80060025107 байт!
Поскольку производительности адаптора и центрального процессоров сопоставимы, а эти устройства работают автономно (независимо друг от друга), но с одним и тем же фрагментом оперативной памяти, то возникает коллизия: пока адаптер читает информацию, центральный процессор вынужден находиться в состоянии ожидания, и наоборот, когда процессор вносит в буфер новые данные (или читает из буфера ранее внесенную информацию) вынужден простаивать адаптер. «Стоимость временных затрат» на каждое такое ожидание ОГРОМНА = 0.04 секунды: если «непродуманно» изменять цвет всего у 100 пикселей (а это соответствует написанию всего одной заглавной буквы), то этот процесс может занять целых четыре секунды!
Проблема синхронизации адаптера и процессора решена на схемотехническом уровне: буфер экрана разделен на несколько фрагментов (называемых цветовыми слоями), доступ к которым независим. Пока адаптер считывает один цветовой слой, центральный процессор, без всякого ожидания, вносит информацию в другие цветовые слои. Сложности возникают при программировании:
программисту необходимо самому разделять коды цветов на составляющие – слои,
программисту необходимо самому определять цветовой слой, который доступен в данный момент времени.