Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика

.pdf
Скачиваний:
70
Добавлен:
13.05.2015
Размер:
7.46 Mб
Скачать

ряде регистра состояния.

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

Каждому порту соответствует свой номер (адрес). В «Е97» из шестнадцати возможных используются следующие порты:

0- порт состояния клавиатуры (только чтение);

1- порт данных клавиатуры (только чтение);

2- порт состояния дисплея (только чтение);

3- порт данных дисплея (только запись).

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

Вот как может выглядеть правильная программа вывода одиночного символа из R0 на дисплей (именно так она реализована в ПЗУ «Е97»):

0А21 порт2=>R1

Е401 сравнить с 0 R1b

2DFA если 0, PC - 6 (к повторению проверки) 0В03 R0 => порт 3

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

Обратите внимание на команду с «короткой константой» 0, которая обязательно должна проверять знаковый разряд младшего байта, а не всего слова в целом.

Мы подробно рассмотрели программирование процедуры вывода символа; ввод осуществляется совершенно аналогично.

4.5. ПРИМЕРЫ ПРОГРАММ

Пример 1. Вычислить полную поверхность параллелепипеда со сторонами А, В и С. Считать, что исходные значения находятся в ячейках ОЗУ. Результат также поместить в ячейку памяти.

Решение. Полная поверхность параллелепипеда вычисляется по формуле

S=2*(A*B+A*C+B*C)

Для упрощения программы выражение удобно представить в виде S = 2 * [А * (В + С) + В *

С]

Программа 134

0000

01ЕО

(22) => R0

В => R0

0002

0022

 

 

 

 

0004

0101

R0

=> Rl

В => Rl

0006

02Е0

R0

+ (24) => R0

В + С

0008

0024

 

 

 

 

000А

05Е0

R0

* (20) => R0

A * (В + С)

000С

0020

 

 

 

 

000Е

05Е1

Rl * (24) => Rl

В * С

0010

0024

 

 

 

 

431

0012

0210

R0 + Rl => R0

A * (В + С) + В * С

0014

0200

R0 + R0 => R0

2 * [A * (В + С) + В * С]

0016

010Е

R0 => (26) результат => S

0018

0026

 

 

001A

0F00

останов

 

……….

 

 

 

0020

0002

А

 

0022

0003

В

 

0024

0004

С

 

0026

0034

S

 

Примечание. Не забывайте, что ответ 34 в памяти ЭВМ представлен в шестнадцатеричной системе. В десятичной, как и положено, получится 52.

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

Решение. Главная «хитрость» решения состоит в том, чтобы понять, чем отличаются заглавные буквы от строчных. Для этого из таблицы ASCII, приведенной в главе 1, выберем наугад одну из букв и выпишем в двоичном виде коды заглавного и строчного символов. Например, для буквы R получим

R 0101 0010 r 0111 0010

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

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

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

1101 1111 =DF,

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

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

Программа 135

0000

0E6D

26 => SP

установка указателя стека

0002

0026

 

 

 

0004

9C0D

вызов п/п 40FE

ввод символа (без эхо-печати!)

0006

40FE

 

 

 

0008

0101

R0 => Rl

сохранить введенный символ

000A

07D0

DF and R0 => R0

сделать букву заглавной

000C

00DF

 

 

 

000E

9C0D

вызов п/п 4088

вывести результат

0010

4088

 

 

 

0012

0F00

останов

 

 

Пример 3. Найти максимум из трех чисел, находящихся в регистрах Rl, R2 и R3. Переписать наибольшее из них в R0.

Решение. Сначала максимальное из чисел в Rl и R2 занесем в R0. После этого, если R3 окажется больше R0, «исправим положение», переписав в качестве ответа R3.

 

Программа 136

 

 

0000

0412

сравнить R2 с Rl

 

0002

3D04

если < 0, то РС=РС+4

к записи Rl (к 0008)

0004

0120

R2 => R0

запомнить R2

432

0006

1D02

РС=РС+2

обход второй ветви (к 000A)

0008

0110

Rl => R0

запомнить Rl

000A

0403

сравнить R3 с R0

 

000C

3D02

если < 0, то РC=РС+2

к выходу (к 0010)

000E

0130

R3 => R0

запомнить R3

0010

0F00

останов

 

Пример 4. Найти сумму первых 100 натуральных чисел.

Говорят, такую задачу некогда решил в уме юный Гаусс, когда учился в школе. Мы будем решать задачу «в лоб», т.е. честно суммировть с помощью компьютера. Решение. Поместим в R3 обрабатываемое в данный момент число N (меняется от 1 до 100), а в R0 - результирующую сумму S. Зададим им начальные значения и будем циклически добавлять к S текущее значение N. Признаком окончания цикла будет ситуация, когда N > 100.

Программа 137

0000

2113

1 => R3

1

=> N

0002

2100

0 => R0

0

=> S

0С04

0230

R0

+ R3 => R0

 

S = S + N

0006

2213

R3

+ 1 => R3

N=N+1

0008

04D3

сравнить R3 с 100

 

сравнить N и 100

000A

0064

 

 

 

 

000C

6DF6

если ≤0, то PC=PC+F6

если N≤100,

 

 

к повторению (000E + FFF6 = 0004)

000E

0F00

останов

 

 

Пример 5. Вывести на экран весь латинский алфавит от А до Z. Решение. Разместим в RO выводимый латинский символ, первоначальное значение которого будет «А» (код 65 = 41h). Вывод будем осуществлять обращением к соответствующей подпрограмме ПЗУ. Для перехода к следующему символу алфавита достаточно прибавить 1 к коду текущего символа (очень похоже на переход к следующему числу в предыдущем примере). Остается только проверить, не выходит ли вновь полученный символ за латинский алфавит, т.е. не превышает ли его код 5Ah («Z»), и, если ответ будет «да» (превышает), то закончить процедуру.

Программа 138

 

 

0000

0E6D

26 => SP

установка указателя стека

0002

0026

 

 

0004

01D0

41 => R0

код первого символа

0006

0041

(«А»)

 

0008

9C0D

вызов п/п 4088

вывод символа

000А

4088

 

 

000С

2210

R0 + 1 => R0

следующий символ

000Е

04D0

сравнить R0 с 5А его код ≤ «Z»?

0010

005А

(«Z»)

 

0012

6DF4

если ≤0, то PC=PC+F4

к повторению (0008)

0014

0F00

останов

 

Пример 6. В памяти, начиная с адреса 001А, хранится некоторый текст, длина которого равна 15 (Fh) байтам Определить номер первого, совпадающего с образцом, символа в тексте. При отсутствии требуемого символа результат равен 0 (это практически полный аналог функции POS в Паскале).

Решение Поместим в R1 счетчик символов, в R2 - адрес текущего символа. Затем будем сравнивать каждый символ текста с образцом в R0 и в случае совпадения прервем выполнение цикла. При несовпадении будем продолжать цикл до теx пор, пока счетчик не превысит Fh, т.е. не

433

станет равным 10h Если цикл завершится по выполнении этого условия, то символ-образец найти не удалось и в качестве ответа в R1 следует занести 0.

Программа 139

0000

 

2111

1 => R1

 

номер символа

0002

 

01D2

1А => R2

 

адрес начала текста

0004

 

001А

 

 

 

 

 

 

 

 

0006

 

С460

сравнить R0b с (R2)b

сравнить символ с образцом

0008

 

5D0C

если = 0, то РC=РС+2

выход при совпадении (к 0016)

000А

2211

R1 + 1 => R1

 

увеличить номер символа

000С

2212

R2 + 1 => R2

 

вычислить следующий адрес

000Е

04D1

сравнить R1 с 10

текст не закончился?

0010

 

0010

 

 

 

 

 

 

 

 

0012

 

4DF2

если ≠ 0, то PC=PC+F4

нет - к повторению (к 0006)

0014

 

2101

0 => R1

 

при отсутствии символа - 0

0016

 

0F00

останов

 

 

 

 

 

0018

 

0000

 

 

 

 

 

 

 

 

001А

4854

«ТН»

текст

 

 

 

 

001С

5349

«IS»

«THIS IS MY TEXT»

001E

4920

«I»

 

 

 

 

 

