ЭВМ экзамен.


1. ЭВМ с Фон-Неймановской архитектурой. Принцип организации ЭВМ с Фон-Неймановской архитектурой.

1946 год – Джон Фон-Нейман со своей группой придумал новые принципы построения и функционал ЭВМ. Они деляться на 4 класса: CPU, RAM, HDD SSD CD-ROM, I/O devises. CPU (ЦП) – обрабатывает данные, логические операции и управление компанентами. I/O – элементы через которые пользователь обменивается с машиной. Принципы организации: 1) ЭВМ – машина с хранимой программой представленная в виде последовательности программ. 2) Выполняемые ЭВМ команды и операнды (данные) определенные кол-вом разрядов. 3) Пямять ЭВМ организована в виде последовательности запоминающихся ячеек в которых может храниться двоичный код (число или код символа) а так же под команды ЭВМ. 4) ЭВМ использует общую память как для хранения данных так и команд при этом коды данных и команд не отличаются друг от друга. 5) Используется только один процессор.

2. Представление информации в ЭВМ. Виды информации. Системы счисления.

Бит – минимальная еденица измерения информации. Данные – факты об процессах, событиях которые существуют и храняться. 1 байт = 8 бит. Виды информации: 1) Логическая (true,false) 2) Алфавитносимвольная (ASCII, KOI-8, DOS(CP866) – 8 битные кодировки; Unicode Windows(cp1251))

3) числовая информация (целое без знака или со знаком, дробное с фиксированной запятой или с плавающей). Системы: позиционная (позиция цифры в числе определяет вес числа: 10-ная, 2-ная, 16-ная…) или непозиционная(римская I,II,III…).

3. Представление целых двоичных чисел со знаком и без. Разрядная сетка. Числа с фиксированной и плавающей запятой.

Положительные числа представляются обычным образом. У + чисел старший разряд = 0 а у — = 1. При переходе по часовой стрелке от одного числа к другому как для + так и для – чисел каждое число на еденицу больше предыдущего. Сумма + числа и равного ему модулю – равна нулю. Число с фиксированной запятой — формат представления вещественного числа в памяти ЭВМ в виде целого числа. Простейший пример арифметики с фиксированной запятой — перевод рублей в копейки. В таком случае, чтобы запомнить сумму 12 рублей 34 копейки, мы записываем в ячейку памяти число 1234. Число с плавающей запятой — форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Реализация математических операций с числами с плавающей запятой в вычислительных системах может быть как аппаратная, так и программная.

4. Особенности выполнения в ЭВМ сложения двоичных чисел со знаком и без.

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

5. Реализация логических операций. Логические операции И, ИЛИ, НЕ и вентильные схемы.

Операция НЕ (логическое отрицание или инверсия) (!,не,not). Операция ИЛИ (логическое сложение или дизъюнкция)(V,I,или,or). Операция И (логическое умножение или конъюнкция)(^,&,and,или)

6. Одноразрядный полусумматор. Одноразрядный полный сумматор. Многоразрядный сумматор.

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

Ассоциативное озу Ассоциативное озу

Ассоциативное озу

7. Триггер. Принцип работы и виды триггеров.

Триггер – это простейшее последовательное устройство, которое обладает друмя устойчивыми состояниями. Триггеры бывают: 1) с раздельной установкой 0 и 1 (RS триггер), 2) с приемом инфы по входу (D триггер задержки), 3) со счетным входом (T триггер), 4) универсальный триггер (JK триггер). В основе любого триггера лежит схема из 2-ух логических элементов, которые охвачены положительными обратными связями. В результате включения схема находиться в 1-ом из 2-ух состояний, сколько угодно времени пока она под питанием.

8. Организация запоминающего устройства с произвольной выборкой (RAM).

RAM – часть оперативного запоминающего устройства компьютера, которая позволяет, как считывать, так и записывать информацию. Объем RAM определяет объем памяти, которой пользователь может использовать для выполнения программ. Большинство RAM теряет данные при выключении копмьютера.

