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

Рис. 9.4. Преобразование видеоинформации при выводе

  на экран и при сканировании

Изучение архитектуры ЭВМ на учебных моделях. Основные идеи архитектуры ЭВМ были сформулированы в конце 40-х гг. XX в. Джоном фон Нейманом. Эти идеи принято называть принципами Неймана. К их числу относятся:

1) состав устройств и структура однопроцессорной ЭВМ;

2) использование двоичной системы счисления в машинной арифметике;

3) адресуемость памяти ЭВМ;

4) хранение данных и программ в общей памяти ЭВМ;

5) структура машинной команды и состав системы команд процессора;

6) цикл работы процессора (алгоритм выполнения программы процессором).

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

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

НЕ нашли? Не то? Что вы ищете?

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

Было бы слишком сложно в рамках базового курса изучать эти вопросы в полном объеме на примере реальной ЭВМ. Поэтому в ряде учебников информатики используется следующий методический прием: рассматривается некоторая упрощенная модель реального компьютера. Будем называть такую модель учебным компьютером (УК). К числу таких моделей относятся: «Кроха» из учебника и др. [12], «Малютка» из учебника [2]; ToyCom из пакета учебного ПО фирмы БИТ. В учебниках [15] и [14] также рассматривается упрощенная модель работы процессора с архитектурой типа PDP-11. Учебный компьютер с архитектурой процессора типа Intel описан и реализован [3]. В учебнике . [6] введена модель учебного компьютера, которая носит название «Нейман». Этим названием авторы хотели подчеркнуть тот факт, что архитектура данной модели полностью соответствует принципам Неймана. Для любого варианта учебных компьютеров можно предложить общую методическую схему их использования в базовом курсе информатики.

1. Определить назначение учебного компьютера.

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

2. Определить структуру оперативной памяти. Например:

— В УК «Малютка» память содержит 256 12-разрядных ячеек; адреса ячеек изменяются от 0 до FF (в шестнадцатеричной системе).

— В УК «Нейман» объем памяти — 256 байт; память делится на 64 ячейки по 4 байта (32-разрядные); адреса ячеек изменяются с шагом 4: 0, 4, 8, С, ..., FC.

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

4. Описать структуру команды процессора.

Всякая машинная команда состоит из двух частей: кода операции (КОП) и адресной части.

коп

Адресная часть

В машинной команде может содержаться следующая информация:

1) какая выполняется операция;

2) какие используются операнды;

3) куда поместить результат операции;

4) какую команду выполнять следующей.

Ответ на вопрос 1 задается кодом операции — КОП. Ответы на вопросы 2—4 чаще всего определяются указанием адресов памяти, где хранятся операнды, куда помещается результат, где хранится следующая исполняемая команда.

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

КОП

Адрес



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

Команды УК «Нейман» имеют трехадресную структуру.

коп

А1

А2 

A3

Каждая часть команды занимает 1 байт. Во всех командах используется прямая адресация памяти: Al, A2, A3 — адреса ячеек ОЗУ. В арифметических командах Al, A2 — адреса операндов, A3 — адрес результата. В команде пересылки А1 — адрес исходного слова, A3 — адрес пересылки. Затем выполняется команда из следующей ячейки. В командах управления A3 — адрес следующей исполняемой команды.

5. Описать систему команд.

Согласно принципам Неймана в систему команд процессора должны входить следующие типы команд:

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

— команды внутренней пересылки данных: позволяют перемещать полностью машинные слова или байты из одного места памяти в другое;

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

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

Таблица 9.3

Система команд СМ «Малютка» (шестнадцатеричное представление)

КОП

Вид команды

Операция

Пояснение

0

Пересылка из ОП в сумматор

(а) => $

1

Пересылка из сумматора в ОП

($) => а

А

Аа

Сложение сумматора с содержимым ячейки ОП

($)+(а) => $

В

Ва

Умножение сумматора на содержимое ячейки ОП

($)*(а) => $

4

Безусловная передача управления на ячейку ОП

а=>СчК

D

Da

Передача управления на ячейку ОП, если содержимое сумматора меньше или равно 0

С

С0

Вывод содержимого сумматора на табло в формате целых чисел

3

30

Смена знака сумматора

- ($) => $

F

F0

Останов машины

В табл. 9.3 запись «а» и «$» обозначает адрес ячейки и «адрес» сумматора. Запись «(а)» и «($)» обозначает содержимое ячейки с адресом «а» и содержимое сумматора соответственно; ОП — оперативная память.

Таблица 9.4

Система команд УК «Нейман» (шестнадцатеричное представление)


КОП

Вид

команды

Операция

Пояснение

00

00 al - аЗ

Пересылка

(al) => аЗ

01

01 al a2 аЗ

Сложение

(al) + (а2) => аЗ

02

02 al a2 аЗ

Вычитание

(al) - (a2) =>аЗ

03

0За1а2аЗ

Умножение

(al)*(a2) =>аЗ

0В-- аЗ

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

0А ----- аЗ

Условный переход на ячейку аЗ, если результат предыдущей команды больше 0

77

77 -------

Останов машины

FF

FF -------

Пустая команда

При выполнении пропускается


В табл. 9.4 знак « — » означает, что соответствующие операнды в выполнении команды не участвуют.

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

Пример. Даны значения целых чисел b, с, d, e. Составить программу вычисления по формуле:

a = bxc — dxe.

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


Алгоритм, ориентированный на СМ «Малютка» ($ - ячейка-сумматор)

алг Пример_1

цел a, b, c, d, e, r

нач ввод b

ввод с

ввод d

ввод е

$: = b

$: = $*c

a: = $

$: = d

$: = $*e

$: = -$

$: = $ + a

a: = $

вывод а

кон

Алгоритм, ориентированный на УК «Нейман»

алг Пример_1

  цел a, b, c, d, e, r

  нач ввод b

  ввод с

  ввод d 

  ввод е

  a: = b*c

  r: = d*e

  a: = a – r 

  вывод а

  кон

       Программа на ЯМК СМ «Малютка» (все адреса и коды операций даются в шестнадцатеричной системе счисления; память под переменные отводится перед программой) (табл. 9.5).

Таблица 9.5


Адрес

КОП

А1

Комментарий

00

0

06

Программа начинается с ячейки 06

01

Здесь будет значение переменной а

02

Сюда вводится значение переменной b

03

Сюда вводится, значение переменной с

04

Сюда вводится значение переменной d

05

Сюда вводится значение переменной е

0

02

$:=b

07

в

03

$:=$хс

08

1

01

a:=$

09

0

04

$:=d

в

05

$: =$хе

3

00

$:=-$

ОС

А

01

$:=$ + а

OD

1

01

a:=$

ОЕ

С

00

Вывод а (содержимого сумматора)

OF

F

00

Останов машины


Программа на ЯМК УК «Нейман» (все адреса и коды операций даются в шестнадцатеричной системе счисления; память под переменные отводится после программы: ячейка с адресом 30 — переменная b, 34 — с, 38 — d, ЗС — е, 40 — а, 44 — г) (табл. 9.6).

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135