Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Арх ЭВМ.docx
Скачиваний:
4
Добавлен:
23.08.2019
Размер:
189.65 Кб
Скачать

Вопрос 3. Принципы архитектуры Фон-Неймана.

В основу построения большинства компьютеров положены общие принципы, сформулированные в 1945 американским ученым Джоном Фон Нейманом (Венгрия, настоящее имя Янош).

Первый принцип: принцип представления информации в цифровом виде (в двоичном коде) с помощью битов.

8 бит = 1 байт 16 бит = 2 байта = слово 32 бита = 4 байта = два слова = одно двойное слово

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

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

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

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

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

Компьютеры, построенные на основе этих принципов, получили название Фон Неймановских. Все остальные – не Фон Неймановские.

Вопрос 4. Пользовательские регистры. Регистры общего назначения.

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

Пользовательские регистры называются так потому, что программист может использовать их при написании своих программ. К этим регистрам относятся:

╥         восемь 32-битных регистров, которые могут использоваться программистами для хранения данных и адресов (их еще называют регистрами общего назначения (РОН)):

o        eax/ax/ah/al;

o        ebx/bx/bh/bl;

o        edx/dx/dh/dl;

o        ecx/cx/ch/cl;

o        ebp/bp;

o        esi/si;

o        edi/di;

o        esp/sp.

╥         шесть регистров сегментов: cs, ds, ss, es, fs, gs;

╥         регистры состояния и управления:

o        регистр флагов eflags/flags;

регистр указателя команды eip/ip.

 

Регистры общего назначения

 

32 бита

 

 

16 бит

 

 

 

8 бит

 

 

 

 

EAX

 

AX

AH

AL

EBX

 

BX

BH

BL

ECX

 

CX

CH

CL

EDX

 

DX

DH

DL

ESI

 

SI

EDI

 

DI

EBP

 

BP

ESP

 

SP

  

Регистры общего назначения

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

Перечислим регистры, относящиеся к группе регистров общего назначения.

eax/ax/ah/al (Accumulator register) - аккумулятор. Применяется для хранения промежуточных данных. В некоторых командах использование этого регистра обязательно;

ebx/bx/bh/bl (Base register) - базовый регистр. Часто применяется для хранения базового адреса некоторого объекта в памяти;

ecx/cx/ch/cl (Count register) - регистр-счетчик. Применяется в командах, производящих некоторые повторяющиеся действия.

edx/dx/dh/dl (Data register) - регистр данных. Так же, как и регистр eax/ax/ah/al, он хранит промежуточные данные.

Следующие два регистра используются для поддержки так называемых строковых операций, то есть операций, производящих последовательную обработку строк элементов, каждый из которых может иметь длину 32, 16 или 8 бит:

esi/si (Source Index register) - индекс источника. Этот регистр в цепочечных операциях содержит текущий адрес элемента в строке-источнике;

edi/di (Destination Index register) - индекс приемника (получателя). Этот регистр в цепочечных операциях содержит текущий адрес в строке-приемнике.

Для работы со стеком в системе команд микропроцессора есть специальные команды, а в программной модели микропроцессора для этого существуют специальные регистры:

esp/sp (Stack Pointer register) - регистр указателя стека. Содержит указатель вершины стека в текущем сегменте стека.

ebp/bp (Base Pointer register) - регистр указателя базы кадра стека. Предназначен для организации произвольного доступа к данным внутри стека. Часто регистр bp/ebp хранит адрес начала локальных переменных текущей подпрограммы.

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