9. Адресное и ассоциативное ОЗУ: принцип работы и сравнительная характеристика. Виды адресации. Линейная, страничная, сегментная память.

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

Линейная адресация памяти – схема адресации памяти компьютера. С помощью её можно создавать любое количество адресных пространств. Причём каждая страница линейного адресного пространства может находиться по любому физическому адресу. Страничная память - способ организации виртуальной памяти, при котором единицей отображения виртуальных адресов на физические является регион постоянного размера. Типичный размер 4096 байт, для некоторых архитектур до 128 КБ. Поддержка такого режима присутствует в большинстве 32битных и 64 битных процессоров. Сегментная адресация памяти - схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегмент — выделенная область адресного пространства определённого размера, а смещение — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес, который указывает на начало сегмента в адресном пространстве.

10. Стек. Плоская и многосегментная модель памяти.

Стек представляет собой непрерывную область памяти, адресуемую регистрами ESP (указатель стека) и SS (селектор сегмента стека). Особенность стека заключается в том, что данные в него помещаются и извлекаются по принципу «первым вошел – последним вышел». Данные помещаются в стек с помощью инструкции PUSH (заталкивание), а извлекаются по инструкции POP (вытаскивание). Плоская модель памяти — метод организации адресного пространства оперативной памяти вычислительных устройств. В плоской модели код и данные используют одно и то же адресное пространство. Управление памятью все ещё реализуется на основе плоской модели, в целях содействия функциональности ОС, защиты ресурсов, многозадачности или увеличения объёма памяти за пределы ограничений, налагаемых физическим адресным пространством процессора. Преимущества: 1) В одном из многозадачных встроенных приложений, модель обеспечивает простейший интерфейс для программирования. 2) При многозадачности и распределении ресурсов плоская модель обеспечивает максимальную гибкость для реализации этого типа управления памятью.



11. Базовая структура вычислительной машины. Основные компоненты и взаимодействие.

Материнская плата является основной составной частью каждого PC. Это самостоятельный элемент, который управляет внутренними связями и взаимодействует через прерывания с другими внешними устройствами. В этом отношении материнская плата является элементом внутри PC, влияющим на общую производительность компьютера. Chipset — это набор микросхем, установленных на материнской плате для обеспечения работы CPU по обмену данными с периферийными устройствами. В настоящее время именно Chipset определяет как производительность, так и саму архитектуру материнской платы. Элемент ROM BIOS (Read Only Memory — память только для чтения, ПЗУ) часто называют просто BIOS. Аппаратно он представляет собой элемент памяти емкостью 64 Кб, установленный 28 ножками в разъем на материнский плате. Функции, выполняемые системами BIOS одинаковы: Предоставляет ОС аппаратные драйверы и осуществляет сопряжение между материнкой и остальными средствами PC. Содержит тест проверки системы, так называемый POST (Power On Self Test), который при включении PC проверяет все важнейшие компоненты. Содержит программу установки параметров BIOS и аппаратной конфигурации PC CMOS Setup, а также некоторые возможные установки Chipset. Стержень материнской платы — процессор, точнее главный процессор (Central Processing Unit, CPU). Подобные процессоры находятся не только в РС — в принципе процессором оборудована каждая современная стиральная машина или микроволновая печь. CPU регулирует, управляет и контролирует рабочий процесс. Элементы памяти составляют основу внутреннего функционирования любой вычислительной системы, так как с их помощью данные хранятся и могут быть вновь прочитаны при дальнейшей обработке. Чтобы CPU мог выполнять программы, они должны быть загружены в оперативную память (в область памяти, доступную для программ пользователя). CPU имеет непосредственный доступ к данным, находящимся в оперативной памяти (Random Access Memory, RAM — память с произвольным доступом, ОЗУ), с другой же -»периферийной», или внешней, памятью (гибкими и жесткими дисками) процессор работает через буфер, являющийся разновидностью оперативной памяти, недоступной пользователю. Только после того, как программное обеспечение будет считано в RAM с внешнего носителя данных, возможна дальнейшая работа системы в целом. Оперативная память представляет собой самую быструю запоминающую среду компьютера. Чтобы PC мог работать, необходимо, чтобы в его оперативной памяти находились программа и данные. А попадают они туда из различных устройств компьютера — клавиатуры, дисководов для магнитных дисков и т. д. Обычно эти устройства называют внешними, хотя некоторые из них могут находится не снаружи компьютера, а встраиваются внутрь системного блока. CPU и Chipset едва ли можно было использовать, если бы информация не циркулировала между отдельными элементами и устройствами. Проще сказать, что в распоряжении системы есть несколько линий, которые связывают элементы между собой. Эти линии обмена данными называют шиной (Bus). Очевидно, что помимо оперативной памяти необходимо оснащать компьютер еще и другими устройствами памяти, рассчитанными на долговременное хранение данных. К ним относятся дискеты, винчестеры, CD-ROM и др.

12. Центральный процессор. Основные компоненты и назначение.

Центра́льный проце́ссор - электронный блок либо интегральная схема, исполняющая машинные инструкции, главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором. Ранние ЦП создавались в виде уникальных составных частей для уникальных, и даже единственных в своём роде, компьютерных систем. Позднее от дорогостоящего способа разработки процессоров, предназначенных для выполнения одной единственной или нескольких узкоспециализированных программ, производители компьютеров перешли к серийному изготовлению типовых классов многоцелевых процессорных устройств. Тенденция к стандартизации компьютерных комплектующих зародилась в эпоху бурного развития полупроводниковых элементов, мейнфреймов и миникомпьютеров, а с появлением интегральных схем она стала ещё более популярной. Создание микросхем позволило ещё больше увеличить сложность ЦП с одновременным уменьшением их физических размеров. Стандартизация и миниатюризация процессоров привели к глубокому проникновению основанных на них цифровых устройств в повседневную жизнь человека. Современные процессоры можно найти не только в таких высокотехнологичных устройствах, как компьютеры, но и в автомобилях, калькуляторах,мобильных телефонах и даже в детских игрушках. Чаще всего они представлены микроконтроллерами, где помимо вычислительного устройства на кристалле расположены дополнительные компоненты (память программ и данных, интерфейсы, порты ввода-вывода, таймеры и др.). Современные вычислительные возможности микроконтроллера сравнимы с процессорами персональных ЭВМ десятилетней давности, а чаще даже значительно превосходят их показатели.

13. Арифметико-логическое устройство (АЛУ). Устройство управления.

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

14.

Регистры — устройства, предназначенные для временного хранения данных ограниченного размера. 

Регистры общего назначения (РОН, General Purpose Registers) — общее название для регистров, которые временно содержат данные, передаваемые или принимаемые из памяти.

Регистр команды (РК, Instruction Register IR) служит для размещения текущей команды, которая находится в нем в течение текущего цикла процессора.

Счетчик команд – один из наиболее важных регистров МП. Как известно, программа – это последовательность команд, хранимых в памяти микро-ЭВМ и предназначенных для того, чтобы инструктировать машину, как решать поставленную задачу. Для корректного выполнения последней, команды должны поступать в строго определенном порядке. На счетчике команд лежит ответственность следить за тем, какая команда выполняется, а какая подлежит выполнению следующей. Часто счетчик команд имеет намного больше разрядов, чем длина слова данных МП. Так, в большинстве 8-разрядных МП, адресующихся к памяти объемом 65К, число разрядов счетчика команд равно 16. И на это имеются достаточно веские основания. В любой из 65536 областей памяти микро-ЭВМ общего назначения может находиться информация о том или ином шаге программы, т.е. в пределах диапазона значений адресов от 0 до 65535 программа может начаться и закончиться в любом месте. Чтобы обратиться к любому из этих адресов, счетчик команд должен располагать 16 двоичными разрядами.

Регистр флагов — регистр процессора, отражающий текущее состояние процессора. В микропроцессорах Intel x86 имеет название FLAGS и является 16-разрядным. Расширенные регистры EFLAGS и RFLAGS являются 32-битными и 64-битными соответственно. Расширенные регистры сохраняют обратную совместимость.

15.

Ассоциативное озу

16.

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

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

1.    Команды передачи данных (перепись), копирующие информацию из одного места в другое.

2.    Арифметические операции, которым обязана своим рождением вычислительная техника.

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

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

5.    Команды ввода и вывода информации для обмена с внешними устройствами.

6.    Команды управления, к которым следует отнести все виды переходов. Сюда же включают операции по управлению процессором.

По количеству адресов, записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные. Рассмотрим пример использования одноадресной команды. Пусть надо сложить числа, хранящиеся в адресах ОЗУ a1 и a2, а сумму поместить в a3. Одноадресная машина должна выполнить три команды:

u извлечь содержимое ячейки a1 в сумматор;

u сложить содержимое сумматора с числом из a2;

u записать результат из сумматора в a3.

17.

Цикл выполнения команды – это последовательность действий, которая совершается процессором при выполнении одной машинной команды. При выполнении каждой машинной команды процессор должен выполнить как минимум три действия: выборку, декодирование и выполнение. Если в команде используется операнд, расположенный в оперативной памяти, то процессору придётся выполнить ещё две операции: выборку операнда из памяти и запись результата в память. Ниже описаны эти пять операций.

Выборка команды.

Декодирование команды.

Выборка операндов.

Выполнение команды.

Запись результата в память.

цикл выполнения команды:

Выбрать из очереди команд команду, на которую указывает счётчик команд.

Определить адрес следующей команды в очереди команд и записать адрес следующей команды в счётчик команд.

Декодировать команду.

Если в команде есть операнды, находящиеся в памяти, то выбрать операнды.

Выполнить команду и установить флаги.

Записать результат в память (по необходимости).

Начать выполнение следующей команды с п.1.

рабочий цикл состоит из нескольких машинных тактов. Машинный цикл – это время, необходимое для выполнения одной команды.

Машинный цикл может отличаться для разных команд. Для простых команд может потребоваться всего 1-2 машинных такта. В то время как для сложных команд, таких как умножение, может потребоваться до 50 машинных тактов и более.

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

18.

CISC (complex instruction set computer)

CISC (complex instruction set computer) есть традиционная архитектура, в которой центральный процессор использует микропрограммы для выполнения исчерпывающего набора команд. В течение долгих лет производители компьютеров разрабатывали и воплощали в изделиях все более сложные и полные системы команд. Однако анализ работы процессоров показал, что примерно 80 % времени выполняется лишь 20 % большого набора команд. Поэтому была поставлена задача оптимизации выполнения небольшого по числу, но часто используемых команд.

RISC (Redused Instruction Set Computer)

RISC (Redused Instruction Set Computer) — процессор, функционирующий с сокращенным набором команд. Так, в процессоре CISC для выполнения одной команды необходимо в большинстве случаев 10 и более тактов. Что же касается процессоров RISC, то они близки к тому, чтобы выполнять по одной команде в каждом такте. Первый процессор RISC был создан корпорацией IBM в 1979 году и имел шифр IBM 801. В настоящее время процессоры RISC получили широкое распространение. Современные процессоры RISC имеют следующие характеристики:

упрощенный набор команд, имеющих одинаковую длину;

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

отсутствуют макрокоманды, усложняющие структуру процессора и уменьшающие скорость его работы;

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

уменьшено число способов адресации памяти (не используется косвенная адресация);

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

используется высокоскоростная память.

Процессор VL1W

Процессор VL1W — процессор, работающий с системой команд сверхбольшой разрядности.

