Уровни организации ЭВМ. Машинный уровень

реклама
12.12.2011
Уровни организации ЭВМ.
Машинный уровень
Уровни организации ЭВМ.
Машинный уровень
Лекция №5
1
12.12.2011
Схема машины
Джона Фон Неймана
Устройство
ввода
Память
–
линейная
(упорядоченная)
однородная последовательность некоторых
элементов, называемых ячейками.
Память
Устройство
вывода
Регистры - ячейки, расположенные не в
оперативной памяти, а в других устройствах
ЭВМ.
ЦП
УУ
Память
АЛУ
4
2
12.12.2011
Память
Адресом ячейки называется её номер.
Память, к которой
П
й
обращается CPU
Адресуемая
регистровая
память
имеет небольшой
объём (порядка
десятков ячеек)
Память
Основная
(оперативная)
память
Имеет большой
объём.
Ячейки памяти в машине фон Неймана нумеруются
от нуля до некоторого положительного числа N,
которое обычно является степенью двойки.
двойки
Каждая ячейка состоит из более мелких частей,
именуемых разрядами и нумеруемых также от нуля
до определённого числа.
3
12.12.2011
Память
Количество разрядов
разрядность памяти.
в
ячейке
Память
обозначает
Каждый разряд может хранить цифру в некоторой
системе счисления.
счисления
7
6
5
Старшие
4
3
2
1
0
Младшие
В большинстве ЭВМ используется двоичная
система счисления, т.к. это более выгодно с точки
зрения аппаратной реализации, в этом случае
каждый разряд хранит один бит информации.
Восемь бит составляет один байт.
4
12.12.2011
Память
Адрес ячейки Содержимое в
(байта)
двоичной
системе
0000
10011010
0001
00000000
0002
11111111
0003
11000010
0004
10001111
0005
10101010
Содержимое в
16-ичной
системе
9A
00
FF
C2
8F
AA
Устройство Управления
УУ
управляет
всеми
остальными
устройствами ЭВМ. Оно осуществляет это
путём посылки управляющих сигналов,
подчиняясь которым остальные устройства
производят
определённые
действия,
предписанные этими сигналами
10
5
12.12.2011
Устройство Управления
Регистры УУ
Регистр команд
(RK)
Всегда хранится
текущая
выполняемая
команда
Счётчик адреса
(RA)
При выполнении
текущей команды в
него записывается
адрес следующей
команды
Арифметико–Логическое
Устройство
Выполняет следующие действия:
 Считать содержимое некоторой ячейки
памяти – поместить содержимое ячейки
памяти в р
регистр,
р р
расположенный в самом
АЛУ
 Записать в некоторую ячейку памяти
 Производить операции над данными в
своих регистрах: R1, R2, S
6
12.12.2011
Формальное описание выполнения
одной команды в машине Фон Неймана
 считать из памяти очередную команду на
регистр команд
 увеличить счётчик адреса на единицу
 выполнить очередную команду
 перейти к выполнению следующей
команды и т.д.
Взаимодействие УУ и АЛУ
Операция
р
сложения двух
у чисел z:=x+yy ((здесь x,, y и z
– адреса ячеек памяти)
При получении такой команды УУ последовательно
посылает управляющие сигналы в АЛУ:
1. считать операнды x и y из памяти и поместить
их на регистры R1 и R2;
2. произвести операцию сложения чисел на
регистрах R1 и R2 и записать результат на
регистр S;
3. переслать копию регистра S в ячейку памяти с
адресом z.
7
12.12.2011
Схема команд с различным
числом адресов операндов
Команда
Команда - совокупность сведений (в виде двоичных
кодов), необходимых процессору для выполнения
требуемого действия: тип операции, информация о
местонахождении обрабатываемых данных и результата
( р )
(адреса).
Сведения размещаются в определенных разрядах –
полях.
Формат команды – заранее оговоренная структура полей
Ф
й
ее кода.
КОП
A1
8 разрядов 24 разряда
A2
A3
24 разряда
24 разряда
КОП
A1
A2
8 разрядов
24 разряда
24 разряда
КОП
A1
8 разрядов
24 разряда
КОП
8 разрядов
= 10
байт
= 7 байт
= 4 байта
= 1 байт
15
Число адресов в команде называется адресностью ЭВМ.
8
12.12.2011
Форматы команд
Форматы команд
Рассмотрим
р
двухадресную
д
у др у
ЭВМ,,
в
которой
р
регистровая память состоит из 16 ячеек. В такой ЭВМ в
качестве адресов операндов каждой команды могут
быть или адреса двух регистров, или адрес регистра и
адрес
др ячейки основной памяти.
Адреса регистров на схемах команд будем обозначать
R1 и R2, а адрес основной памяти A1 или A2.
Первый вид команд будем называть командами
формата регистр-регистр (обозначается RR), а вторые
– формата регистр-память (обозначается RX).
КОП
R1
1 байт
R2
= 2 байта
1 байт
КОП
R1
A2
8б
бит
4б
бита
20 бит
б
= 4 байта
9
12.12.2011
Форматы команд
 регистр – регистр (RR);
 регистр – память, память – регистр (RX);
 регистр – непосредственный операнд в
команде (RI);
 память – непосредственный
й операнд в
команде (SI);
 память – память, т.е. оба операнда в
основной памяти (SS).
( )
Базирование адресов
Пусть переменные располагаются в следующих
ячейках
й
памяти:
 A – в ячейке с адресом 10 000 000
 B – в ячейке с адресом 10 000 001
 X – в ячейке с адресом
др
10 000 002
 R – в ячейке с адресом 10 000 003
большинство адресов в нашей программе имеют
вид B+,
B+ где
B - базовый адрес программы или просто база (в
нашем случае B=10 000 000),
 – смещение адреса относительно этой базы.
10
12.12.2011
Сегментирование
Сегмент памяти – это сплошной у
участок памяти,,
начало которого задаётся в некотором регистре,
называемом базовым, или сегментным.
Сегментирование позволяет уменьшить объём
памяти для хранения программ.
Сегментирование
Для доступа к другим ячейкам памяти
необходимо записать в сегментный регистр
новое значение (как говорят, перезагрузить
сегментный регистр). Несмотря на указанный
недостаток практически все современные
недостаток,
ЭВМ производят сегментирование памяти.
Недостаток: каждая команда может обращаться
не к любой ячейки оперативной памяти, а только
к тем из них, до которых "дотягивается"
смещение.
11
12.12.2011
Способы адресации
Способ адресации – это способ задания
операндов внутри машинной команды. Другими
словами это правила, по которым заданные в
команде
(двоичные)
числа
определяют
местонахождение и значение операндов для
данной команды.
Способы адресации
 Прямой способ адресации – в адресном поле
фактически указывается адресный код операнда
 Непосредственный способ адресации – в
др
поле ууказывается не адресный
др
код,
д, а сам
адресном
операнд. Обычно применяется для задания
констант вычисления
 Косвенный способ адресации – адресный код
содержит не адрес самого операнда, а адрес памяти,
где хранится адрес операнда, то есть адресный код
– это адрес адреса
12
12.12.2011
Типы машинных команд
Функциональное
Ф
назначение
Команды передачи
данных
1. кодов внутри
CPU
2 обмена
2.
б
CPU с
памятью
3. кодов между
CPU и
периферией
Команды
обработки данных
1.Арифметически
е
2.Логические
3.Команды сдвига
4.Команды
обработки строк
Уровни организации ЭВМ.
Микропрограммный уровень
Любая машинная команда исполняется
аппаратурой не непосредственно, а путем их
интерпретации
в
соответствующую
последовательность более простых действий.
Следовательно, всегда существует задача
программирования машинных команд из
более
простых
действий
–
р р р
р
микропрограммирование.
13
12.12.2011
Уровни организации ЭВМ.
Ассемблерный уровень
Для упрощения процесса написания программ
для ЭВМ был разработан язык-посредник,
названный Ассемблером, который, с одной
стороны,
должен
быть
машинноориентированным
(допускать
написание
любых машинных программ), а с другой
стороны – позволять автоматизировать процесс
составления программ в машинном коде.
коде
Уровни организации ЭВМ.
Ассемблерный уровень
Для перевода с языка Ассемблера на язык
машины используется специальная программапереводчик, также называемая Ассемблером
(от
английского
слова
“assembler”
–
“сборщик”).
14
12.12.2011
Уровни организации ЭВМ.
Ассемблерный уровень
Что должна делать программа Ассемблер при переводе
с языка Ассемблера на язык машины:
 заменять
мнемонические
обозначения
кодов
операций на соответствующие машинные коды
операций;
 автоматически распределять память под хранение
переменных, что позволяет программисту не
заботиться о конкретном адресе переменной, если
ему всё равно, где она будет расположена;
 преобразовывать числа, написанные в программе в
различных системах счисления во внутреннее
машинное представление (в машинную систему
счисления).
Пример полной программы на
Ассемблере
s segment stack
db 128 dup(?)
s ends
data segment
x dw
d 5
y dw 3
z dw ?
data ends
code segment
assume
cs:code,
ds:data, ss:s
begin:
b
i
mov ax,data
mov ds,ax
mov ax,x
add ax,y
mov z,ax
mov ah,4ch
int 21h
code ends
end begin
15
Скачать