В чем состоит принцип хранимой программы

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

lectures / vmss.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Cannot retrieve contributors at this time
202 lines (141 sloc) 12.4 KB

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents Copy raw contents

Copy raw contents

Вычислительные машины, системы и сети

Архитектура вычислительных машин

Информация и способы ее измерения

Информация — это данные, меняющиеся во времени

Элементарные арифметические операции в 2-ой и 16-ой системах счисления

В 2-ом числе младший разряд указывает на четность числа:

8 урок. Принципы Фон-Неймана

  • 0 — четные
  • 1 — нечетные

Признаки «отрицательного» числа в 2-ой системе:

  1. старший разряд «1»
  2. Базовый размер регистра — 16 бит (2 байта)
  • полные (2 байта)
  • полурегистры (1 байт)

Структурные схемы вычислительной машины

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

Виды информации (субъективной):

  1. визуальная (статическая, динамическая)
  2. звуковая
  3. тактильная
  4. вкусовая
  5. запах

Структурная схема персонального компьютера

Принципы фон Неймана:

  1. Любой алгоритм представляется в виде некоторой последовательности команд (слов). Каждая отдельная команда определяет простой единичный шаг преобразования информации
  2. Принцип условного перехода. В процессе вычислений в зависимости от полученных произвольных результатов возможен переход на некоторой участок команды.
  3. Принцип хранимой программы. Команды вычислительной машины представляются в такой же кодируемой форме, что и другие данные, и хранятся в таком же оперативном запоминающем устройстве, т.е. если рассматривать содержимое, то без какого-либо специального средства невозможно отличить где данные, а где команды => любые команды можно обрабатывать как данные
  4. Принцип двоичного кодирования. Все данные и команды кодируются в двоичном виде.
  5. Принцип иерархии запоминающих устройств. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы.

Самое главное следствие этих принципов — программ перестает быть постоянной и неизменяемой частью машины.

Структурная схема ЭВМ

Устройства ввода
веб-камера
сканер
микрофон
клавиатура
Устройства связи
витая пара
модем
сетевая карта
wi-fi
bluetooth
ик-порт
Устройства вывода
клавиатура
монитор
видео и аудио
принтер
очки
плоттер
Устройства обработки
CPU(ЦПУ)
RAM(ОЗУ)
ROM(ПЗУ)
Cache(кэш)
Устройства управления
мышь
тачпад
трекбол
трекпоинт
джойстик
клавиатура
Устройства хранения
перфокарта/перфолента
жесткий диск
лазерный диск
дискета
магнитная лента

Принципы фон Неймана

Частота шины — некая предельно допустимая частота передачи данных по шине при которой гарантированно не искажается информация.

Структурная схема процессора

  1. АЛУ (Арифметико-логическое устройство) — арифметические и логические операции
  2. УУ (Устройство управления) — управляет АЛУ, ЗУ и связывается с периферийными устройствами
  3. ЗУ (запоминающие устройство) — регистровая память для временного хранения информации о данных, адресах и т.д.

Схема связи в ЦПУ

УУ обращается в ЗУ за адресом очередной команды. Получив из ОЗУ команду ЗУ передает команду (в виде операндов) на АЛУ, а действенную часть команды на УУ. АЛУ по устройству связи (УС) осуществляет операции. Результат -> в ЗУ, а признак результата идет в УУ, которое формирует адрес следующей команды.

Читайте также:
Программа как я буду выглядеть в старости на Андроид

Регистры и их классификация

Регистр — элемент внутренней памяти небольшого размера. Его размер — 16 бит (2 байта). Всего регистров в минимальной комплектации 32 штуки.

В общие регистры можно записать любую информацию.

  • ax — подготавливает номер команды
  • bx — хранение параметров
  • cx — организует циклы
  • dx — хранение параметров
  • bp — специально назначение
  • si — специально назначение
  • di — специально назначение
  • sp — специально назначение

Сегментные регистры — используются для хранения части сегмента.

Программа из .exe/.com с внешнего носителя загружается в ОЗУ в момент ее запуска. В ОЗУ выделяются сегменты. Стековая память позволяет без длительной процедуры адресации осуществлять чтение и запись данных в определённой последовательности. Причём последовательность чтения данных прямо противоположно последовательности их записи.

для exe выделяется 3 вида сегментов

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

В начале выполнение exe программы в регистре ds хранится базовая часть адреса PSP. PSP (Program Segment Prefix) — префикс программного сегмента, Область позволяющая инициализировать стартовую часть программы. Размер префикса 256 Байт. Сегментные регистры используются для хранение адреса базисной части сегментов кода (PSP).