Идея технологии VLIW (Very large instruction word) заключается в том, что создается специальный компилятор планирования, который перед выполнением прикладной программы проводит ее анализ и по множеству ветвей последовательности операций определяет группу команд, которые могут выполняться параллельно. Каждая такая группа образует одну сверхдлинную команду. Это позволяет решать две важные задачи: во-первых, в течение одного такта выполнять группу коротких («обычных») команд, во-вторых, упростить структуру процессора. Этим технология VLIW отличается от суперскалярности. В последнем случае отбор групп одновременно выполняемых команд происходит непосредственно в ходе выполнения прикладной программы (а не заранее), что усложняет структуру процессора и замедляет его скорость.

Процессор MISC

Процессор MISC — MISC processor, — работающий с минимальным набором длинных команд.

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

19.

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



1) Командный интерфейс. Командный интерфейс называется так по тому, что в этом виде интерфейса человек подает «команды» компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.

2) WIMP – интерфейс (Window – окно, Image – образ, Menu – меню, Pointer – указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов – меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается «опосредственно», через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и «чистый» WIMP – интерфейс.

3) SILK – интерфейс (Speech – речь, Image – образ, Language – язык, Knowlege – знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный «разговор» человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.

Переферийный

Интерфейс IDE (Integrated Drive Electronics) – интерфейс устройств со встроенным контроллером. Поддерживает несколько способов обмена. Первый способ производит обмен данными через регистры процессора под его непосредственным управлением. Следствием этого является высокая загрузка процессора при операциях ввода/вывода. Вторым способом является использование режима прямого доступа  к памяти, при котором контроллер интерфейса  IDE и контроллер прямого доступа к памяти материнской платы пересылают данные между диском и оперативной памятью, не загружая центральный процессор.

Интерфейс SCSI (Small Computer System Interface)  - является стандартным интерфейсом для подключения приводов компакт-дисков, звуковых плат и внешних устройств массовой памяти. Спецификацией SCSI предусматривается параллельная передача данных по 8, 16 или 32 линиям данных. Структура SCSI, по существу, является магистральной, хотя устройства включаются в нее по принципу последовательной цепочки. Каждое SCSI-устройство имеет два разъема – один входной, а другой выходной.

Последовательный

IEEE 1394 (FireWire, i-Link) — последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами.



PS/2 (произносится «пи-эс два» или «пи-эс пополам») — компьютерный порт (разъём), применяемый для подключения клавиатурыи мыши

USB (ю-эс-би, англ. Universal Serial Bus — «универсальная последовательная шина») — последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных устройств в вычислительной технике. Символом USB являются четыре геометрические фигуры: большой круг, малый круг, треугольник и квадрат, расположенные на концах древовидной блок-схемы.

COM порт (англ. serial portCOM-порт[1]англ. communications port) — сленговое название интерфейса стандартаRS-232, которым массово оснащались персональные компьютеры. Последовательным данный порт называется потому, что информация через него передаётся по одному биту, бит за битом (в отличие от параллельного порта). 

Параллельный

IEEE 1284LPT (англ. Line Print Terminal; также параллельный портпорт принтера) — международный стандартпараллельного интерфейса для подключения периферийных устройств персонального компьютера.

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

20.

В первоначальном IBM PC использовался процессор i8086, который мог выполнять 16-разрядные команды, применяя 16-разрядные внутренние регистры, и адресовать только 1 Мбайт (220 байт) памяти, используя 20 разрядов для адреса. Все программное обеспечение PC первоначально было предназначено для этого процессора; оно было разработано на основе 16-разрядной системы команд и модели памяти объемом 1 Мбайт. Например, DOS, все программное обеспечение DOS, Windows от 1.x до 3.x и все приложения для Windows от 1.x до 3.x написаны в расчете на 16-разрядные команды. Эти 16-разрядные операционные системы и приложения были разработаны для выполнения на процессоре i8086

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

сегментные регистры CS, DS, SS и ES хранят не сами базовые адреса сегментов, а селекторы, по которым из таблицы, хранящейся в ОЗУ, извлекаются дескрипторы сегментов дескриптор описывает базовый адрес, размер сегмента (1 — 64 Кбайт) и его атрибуты;

базовый адрес сегмента имеет разрядность 24 бита, что и обеспечивает адресацию 16 Мбайт физической памяти.

В защищённом режиме программе выделяется линейное адресное пространство (flat address space), которое разработчики компилятора Microsoft Assembler назвали линейная модель памяти (flat memory model) или плоская модель памяти.

21.

Машинный код (платформенно-ориентированный код), машинный язык — система команд (набор кодов операций) конкретной вычислительной машины, котораяинтерпретируется непосредственно процессором или микропрограммами этой вычислительной машины.[1]

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

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

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

Смещение (Displacementили Disp) — 8-, 16- или 32-битное число, включенное в команду.

Само название структуры — stack — предлагает нам ее представление как стопки элементов, верхушка этой стопки называется вершиной (top) или головой (head) стека.

Обе упомянутые операции над стеком, - вставка элемента в стек (push) и удаление элемента из стека (pop), — производятся при обращении к его вершине.

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

23.

Регистр флагов — регистр процессора, отражающий текущее состояние процессора.

Флаги состояния в активном состоянии

Флаги состояния (биты 0, 2, 4, 6, 7 и 11) отражают результат выполнения арифметических инструкций, таких как ADD, SUB, MUL, DIV.

Управляющий флаг

Флаг направления (DF, бит 10 в регистре флагов) управляет строковыми инструкциями (MOVS, CMPS, SCAS, LODS и STOS): установка флага заставляет уменьшать адреса (обрабатывать строки от старших адресов к младшим), обнуление заставляет адреса увеличивать.

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

Цикл со счетчиком можно организовать, используя те же условные команды, взяв в качестве счетчика любой свободный регистр. Но в микропроцессоре предусмотрены специальные команды для организации таких циклов: loop / loope / loopne . Эти команды используют в качестве счетчика регистр cx, они сами уменьшают его значение после каждой итерации цикла и сравнивают после уменьшения с нулём.

Команда loop <метка перехода> выполняет следующие действия:

уменьшает регистр cx ;

сравнивает cx с нулем, если cx >0, то управление передается на метку перехода (продолжаем цикл).

Команды loope/loopne позволяют выйти из цикла по дополнительному условию.

24.

Программирование арифметических выражений в языке Ассемблер происходит через некоторые команды такие, как:  mul, div, sub, add. Эти команды называются командами арифметических операций.

Mul – команда умножения. Она умножает регистр axна то, что стоит после нее. Результат заносится в ax. Div – команда деления. Она делит регистр ax на то, что стоит после нее. Результат заносится в ax. Add – команда сложения. Слаживает два числа. Результат заносится в первый регистр.Sub – команда вычитания. Вычитает два числа. Результат заносится в первый регистр.

Увеличение/Уменьшение — INC/DEC.Есть 2 очень простые команды, DEC и INC. Эти команды увеличивают или уменьшают содержимое памяти или регистра на единицу.

25.

Логические операции с битами — OR, XOR, AND, NOT.Эти команды работают с приемником и источником, исключение команда ‘NOT’. Каждый бит в приемнике сравнивается с тем же самым битом в источнике, и в зависимости от команды, 0 или 1 помещается в бит приемника:

AND (логическое И) устанавливает бит результата в 1, если оба бита, бит источника и бит приемника установлены в 1.

OR (логическое ИЛИ) устанавливает бит результата в 1, если один из битов, бит источника или бит приемника установлен в 1.

XOR (НЕ ИЛИ) устанавливает бит результата в 1, если бит источника отличается от бита приемника.

NOT инвертирует бит источника.

26.

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

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

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

end -

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

seg -

определяет начало новой секции,

db -

размещает в памяти константы.




Предыдущий:

Следующий: