Смекни!
smekni.com

Ответы на вопросы по курсу “Системное программирование” (стр. 2 из 7)

Системные особенности архитектур ЭВМ. Примеры эволюции современных ВК – IBM 370, PDP11/VAX, Intel 80X86, RISC.

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

Единая система электронных вычислительных машин (ЕС ЭВМ, аналог IBM 370) представляет собой семейство программно-совместимых машин третьего поколения. Каждая и машин семейства состоит из :

- процессора;

- оперативной памяти;

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

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

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

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

Машины имеют большие наборы команд, развитое системное программное обеспечение, включающее трансляторы языков программирования Ассемблер, ФОРТРАН, ПЛ/1, КОБОЛ, АЛГОЛ, ПАСКАЛЬ, операционные системы с различными функциональными возможностями.

Основная особенность управляющих вычислительных машин типа PDP-11 заключается в том, что взаимодействие между всеми устройствами, входящими в состав комплексов , включая процессор , и оперативным запоминающим устройством ( ОЗУ ) осуществляется при помощи единого унифицированного интерфейса, получившего название "Oбщая шина" ( ОШ ). Oбщая шина является каналом, через который передаются адреса, данные, управляющие сигналы на все устройства комплекса, включая процессор и память. Физически ОШ представляет собой высокочастотную магистраль передачи данных, состоящую из 56 линий.

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

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

VAX – 11 – более развитая машина, чем PDP-11. Это 32-битовая машина с адресным пространством свыше 4Г. Она по архитектуре похожа на PDP-11, но имеет 2 шинных адаптера – адаптер общей шины и адаптер массовой шины. Все совместимые с общей шиной периферийные устройства могут быть подключены к ней, тогда как высокоскоростные устройства могут быть подключены к массовой шине через собственные контроллеры. VAX – сокр. от английских слов “виртуальное адресное расширение”, т.е. машина имеет виртуальную память и многозадачность.

Обычно персональные компьютеры IBMPC состоят из трех частей : - системного блока;

- клавиатуры;

- дисплея.

Системный блок содержит все основные узлы компьютера :

- электронные схемы, управляющие работой компьютера (микропроцессор, оперативная память, контроллеры устройств и т.д.);

- блок питания;

- накопители для гибких магнитных дисков;

- накопитель на жестком магнитном диске.

К системному блоку можно подключить ряд дополнительных устройств ввода - вывода. Кроме клавиатуры и монитора такими устройствами являются:

- принтер - для вывода на печать текстовой и графической информации;

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

- стример - для хранения данных на магнитной ленте;

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

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

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

Состояния “установлен” и “сброшен” соотв. 2 цифрам двоичной системы счисления, фундаментальной для ЭВМ. Эти цифры называются битами. Двоичное кодирование – представление данных последовательностью битов. При двоичном кодировании числовой информации степень двойки при каждой двоичной цифре на единицу больше, чем у предшествующей цифры. Пример конструкции двоичного кода: 1012=(1*22)+(0*21)+(1*20)=510.

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

Числами с плавающей точкой называются числа вида x=M*Pq, где М – мантисса, P – порядок, q – основание системы счисления. Нормализованная форма таких чисел:

M – дробное, |M| < 1.

Q – фиксировано.

P – целое число со знаком.

В машине в двоичных кодах хранится M и P. Порядок, как правило, выравнивается, т.е. приводится к большему по модулю порядку, путем сдвига мантиссы вправо с меньшим порядком на кол-во разрядов, равное (Pmax-Pmin)log2Q.

Правила арифметических и логических операций с элементарными типами данных.

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

При работе с плавающими числами следует иметь в виду, что результат не полностью соответствует арифметике действительных чисел. Диапазон представления чисел: -1*Qp<x<1*Qp. Для этих чисел понятие абсолютной точности заменяется на понятие относительная точность – это минимальное число x, при котором R*(1+x) будет иметь другой код, чем число R. Потеря точности связана с ситуацией поглощения меньших операндов большими, которая в свою очередь связана с фиксированным размером мантиссы. Способ увеличения точности – увеличение размера мантиссы (числа одинарной, двойной, повышенной точности в языках высокого уровня). При программировании операций с плавающей точкой многих проблем можно избежать, если правильно подобрать необходимые программисту типы данных в зависимости от размерности и точности предполагаемо обрабатываемых вещественных чисел. Некоторые ситуации приводят к ошибкам обработки таких чисел:

а) Поглощение меньших операндов большими.

б) Ситуация потери точности (lostprecision). Данный эффект проявляется, когда вычитаются 2 почти одинаковых числа.

в) Ситуация переполнения. В результате операции порядок превышает максимально допустимое значение.

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

д) Потеря значимости – если мантисса стала равна нулю при ненулевом порядке.

Представление нечисловой информации. Текстовые данные, символьные коды ASCII, EBSDIC, UNICODE. Особенности кодирования русского алфавита.

Любой текст представляет собой послдовательность литер 0..9 A..Za..z А..Я а..я. Набор литер весьма широк за счет наличия национальных языков. Первые машины имели алфавит только из цифр и латинских букв. Эти литеры образовали набор символов ASCII, EBSDIC. В этих кодировках общее количество символов не превышает 128 (7 бит).

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

Способы представления текста

Фиксированная длина - |_|_|_|_|_|_|_|.

ASCIIZ - |_|_|_|_|_|_|0|. Конец такой строки обозначает зарезервированный символ (не печатаемый). Получила широкое распространение благодаря языку C.

Variable Lenght - |x|_|_|_|_|_|. Строка содержит длину и последовательность байтов этой длины. Распространено в языке PASCAL.

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

Расширение ASCII – испольование 8 бита, теперь можно кодировать 256 символов;

UNICODE – использование 7 битов, но более чем 1 символа кодировки для представления большего количества литер (например для совместимости с сетями, отсекающими 8-й бит при передаче).

В настоящее время почти повсеместно используется 8-битовое кодирование символов. Кодовая таблица – графическое представление символов, по которым можно определить код. Проблемы при представлении русского алфавита - а) необходимость сортировки по кодам; б) при этом надо оставить на старых местах символы рисования рамок и заполнения (псевдографики) для совместимости с иностранными программами. Русская кодировка – основная ГОСТ – имела расположение символов по алфавиту, но в ней были смещены символы псевдографики. В настоящее время исп. альтернативная кодировка ГОСТ – в ней псевдографика оставлена на старом месте, но малые буквы русского алфавита разорваны (160-175, 224-239, 240-241). Это немного затрудняет сортировку – единственный недостаток. Кроме того, есть и другие кириллические кодировки – MIC, КОИ-8, ISO-8859, т.п.