Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
po_chapter1_281209.pdf
Скачиваний:
16
Добавлен:
11.05.2015
Размер:
1.47 Mб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ» (ТГПУ)

А.П. Клишин

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ

Учебное пособие

2006

А.П. Клишин

Программное обеспечение ЭВМ: Учебное пособие. Томск: Томский государственный педагогический университет, 2006. 125 с.

Рецензент: д.ф.-м.н., профессор Горчаков Л.В.

© А.П. Клишин,

2006.

© Томский государственный

 

педагогический университет,

2006.

 

CДЕРЖАНИЕ

 

Лекция 1. Введение в программное обеспечение…………………...

3

Лекция 2. Языки программирования…………………………………

13

Лекция 3.

Прикладное программное обеспечение…………………..

17

Лекция 4.

Введение в архитектуру ПЭВМ…………………………..

23

Лекция 5.

Операционная система MS DOS………………………….

56

Лекция 6.

Операционная система MS DOS. Загрузка………………

64

Лекция № 1. Введение в программное обеспечение

Терминология

Программа, программное обеспечение (ПО), системное программное обеспечение (СПО)

1.1. Основные понятия курса программное обеспечение

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

Определение 1. Программа – упорядоченная последовательность команд (инструкций) компьютера для решения определенных задач пользователя.

Определение 2. Программное обеспечение – совокупность программ обработки данных и необходимых для их эксплуатации документов (анг. software).

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

По функциональному назначению ПО можно разделить на 2 класса:

1.системное программное обеспечение (сокр. СПО)

2.прикладное ПО – (сокр. ППО)

Определение 3. Системное программное обеспечение (анг. System Software) – совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ.

Определение 4. Прикладное программное обеспечение (анг. Application program package, APP) – комплекс взаимосвязанных программ для решения определенного класса задач в конкретной предметной области.

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

3

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

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

По назначению различают системное и прикладное программирование. Языки программирования также в свою очередь подразделяются на системные и прикладные языки программирования. Таким образом, системное программное обеспечение создается с помощью системного языка программирования за счет использования специальных приемов – системного программирования. Тоже самое верно и для прикладного программного обеспечения.

Определение 6. Язык программирования. Система обозначений,

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

Языки программирования подразделяются:

1.системные языки программирования

2.прикладные языки программирования

1.2. Системное программное обеспечение

Рис. 1. Классификация Системного программного обеспечения.

Назначение СПО:

4

для создания операционной среды функционирования других программ;

для обеспечения надежной и эффективной работы компьютера;

для проведения диагностики (тестирования) и профилактики аппаратуры

для выполнения вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ)

Программы СПО различаются по функциональному назначению и характеру исполнения. Базой в СПО являются операционные системы. Примерный состав СПО:

ОС (операционная система);

системы программирования (трансляторы, редакторы связей, загрузчики, отладчики);

утилиты (вспомогательные программы);

ассемблеры (машинные языки и машинные системы программирования);

средства сетевого доступа;

СУБД (система управления базами данных).

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

Определение. OC.

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

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

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

1)Распределение физических и логических ресурсов ЭВМ.

2)Загрузка программ в память и обеспечение их выполнения.

3)Организация и хранение информации в ЭВМ, поддержка файловой системы.

4)Обработка данных с помощью программ на ЭВМ.

5

5)Защита информации в ЭВМ, распределение прав пользователя (файловая система).

6)Интерфейс пользователя. (Командный и графический,

программный). Функции операционной системы:

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

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

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

управление файлами; основными задачами при этом являются обеспечение защиты, управление выборкой и сохранение секретности хранимой информации.

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

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

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

Классификация ОС:

По количеству одновременно выполняемых заданий:

Однозадачные;

Многозадачные.

От количества пользователей:

Однопользовательские;

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

переносимые ОС;

непереносимые ОС;

по отношению к сети:

сетевые ОС;

несетевые ОС.

Системы программирования

6

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

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

Самостоятельные СП являются системами общего назначения. Они могут быть организованы как программные комплексы с автономными компонентами или как интегрированные СП. Вызов каждого автономного компонента осуществляется посредством указаний на языке ОС или специальном командном языке, например языке Makefile в ОС UNIX. По этой причине автономные компоненты СП часто называют инструментами командной строки.

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

Встроенная СП является составной частью некоторого программного комплекса. Такие СП широко применяются в следующих пакетах: СУБД (системах управления базами данных), пакетах прикладных программ. В процессе развития СУБД их системы программирования постепенно приобрели черты классической СП, способной создавать, отлаживать и объединять отдельные модули, а также формировать программу, выполняемую независимо от СУБД. Таким образом, развитие языков программирования и программных сервисных средств привело к сближению СП и СУБД. Поэтому в последнее время интегрированные СП и СУБД со встроенными СП часто называют средами разработки прикладных программ. Для OC Windows к таким средам относят C++, Java, Delphi, Visual Studio (Visual Basic, C#) и др.

Рассмотрим назначение основных компонент СП на примере фрагмента жизненного цикла программы на ЭВМ.

Состав системы программирования:

трансляторы,

редакторы связей,

загрузчики,

отладчики.

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

7

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

Определение. Транслятор – пакет системных программ (программа) предназначенных для преобразования программ написанных на языках программирования в программы на машинном языке.

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

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

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

Примеры компиляторов: Turbo Pascal, C, C++, Fortran, Delphi, VC, C#.

Ассемблер это компилятор для языка ассемблера.

Инкрементный транслятор – предназначен для повторной трансляции фрагментов программы и дополнений к ней без повторной трансляции всей программы. ИТ удобен в совокупности с отладчиком.

Компилятор переднего плана – переводит программу на промежуточный машинно-независимый язык. Позволяет сохранять промежуточную программу.

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

Макрогенератор – препроцессор для ассемблера. Переводит программу с макроязыка на язык ассемблера.

Кросскомпилятор – транслируя программу на одной машине (платформе), формирует объектный код для другой машины (платформы).

Компилятор-компиляторов – переводит формальное описание языка программирования в транслятор для этого языка.

Детранслятор – восстанавливает программу на языке программирования по ее эквиваленту на языке машины.

Дисассемблер – детранслятор для языка ассемблера.

8

Вобщем случае работа компилятора состоит из четырех основных фаз:

1.Лексический анализ – на основе исходного модуля идентифицируются различные символы и классифицируются на ключевые слова, числовые значения и т.д.

2.Синтаксический анализ – определяются синтаксические соотношения ключевых слов, и строится структурный фундамент программы.

3.Генерация объектного модуля, который соответствует структуре разобранной компилятором программе.

4.Оптимизация объектного модуля с целью повышения эффективности работы.

Интерпретатор – программа, которая воспринимает входную программу на исходном языке и выполняет ее (он не порождает объектного кода и этим отличается от компилятора).

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

Примеры интерпретаторов: Basic, VBasic1-6

Объектный модуль нельзя выполнить на компьютере без дополнительной обработки. Обработку (редактирование) ОМ осуществляет редактор связей.

Определение. Редактор связей – системная обрабатывающая программа, редактирующая и объединяющая объектные модули в единые загрузочные модули, готовые к выполнению.

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

Загрузка, настройка и инициализация проводится при помощи программы

загрузчика.

9

Определение. Загрузчик – системная программа, выполняющая функции редактора связи и программы выборки.

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

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

Функции (базовые) программы отладчика:

1)пошаговое исполнение

2)остановка в заранее определенной точке программы

3)остановка в заранее определенной точке программы от условий пользователя

4)выдача пользователю значений переменных программы с возможностью их исправления.

Современные отладчики обеспечивают работу “в терминах исходной программы”, что означает привязку всех отладочных действий (по ходу выполнения программы) к исходному тексту. Для этого компилятор может включать в объектную программу специальные отладочные таблицы.

Cостав современной системы программирования:

компилятор;

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

отладчик;

средства оптимизации кодов программ;

набор штатных библиотек (подпрограмм);

редактор связи;

сервисные средства (утилиты);

справочные системы;

документация дополнительная – система управления и поддержки проекта.

Определение. Утилиты – представляют собой программы, служащие для выполнения вспомогательных операций на ЭВМ.

Типы утилит:

1)программа архивирования – упаковщики – позволяют за счет методов сжатия информации уменьшать размер файла (создавать файлы архивов);

2)антивирусные программы;

10

3)программа для диагностики ЭВМ (поиск неисправности);

4)программа для оптимизации устройств (акселераторы, ускорители) оптимизации дисков;

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

Примеры программ:

Программы настройки и оптимизации операционной системы: Norton Utilities, System Utilities, Sandra, System Mechanic. Архиваторы: WinRar, WinZip, ZipMagic, WinAce. Антивирусные средства: Drweb, Avp.

Программы для работы с изображением: ACDSee, Acrobat Reader. Программы для работы со звуковыми треками: Winamp, AudioCatalist Audiograbber, Exact Audio Copy. Программы для записи информации на оптические диски: Nero Burning Rom, Easy CD Creator. Программы для работы с Internet и электронной почтой: EtypeDialer, Get Right, The Bat!, Ace FTP, Opera, ICQ.

Ассемблеры – язык программирования, относящийся к классу машинных ориентированных языков.

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

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

типы данных;

способами адресации данных в программах;

множеством операций выполняемых компьютером;

способами управления работой компьютера.

Машинный ориентированный язык – язык программирования,

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

Средства сетевого доступа

11

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

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

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

Примеры программ клиентов: Internet Explore, Netscape Navigator,

клиенты БД.

Примеры программных серверов: Windows 2003, MS SQL, почтовый сервер, файловый сервер, сервер печати и т. д..

Система управления базами данных

Система управления базами данных (СУБД) - это сложная программная система накопления и последующего манипулирования данными. Каждая СУБД предоставляет интерфейс с базой данных и может располагать средствами непосредственного доступа к последней ее пользователей. Общая архитектура СУБД представлена на рис. 2.

Определение. Система управления базами данных СУБД (анг. DBMS database management system) – система программного обеспечения,

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

12

Рис. 2. Архитектура системы управления базами данных.

С помощью языка описания данных создаются описания элементов и записей данных, а также взаимосвязей между ними. Для выполнения операция с базой данных (например, выборка или обновление) в прикладных программах используется язык манипулирования данными. Фактическая структура физического хранения данных известна только СУБД.

Пример. Oracle, Informix, Foxpro, Access, MS SQl, mySql.

Определение. База данных в строгом смысле это файл данных, для определения и обращения к которому используются средства СУБД.

Лекция № 2. Языки программирования

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

Задача (Task problem), задача, решаемая на ЭВМ.

Приложение – (Application) –программная реализация на компьютере решения задач.

Технология программирования – это технология отладки, разработки, верификации и внедрения программного обеспечения.

Инструментарии системного программирования (ИТП) – программные продукты для поддержки технологии.

Средства для создания приложения (локальные средства).

Интегрированные средства разработчиков программ IDE.

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

Классификация языков программирования

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

13

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

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

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

Традиционно языки программирования классифицируют по уровню. На нижних уровнях располагаются машинно-ориентированные языки, на верхних – машинно-независимые.

Машинные языки – языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды).

Машинно-ориентированные языки – языки программирования,

которые отражают структуру конкретного типа компьютера (ассемблеры).

Машинно-независимые языки называют языками высокого уровня.

Определение. Язык программирования высокого уровня – это язык, в

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

Языки программирования высокого уровня делят на:

процедурные;

непроцедурные.

Процедурные языки – это языки для записи алгоритмов, т. е. алгоритмические языки, с помощью которых программист указывает компьютеру, что и как нужно сделать для решения задачи. Эти языки предназначены для описания процедуры решения задачи. Среди процедурных языков можно выделить группу универсальных языков (C, C++, PASCAL, Ада).

Примеры процедурных ЯП.

Машинный код (двоичное, 8-ное, 16-ное представление данных и команд)

Ассемблер – символическое представление кода

Макроассемблер = Ассемблер + макроязык

Fortran (1954) – транслятор формул

Algol (1960) – ALGOrithmic Language

14

Basic (1964) – (Beginner’s All-purpose Symbolic Instruction Code) –

язык для начинающих (интерпретатор входных операторов)

Cobol (1965) – язык для обработки коммерческой информации

Algol-68 (1968) – ALGOrithmic Language – универсальный язык-ядро

PL/1 (1969) – Program Language 1 – универсальный язык-оболочка

Pascal (1970) – классический язык структурного программирования Н. Вирта

Ada (1979) – универсальный язык реального времени (создан по заказу Минобороны США) и назван в честь Августы Ады Лавлейс (дочери Байрона), которая была ассистентом Чарльза Бэббиджа и считается первым в мире программистом.

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

языки СУБД;

объектно-ориентированные языки;

функциональные языки;

Логические языки;

языки веб-программирования.

Функциональные ЯП

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

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

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

Примеры: Функциональные ЯП.

Lisp (1959) – LISt Processing – обработка списков Рефал (~1975)

Рекурсивных Функций Алгоритмический язык (отеч. разработка)

Логические ЯП

В1973 впервые опубликовано описание языка PROLOG (Programming in Logicпрограммирование в терминах логики). Центральным понятием является отношение. Программа представляет

15

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

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

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

Примеры ООЯ: C++, Delphi, Smalltalk, Visual Basic, C#.

Развитие парадигмы ЯП

I. Символические обозначения операций (60 гг.) – обработка чисел –

Fortran.

II. Структурное программирование (70 гг.) – обработка чисел и текста –

Pascal.

III.Функциональное и логическое программирование (80 гг.) – формулы, предикаты, отношения, списки – Prolog.

IV. Объектно-ориентированное программирование (90 гг.) – графика, видео, сети – С++, Java.

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

16

несопоставимое со временем их разбора. Было создано достаточно большое количество таких языков, перечислим основные:

Язык JavaScript был создан в компании Netscape Communications в качестве языка для описания сложного поведения веб-страниц. Интерпретируется браузером во время отображения веб-страницы. По синтаксису схож с Java и (отдаленно) с C/C++. Имеет возможность использовать встроенную в браузер объектную функциональность, однако подлинно объектно-ориентированным языком не является.

VBScript был создан в корпорации Microsoft во многом в качестве альтернативы JavaScript. Имеет схожую область применения. Синтаксически схож с языком Visual Basic (и является усеченной версией последнего). Так же, как и JavaScript, исполняется браузером при отображении веб-страниц и имеет ту же степень объектно-ориентированности.

Perl создавался в помощь системному администратору операционной системы Unix для обработки различного рода текстов и выделения нужной информации. Развился до мощного средства работы с текстами. Является интерпретируемым языком и реализован практически на всех существующих платформах. Применяется при обработке текстов, а также для динамической генерации веб-страниц на веб-серверах.

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

-

Лекция 3. Прикладное программное обеспечение

17

Рис. 3. Классификация прикладного программного обеспечения.

Прикладное программное обеспечение (ППО) – комплекс взаимно связанных программ для решения определенного класса задач конкретной предметной области.

В настоящее время ППО оформляется в виде пакетов, библиотек ППО. Приведем основные типы пакетов прикладных программ:

1. проблемно-ориентированные;

2.общего назначения;

3.ППП автоматизации проектирования;

4.программные средства мультимедиа;

5.интеллектуальные системы;

6.настольные издательские системы.

Проблемно-ориентируемые пакеты – набор программ ориентируемых на решение определённых научных задач, проблем.

1.автоматизация и управление процессом;

2.для анализа экспериментальных данных;

3.пакеты для математических расчетов;

4.пакеты машинной графики;

5.САПРы – системы автоматизированного проектирования;

6.для моделирования процессов;

7.экспертные системы.

3.1. Пакеты для автоматизации

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

18

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

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

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

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

Считывание с внешних стандартных цифровых входов цифровой информации (цифровой ввод).

Посылка цифровых кодов на внешние устройства (цифровой вывод).

Точный отсчет временных интервалов в одном или нескольких независимых устройствах (таймирование).

Для реализации перечисленных операций необходимо использовать

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

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

Отметим современные тенденции на рынке ПО: прикладные пакеты реализуются в виде прикладных информационных систем.

Анализ экспериментальных данных

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

представление данных;

изменение параметров сигналов;

19

предварительная обработка и фильтрация;

спектральных анализ и идентификация процессов;

классификация, статистических анализ.

3.2. Пакеты прикладных программ общего назначения

Пакеты общего назначения направлены в первую очередь на конечного пользователя. Далее приводятся основные типы пакетов общего назначения:

1)настольные СУБД, обеспечивающие организацию и хранение локальных баз данных. Используются на автономно работающих компьютерах. Access, FoxPro.

2)Серверы баз данных, предназначенные для создания и использования при работе в сети интегрированных баз данных, функционирующих в клиент-серверной архитектуре. Серверы БД всю обработку выполняют самостоятельно, используя язык SQL, поддерживают протоколы: IPX, TCP/IP, X.25.

3)Текстовые процессоры – поддерживают автоматизированное создание и формирование текстовых документов.

4)Табличный процессор – удобная среда для вычисления и обработки числовых наборов данных.

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

6)Интегрированные пакеты – набор нескольких программных продуктов, функционально дополняющих друг друга,

реализованные на общей операционной основе. Примерный состав интегрированного пакета:

1.СУБД;

2.текстовый редактор;

3.табличный процессор;

4.органайзер;

5.средства поддержки электронной почты;

6.графический редактор.

Интегрированные пакеты эффективны при работе в сети, или в компаративной организации.

Программные средства мультимедиа

Основное назначение программных продуктов мультимедиа – создание и использование аудио- и видео-информации для расширения информационного пространства пользователя. Используются в сфере обучения, библиотечного и информационного обслуживании, организации досуга.

20

Примеры: проигрыватели музыкальных форматов, видео-форматов; программы для создания видео-клипов, звуковые редакторы, видеоредакторы.

Пакеты для математических расчетов

Программное обеспечение для проведения математических расчетов можно условно разделить на три основные категории:

1.универсальные библиотеки программ для математических расчетов;

2.специализированные пакеты для решения конкретных математических задач;

3.специализированные системы для статистического анализа, решения дифференциальных уравнений и т.д.;

4.декларативные языки и системы для математических вычислений;

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

Общие возможности математических пакетов

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

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

Графические возможности пакетов

Современные пакеты прикладных программ содержат встроенные средства построения 2-х, 3-х графиков в различных системах координат (декартовой, полярной, цилиндрической, сферической и т. д.). Графики, диаграммы можно дополнительно настраивать (форматировать).

21

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

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

Общие требования к функциональной части пакета:

членами библиотеки подпрограмм должна быть перекрыта вся область возможных запросов пользователя;

подпрограммы должны дополнять друг друга не конкурируя;

пакет должен содержать классификатор задач и схемы выбора модулей;

при необходимости пользователь должен иметь возможность составить и применить вспомогательные процедуры.

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

Пример. Пакеты: Mathematica, Maple, MathCad, Derive.

Пакеты компьютерной графики

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

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

загрузка, модификация и запоминание данных;

выбор параметров графического образа;

наложение текста на графический образ;

редактирование графического образа;

служебные функции.

Пример. Adobe Photoshop - приложение для обработки графических образов (пакет растровой графики). Сorel Draw – пакет векторной графики.

Системы автоматизированного проектирования

22

Существующие системы автоматизированного проектирования (САПР) можно разделить на несколько категорий и по областям применений, и по уровню возможностей

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

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

Пример. Система автоматизированной разработки чертежей; AUTOCAD.

Экспертные системы

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

ееу пользователя.

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

23

Лекция 4. Введение в архитектуру ПЭВМ

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

Система – совокупность взаимосвязанных элементов объединенных в единое целое, для достижения результатов определяемых ее назначением.

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

Функция системы – представляет собой целевое назначение и включает в себя поведение системы без относительно составляющих ее элементов и связей.

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

Комплекс –система элементов в их взаимосвязи.

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

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

4.1.Элементы современных представлений об архитектуре ПЭВМ

Под архитектурой понимают следующее:

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

24

интерфейса, организации памяти и системы адресации, операций вводавывода и управления и т. д.

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

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

В контексте разработки вычислительной системы и проектирования

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

Аппаратные средства – это, как правило, запоминающие устройства

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

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

А теперь приведем более детальное описательное определение понятия архитектуры, которое, более подходит к требованиям предъявляемым к учебному процессу:

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

структурную схему ЭВМ;

средства и способы доступа к элементам структурной схемы ЭВМ;

организацию и разрядность интерфейсов ЭВМ;

набор и доступность регистров;

организацию и способы адресации памяти;

способы представления и форматы данных ЭВМ;

набор машинных команд ЭВМ;

25

форматы машинных команд;

обработку нештатных ситуаций (прерываний).

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

Все современные ЭВМ обладают некоторыми общими и индивидуальными свойствами архитектуры. Индивидуальные свойства присущи только конкретной модели компьютера и отличают ее от больших и малых собратьев. Наличие общих архитектурных свойств обусловлено тем, что большинство типов существующих машин принадлежат 4 и 5 поколениям ЭВМ, так называемой фон-неймановской архитектуры. К числу общих архитектурных свойств и принципов можно отнести:

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

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

Линейное пространство памяти – совокупность ячеек памяти,

которым последовательно присваиваются номера (адреса) 0, 1, 2,....

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

С точки зрения процессора, нет принципиальной разницы между данными и командами. Данные и машинные команды находятся в одном пространстве памяти в виде последовательности нулей и единиц. Это свойство связано с предыдущим. Процессор, исполняя

26

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

Безразличие к целевому назначению данных. Машине все равно,

какую логическую нагрузку несут обрабатываемые данные.

4.2.Основные принципы архитектурного строения ПЭВМ

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

Решение задач на ЭВМ обеспечивается благодаря наличию

аппаратного (hard ware) и программного (soft ware) обеспечения ЭВМ. В

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

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

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

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

a)аппаратура, суть технические элементы (процессор, модули памяти и т.д.);

b)архитектура, – как система элементов и структура и характеристики которых доступны пользователю;

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

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

Первый принцип. Модульность – подразумевает строение ПЭВМ из унифицированных модулей блоков (блоки, модули рассматриваются как

27

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

1.Физическая совместимость – означает стандартизацию входных и выходных сигналов, унификацию конструкторско-технологической базы ЭВМ.

2.Информационная совместимость – означает использование общих принципов кодирования, адресации, форм и форматов представления данных.

3.Программная совместимость – означает, что программа,

составленная для одного блока, может поддерживаться и на других.

Практически это достигается использованием единой понятной для всех модулей системой команд.

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

Третий принцип. Микропрограммирование.

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

28

4.3. Функциональная схема ПЭВМ

Основные этапы ЭВМ по обработке информации:

ввод данных;

сохранение данных;

выборка переработка данных, включая математические расчеты и другие функциональные преобразования;

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

Указанные операции определяют основные устройства ЭВМ (Рис. 1).

Рис. 1. Обобщенная функциональная схема ЭВМ.

Центральной частью в ЭВМ является процессор (анг. processor – помощник, работник) –устройство, которое осуществляет основные операции по обработке данных в ЭВМ. Назовем основные устройства процессора: арифметико-логическое устройство (АЛУ), устройство управления (УУ), микропроцессорная память (МПП).

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

Данные (операнды) с которыми оперирует команда АЛУ, поступают в нее из оперативно запоминающего устройства (ОЗУ). Оно называется

29

оперативным, потому что скорость выборки из него данных или посылки в него результатов происходит в темпе работы АЛУ, т.е. в соответствии с режимом выполнения машинной одной операции за один рабочий такт. Для выполнения машинной операции АЛУ должно быть настроено именно на выполнение этой операции, а ОЗУ должно получить указание какие операнды необходимо переслать в АЛУ (откуда их взять), и куда принять результат (указать ячейку-регистр).

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

Вычислительный процесс представляется в ЭВМ программой

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

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

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

Обработка данных в процессоре

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

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

Важнейшие технические параметры процессора:

разрядность;

тактовая частота;

адресное пространство.

Разрядность процессора

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

30

процессором, образуют машинное слово, которое имеет длину 8, 16, 32, 64 двоичных разрядов (бит). Размер машинного слова (число одновременно обрабатываемых бит) – называется разрядностью процессора. Процессор, который обрабатывает восьмиразрядные машинные слова, называют 8-ми разрядным, 16 соответственно – 16 разрядным. Чем больше разрядность процессора, тем больше информации он может обработать в единицу времени, тем выше его производительность.

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

тактовая частота процессора. Выполнение короткой команды

(арифметической или логической), обычно занимает пять тактов:

выборка команды;

расшифровка операции;

генерация адреса и выборка данных из памяти;

выполнение операции;

запись результата в память.

Чем выше частота – тем быстрее выполняется команда, тем выше быстродействие ЭВМ.

Пример:

Intel 8088 – 4,77 МГц – 0,33 млн.оп/сек. Pentium III – 800 МГц – 300 млн.оп/сек.

Адресное пространство

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

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

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

31

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

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

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

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

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

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

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

32

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

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

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

Устройства вывода информации обеспечивают (представляют)

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

4.4. Основная память

Оперативная память (ОЗУ) –оперативно запоминающее устройство

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

ОЗУ строится из блоков одинакового размера, которые называются ячейки памяти. В свою очередь ячейка памяти состоит из элементов памяти, которые могут, находится в двух состояниях – установлен (тогда говорят, что элемент хранит 1 ) и сброшен (тогда говорят, что элемент хранит 0). Совокупность нулей и единиц, хранящаяся в элементах одной ячейки, определяет содержимое ячейки памяти. Ячейки памяти нумеруются числами 0,1,2,3 …, которые называют адресами ячеек.

Информационная емкость. Информационная емкость памяти выражается в количестве битов, байтов или слов. Приведем основные единицы измерения емкости:

1

бит (б) – минимальная емкость (минимальная порция информации).

1

байт (Б) – 8 бит.

 

1

Килобайт (КБ), 210

=1024 Б= 210 23 б = 213 =8192 б.

1

Мегабайт (МБ), 210

=1024 КБ = 210 210 б = 220 =1048676 б = 220 23 = 8388608 б.

1

Гигабайт (ГБ), 210 =1024 МБ = 210 210 КБ = 220 =1048676 КБ =

230 =1073741824 Б = 230 23 б.

1

Килобайт (КБ), 1000 б.

1

Мегабайт (МБ), 1000 КБ 1 000 000 б.

1

Гигабайт (ГБ), 1000 МБ 1 000 000 КБ 1 000 000 000 б.

33

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

Рис. 2. Организация памяти с 16 – разрядными словами. Жирным шрифтом обозначены номера байтов, обычным номера битов в 16-разрядном слове.

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

Оперативная память (ОП) – это совокупность ОЗУ, объединенных в одну систему, управляемую процессором.

В настоящее время для обеспечение гибкости ЭВМ применяется принцип блочного построения ОП. На основе блоков 128 и 256 Кслов можно построить ОП любой емкости. ОП заданной емкости, составленная из нескольких блоков ОЗУ, называется многоблочной ОП. Адрес ячеек многоблочной ОП содержит адрес блока и адрес ячейки памяти в заданном блоке ОЗУ.

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

34

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

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

Из микросхем, памяти (RAM – Random Access Memory, память с произвольным доступом) используются два основных типа: статическая

(SRAM – Static RAM) и динамическая (DRAM – Dynamic RAM).

Рассмотрим понятия статической и динамической памяти. Рассмотрим группу ячеек памяти с последовательными номерами: Аб, Аб+1, Аб+2, Аб+3, …. Аб+n, в которой будем хранить массив значений некоторой переменной. Длина массива рана n+1, данные рассматриваются как массив ячеек памяти с базовым адресом Аб (Рис. 3).

Рис. 3. Выделение в памяти массива ячеек длиной (n+1) и базовым адресом

Aб.

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

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

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

35

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]