0020

 

2053

«S »

 

 

 

 

 

0022

 

594D

«MY»

 

 

 

 

 

0024

 

5420

«Т»

 

 

 

 

 

0026

 

5845

«EX»

 

 

 

 

 

0028

 

0054

«Т»

 

 

 

 

 

 

 

4.6. НЕКОТОРЫЕ СПРАВОЧНЫЕ ДАННЫЕ ПО Е-97

 

 

 

А. Система команд процессора

 

 

 

 

 

 

 

 

 

 

 

МОД

КОП

ОП1

 

 

ОП 2

 

Пояснения

 

 

 

 

 

 

 

 

 

 

 

 

Х

0

X

 

 

X

Нет операции

 

Х

1

X

 

 

X

оп l => oп 2

 

Х

2

X

 

 

X

oп 2 + oп 1 => oп 2

 

Х

3

X

 

 

X

oп 2 – oп l =>oп 2

 

Х

4

X

 

 

X

oп 2 + oп 1 (сравнить)

 

Х

5

X

 

 

X

oп 2 * oп l => oп 2

 

Х

6

X

 

 

X

oп 2/oп l => oп 2

 

X

7

Х

 

 

Х

оп 2 AND oп 1 => oп 2

 

X

8

Х

 

 

Х

oп 2 OR oп l => оп 2

 

X

9

Х

 

 

Х

oп 2 XOR oп l => oп 2

 

X

А

Х

 

 

Х

порт! => oп 2

 

X

В

Х

 

 

Х

oп 1 => порт 2

 

X

С

Х

 

 

Х

Переход по адресу

 

X

D

X

 

 

Х

Переход по смещению

 

X

Е

*

 

 

Х

(Одноадресные операции)

 

X

F

X

 

 

Х

Останов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МОД

КОП

 

ОП1

 

Пояснения

 

 

 

 

 

 

 

 

 

 

 

 

Х

Е1

 

Х

 

NOT oп l

 

 

 

 

 

 

 

 

 

 

 

 

 

434

 

 

 

Х

 

 

 

Е2

 

 

 

Х

 

оп 1 => стек

 

 

 

 

Х

 

 

 

ЕЗ

 

 

 

Х

 

стек => oп l

 

 

 

 

Х

 

 

 

Е4

 

 

 

Х

 

SP + oп l => SP

 

 

 

 

Х

 

 

 

Е5

 

 

 

Х

 

SP – oп 1 => SP

 

 

 

 

Х

 

 

 

Е6

 

 

 

Х

 

Oп 1 => SP

 

 

 

 

Х

 

 

 

Е7

 

 

 

Х

 

SP => oп l

 

 

 

 

Х

 

 

 

Е8

 

 

0

 

PS => стек

 

 

 

 

Х

 

 

 

Е9

 

 

0

 

стек => РS

 

 

 

 

Х

 

 

 

ЕА

 

 

 

X

 

Сдвиг влево oп l

 

 

 

 

Х

 

 

 

ЕВ

 

 

 

X

 

Сдвиг вправо oп l

 

 

 

 

Х

 

 

 

ЕС

 

 

 

X

 

Арифметический сдвиг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вправо oп l

 

 

 

 

Б. Двоичные коды модификатора МОД для переходов

0000

-

возврат из подпрограммы

 

 

 

 

 

 

 

 

0001

-

безусловный переход

 

 

 

 

 

 

 

 

0010

-

N=0 (>=0)

 

 

 

 

 

 

 

 

 

 

 

 

0011

-

N=l (<0)

 

 

 

 

 

 

 

 

 

 

 

 

0100

-

Z=0 (<>0)

 

 

 

 

 

 

 

 

 

 

 

 

0101

-

Z=l (=0)

 

 

 

 

 

 

 

 

 

 

 

 

0110

-

N=1 or Z=l (<=0)

 

 

 

 

 

 

 

 

 

0111

-

N=0 and Z=0 (>0)

 

 

 

 

 

 

 

 

 

1001

-

вызов подпрограммы.

 

 

 

 

 

 

 

 

 

 

 

 

В. Важные кочанды с «короткой константой»

 

XX 10 0001 0000 ХХХХ

-

очистить oп l

 

 

 

 

ХХ 10 0010 0001 ХХХХ

-

+1 в оп 1

 

 

 

или

XX 11 0010 0001 ХХХХ

-

****

 

 

 

 

 

 

ХХ 10 0011 0001 ХХХХ

-

-1 из oп l

 

 

 

 

 

 

 

 

XX 10 0100 0000 ХХХХ

-

сравнить 0 с oп 1

 

 

 

 

XX 11 0101 0001 ХХХХ

-

*(-1) оп1

 

 

 

 

ХХ 10 0111 0001 ХХХХ

-

oп l MOD 2 = => oп l

 

 

 

 

 

 

 

 

 

 

Г. Кодирование операндов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0000

 

R0

 

 

 

1000

 

 

резерв

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

01

 

 

R1

 

 

 

01

 

 

резерв

 

2

10

 

 

R2

 

 

 

10

 

 

резерв

 

3

11

 

 

R3

 

 

 

11

 

 

резерв

 

4

0100

 

(R0)

 

 

 

 

1100

 

 

резерв

 

5

01

 

 

(R1)

 

 

 

 

01

 

 

константа

 

6

10

 

 

(R2)

 

 

 

 

10

 

 

адрес ОЗУ

 

7

11

 

 

(R3)

 

 

 

 

11

 

 

резерв

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Контрольные вопросы и задания

1.Назовите основные функциональные устройства учебного компьютера «Е97» и охарактеризуйте их назначение.

2.Какие виды памяти существуют в «Е97» и как они адресуются?

435

3.Сопоставьте адресацию к байтам и к словам. Какие вам удалось заметить различия?

4.В ОЗУ, начиная с адреса 300, хранятся следующие байты: 00, 01, 02, 03. Какое слово будет прочитано по адресу 302?

5.В ОЗУ начиная с адреса 300 хранятся слова 0102 и 5301. Совпадают ли находящиеся в адресах 301 и 302 байты?

6.Что такое BIOS и какова его роль в современном компьютере? Знаете ли вы название фирмы, написавшей BIOS для вашего компьютера?

7.Какие значения получат управляющие признаки, если результат операции получится равным 1?0?

8.Какие внутренние регистры содержит учебный процессор «Е97» и каково их назначе-

ние?

9.Из каких частей состоит полная команда «Е97»?

10.Какие форматы может иметь команда «Е97»? Приведите примеры команд на каждый из

форматов.

11.Напишите программы вычисления нескольких арифметических выражений.

12.Чем различаются переходы с кодами С и D и как они работают?

13.Если рассмотренную в одном из примеров команду 1D06 поместить в ячейку с адресом не 42, а 4Е, то какая команда будет выполняться следующей?

14.Каково должно быть смещение в команде перехода к адресу 56, если сама команда имеет адрес 4Е? 5Е?

15.Какие значения может принимать модификатор в командах перехода и что они обозна-

чают?

16.Напишите программу, которая переписывает в R3 наименьшее из чисел, хранящихся в регистрах R1 и R2.

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

18.Как процессор обращается к подпрограмме и выходит из нее обратно?

19.Какие операции можно делать с указателем стека?

20.Чем отличаются сдвиги с кодами операций ЕВ и ЕС? Приведите пример, когда эти различия незаметны.

21.Какие методы адресации реализованы в «Е97»? Приведите по два-три примера на каждый из них.

22.Как кодируются следующие операнды: R2? (R3)? константа 345? ячейка 66?

23.Объясните, как будет выполняться команда 0572 и какие значения требуется знать, чтобы предсказать ее результат.

24.Чем различается выполнение команд 0301 и 0345?

25.Изменится ли значение регистра R0 при выполнении команды 0Е14?

26.Сколько слов занимает команда (40) - (50) Ю (40) и как она кодируется?

27.Как записывается команда, умножающая на 3 содержимое ячейки 50?

28.Какой командой можно присвоить регистру R2 некоторое значение?-

29.Что такое «короткая константа» и когда она бывает полезна?

30.Для команд 25АЗ и 3653 напишите эквивалентные, используя метод адресации констант по счетчику команд.

31.Почему среди списка полезных команд с «короткой константой» нет умножения на 2?

32.Подробно объясните с точностью до бита кодировку команды С470. ,,

33.Что такое порт ввода-вывода?

34.Как называются порты, имеющиеся у каждого из внешних устройств «Е97»?

35.Перечислите все известные вам порты ввода-вывода, реализованные в учебном компьютере «Е97». и их номера.

36.Каков стандартный алгоритм обмена процессора с внешним устройством? Какую роль играет в нем бит готовности?

37.По аналогии с приведенной в тексте программой вывода символа на дисплей, напишите самостоятельно программу ввода символа с клавиатуры. Не забудьте организовать при этом «эхопечать», т.е. вывести принятый с клавиатуры символ.

436

§ 5. ВНЕШНИЕ УСТРОЙСТВА ЭВМ: ФИЗИЧЕСКИЕ ПРИНЦИПЫ И ХАРАКТЕРИСТИКИ

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

5.1. ВНЕШНИЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА

Внешние запоминающие устройства (ВЗУ) обеспечивают долговременное хранение программ и данных. Наиболее распространены следующие типы ВЗУ: накопители на магнитных дисках (НМД); их разновидности - накопители на гибких магнитных дисках (НГМД) и накопители на жестких магнитных дисках (НЖМД); накопители на магнитных лентах (НМЛ); накопители на оптических дисках (НОД).

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

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

Накопители на магнитных дисках включают в себя ряд систем:

электромеханический привод, обеспечивающий вращение диска;

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

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

электронный блок управления и кодирования сигналов.

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

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

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

Дискета - гибкий тонкий пластиковый диск с нанесенным (чаще всего на обе стороны) магнитным покрытием, заключенный в достаточно/тверды и - картонный или пластиковый - конверт для предохранения от механических повреждений. Информация на диск наносится вдоль концентрических окружностей - дорожек. Каждая дорожка разбита на несколько секторов (обычно 9 или 18) - минимально возможных адресуемых участков. Стандартная емкость сектора - 512 байт. На двухсторонней дискете две одинаковые дорожки по обе стороны диска образуют цилиндр. Процедура разметки нового диска - нанесение секторов и дорожек -называется форматированием. Иногда приходится прибегать к переформатированию диска, на котором уже есть информация; последняя в таком случае практически обречена на уничтожение.

Тип дискеты обычно указывается на ее конверте: DS (double side) - двухсторонняя;

DD (double density) - двойной плотности;

HD (high density) - высокой плотности.

Возможны сочетания типа DS/DD, DS/HD и др.

Стандартные размеры (диаметры) дискет 133 мм (5,25 дюйма; постепенно выходят из экс-

437

плуатации) и 89 мм (3,5 дюйма). Появились, но пока не получили широкого распространения, дискеты диаметром 51 мм.

Важнейшая, с точки зрения пользователя, характеристика дискеты - информационная емкость. Чаще всего она находится в диапазоне от одного до полутора мегабайт, хотя созданы дискеты с емкостью до 10 Мбайт. Специальные дискеты для резервного копирования (так называемые Zip-диски, для работы с которыми нужны особые дисководы) имеют емкость 100 Мбайт и более. Другие важнейшие характеристики - скорость доступа к определенному участку информации и скорость записи или считывания информации - определяются не столько самой дискетой, сколько возможностями НГМД. Доступ к информации осуществляется за время в диапазоне от 0,1 с до 1 с (что очень велико по сравнению с другими типами дисководов), скорость чтения/записи порядка 50 кбайт/с, что по современным представлениям весьма немного.

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

всем профессиональным характеристикам жесткие диски (и соответствующие накопители) значительно превосходят гибкие: емкость от 20 Мбайт до 10 Гбайт (реально диски с емкостью меньшей, чем 1 Гбайт, давно не выпускаются), время доступа к конкретной записи в диапазоне от 1 до 100 миллисекунд (мс), скорость чтения/записи порядка 1 Мбайта/с. Скорость вращения дисков велика, обычно 3600 об/мин, что и обеспечивает относительно короткое время доступа. Однако, жесткий диск не предназначен для транспортировки информации, и это не позволило накопителям на жестких дисках вытеснить НГМД.

Первые накопители на оптических дисках появились в начале 70-х годов, но широкое распространение получили значительно позже. Существует несколько разновидностей оптических дисков, предназначенных для устройств, допускающих только чтение (CD-ROM, т.е. Compact Disk Reed Only Memory - компакт-диск только для чтения), для устройств, допускающих хотя бы однократную запись информации на рабочем месте пользователя и для устройств, позволяющих, подобно накопителям на магнитных дисках, многократную перезапись информации. CD-ROM диск, запись на который производится один раз при его создании и не может быть изменена, представляет собой прозрачную поликарбонатную (вид стекла) пластинку, одна сторона которой покрыта тончайшей алюминиевой пленкой, играющей роль зеркального отражателя, поверх которой нанесен защитный слой лака. Информация на ней представляется подобно тому, как на старых граммофонных пластинках - чередованием углублений и пиков, однако не в аналоговом, а в цифровом (двоичном) коде. Этот рельеф создается при производстве механическим путем (контактом с твердой пластинкой - матрицей). Информация наносится вдоль тончайших дорожек (радиальная плотность записи более 6000 дорожек/см, что в несколько десятков раз больше, чем для гибкого диска). Считывание информации осуществляется путем сканирования дорожек лазерным лучом, который по-разному отражается от углублений и пиков (по этому отражению восстанавливается записанный двоичный код). Вдоль дорожек оптического диска со скоростью 200 - 500 раз в минуту пробегает лазерный луч. При создании дисков, позволяющих вести многократную перезапись, доминирует магнито-оптический принцип (CD-МО диски). В основу положен следующий физический принцип: коэффициент отражения лазерного луча от по-разному намагниченных участков диска с особым образом нанесенным магнитным покрытием различен. Таким образом запись на МО-диски магнитная, а считывание - оптическое (лазерным лучом).

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

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

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

438

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

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

5.2. УСТРОЙСТВА ВВОДА ИНФОРМАЦИИ

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

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

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

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

Большинство клавиатур имеют стандартные группы клавиш:

клавиши пишущей машинки - для ввода букв, цифр и других знаков;

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

•функциональные клавиши Ft - F12 (иногда их меньше), назначение которых задает разработчик прикладной программы;

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

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

В состав стандартного оснащения современного персонального компьютера входит мышь - устройство ввода и управления. Конструктивно это коробочка с выступающим внизу шариком, который, поворачиваясь, вращает взаимно перпендикулярные колесики. Благодаря наличию в них специальных прорезей оптическая система мыши способна отслеживать и преобразовывать движение шарика в перемещение курсора на экране компьютера. Две или три клавиши на верхней стороне мыши позволяют отдавать многочисленные команды, определяемые текущей программой. То же делает «перевернутая мышь» - шар (trackball), который монтируется в корпус компьютера или клавиатуры.

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

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

439

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

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

Не так давно появились средства речевого ввода, которые позволяют пользователю вместо клавиатуры, мыши и других устройств использовать речевые команды (или проговаривать текст, который должен быть занесен в память в виде текстового файла). Возможности таких устройств достаточно ограничены, хотя они постоянно совершенствуются. Проблема не в том, чтобы записать речь, подвергнуть ее дискретизации и ввести коды в компьютер (при современном уровне техники это несложно), а чтобы распознать смысл речи и представить ее, например, в текстовой форме, допускающей последующую компьютерную обработку. Например, программа «Kurzweil Voice 1.0 for Windows» обеспечивает распознавание (на английском языке) всех речевых команд для навигации в среде «Windows», а в режиме диктовки текста способна распознать до 40 тысяч слов, произносимых в среднем для человека темпе речи (требуя, однако, не менее 16 Мбайт ОЗУ и не менее 50 Мбайт на винчестере лишь для самой себя). Многие специалисты связывают с прогрессом устройств речевого ввода будущее компьютерной техники, считая такие устройства ведущими элементами ее интеллектуализации.

5.3. УСТРОЙСТВА ВЫВОДА ИНФОРМАЦИИ

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

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

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

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

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

440

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