Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Полный текст учебника.docx
Скачиваний:
28
Добавлен:
17.04.2019
Размер:
10.83 Mб
Скачать

Цифровые каналы связи

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

Перед вводом в такой канал аналогового сигнала он оцифровывается — преобразуется в цифровую форму: каждые 125 мкс (частота оцифровки обычно равна 8 кГц) текущее значение аналогового сигнала отображается 8-разрядным двоичным кодом. Скорость передачи данных по базовому цифровому каналу, таким образом, составляет 64 Кбит/с; но путем некоторых технических ухищрений несколько цифровых каналов можно объединять в один (мультиплексировать), то есть создавать более скоростные каналы. Простейшим мультиплексированным цифровым каналом является канал со скоростью передачи 128 Кбит/с. Более сложные каналы, мультиплексирующие, например 32 базовых канала, обеспечивают пропускную способность 2048 Мбит/с.

Наиболее распространенной и активно развивающейся в настоящее время является цифровая сеть с интеграцией услуг — ISDN (Integrated Services Digital Network), опирающаяся на цифровые абонентские каналы.

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

Вопросы для самопроверки

1. Поясните назначение: сервера, рабочей станции, сетевого компьютера.

2. Что такое: коммутатор, маршрутизатор?

3. Поясните основные методы коммутации.

4. Поясните методы маршрутизации, применяемые в КС.

5. Поясните основные методы адресации компьютеров.

6. Дайте характеристику аналоговых и цифровых модемов.

7. Назовите и поясните основные виды линий связи.

9. Дайте общую характеристику аналоговым каналам связи.

10. Дайте общую характеристику цифровым каналам связи.

Раздел 5. Программное управление Глава 18. Программное управление — основа автоматизации вычислительного процесса После изучения главы вы должны знать:

  • -способы изображения алгоритмов решения задач,

  • -классификацию алгоритмических языков программирования,

  • -состав и структуру машинных команд,

  • -пример программы на языке символического кодирования,

  • -режимы работы компьютеров и их классификацию,

  • -систему и виды прерываний программ в ПК,

  • -адресацию регистров МПП,

  • виды адресации ячеек основной памяти,

  • -состав системного программного обеспечения,

  • -состав прикладного программного обеспечении,.

  • -назначение и состав прикладных программ для офиса,

  • -виды и назначение пакетов корпоративных прикладных программ.

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

Алгоритмы и языки программирования

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

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

Основными свойствами правильно построенного алгоритма являются:

  • Результативность — алгоритм должен давать конкретное конструктивное решение, а не указывать на возможность решения вообще;

  • Релевантность — алгоритм должен соответствовать сущности задачи и формировать верные, не допускающие неоднозначного толкования решения;

  • Реалистичность — возможность реализации алгоритма при заданных ограничениях: временных, программных, аппаратных;

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

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

  • дискретностьдопустимость расчленения алгоритма на отдельные этапы с возможностью последовательной их реализации на машине;

  • экономичность — алгоритм должен обеспечивать необходимую и достаточную точность решения задачи.

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

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

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

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

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

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

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

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

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

Процедурно-ориентированные и проблемно-ориентированные языки относятся к языкам высокого уровня, использующим макрокоманды. Макрокоманда при трансляции генерирует много машинных команд: для процедурно-ориентированной макрокоманды это соотношение в среднем «1 к десяткам машинных команд», а для проблемно-ориентированной команды это «1 к сотням машинных команд». Процедурно-ориентированные языки программирования являются самыми используемыми (Basic, Pascal, C++, PL, ALGOL, COBOL и еще десятки популярных языков). В этом случае программист должен описывать всю процедуру решения задачи, тогда как проблемно-ориентированные языки (их называют также непроцедурными) позволяют лишь формально идентифицировать проблему и указать состав, структуры представления и форматы входной и выходной информации для задачи.

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

Трансляторы бывают двух типов: трансляторы-компиляторы и трансляторы-интерпретаторы.

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

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

Итак, алгоритм непосредственно воспринимается и исполняется компьютером, если он представлен в двоичном коде на машинном языке.

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

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

Машинная команда состоит из двух частей: операционной и адресной.

КОП

Адреса

Операционная часть команды (КОП — код операции) — это группа разрядов в команде, предназначенная для представления кода операции машины.

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

По количеству адресов (а1, а2, а3, ), записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные.

  • Типовая структура трехадресной команды:

КОП

а1

а2

а3

а1 и а2 — адреса ячеек (регистров), где расположены, соответственно, первое и второе числа, участвующие в операции, а3 — адрес ячейки (регистра), куда следует поместить число, полученное в результате выполнения операции.

  • Типовая структура двухадресной команды:

КОП

а1

а2

а1 — это обычно адрес ячейки (регистра), где хранится первое из чисел, участвующих в операции, и куда после завершения операции должен быть записан результат операции; а2 — обычно адрес ячейки (регистра), где хранится второе участвующее в операции число.

  • Типовая структура одноадресной команды:

КОП

а1

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

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

Наибольшее применение в ПК нашли двухадресные команды.

Пример двухадресной команды, записанной на языке символического кодирования (ЯСК):

СЛ

0103

5102

Эту команду следует расшифровать так: СЛожить число, записанное в ячейке 0103 памяти, с числом, записанным в ячейке 5102, а затем результат (то есть сумму) поместить в ячейку 0103.

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