Флаговый регистр содержит информацию о результате выполненных команд. Флаги — отдельные взятые биты (boolean).

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
AHigh ALow
AX 16
EAX 32
RAX 64

IP — регистр счетчик с адресом команды

Адресация в памяти

Понятие о смещении

Полный адрес сегмента:

  • базовая часть — 16 бит

Размер каждого регистра составляет 16 бит.

Для того чтобы увеличить адресное пространство вводится 4 символа в адрес. Таким образом адрес начала каждого сегмента состоит из 20 бит: старшие 16 бит записаны в соответствующие сегменты регистры, а оставшиеся 4 бита равны 0. Таким образом оперативная память с точки зрения сегментации поделена на области с максимальным шагом в 64 кбайта. Для того чтобы обратиться к ячейкам памяти внутри любого сегмента необходимо иметь также двадцати разрядный адрес. Такой адрес формируется путём сложения адреса начала сегмента и адреса внутри сегмента.

Смещение — это адрес внутри сегмента.

Смещение в какой то момент может быть записано в каком-то регистре. Поскольку регистр 16 битный, то адресное пространство внутри сегмента задаваемое смещение не может превышать 64 кбайта.

В начале любой программы в памяти размещается префикс программы PSP занимающей 256 байт.

Префикс или PSP это структура данных для операционной системы которая хранит состояние и некоторые параметры программы, в частности там содержится информация:

  • о размере доступной памяти
  • о параметрах командной строки
  • адреса обработчиков прерываний при нажатии некоторых клавиш и комбинаций

Адрес запускающий программу

Файлы с расширением EXE это файлы, которые образуют несколько сегментов.

COM программа состоит из одного сегмента (внутри размещается код, данные и стек)

Структура программы на языке ассемблера

Программа (исходный код) на языке ассемблера можно писать в любом текстовом редакторе, сохраняется в файле ASM.

Читайте также:
Какие программы загрузить на Айфон

Источник: github.com

Принцип хранимой программы

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

Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ , но и предложил ее структуру(см рис.1), которая воспроизводилась в течение первых двух поколений ЭВМ.

Устройство управления (УУ) и арифметико-логическое устройство (АЛУ) в современных компьютерах объединены в один блок — процессор, являющийся преобразователем информации, поступающей из памяти и внешних устройств.

Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных компьютеров «многоярусно» и включает оперативное запоминающее устройство (ОЗУ) и внешние запоминающие устройства(ВЗУ)

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

Принцип последовательного выполнения операций

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

Источник: vuzlit.com

Принцип микропрограммируемости

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

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

Таким образом, УУ выполняет инструкции автоматически, без вмешательства человека. Оно может обмениваться информацией с ОЗУ и ВУ компьютера. Поскольку ВУ, как правило, работают значительно медленнее, чем остальные компоненты компьютера, УУ может приостанавливать выполнение программы до завершения операции ввода/вывода с ВУ.

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

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

Читайте также:
Лучшие программы для вай фай видеокамер на Андроид

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

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

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

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

В этом случае для выполнения операции сложения двух чисел, например, на ассемблере, программист описывает следующие действия:

– загрузка первого слагаемого в регистр (ячейку памяти с адресом) EAX;

– загрузка второго слагаемого в регистр EBX;

– вызов микрооперации сложения;

– загрузка результата из регистра EAX.

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

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

Complex instruction set computing, компьютер с комплексным набором команд) – концепция проектирования процессоров, которая характеризуется тем, что для широкого набора сложных операций в микропроцессоре предусмотрены собственные микропрограммы. Предполагалось, что это позволит упростить создание сложных программ и ускорит их выполнение. Так и было до определенного момента, но универсальный характер ПЭВМ обусловил применение компьютеров для решения такого широкого круга задач, что комплексный набор команд оказался малоэффективным.

Второе направление – RISC (англ. restricted (reduced) instruction set computer, компьютер с сокращённым набором команд), архитектура процессора, в которой количество инструкций уменьшено, а сами инструкции упрощены. Сложные действия над данными, которые в CISC выполняются одной командой, осуществляются рядом простых инструкций. Однако за счет того, что декодирование инструкций упрощается, сокращается количество обращений к памяти и т.д., выполнение программы ускоряется.

Сегодня микропроцессоры в основном проектируются на основе RISC-архитектуры.

Источник: studopedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru