2.89M
Category: programmingprogramming

Архитектура вычислительных систем. Электронный курс лекций

1.

Архитектура
вычислительных систем
электронный курс лекций
Разработчик: Черных Татьяна Александровна

2.

Содержание:
Раздел 1
Понятие об
архитектуре
компьютера
История развития вычислительной техники. Классификация
компьютеров. Информационно-логические основы построения
ЭВМ. Принципы фон Неймана и классическая архитектура
компьютера. Структурная схема компьютера.
Раздел 2
Арифметические
основы компьютера
Порождение чисел в позиционных и непозиционных системах
счисления. Перевод чисел из одной системы счисления в другую.
Выполнение арифметических операций в позиционных системах
счисления. Представление целых чисел в компьютере. Прямой,
обратный и дополнительные коды. Выполнение арифметических
действий над целыми числами. Представление вещественных
чисел в компьютере. Выполнение арифметических операций над
нормализованными числами.
Раздел 3
Организация и
функционирование
ЭВМ на ассемблерном
уровне
Введение в язык ассемблера. Основные конструкции языка
ассемблера. Формат операторов. Основные команды. Структура
ассемблерных программ.
Раздел 4
Программирование на
ассемблере
Система команд. Команды и данные. Форматы данных.
Ассемблирование и дизассемблирование. Отладка и трассировка
программ.
06.04.2024
© Черных Татьяна Александровна
2

3.

Раздел 1: Понятие об архитектуре компьютера
История развития вычислительной техники.
Знание истории развития вычислительной техники как основы компьютерной
информатики - необходимый составной элемент компьютерной культуры.
Поэтому рассмотрим историю ее становления с точки зрения сегодняшнего дня.
Основные этапы развития
хронологической шкале:
ВТ
можно
привязать
к
следующей
Ручной - до 17 века.
Механический - с середины 17 века.
Электромеханический - с 90 годов 19 века.
Электронный - с 40 годов 20 века.
06.04.2024
© Черных Татьяна Александровна
3

4.

Раздел 1: Понятие об архитектуре компьютера
Ручной период.
Ручной период начался на заре человеческой цивилизации. Фиксация
результатов счета у разных народов производилась разными способами:
пальцевый счет, нанесение засечек, счетные палочки и т.д. Далее появились
приборы, использующие вычисления по разрядам, как бы предполагая наличие
некоторой позиционной системы счисления. К таким приборам относятся абак,
русские, японские, китайские счеты.
Несомненно, необходимо отметить изобретение Дж. Непером в 17 веке
логарифмов, для вычисления которых он предложил использовать устройство,
называемое "палочками Непера". Наряду с палочками Непер предложил счетную
доску для выполнения четырех арифметических действий, а также возведения в
квадрат, извлечения квадратного корня в двоичной системе счисления.
06.04.2024
© Черных Татьяна Александровна
4

5.

Раздел 1: Понятие об архитектуре компьютера
Механический период.
Развитие механики в 17 веке стало предпосылкой вычислительных устройств
и
приборов,
использующих
механический
принцип
вычислений,
обеспечивающий перенос старшего разряда. Широкую известность приобрела
машина Б. Паскаля, изобретенная в 1642 г. и положившая начало механического
этапа развития ВТ.
Первый арифмометр, позволявший проводить все 4 арифметические
действия, был изобретен Г. Лейбницем в 1673 г.
Особое место в механическом этапе развития ВТ занимают работы Ч.
Беббиджа, считающегося родоначальником и идеологом современной ВТ. В
работах Беббиджа два основных направления: проекты разностной и
аналитической вычислительных машин. Проект первой предназначался для
табулирования полиномиальных функций методом конечных разностей.
Второй проект, аналитическая машина, основан на использовании принципа
программного управления, явился предвестником современных ЭВМ.
06.04.2024
© Черных Татьяна Александровна
5

6.

Раздел 1: Понятие об архитектуре компьютера
Электромеханический период.
Электромеханический этап развития ВТ явился наименее продолжительным и
охватывает всего около 60 лет - от первого табулятора Г. Холлерита (1887) до
первой ЭВМ ENIAC (1945). Предпосылками создания проектов этого типа
явились как необходимость проведения массовых расчетов (экономика,
статистика, управление и планирование и т.д.), так и развитие прикладной
электротехники. Классическим типом средств электромеханического этапа был
счетно-аналитический комплекс, предназначенный для обработки информации на
перфокарточных носителях.
Заключительный период (40-е годы 20в.) электромеханического этапа
развития характеризуется созданием целого ряда сложных релейных и
релейномеханических систем с программным управлением, характеризующихся
алгоритмической универсальностью и способных выполнять сложные научнотехнические вычисления в автоматическом режиме.
06.04.2024
© Черных Татьяна Александровна
6

7.

Раздел 1: Понятие об архитектуре компьютера
Электронный период.
Последним же крупным проектом релейной ВТ следует считать построенную
в 1957 году в СССР релейную вычислительную машину РВМ-1. К началу 40-х гг.
20 века электроника уже располагала триггерами, что позволило создавать
быстродействующую электронную ВТ.
Первой ЭВМ (специализированной в области дешифровки) можно считать
английскую машину Colossus, созданную в 1943 году при участии А. Тьюринга.
Машина была узкоспециализированной, поэтому первой ЭВМ принято считать
машину ENIAC, созданную в США в конце 1945г Эккертом и Моучли по идее
Дж. Атанасова. Первая ЭВМ проработала до сентября 1955 года, выполнив за 10
лет своего существования операций больше, чем все человечество за весь период
существования до 1945 года.
Еще до начала эксплуатации первой машины эти же разработчики (Моучли и
Эккерт) получили заказ на вторую машину (EDVAC). В этой машине была
предусмотрена большая память как для хранения программы так, и для данных.
06.04.2024
© Черных Татьяна Александровна
7

8.

Раздел 1: Понятие об архитектуре компьютера
Классификация компьютеров.
Существуют различные классификации компьютерной техники:
по этапам развития (по поколениям);
по архитектуре;
по производительности;
по условиям эксплуатации;
по количеству процессоров;
по потребительским свойствам и т.д.
06.04.2024
© Черных Татьяна Александровна
8

9.

Раздел 1: Понятие об архитектуре компьютера
По этапам развития (по поколениям):
К первому поколению обычно относят машины, созданные на рубеже 50-х
годов. В их схемах использовались электронные лампы. Эти компьютеры были
огромными, неудобными и слишком дорогими машинами, которые могли
приобрести только крупные корпорации и правительства. Лампы потребляли
огромное количество электроэнергии и выделяли много тепла.
Электронная лампа
06.04.2024
© Черных Татьяна Александровна
9

10.

Раздел 1: Понятие об архитектуре компьютера
Второе поколение компьютерной техники — машины, сконструированные
примерно в 1955—65 гг. Характеризуются использованием в них как электронных
ламп, так и дискретных транзисторных логических элементов. Их оперативная
память была построена на магнитных сердечниках. В это время стал расширяться
диапазон
применяемого
оборудования
ввода-вывода,
появились
высокопроизводительные устройства для работы с магнитными лентами,
магнитные барабаны и первые магнитные диски.
Транзистор
06.04.2024
© Черных Татьяна Александровна
10

11.

Раздел 1: Понятие об архитектуре компьютера
Машины третьего поколения созданы примерно после 60-x годов. Поскольку
процесс создания компьютерной техники шел непрерывно, и в нём участвовало
множество людей из разных стран, имеющих дело с решением различных
проблем, трудно и бесполезно пытаться установить, когда "поколение"
начиналось и заканчивалось. Возможно, наиболее важным критерием различия
машин второго и третьего поколений является критерий, основанный на понятии
архитектуры.
Интегральная микросхема
06.04.2024
© Черных Татьяна Александровна
11

12.

Раздел 1: Понятие об архитектуре компьютера
Четвёртое поколение — это теперешнее поколение компьютерной техники,
разработанное после 1970 года.
Наиболее важный в концептуальном отношении критерий, по которому эти
компьютеры можно отделить от машин третьего поколения, состоит в том, что
машины четвёртого поколения проектировались в расчете на эффективное
использование современных высокоуровневых языков и упрощение процесса
программирования для конечного пользователя.
06.04.2024
© Черных Татьяна Александровна
12

13.

Раздел 1: Понятие об архитектуре компьютера
По производительности и характеру использования
По производительности и характеру использования компьютеры можно
условно подразделить на:
микрокомпьютеры, в том числе — персональные компьютеры;
миникомпьютеры;
мэйнфреймы (универсальные компьютеры);
суперкомпьютеры.
06.04.2024
© Черных Татьяна Александровна
13

14.

Раздел 1: Понятие об архитектуре компьютера
Микрокомпьютеры (ПК).
Микрокомпьютеры — это компьютеры, в которых центральный процессор
выполнен в виде микропроцессора.
Продвинутые
модели
микрокомпьютеров
имеют
несколько
микропроцессоров. Производительность компьютера определяется не только
характеристиками применяемого микропроцессора, но и ёмкостью оперативной
памяти, типами периферийных устройств, качеством конструктивных решений и
др.
Миникомпьютеры.
Миникомпьютерами и суперминикомпьютерами называются машины,
конструктивно выполненные в одной стойке, т.е. занимающие объём порядка
половины кубометра. Сейчас компьютеры этого класса вымирают, уступая место
микрокомпьютерам.
06.04.2024
© Черных Татьяна Александровна
14

15.

Раздел 1: Понятие об архитектуре компьютера
Мэйнфреймы .
Мэйнфреймы предназначены для решения широкого класса научнотехнических задач и являются сложными и дорогими машинами. Их
целесообразно применять в больших системах при наличии не менее 200 — 300
рабочих мест.
Суперкомпьютеры.
Суперкомпьютеры —это очень мощные компьютеры с производительностью
свыше 100 мегафлопов (1 мегафлоп — миллион операций с плавающей точкой в
секунду). Они называются сверхбыстродействующими. Эти машины
представляют собой многопроцессорные и (или) многомашинные комплексы,
работающие на общую память и общее поле внешних устройств. Различают
суперкомпьютеры среднего класса, класса выше среднего и переднего края.
06.04.2024
© Черных Татьяна Александровна
15

16.

Раздел 1: Понятие об архитектуре компьютера
По условиям эксплуатации.
По условиям эксплуатации компьютеры делятся на два типа:
офисные (универсальные);
специальные.
Офисные предназначены для решения широкого класса задач при нормальных
условиях эксплуатации.
Cпециальные компьютеры служат для решения более узкого класса задач или
даже одной задачи, требующей многократного решения, и функционируют в
особых условиях эксплуатации. Машинные ресурсы специальных компьютеров
часто ограничены. Однако их узкая ориентация позволяет реализовать заданный
класс задач наиболее эффективно.
06.04.2024
© Черных Татьяна Александровна
16

17.

Раздел 1: Понятие об архитектуре компьютера
Информационно-логические основы построения ЭВМ.
ЭВМ любого класса состоит из пяти основных компонент:
арифметическо-логического устройства (АЛУ), устройства управления (УУ),
оперативного запоминающего устройства (ОЗУ), устройства вывода информации
(УвывИ), устройства ввода информации (УВвИ). АЛУ и УУ в современном
персональном компьютере нечто иное как процессор, УВывИ – монитор,
принтер; УВвИ – клавиатура, мышка.
06.04.2024
© Черных Татьяна Александровна
17

18.

Раздел 1: Понятие об архитектуре компьютера
Информация, подлежащая обработке в АЛУ, ОЗУ машины, должна быть
представлена в виде специальных (машинных) кодов в принятой для данной ЭВМ
двоичной системе счисления, т.е. в виде последовательностей нулей и единиц.
Информация, циркулирующая в ЭВМ, подразделяется на следующие виды:
Данные (информация подлежащая обработке);
Команды (информация указывающая вид обработки);
Адреса (информация о местонахождении данных и команд).
Наименьшей единицей информации является бит (двоичный разряд).
Элементы, из которых состоит дискретное сообщение, передаваемое в ЭВМ
или выводимое на экран дисплея, устройство печати, называют символами. Как
символы могут выступать графические знаки, изображающие цифру, букву,
служебные, математические и другие обозначения.
В качестве машинной единицы информации для представления символа
используется группа двоичных разрядов, которая именуется байтом. Байт
состоит из 8 бит.
В зависимости от типа ЭВМ дискретное сообщение, передаваемое между
элементами и блоками ЭВМ, состоит из одного байта (8 двоичных разрядов),
двух байт (16 разрядов), четырех байт (32 разряда), соответственно ЭВМ и
подразделяют на 8-, 16 -, 32- и т.д. разрядные. Такое дискретное сообщение
принято называть машинным словом.
06.04.2024
© Черных Татьяна Александровна
18

19.

Раздел 1: Понятие об архитектуре компьютера
Единицы информации, используемые в ЭВМ
Бит - один двоичный разряд
Байт - восемь двоичных разрядов
Слово - 16 двоичных разрядов
Как правило, данные запоминаются и извлекаются из памяти ЭВМ целыми
словами. Операции запоминания и извлечения из памяти принято называть
соответственно записью и считыванием. ЭВМ обычно оперирует с информацией
двух типов — с данными и командами. В том случае, когда слово заключает в
себе инструкцию по обработке других данных, его принято называть командой.
Совокупность нескольких машинных слов, объединенных единым смыслом,
называется записью. Группа записей, последовательно расположенных на
носителе внешнего запоминающего устройства, записываемая из ОЗУ или
считываемая в нее, называется блоком. Блок содержит 512 байт. Несколько
блоков, содержащих записи, объединенные каким-либо признаком в
информационный массив, называются файлом.
06.04.2024
© Черных Татьяна Александровна
19

20.

Раздел 1: Понятие об архитектуре компьютера
Дискретные сообщения, которые транспортируют информацию между
отдельными функциональными устройствами ЭВМ, сформированы в
определенные коды, т. е. каждому символу соответствует определенный набор
нулей и единичек. Используют в основном коды КОИ-8 которые имеются
государственные стандарты.
За один такт работы ЭВМ выполняются действия с одним машинным словом.
Таким образом, при передаче более одного байта данных 16-разрядный процессор
работает вдвое быстрее 8-разрядного, так как в машинное слово 16-разрядного
процессора входят 4 десятичных числа, а не 2.
Точность представления числа зависит от количества отводимых под число
разрядов: 8 разрядов — точность составляет два десятичных знака, 32 разряда —
точность 10 десятичных знаков.
Самым большим преимуществом увеличения разрядности ЭВМ является
использование оперативной памяти увеличенного объема, 8-разрядный процессор
позволяет обращаться к ОЗУ объемом до 64 кб, 16-разрядный процессор может
работать с ОЗУ до 1024 кб, 32-разрядный до 4 Гб.
Всеми процессами в компьютере управляет комплекс программ, именуемый
операционной системой.
06.04.2024
© Черных Татьяна Александровна
20

21.

Раздел 1: Понятие об архитектуре компьютера
Структура системного блока персонального компьютера класса IBM PC
06.04.2024
© Черных Татьяна Александровна
21

22.

Раздел 1: Понятие об архитектуре компьютера
Вся информация в виде машинных слов передается между компонентами
компьютера по шинам. Информация о данных поступает по шине данных на
соответствующий адрес (устройство) по указанию информации об адресе,
идущей по шине адреса. Информация о видах выполняемых операций поступает
по шине команд. Скорость передачи машинных слов задается тактовым
генератором.
«Мозгом» компьютера является процессор (точнее микропроцессор),
выполняющий все вычисления и обработку информации. Программы и исходные
данные для обработки процессор берет из оперативной памяти (ОЗУ) и в нее же
он записывает результаты. Для ускорения доступа к оперативной памяти
используется специальная сверхбыстродействующая кэш-память, которая
располагается как бы «между» процессором и оперативной памятью и хранит
копии наиболее часто используемых участков оперативной памяти. При
обращении процессора к памяти сначала производится поиск нужных данных в
кэш-памяти. При выключении питания компьютера данные из ОЗУ стираются.
В компьютере имеется постоянная память (ПЗУ - постоянное запоминающее
устройство), в которую данные занесены при ее изготовлении и не зависят от
наличия питания компьютера. В ПЗУ хранятся программы для проверки
компьютера , инициирования загрузки операционной системы (ОС) и выполнения
базовых функций по обслуживанию устройств компьютера – в основном
устройств ввода-вывода. По этой причине содержимое постоянной
памяти называют BIOS (Basic Input-Output System).
06.04.2024
© Черных Татьяна Александровна
22

23.

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

24.

Раздел 1: Понятие об архитектуре компьютера
Принципы фон Неймана:
В 1944 году фон Нейман подключился к созданию первой в мире ламповой
ЭВМ ENIAC. В процессе работы он высказал идею принципиально новой ЭВМ.
В 1946 году ученые изложили свои принципы построения ВМ в статье.
Принципы сохраняют актуальность и сегодня.
Принцип однородности памяти
Команды и данные хранятся в одной и той же памяти и внешне в памяти
неразличимы. Распознать их можно только по способу использования; то есть
одно и то же значение в ячейке памяти может использоваться и как данные, и как
команда, и как адрес в зависимости лишь от способа обращения к нему. Это
позволяет производить над командами те же операции, что и над числами, и,
соответственно, открывает ряд возможностей.
Принцип адресности
Структурно основная память состоит из пронумерованных ячеек, причем
процессору в произвольный момент доступна любая ячейка. Двоичные коды
команд и данных разделяются на единицы информации, называемые словами, и
хранятся в ячейках памяти, а для доступа к ним используются номера
соответствующих ячеек — адреса.
06.04.2024
© Черных Татьяна Александровна
24

25.

Раздел 1: Понятие об архитектуре компьютера
Принцип программного управления
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть
представлены в виде программы, состоящей из последовательности
управляющих слов — команд. Каждая команда предписывает некоторую
операцию из набора операций, реализуемых вычислительной машиной. Команды
программы хранятся в последовательных ячейках памяти вычислительной
машины и выполняются в естественной последовательности, то есть в порядке их
положения в программе. При необходимости, с помощью специальных команд,
эта последовательность может быть изменена. Решение об изменении порядка
выполнения команд программы принимается либо на основании анализа
результатов предшествующих вычислений, либо безусловно.
Принцип двоичного кодирования
Согласно этому принципу, вся информация, как данные, так и команды,
кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется
двоичной последовательностью и имеет свой формат. Последовательность битов
в формате, имеющая определенный смысл, называется полем. В числовой
информации обычно выделяют поле знака и поле значащих разрядов. В формате
команды можно выделить два поля: поле кода операции и поле адресов.
06.04.2024
© Черных Татьяна Александровна
25

26.

Раздел 1: Понятие об архитектуре компьютера
Основы архитектуры вычислительных устройств, разработанные Джоном
фон Нейманом
06.04.2024
© Черных Татьяна Александровна
26

27.

Раздел 1: Понятие об архитектуре компьютера
Компьютеры, построенные на принципах фон Неймана
По плану, первым компьютером, построенным по архитектуре фон Неймана,
должен был стать EDVAC, однако до 1951 года EDVAC не был запущен из-за
технических трудностей в создании надёжной компьютерной памяти и
разногласий в группе разработчиков. Другие научно-исследовательские
институты, ознакомившись с ЭНИАКом и проектом EDVAC, сумели решить эти
проблемы гораздо раньше. Первыми семью компьютерами, в которых были
реализованы основные особенности архитектуры фон Неймана, были:
• прототип — Манчестерская малая экспериментальная машина —
Манчестерский университет, Великобритания, 21 июня 1948 г.;
• EDSAC — Кембриджский университет, Великобритания, 6 мая 1949 г.;
• Манчестерский Марк I — Манчестерский университет, Великобритания, 1949
г.;
• BINAC — США, апрель или август 1949 г.;
• CSIR Mk 1 — Австралия, ноябрь 1949 г.;
• SEAC — США, 9 мая 1950 г.;
• EDVAC — США, август 1949 года — фактически запущен в 1952 г.;
В СССР первой полностью электронной вычислительной машиной близкой к
принципам фон Неймана стала МЭСМ, построенная Лебедевым, прошедшая
государственные приемочные испытания в декабре 1951 года.
06.04.2024
© Черных Татьяна Александровна
27

28.

Раздел 1: Понятие об архитектуре компьютера
Разработанные фон Нейманом основы архитектуры вычислительных
устройств оказались настолько фундаментальными, что получили в литературе
название “фон-неймановской архитектуры”. Подавляющее большинство
вычислительных машин на сегодняшний день – фон-неймановские машины.
Исключение составляют лишь отдельные разновидности систем для
параллельных вычислений, в которых отсутствует счетчик команд, не
реализована классическая концепция переменной и имеются другие
существенные принципиальные отличия от классической модели (примерами
могут служить потоковая и редукционная вычислительные машины).
По-видимому, значительное отклонение от фон-неймановской архитектуры
произойдет в результате развития идеи машин пятого поколения, в основе
обработки информации в которых лежат не вычисления, а логические выводы.
06.04.2024
© Черных Татьяна Александровна
28

29.

Раздел 1: Понятие об архитектуре компьютера
Общая схема компьютера
06.04.2024
© Черных Татьяна Александровна
29

30.

Раздел 1: Понятие об архитектуре компьютера
Персональный компьютер (ПК) в своём минимально необходимом составе
согласно этой схеме включает:
• основные устройства ввода: клавиатуру и манипулятор «мышь»;
• основное устройство вывода: монитор;
• центральная часть располагается в системном блоке;
• внешняя память располагается на носителях – дисках и приводится в
действие специальными приводами – дисководами;
• в единую конфигурацию все части ПК соединены с помощью устройств
сопряжения.
В основе строения ПК лежат два важных принципа: магистрально-модульный
принцип и принцип открытой архитектуры. Согласно первому все части и
устройства изготавливаются в виде отдельных блоков, информация между
которыми передаётся по комплекту соединений, объединённых в магистраль. При
этом общую схему ПК можно представить в следующем виде:
06.04.2024
© Черных Татьяна Александровна
30

31.

Раздел 1: Понятие об архитектуре компьютера
Второй принцип построения ПК – открытая архитектура – предполагает
возможность сборки компьютера из независимо изготовленных частей.
06.04.2024
© Черных Татьяна Александровна
31

32.

Раздел 1: Понятие об архитектуре компьютера
К аппаратному обеспечению вычислительных систем относятся устройства и
приборы, образующие аппаратную конфигурацию. Современные компьютеры и
вычислительные комплексы имеют блочно-модульную конструкцию –
аппаратную конфигурацию, необходимую для исполнения конкретных видов
работ, можно собирать из готовых узлов или блоков.
Системный блок - основная составляющая ПК, в середине которой находятся
важнейшие компоненты. Устройства, находящиеся в середине системного блока
называют внутренними, а устройства, подсоединенные из вне называют
внешними. Внешние дополнительные устройства, предназначенные для ввода и
вывода информации называются также периферийными.
06.04.2024
© Черных Татьяна Александровна
32

33.

Раздел 1: Понятие об архитектуре компьютера
Блок старого образца, горизонтальный - desktop
06.04.2024
© Черных Татьяна Александровна
33

34.

Раздел 1: Понятие об архитектуре компьютера
Связь компьютера с различными внешними устройствами осуществляется
через порты – специальные разъемы, расположенные на тыльной стороне
системного блока.
06.04.2024
© Черных Татьяна Александровна
34

35.

Раздел 1: Понятие об архитектуре компьютера
Основной платой ПК является материнская плата . На ней расположены:
процессор - основная микросхема, выполняющая математические и
логические операции;
чипсет (микропроцессорный комплект) - набор микросхем, которые руководят
работой внутренних устройств ПК и определяют основные функциональные
возможности материнской платы;
шины - набор проводников, по которым происходит обмен сигналами между
внутренними устройствами компьютера;
оперативное запоминающее устройство (ОЗУ) - набор микросхем,
предназначенных для временного сохранения данных, пока включен компьютер;
постоянное запоминающее устройство (ПЗУ) - микросхема, предназначенная
для долговременного хранения данных, даже при отключенном компьютере;
разъемы для подсоединения дополнительных устройств (слоты).
06.04.2024
© Черных Татьяна Александровна
35

36.

Раздел 1: Понятие об архитектуре компьютера
Монитор (дисплей) - это стандартное устройство вывода, предназначенное
для визуального отображения текстовых и графических данных. В зависимости
от принципа действия, мониторы делятся на:
мониторы с электронно-лучевой трубкой;
дисплеи на жидких кристаллах.
Клавиатура - это стандартное клавишное устройство ввода, предназначенное
для ввода алфавитно-цифровых данных и команд управления. Комбинация
монитора и клавиатуры обеспечивает простейший интерфейс пользователя: с
помощью клавиатуры руководят компьютерной системой, а с помощью монитора
получают результат.
Мышка - это устройство управления манипуляторного типа. Она имеет вид
небольшой пластмассовой коробочки с двумя (или тремя) клавишами.
Перемещение мышки по поверхности синхронизировано с перемещением
графического объекта, который называется курсор мышки, по экрану монитора.
06.04.2024
© Черных Татьяна Александровна
36

37.

Вопросы для самопроверки:
Раздел 1 Понятие об архитектуре компьютера
1. История развития вычислительной техники.
2. Классификация компьютеров.
3. Информационно-логические основы построения ЭВМ.
4. Принципы фон Неймана и классическая архитектура компьютера.
Вопросы для самостоятельного изучения:
• Области применения ЭВМ различных классов. Пути развития ЭВМ.
• Методы использования средств вычислительной техники для решения задач
науки и практики.
06.04.2024
© Черных Татьяна Александровна
37

38.

Раздел 2: Арифметические основы компьютера
Порождение чисел в позиционных и непозиционных системах счисления.
Система счисления - это способ записи чисел с помощью заданного набора
специальных знаков (цифр).
В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в
значение числа) не зависит от ее позиции в записи числа (ХХХII).
В позиционных системах счисления вес каждой цифры изменяется в
зависимости от ее положения (позиции) в последовательности цифр,
изображающих число (777). Первая семерка означает 7 сотен, вторая – 7 десяток ,
а третья – 7 единиц.
Сама же запись числа 777 означает сокращенную запись выражения:
700+70+7=7*100+7*10+7
06.04.2024
© Черных Татьяна Александровна
38

39.

Раздел 2: Арифметические основы компьютера
Системы счисления (c.c.).
Системой счисления называется совокупность правил и приемов
представления чисел с помощью набора знаков (цифр).
Различают позиционные и непозиционные c.c.
В позиционных каждая цифра числа имеет определенный вес, зависящий от
позиции цифры в последовательности. Количество цифр в c.c. называется ее
основанием.
Позиция цифры называется разрядом.
В позиционной c.c. любое число можно представить в виде:
An=am-1am-2…aia0*a-1a-2…a-k=am-1*Nm-1+am-2*Nm-2…+a-k*N-k ,
где ai – i-я цифра числа;
k – количество цифр в дробной части числа;
m - количество цифр в целой части числа;
N – основание системы счисления.
Целая часть числа отделяется от дробной части точкой (запятой).
06.04.2024
© Черных Татьяна Александровна
39

40.

Раздел 2: Арифметические основы компьютера
Во всех современных ЭВМ для представления числовой информации
используется двоичная система счисления.
Кроме двоичной системы счисления широкое распространение получили и
производные системы:
двоичная- {0,1};
десятичная, точнее двоично-десятичное представление десятичных чисел, {0, 1,...,9};
шестнадцатеричная - {0,1,2, ...9, А, В, С, D, Е, F}. Здесь шестнадцатеричная
цифра А обозначает число 10, В-число 11, ...,F-число 15;
восьмеричная (от слова восьмерик) - {0,1,2,3,4,5, б, 7}.
Восьмеричная и шестнадцатеричная системы счисления являются
производными от двоичной, так как 16 = 24 и 8 = 23.
В ЭВМ перевод из одной системы в другую осуществляется автоматически по
специальным программам. Правила перевода целых и дробных чисел
отличаются.
06.04.2024
© Черных Татьяна Александровна
40

41.

Раздел 2: Арифметические основы компьютера
Двоичная система счисления
Цифры 0,1
Основание двоичной системы счисления = 2
Например: 101112 – 5-и разрядное двоичное число.
Вес цифр – 1,2,4,8,16 справа налево
Для примера, разложим число 100012 по степеням основания для перевода
двоичного числа в десятичную систему счисления:
4 3 2 1 0 – номера разрядов
1 0 1 0 12 =1∙24+0∙23+1∙22+0∙21+1∙20=16+0+4+0+1=21
Каждую цифру умножаем на основание (число 2) в степени = разряду,
складываем произведения и получаем десятичный эквивалент двоичного числа
101012=2110
Таблица степеней числа 2:
210
29
28
27
26
25
24
23
22
21
20
1024
512
256
128
64
32
16
8
4
2
1
06.04.2024
© Черных Татьяна Александровна
41

42.

Раздел 2: Арифметические основы компьютера
Существует три основных способа перевода чисел из одной системы
счисления в другую:
Из любой с.с. в 10-ую
Разложение по степеням основания
Из 10-ой с.с. в любую
Деление на основание
Из 2 в 8 и 16-ричную
Разбиение на триады и тетрады
Перевод целых чисел.
Целое число с основанием N1 переводится в СС с основанием N2 путем
последовательного деления числа An1, на основание N2 , записанного в виде числа
с основанием N1, до получения остатка. Полученное частное следует вновь
делить на основание N2, и этот процесс надо повторять до тех пор, пока частное
не станет меньше делителя. Полученные остатки от деления и последнее частное
записываются в порядке, обратном полученному при делении. Сформированное
число и будет являться числом с основанием N2.
06.04.2024
© Черных Татьяна Александровна
42

43.

Раздел 2: Арифметические основы компьютера
Перевод целого числа из десятичной в двоичную и шестнадцатеричную системы счисления.
06.04.2024
© Черных Татьяна Александровна
43

44.

Раздел 2: Арифметические основы компьютера
Перевод дробных чисел.
Дробное число с основанием N1 переводится в систему счисления с
основанием N2 путем последовательного умножения An1 на основание N2,
записанное в виде числа с основанием N1. При каждом умножении целая часть
произведения берется в виде очередной цифры соответствующего разряда, а
оставшаяся дробная часть принимается за новое множимое. Число умножений
определяет разрядность полученного результата, представляющего число An1 в
системе счисления N2.
06.04.2024
© Черных Татьяна Александровна
44

45.

Раздел 2: Арифметические основы компьютера
Перевод дробного числа из десятичной в двоичную, восьмеричную и
шестнадцатеричную системы счисления.
06.04.2024
© Черных Татьяна Александровна
45

46.

Раздел 1: Понятие об архитектуре компьютера
Так как двоичная, восьмеричная и шестнадцатеричная СС связаны через
степени числа 2, то преобразования между ними можно выполнять более
простым способом. Для перевода из шестнадцатеричной (восьмеричной) системы
счисления в двоичную достаточно двоичным кодом записать шестнадцатеричные
коды цифр тетрадами (по 4 двоичных разряда) и триадами (по 3 двоичных
разряда) - для восьмеричных цифр. Обратный перевод из двоичного кода
производится в обратном порядке: двоичное число разбивается влево и вправо от
границы целой и дробной частей на тетрады - для последующей записи цифр в
шестнадцатеричном представлении, на триады - для записи их значений
восьмеричными цифрами.
Триада – три двоичных разряда
Из 2-ой в 8-ую с.с. Разбиваем двоичное число на триады справа налево и
каждую триаду записываем восьмеричным числом 1.011.101.1102=13568
Из 8-ой в 2-ую с.с. Каждую цифру восьмеричного числа записываем как
триаду 15338 = 1.101.011.0112
Тетрада – четыре двоичных разряда
Из 2-ой в 16-ую с.с. Разбиваем двоичное число на тетрады справа налево и
каждую тетраду записываем 16-ричным числом 1.0111.1011.10102=17BA16
06.04.2024
© Черных Татьяна Александровна
46

47.

10 система
счисления
2 система
счисления
8 система
счисления
16 система
счисления
1
1
1
1
2
10
2
2
3
11
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
06.04.2024
© Черных Татьяна Александровна
47

48.

Раздел 2: Арифметические основы компьютера
Основание позиционной системы счисления - это количество различных
знаков или символов, используемых для изображения цифр в данной системе.
Запись чисел в каждой из систем счисления с основанием q означает
сокращенную запись выражения:
Где :
ai – цифры системы счисления;
n и m – число целых и дробных разрядов, соответственно.
06.04.2024
© Черных Татьяна Александровна
48

49.

Раздел 2: Арифметические основы компьютера
Например:
06.04.2024
© Черных Татьяна Александровна
49

50.

Раздел 2: Арифметические основы компьютера
Порождение чисел в позиционных и непозиционных системах счисления.
Продвижением цифры называют замену её следующей по величине.
Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит
заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в
десятичной системе) означает замену её на 0.
Правило: Для образования целого числа, следующего за любым данным
целым числом, нужно продвинуть самую правую цифру числа; если какая-либо
цифра после продвижения стала нулем, то нужно продвинуть цифру, стоящую
слева от неё.
06.04.2024
© Черных Татьяна Александровна
50

51.

Раздел 2: Арифметические основы компьютера
Почему в компьютерах используются также восьмеричная и
шестнадцатеричная системы счисления?
Числа в этих системах читаются почти так же легко, как десятичные, требуют
соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза
меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 – соответственно,
третья и четвертая степени числа 2).
06.04.2024
© Черных Татьяна Александровна
51

52.

Раздел 2: Арифметические основы компьютера
Перевод чисел из одной системы счисления в другую.
Правило: Перевод восьмеричных и шестнадцатеричных чисел в
двоичную систему очень прост: достаточно каждую цифру заменить
эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой
цифр).
Например:
06.04.2024
© Черных Татьяна Александровна
52

53.

Раздел 2: Арифметические основы компьютера
Правило: Чтобы перевести число из двоичной системы в восьмеричную
или шестнадцатеричную, его нужно разбить влево и вправо от запятой на
триады (для восьмеричной) или тетрады (для шестнадцатеричной) и каждую
такую
группу
заменить
соответствующей
восьмеричной
(шестнадцатеричной) цифрой.
Например:
06.04.2024
© Черных Татьяна Александровна
53

54.

Раздел 2: Арифметические основы компьютера
Как перевести целое число из десятичной системы в любую другую
позиционную систему счисления?
Правило: При переводе целого десятичного числа в систему с основанием
q его необходимо последовательно делить на q до тех пор, пока не останется
остаток, меньший или равный q–1. Число в системе с основанием q
записывается как последовательность остатков от деления, записанных в
обратном порядке, начиная с последнего.
06.04.2024
© Черных Татьяна Александровна
54

55.

Раздел 2: Арифметические основы компьютера
Пример: Перевести число 75 из десятичной системы в двоичную,
восьмеричную и шестнадцатеричную:
Ответ:
06.04.2024
© Черных Татьяна Александровна
55

56.

Раздел 2: Арифметические основы компьютера
Как перевести правильную десятичную дробь в любую другую
позиционную систему счисления?
Правило: При переводе правильной десятичной дроби в систему
счисления с основанием q необходимо сначала саму дробь, а затем дробные
части всех последующих произведений последовательно умножать на q,
отделяя после каждого умножения целую часть произведения. Число в новой
системе счисления записывается как последовательность полученных целых
частей произведения.
06.04.2024
© Черных Татьяна Александровна
56

57.

Раздел 2: Арифметические основы компьютера
Пример: Перевести число 0,35 из десятичной системы в двоичную,
восьмеричную и шестнадцатеричную:
в двоичную
в восьмеричную
в шестнадцатеричную
Ответ:
06.04.2024
© Черных Татьяна Александровна
57

58.

Раздел 2: Арифметические основы компьютера
Как перевести число из двоичной, восьмеричной и шестнадцатеричной
системы в десятичную?
Правило: При переводе числа из двоичной (восьмеричной,
шестнадцатеричной) системы в десятичную надо это число представить в виде
суммы степеней основания его системы счисления.
Например:
06.04.2024
© Черных Татьяна Александровна
58

59.

Раздел 2: Арифметические основы компьютера
Сводная таблица переводов целых чисел из одной системы счисления в
другую.
Для определенности возьмем произвольное десятичное число, например
46, и для него выполним все возможные последовательные переводы из одной
системы счисления в другую.
Порядок переводов определим в соответствии с рисунком:
06.04.2024
© Черных Татьяна Александровна
59

60.

Раздел 2: Арифметические основы компьютера
На этом рисунке использованы следующие
обозначения:
в кружках записаны основания систем
счисления;
стрелки указывают направление перевода;
номер рядом со стрелкой означает порядковый
номер соответствующего примера.
означает перевод из двоичной системы в
шестнадцатеричную, имеющий в таблице
порядковый номер 6.
06.04.2024
© Черных Татьяна Александровна
60

61.

Раздел 2: Арифметические основы компьютера
Примеры перевода чисел из одной системы счисления в другую
06.04.2024
© Черных Татьяна Александровна
61

62.

Раздел 2: Арифметические основы компьютера
Выполнение арифметических операций в позиционных системах
счисления.
Сложение в двоичной системе
06.04.2024
Сложение в восьмеричной системе
© Черных Татьяна Александровна
62

63.

Раздел 2: Арифметические основы компьютера
Сложение в шестнадцатеричной системе
06.04.2024
© Черных Татьяна Александровна
63

64.

Раздел 2: Арифметические основы компьютера
Пример : Сложим числа 141,5 и 59,75 в различных системах счисления.
Ответ:
06.04.2024
© Черных Татьяна Александровна
64

65.

Раздел 2: Арифметические основы компьютера
Умножение в двоичной системе
06.04.2024
Умножение в восьмеричной системе
© Черных Татьяна Александровна
65

66.

Раздел 2: Арифметические основы компьютера
Пример : Перемножим числа 5 и 6 в различных системах счисления.
06.04.2024
© Черных Татьяна Александровна
66

67.

Раздел 2: Арифметические основы компьютера
Представление целых чисел в компьютере.
Целые числа без знака обычно занимают в памяти один или два байта и
принимают в однобайтовом формате значения от 000000009(0) до 11111111(2), а в
двухбайтовом формате - от 0000000000000000(2) до 1111111111111111(2).
Диапазоны значений целых чисел без знака
06.04.2024
© Черных Татьяна Александровна
67

68.

Раздел 2: Арифметические основы компьютера
Пример представление целых чисел в компьютере
06.04.2024
© Черных Татьяна Александровна
68

69.

Раздел 2: Арифметические основы компьютера
Целые числа со знаком обычно занимают в памяти компьютера один, два
или четыре байта, при этом самый левый (старший) разряд содержит
информацию о знаке числа. Знак “плюс” кодируется нулем, а “минус” единицей.
Диапазоны значений целых чисел со знаком
06.04.2024
© Черных Татьяна Александровна
69

70.

Раздел 2: Арифметические основы компьютера
Прямой, обратный и дополнительные коды.
В компьютерной технике применяются три формы записи (кодирования)
целых чисел со знаком: прямой код, обратный код, дополнительный код.
Положительные числа в прямом, обратном и дополнительном кодах
изображаются одинаково - двоичными кодами с цифрой 0 в знаковом
разряде.
06.04.2024
© Черных Татьяна Александровна
70

71.

Раздел 2: Арифметические основы компьютера
Отрицательные числа в прямом, обратном и дополнительном кодах имеют
разное изображение.
Прямой код.
В знаковый разряд помещается цифра 1, а в разряды
цифровой части числа - двоичный код числа.
Обратный код. Получается из прямого кода, путем инвертирования всех
разрядов числа, оставляя без изменения разряд знака (нули заменяются
единицами, а единицы – нулями).
06.04.2024
© Черных Татьяна Александровна
71

72.

Раздел 2: Арифметические основы компьютера
Дополнительный код. Получается из обратного
прибавления единицы к его младшему разряду.
кода,
путем
Правило: Обычно отрицательные десятичные числа при вводе в
машину автоматически преобразуются в обратный или дополнительный
двоичный код и в таком виде хранятся, перемещаются и участвуют в
операциях. При выводе таких чисел из машины происходит обратное
преобразование в отрицательные десятичные числа.
06.04.2024
© Черных Татьяна Александровна
72

73.

Раздел 2: Арифметические основы компьютера
Выполнение арифметических действий над целыми числами.
Сложение и вычитание
Правило: В большинстве компьютеров операция вычитания не
используется. Вместо нее производится сложение уменьшаемого с обратным
или дополнительным кодом вычитаемого. Это позволяет существенно
упростить конструкцию АЛУ.
При сложении обратных кодов чисел А и В имеют место четыре основных
и два особых случая:
А и В положительные. При суммировании складываются все разряды,
включая разряд знака. Так как знаковые разряды положительных слагаемых
равны нулю, разряд знака суммы тоже равен нулю.
Например:
06.04.2024
© Черных Татьяна Александровна
73

74.

Раздел 2: Арифметические основы компьютера
А положительное, B отрицательное и по абсолютной величине
больше, чем А.
Например:
Получен правильный результат в обратном коде. При переводе в прямой
код биты цифровой части результата инвертируются:
06.04.2024
© Черных Татьяна Александровна
74

75.

Раздел 2: Арифметические основы компьютера
А положительное, B отрицательное и по абсолютной величине меньше,
чем А.
Например:
Компьютер исправляет полученный первоначально неправильный
результат (6 вместо 7) переносом единицы из знакового разряда в младший
разряд суммы.
06.04.2024
© Черных Татьяна Александровна
75

76.

Раздел 2: Арифметические основы компьютера
А и В отрицательные.
Например:
Полученный первоначально неправильный результат (обратный код числа
вместо обратного кода числа
компьютер исправляет переносом
единицы из знакового разряда в младший разряд суммы.
При переводе результата в прямой код биты цифровой части числа
инвертируются:
06.04.2024
© Черных Татьяна Александровна
76

77.

Раздел 2: Арифметические основы компьютера
При сложении может возникнуть ситуация, когда старшие разряды результата
операции не помещаются в отведенной для него области памяти. Такая ситуация
называется переполнением разрядной сетки формата числа. Для обнаружения
переполнения и оповещения о возникшей ошибке в компьютере используются
специальные средства. Ниже приведены два возможных случая переполнения.
А и В положительные, сумма А+В больше, либо равна , где n – количество
разрядов формата чисел (для однобайтового формата n=8,
)
Например:
Семи разрядов цифровой части числового формата недостаточно для
размещения восьмиразрядной суммы (
), поэтому старший разряд
суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы
и знаков слагаемых, что является свидетельством переполнения разрядной сетки.
06.04.2024
© Черных Татьяна Александровна
77

78.

Раздел 2: Арифметические основы компьютера
А и В отрицательные, сумма абсолютных величин А и В больше, либо
равна
Например:
Здесь знак суммы тоже не совпадает со знаками слагаемых, что
свидетельствует о переполнении разрядной сетки.
06.04.2024
© Черных Татьяна Александровна
78

79.

Раздел 2: Арифметические основы компьютера
Все эти случаи имеют место и при сложении дополнительных кодов чисел:
А и В положительные. Здесь нет отличий от случая А и В положительные,
рассмотренного для обратного кода.
А положительное, B отрицательное и по абсолютной величине больше, чем
А.
Например:
Получен правильный результат в дополнительном коде. При переводе в
прямой код биты цифровой части результата инвертируются, и к младшему
разряду прибавляется единица:
06.04.2024
© Черных Татьяна Александровна
79

80.

Раздел 2: Арифметические основы компьютера
А положительное, B отрицательное и по абсолютной величине меньше,
чем А.
Например:
Получен правильный результат. Единицу переноса из знакового разряда
компьютер отбрасывает.
06.04.2024
© Черных Татьяна Александровна
80

81.

Раздел 2: Арифметические основы компьютера
А и В отрицательные.
Например:
Получен правильный результат в дополнительном коде. Единицу переноса
из знакового разряда компьютер отбрасывает.
Случаи переполнения для дополнительных кодов рассматриваются по
аналогии со случаями 5 и 6 для обратных кодов.
06.04.2024
© Черных Татьяна Александровна
81

82.

Раздел 2: Арифметические основы компьютера
Сравнение рассмотренных форм кодирования целых чисел со знаком
показывает на:
• преобразование отрицательного числа в обратный код компьютер
затрачивает меньше времени, чем на преобразование в дополнительный код,
так как последнее состоит из двух шагов - образования обратного кода и
прибавления единицы к его младшему разряду;
• время выполнения сложения для дополнительных кодов чисел меньше,
чем для их обратных кодов, потому что в таком сложении нет переноса
единицы из знакового разряда в младший разряд результата.
06.04.2024
© Черных Татьяна Александровна
82

83.

Раздел 2: Арифметические основы компьютера
Умножение и деление
Во многих компьютерах умножение производится как последовательность
сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый
накапливающим сумматором, который до начала выполнения операции
содержит число ноль. В процессе выполнения операции в нем поочередно
размещаются множимое и результаты промежуточных сложений, а по
завершении операции - окончательный результат.
Другой регистр АЛУ, участвующий в выполнении этой операции, вначале
содержит множитель. Затем по мере выполнения сложений содержащееся в нем
число уменьшается, пока не достигнет нулевого значения.
06.04.2024
© Черных Татьяна Александровна
83

84.

Раздел 2: Арифметические основы компьютера
Для иллюстрации умножим
на
Деление для компьютера является трудной операцией. Обычно оно
реализуется путем многократного прибавления к делимому дополнительного
кода делителя.
06.04.2024
© Черных Татьяна Александровна
84

85.

Раздел 2: Арифметические основы компьютера
Представление вещественных чисел в компьютере.
Определение: Вещественными числами (в отличие от целых)
компьютерной технике называются числа, имеющие дробную часть.
в
При их написании вместо запятой принято писать точку. Так, например,
число 5 - целое, а числа 5.1 и 5.0 - вещественные.
Для удобства отображения чисел, принимающих значения из достаточно
широкого диапазона (то есть, как очень маленьких, так и очень больших),
используется форма записи чисел с порядком основания системы счисления.
Например: десятичное число 1.25 можно в этой форме представить так:
или так:
06.04.2024
© Черных Татьяна Александровна
85

86.

Раздел 2: Арифметические основы компьютера
Определение:
Любое число N в системе счисления с основанием q
можно записать в виде
, где M называется мантиссой числа, а p порядком. Такой способ записи чисел называется представлением с плавающей
точкой.
Если “плавающая” точка расположена в мантиссе перед первой значащей
цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу,
обеспечивается запись максимального количества значащих цифр числа, то
есть максимальная точность представления числа в машине. Из этого следует:
Правило:
Мантисса должна быть правильной дробью, первая цифра
которой отлична от нуля:
Определение: Такое, наиболее выгодное для компьютера, представление
вещественных чисел называется нормализованным.
Правило:
Мантиссу и порядок q-ичного числа принято записывать в
системе с основанием q, а само основание - в десятичной системе.
06.04.2024
© Черных Татьяна Александровна
86

87.

Раздел 2: Арифметические основы компьютера
Примеры нормализованного представления:
Характеристики форматов вещественных чисел, используемых IBMсовместимыми персональными компьютерами:
06.04.2024
© Черных Татьяна Александровна
87

88.

Раздел 2: Арифметические основы компьютера
При хранении числа с плавающей точкой отводятся разряды для
мантиссы, порядка, знака числа и знака порядка:
Правило: Чем больше разрядов отводится под запись мантиссы, тем выше
точность представления числа. Чем больше разрядов занимает порядок, тем
шире диапазон от наименьшего отличного от нуля числа до наибольшего числа,
представимого в машине при заданном формате.
06.04.2024
© Черных Татьяна Александровна
88

89.

Раздел 2: Арифметические основы компьютера
Покажем на примерах, как записываются некоторые числа в
нормализованном виде в четырехбайтовом формате с семью разрядами для
записи порядка.
06.04.2024
© Черных Татьяна Александровна
89

90.

Раздел 2: Арифметические основы компьютера
Выполнение арифметических операций над нормализованными
числами.
Сложение и вычитание
При сложении и вычитании сначала производится подготовительная
операция, называемая выравниванием порядков.
Правило: В процессе выравнивания порядков мантисса числа с меньшим
порядком сдвигается в своем регистре вправо на количество разрядов, равное
разности порядков операндов. После каждого сдвига порядок увеличивается на
единицу.
В результате выравнивания порядков одноименные разряды чисел
оказываются расположенными в соответствующих разрядах обоих регистров,
после чего мантиссы складываются или вычитаются.
В случае необходимости полученный результат нормализуется путем
сдвига мантиссы результата влево. После каждого сдвига влево порядок
результата уменьшается на единицу.
06.04.2024
© Черных Татьяна Александровна
90

91.

Раздел 2: Арифметические основы компьютера
Пример:
1) Сложить двоичные нормализованные числа
и
.
Разность порядков слагаемых здесь равна трем, поэтому перед сложением
мантисса первого числа сдвигается на три разряда вправо:
2) Выполнить вычитание двоичных нормализованных чисел
и
Разность порядков уменьшаемого и вычитаемого здесь равна единице,
поэтому перед вычитанием мантисса второго числа сдвигается на один разряд
вправо:
Результат получился не нормализованным, поэтому его мантисса сдвигается
влево на два разряда с соответствующим уменьшением порядка на две единицы:
06.04.2024
© Черных Татьяна Александровна
91

92.

Раздел 2: Арифметические основы компьютера
Умножение
Правило:
При умножении двух нормализованных чисел их порядки
складываются, а мантиссы перемножаются.
Пример:
Выполнить умножение двоичных нормализованных чисел:
Деление
Правило: При делении двух нормализованных чисел из порядка делимого
вычитается порядок делителя, а мантисса делимого делится на мантиссу
делителя. Затем в случае необходимости полученный результат нормализуется.
Пример:
Выполнить деление двоичных нормализованных чисел:
Использование представления чисел с плавающей точкой существенно
усложняет схему арифметико-логического устройства.
06.04.2024
© Черных Татьяна Александровна
92

93.

Вопросы для самопроверки:
Раздел 2 Арифметические основы компьютера
1. Порождение чисел в позиционных и непозиционных системах счисления.
2. Перевод чисел из одной системы счисления в другую.
3. Выполнение арифметических операций в позиционных системах счисления.
4. Представление целых чисел в компьютере. Прямой, обратный и
дополнительные коды.
5. Выполнение арифметических действий над целыми числами.
6. Представление вещественных чисел в компьютере.
7. Выполнение арифметических операций над нормализованными числами.
8. Классификация микропроцессоров.
9. Оперативные запоминающие устройства.
10. Постоянные запоминающие устройства.
11. Системные шины ПЭВМ.
12. Устройства сопряжения.
13. Устройства ввода данных.
14. Устройства вывода данных.
06.04.2024
© Черных Татьяна Александровна
93

94.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Введение в язык ассемблера
Язык ассемблера помогает раскрыть все секреты аппаратного и программного
обеспечения. С его помощью можно получить представление о том, как
аппаратная часть взаимодействует с операционной системой и как прикладные
программы обращаются к операционной системе. Большинство программистов
работают с языками высокого уровня, где отдельное утверждение
преобразовывается во множество процессорных команд. Ассемблер - язык
машинного уровня; каждая команда непосредственно интерпретируется в
машинный код, что дает основание считать его языком низкого уровня.
Наиболее часто язык ассемблера используется для написания дополнений к
операционной системе или для написания программ прямого доступа к
аппаратуре. Он необходим также при оптимизации критических блоков в
прикладных программах с целью повышения их быстродействия.
06.04.2024
© Черных Татьяна Александровна
94

95.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Основные конструкции языка ассемблера
Константы
Константа является величиной, которая не изменяется в течение всего
времени выполнения программы. Константы могут быть числовые и строчные.
Числовые константы могут быть записаны в одной из трех систем счисления
– двоичной, десятичной или 16-ричной.
Отрицательные константы ассемблером записываются в дополнительном коде
(для положительных чисел представление в дополнительном и прямом кодах
совпадают).
Длина внутреннего представления константы равна 1 байт (8 двоичных
разрядов) или 2 байта в зависимости от команды, с которой она используется.
06.04.2024
© Черных Татьяна Александровна
95

96.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Система счисления обозначается спецификатором, который может либо
предшествовать константе, либо стоять в ее конце. В качестве спецификаторов
используются:
H, h, $ - 16-ричная система,
@ (отсутствие спецификатора) - десятичная система,
B, b, % - двоичная система.
06.04.2024
© Черных Татьяна Александровна
96

97.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Если число в 16-ричной системе начинается с буквы, слева от нее должен
быть дописан 0 (при спецификаторе H).
Пример:
06.04.2024
© Черных Татьяна Александровна
97

98.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
В примере приведен фрагмент листинга, полученного в результате
трансляции программы, команды которой приведены во второй колонке. В первой
колонке приведены полученные коды. Вторым операндом во всех командах MVI
являются константы, записанные в различных системах счисления. Первым
байтом кода во всех этих случаях является код 3E, соответствующий MVI А.
Константа, записываемая в регистр А, представлена в 16-ричной системе вторым
байтом кода. Следует обратить внимание на запись чисел 5 и -5 в 3-й и 4-й
командах. В команде JMP операндом является адрес перехода, который может
иметь длину 2 байта.
06.04.2024
© Черных Татьяна Александровна
98

99.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Символы (символические имена)
Символы используются в качестве меток или (А–Z, a–z, 0–9, S и _ ) длиной до
31. В качестве знака в строке не может использоваться пробел. Заглавные и
строчные буквы рассматриваемый ассемблер воспринимаeт как одинаковые
(например, символы АВС и abc).
Символы, которые используются как метки, становятся идентификаторами
адресов ячеек памяти, в которых хранятся кодовые слова программы. Они могут
применяться в поле метки только один раз.
Символы, используемые в поле операнда, становятся идентификаторами
переменных величин, т.е. идентификаторами адресов ячеек памяти данных, где
хранятся эти величины или идентификаторами констант. Эти символы должны
быть определены либо директивами ассемблера непосредственно в программном
файле, либо в командном файле компоновки.
06.04.2024
© Черных Татьяна Александровна
99

100.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Символы действуют только внутри некоторого программного модуля, т.е. для
каждого символа имеется некоторая область видимости. Соответствующие
правила определения и задания директивами области действия символа
приводятся
ниже.
Некоторые символы (помимо мнемоник команд и директив ассемблера) являются
стандартно определенными или предопределенными, т.е. они зарезервированы
ассемблером и не могут использоваться в качестве идентификаторов. Таковыми
являются, например, имена регистров РОН. Кроме того, не следует использовать
символы x, y и M.
06.04.2024
© Черных Татьяна Александровна
100

101.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Выражения
Выражением является последовательность констант, символов, функций,
объединенных арифметическими операторами и круглыми скобками. Выражение
может являться операндом или частью операнда команды процессора или
директивы.
Выражение вычисляется при трансляции, т.е. ассемблер может взять на себя
задачу расчета фактического значения операнда. Смысл результата вычисления
определяется местоположением выражения в программе. Например, результат
может являться адресом или значением какой-либо величины (например,
величины сдвига). Вычисление выражения подчиняется правилам алгебры и
булевой алгебры.
Три главных фактора определяют порядок вычисления выражения:
круглые скобки,
ранги арифметических и логических операторов,
направление вычислений.
06.04.2024
© Черных Татьяна Александровна
101

102.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Выражения обычно вычисляются слева направо, если другой порядок
вычисления не определяется круглыми скобками или рангами операций. Внутри
скобок направление вычислений - также слева направо при равенстве рангов
операций.
Выражения
могут
быть
абсолютными
и
относительными
(перемещаемыми). Абсолютное выражение состоит из абсолютных величин,
например, констант.
Относительное содержит относительные (перемещаемые) величины,
которые могут изменяться. Например, метки, которые могут меняться при
изменении размещения программы в памяти (при компоновке).
06.04.2024
© Черных Татьяна Александровна
102

103.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Операторы
Оператор является символом операции, которая должна быть выполнена.
Среди операторов выделяют унарные: т.е. операторы, которые используются с
одним операндом (например, знаки числа). Ранги операторов определяют порядок
выполнения соответствующих операций в выражении. Некоторые используемые
в языке операторы и примеры приведены в табл. 1.
06.04.2024
© Черных Татьяна Александровна
103

104.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
06.04.2024
© Черных Татьяна Александровна
104

105.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Основные команды
Регистры ввода/вывода:
CBI - сброс бита порта
SBI - установка лог. "1" бита порта
IN - загрузка значения из порта в регистр
OUT - загрузка значения в регистр
SBIC - пропуск следующей команды, если бит порта сброшен
SBIS - пропуск следующей команды, если бит порта установлен
06.04.2024
© Черных Татьяна Александровна
105

106.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Ветвление:
• CALL -абсолютный вызов
• RCALL - относительный вызов
• RET - возврат из подпрограммы
• RETI - возврат из прерывания, флаг разрешения прерываний I "жестко"
устанавливается
• JMP - абсолютный переход
• RJMP - относительный переход
• BRBC - переход, если бит регистра SREG сброшен
• BRBS - переход, если бит регистра SREG установлен
• SBRC - пропустить следующую команду, если бит регистра сброшен
• SBRS - пропустить следующую команду, если бит регистра установлен
06.04.2024
© Черных Татьяна Александровна
106

107.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Работа со стеком:
PUSH - сохранить регистр в стеке
POP - извлечение регистра из стека
Важные команды:
NOP - команда, которая ничего не делает
CLI - запретить прерывания
SEI - разрешить прерывания
CP - сравнить значения двух регистров общего назначения
CPI - сравнить значение регистра с константой
LDI - загрузить константу в регистр общего назначения
CLR - очистить регистр общего назначения
06.04.2024
© Черных Татьяна Александровна
107

108.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Примеры применения данных команд:
06.04.2024
© Черных Татьяна Александровна
108

109.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Структура ассемблерных подпрограмм
Ассемблерные подпрограммы - это процедуры и функции, объявленные с
директивой Assembler. В таких подпрограммах исполняемая часть не содержит
begin... end и состоит из единственного ассемблерного оператора asm... end.
Например:
Function LongMul(X,Y:Integer):LongInt; Assembler;
asm
mov ax, X
imul Y {DX/AX содержат "длинный" результат}
end;
06.04.2024
© Черных Татьяна Александровна
109

110.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
При компиляции ассемблерных подпрограмм выполняется ряд оптимизаций кода,
в том числе:
• параметры-значения строкового типа, а также длиной в 1, 2 и 4 байта не
копируются во временную память, т.е. внутри подпрограммы они считаются
параметрами-переменными ;
• компилятор не создает переменную @Result для результата функции, и ссылка на
эту переменную в ассемблерной функции недопустима; исключением являются
функции, возвращающие значения строкового типа, для них разрешается использовать
ссылку на @Result;
• генерируются следующие команды на входе в подпрограмму и на ее выходе:
push bp {Сохраняется ВР}
mov bp,sp {ВР содержит текущую границу стека}
sub sp,Locals {Резервируется часть стека для размещения локальных переменных}
.......
mov sp,bp {Восстанавливается граница стека}
pop bp {Восстанавливается ВР}
ret Params {Из стека удаляются параметры подпрограммы и осуществляется
выход из нее}
06.04.2024
© Черных Татьяна Александровна
110

111.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Для ссылки на локальные переменные используется адресация по базе,
задаваемая парой DS: ВР, поэтому при входе в процедуру всегда создается так
называемый локальный стек: в регистр ВР помещается текущая граница стека, а
сама эта граница смещается вверх на суммарную длину всех локальных
переменных, чтобы работа со стеком внутри подпрограммы не разрушила
локальные переменные. Например:
Procedure ...;
Assembler;
var
X: Word;
Y: Byte;
asm
mov X, ax {Компилируется в mov [BP-2], ax}
mov ah,Y {Компилируется в mov ah,[BP-3]}
end;
06.04.2024
© Черных Татьяна Александровна
111

112.

Раздел 3: Организация и функционирование ЭВМ на
ассемблерном уровне
Ассемблерные функции должны следующим образом возвращать результат
своей работы:
• длиной 1 байт (Byte, Char и т.п.) - в регистре AL;
• длиной 2 байта (Integer, Word) - в регистре АХ;
• длиной 4 байта (Pointer, LongInt) - в регистрах DX (старшее слово) и АХ
(младшее слово);
• типа Real - в регистрах DX, BX, АХ (старшее слово - в DX, младшее в АХ);
• вещественных типов Single, Double, Extended, Comp - в регистре ST (0)
сопроцессора;
• строкового типа - во временной области памяти, на которую ссылается
@Result.
06.04.2024
© Черных Татьяна Александровна
112

113.

Вопросы для самопроверки:
Раздел 3 Организация и функционирование ЭВМ на
ассемблерном уровне
1. Основные конструкции языка ассемблера.
2. Формат операторов языка ассемблера.
3. Основные команды языка ассемблера.
4. Организация загрузочных модулей.
5. Структура ассемблерных программ.
6. Система команд языка ассемблера.
06.04.2024
© Черных Татьяна Александровна
113

114.

Раздел 4: Программирование на ассемблере
Система команд
Команды группируются по выполняемым функциям. Важным для команд
является понятие операнда. Это, то значение данных, которое обрабатывает
команда. Хотя каждая команда имеет свою структуру операндов, имеется много
общих особенностей. Операнд обычно рассматривается как источник или
получатель, в зависимости от того, берет данные или помещает их. Получателями
могут быть только регистры или ячейки памяти, а источниками ещё и,
непосредственно, данные. Одновременно и источником и получателем ячейки
памяти быть не могут. Обычно операнды могут иметь любой размер. В
большинстве команд все операнды имеют одинаковый размер.
06.04.2024
© Черных Татьяна Александровна
114

115.

Раздел 4: Программирование на ассемблере
06.04.2024
© Черных Татьяна Александровна
115

116.

Раздел 4: Программирование на ассемблере
Одна из наиболее часто используемых команд - МОV позволяет в
защищенном режиме переслать байт или слово из регистра в регистр, из памяти в
регистр или из регистра в память. Тип пересылаемых данных (байт или слово)
определяется регистром, участвующим в пересылке. Ниже приводятся примеры
использования команды:
mov ах,Table {Пересылка слова из памяти в АХ}
mov Table,ah {Пересылка байта из АН в память}
mov ds,ax {Пересылка в сегмент данных}
mov es:[bx],ax {Пересылка слова в память: базовая адресация с заменой
сегмента}
mov ch,-17 {Переслать константу в регистр}
06.04.2024
© Черных Татьяна Александровна
116

117.

Раздел 4: Программирование на ассемблере
С помощью MOV нельзя пересылать:
из памяти в память, например, вместо
mov Mem1,Mem2 следует использовать
mov ax,Mem2
mov Mem1,ax
константу или переменную в DS, например, нельзя
mov DS,Data_Seg нужно:
mov ax,Data_Seg
mov ds,ax
один сегментный регистр в другой, например, нельзя
mov es, ds но можно
mov ax,ds
mov es,ax
в регистр CS; значение этого регистра (сегмента кода) автоматически
меняется при выполнении дальних команд CALL и JMP; кроме того, он
загружается из стека при выполнении команды RETF (выход из дальней
процедуры).
06.04.2024
© Черных Татьяна Александровна
117

118.

Раздел 4: Программирование на ассемблере
06.04.2024
© Черных Татьяна Александровна
118

119.

Раздел 4: Программирование на ассемблере
При использовании арифметических команд следует помнить о том, что МП
может обрабатывать знаковые числа, числа без знака, а также двоичнодесятичные числа. В беззнаковых числах для представления значения
используются все биты. т.е. они эквивалентны типам Byte и Word, в то время как
знаковые числа в старшем разряде хранят знак числа и эквивалентны типам
Shortlnt и Integer. Двоично-десятичные числа используют по 4 бита для каждого
десятичного разряда и могут быть упакованными или неупакованными. В первом
случае один байт хранит 2 десятичные цифры (старшая - в старшем полубайте),
во втором - только одну (старший полубайт не используется). Основные
арифметические команды МП (ADD, SUB, MUL, DIV) не учитывают двоичнодесятичную форму представления чисел, поэтому в архитектуру МП включены
команды коррекции результата.
06.04.2024
© Черных Татьяна Александровна
119

120.

Раздел 4: Программирование на ассемблере
06.04.2024
© Черных Татьяна Александровна
120

121.

Раздел 4: Программирование на ассемблере
Битовые команды используются при исчислении логических выражений, а
также в тех случаях, когда необходимо изменить отдельные разряды операнда.
Логические команды AND, OR, XOR и NOT эквивалентны соответствующим
операциям Турбо Паскаля в случае, когда операндами являются целочисленные
выражения.
06.04.2024
© Черных Татьяна Александровна
121

122.

Раздел 4: Программирование на ассемблере
06.04.2024
© Черных Татьяна Александровна
122

123.

Раздел 4: Программирование на ассемблере
06.04.2024
© Черных Татьяна Александровна
123

124.

Раздел 4: Программирование на ассемблере
Выполнение прерываний во многом напоминает косвенный вызов дальней
процедуры. По команде INT (INTO) в стек помещается регистр флагов, сегмент
CS и указатель IP, а новые значения этих регистров берутся из 4-байтного вектора
прерывания, соответствующего номеру прерывания в команде INT. Таким
образом, единственным отличием от команды CALL является то, что в стек
предварительно заносится регистр флагов. Команда INTO представляет собой
условное прерывание и выполняется, если в этот момент взведен флаг
переполнения OF. Команда IRET реализует правильный выход из программы
обработки прерывания: она считывает из стека 3 двухбайтные слова и помещает
их в регистры IP, CS и регистр флагов.
06.04.2024
© Черных Татьяна Александровна
124

125.

Раздел 4: Программирование на ассемблере
Форматы данных
Современные ЭВМ позволяют совершать операции над целыми и
вещественными числами различной длины. Это вызвано чисто практическими
соображениями. Например, если нужное нам целое число помещается в 1 байт, то
неэкономично использовать под его хранение 2 или большее число байтов
памяти. Во избежание такого неоправданного расхода памяти введены
соответствующие форматы данных, отражающие представление в памяти ЭВМ
чисел разной длины. Например, в зависимости от размера целого числа оно
может занимать в памяти 1, 2, 4 и более байт.
06.04.2024
© Черных Татьяна Александровна
125

126.

Раздел 4: Программирование на ассемблере
Многообразие форматов данных требует усложнения архитектуры как УУ
(резко возрастает число команд в языке машины), так и АЛУ, в частности
регистровой памяти. Теперь регистры должны уметь хранить, а АЛУ
обрабатывать данные различной длины.
06.04.2024
© Черных Татьяна Александровна
126

127.

Раздел 4: Программирование на ассемблере
Форматы команд. Для операции с разными способами адресации и разными
форматами данных необходимо введение различных форматов команд, которые
по-разному задают место нахождения и количество операндов и имеют разную
длину. Для широко распространённых сейчас двухадресных ЭВМ используются
следующие форматы команд:
- регистр-регистр (RR);
- регистр-память, память-регистр (RX);
- регистр-непосредственный операнд в команде (RI);
- память-непосредственный операнд в команде (SI);
- память-память, (SS) т.е. оба операнда в основной памяти.
Многообразие форматов команд и данных позволяет писать более компактные
и эффективные программы на языке машины.
06.04.2024
© Черных Татьяна Александровна
127

128.

Раздел 4: Программирование на ассемблере
Ассемблирование и дизассемблирование
Ассемблер - транслятор с языка ассемблера в машинные команды.
Ассемблирование - процесс трансляции программы с языка ассемблера в
машинный код.
Дисассемблер - транслятор, преобразующий машинный код в программу,
написанную на языке ассемблера. Дизассемблирование - процесс и/или способ
получения исходного текста программы на ассемблере из программы в
машинных кодах; превращение инструкций для процессора в относительно
просто читаемый текст программы. Целью дизассемблирования обычно является
изменение чужих программ (чаще всего это взлом защиты). Если вы попытаетесь
просмотреть в текстовом редакторе файлы с расширением .ехе , то увидите
непонятную смесь символов. Это инструкции для процессора. Компьютер читает
и исполняет их. Но иногда человек тоже хочет понять, что записано в этих
файлах. Тогда он выполняет дизассемблирование. Дизассемблирование
превращает исполняемый файл в текст программы на ассемблере (есть такой
язык пограммирования низкого уровня). Если вы знаете ассемблер, у вас
появляется возможность прочесть текст программы и внести в него изменения.
06.04.2024
© Черных Татьяна Александровна
128

129.

Раздел 4: Программирование на ассемблере
Отладка и трассировка программ
Отладка - это процесс поиска и исправления ошибок в программе,
препятствующих корректной работе программы. Существует три основных типа
ошибок: ошибки этапа компиляции, ошибки этапа выполнения и логические
ошибки.
1. Ошибки этапа компиляции или синтаксические ошибки происходят, когда
исходный код нарушает правила синтаксиса. Когда компилятор встречает
оператор, который он не может распознать, соответствующий файл выводится в
окне редактирования, курсор позиционируется на то место, которое не понял
компилятор, и выводится сообщение об ошибке. Наиболее общей причиной
ошибок этапа компиляции являются опечатки, пропущенные точки с запятой,
ссылки на неописанные переменные, передача неверного числа (или типа)
параметров процедуры или функции и присваивание переменной значений
неверного типа.
06.04.2024
© Черных Татьяна Александровна
129

130.

Раздел 4: Программирование на ассемблере
2. Ошибки этапа выполнения или семантические ошибки происходят, когда
вы компилируете полную программу, которая при ее выполнении делает что-то
недопустимое. То есть, программа содержит допустимые операторы, но при
выполнении операторов что-то происходит неверно. Например, ваша программа
может пытаться открыть для ввода несуществующий файл или выполнить
деление на ноль. Когда программа Borland Pascal обнаруживает такую ошибку,
она завершает выполнение и выводит сообщение следующего вида: Run-time
error ## at seg:ofs
3. Логические ошибки - это ошибки проектирования и реализации
программы. То есть, операторы допустимы и что-то делают, но не то, что
предполагалось. Эти ошибки часто трудно отследить, поскольку IDE не может
найти их автоматически, как синтаксические и семантические ошибки. К
счастью, IDE включает в себя средства отладки, помогающие найти логические
ошибки. Логические ошибки приводят к некорректному или непредвиденному
значению переменных, неправильному виду графических изображений или
невыполнению кода, когда это ожидается.
06.04.2024
© Черных Татьяна Александровна
130

131.

Раздел 4: Программирование на ассемблере
Во время работы программы ее инструкции выполняются одна за другой со
скоростью работы процессора компьютера. При этом программист не может
определить, какая инструкция выполняется в данный момент, и, следовательно,
определить, соответствует ли реальный порядок выполнения инструкций
разработанному им алгоритму. В случае неправильной работы программы
необходимо видеть реальный порядок выполнения инструкций. Это можно
сделать, выполнив трассировку программы. Трассировка – это процесс
выполнения программы по шагам (step-by-step), инструкция за инструкцией.
06.04.2024
© Черных Татьяна Александровна
131

132.

Раздел 4: Программирование на ассемблере
Встречаются два режима трассировки: без захода в процедуру (Step over) и с
заходом в процедуру (Trace into). Режим трассировки без захода в процедуру
выполняет трассировку только главной процедуры, при этом трассировка
подпрограмм не выполняется, вся подпрограмма выполняется за один шаг. В
режиме трассировки с заходом в процедуру выполняется трассировка всей
программы, т. е. по шагам выполняются все подпрограммы.
Для того чтобы начать трассировку, необходимо из меню Run выбрать
команду Step over или Trace into. В результате в окне редактора кода будет
выделена первая инструкция программы. Для того чтобы выполнить выделенную
инструкцию, необходимо из меню Run выбрать команду Step over (нажать
клавишу F8) или Trace into (нажать клавишу F7). После выполнения инструкции
будет выделена следующая. Таким образом, выбирая нужную команду из меню
Run, можно выполнить трассировку программы. В любой момент можно
завершить трассировку и продолжить выполнение программы в реальном темпе.
Для этого надо из меню Run выбрать команду Run.
06.04.2024
© Черных Татьяна Александровна
132

133.

Вопросы для самопроверки:
Раздел 4 Программирование на ассемблере
1.
Команда mov. Особенности применения.
2.
Команды общего назначения.
3.
Команды ввода-вывода.
4.
Команды сложения.
5.
Команды вычитания.
6.
Команды безусловных переходов.
7.
Команды условных переходов.
8.
Команды и данные.
9.
Форматы данных.
10. Ассемблирование и дизассемблирование.
11. Отладка и трассировка программ.
06.04.2024
© Черных Татьяна Александровна
133

134.

Экзаменационные вопросы:
1.История развития вычислительной техники.
2.Классификация компьютеров.
3.Информационно-логические основы построения ЭВМ.
4.Принципы фон Неймана и классическая архитектура компьютера.
5.Порождение чисел в позиционных и непозиционных системах счисления.
6.Перевод чисел из одной системы счисления в другую.
7.Выполнение арифметических операций в позиционных системах счисления.
8.Представление целых чисел в компьютере. Прямой, обратный и
дополнительные коды.
9.Выполнение арифметических действий над целыми числами.
10.Представление вещественных чисел в компьютере.
11. Выполнение арифметических операций над нормализованными числами.
12. Классификация микропроцессоров.
13. Оперативные запоминающие устройства.
14. Постоянные запоминающие устройства.
15. Системные шины ПЭВМ.
06.04.2024
© Черных Татьяна Александровна
134

135.

16. Устройства сопряжения.
17. Устройства ввода данных.
18. Устройства вывода данных.
19. Основные конструкции языка ассемблера.
20. Формат операторов языка ассемблера.
21. Основные команды языка ассемблера.
22. Организация загрузочных модулей.
23. Структура ассемблерных программ.
24. Система команд языка ассемблера.
25. Команда mov. Особенности применения.
26. Команды общего назначения.
27. Команды ввода-вывода.
28. Команды сложения.
29. Команды вычитания.
30. Команды безусловных переходов.
31. Команды условных переходов.
32. Команды и данные.
33. Форматы данных.
34. Ассемблирование и дизассемблирование.
35. Отладка и трассировка программ.
06.04.2024
© Черных Татьяна Александровна
135

136.

Основная литература:
1. Авдеев, В.А. Периферийные устройства: интерфейсы, схемотехника,
программирование [Электронный ресурс]: учеб. пособие / В.А. Авдеев. –
Электрон. текстовые дан. - М.: ДМК Пресс, 2009. - 848 с. – Режим доступа:
http://www.biblioclub.ru/book/47413/.
2. Информатика [Электронный ресурс]: учеб. пособие / Е.Н. Гусева [и др.]. Электрон. текстовые дан. - М.: Флинта, 2011. - 260 с. - Режим доступа:
http://www.biblioclub.ru/book/83542/.
3. Антонова, Г.М. Современные средства ЭВМ и телекоммуникаций [Текст] :
учеб. пособие для вузов / Г. М. Антонова, А. Ю. Байков. - М. : Академия, 2010. 144 с. : ил. - (Высшее профессиональное образование. Информатика и
вычислительная техника). - Библиогр.: с. 139. - ISBN 978-5-7695-5689-0.
4. Гагарина, Л.Г. Современные проблемы информатики и вычислительной
техники [Текст] / Л. Г. Гагарина, А. А. Петров. - М. : Форум : ИНФРА-М, 2011. 368 с. : ил. - (Высшее образование). - Библиогр. в конце гл. - ISBN 978-5-81990442-8. - ISBN 978-5-16-004445-3.
5. Информатика. Базовый курс [Текст]: учеб. пособие для студентов втузов: для
бакалавров и специалистов / под ред. С. В. Симоновича.- 3-е изд. - СПб. : Питер,
2012. - 638 с.: ил. - (Учебник для вузов) - ISBN 978-5-459-00439-7.
06.04.2024
© Черных Татьяна Александровна
136

137.

Гвоздева, В.А. Информатика, автоматизированные информационные
технологии и системы [Текст] : учебник / В. А. Гвоздева. - М. : Форум : ИНФРАМ, 2012. - 542 с. : ил. - (Профессиональное образование). - Библиогр.: с. 536-537.
- ISBN 978-5-8199-0449-7. - ISBN 978-5-16-004572-6.
7. Рудаков, П. И. Язык ассемблера: уроки программирования [Электронный
ресурс] : П.И. Рудаков, К.Г. Финогенов – М.: Диалог-МИФИ, 2001. - 640 с.
http://www.biblioclub.ru/book/89393/.
8. Хорошевский, В. Г. Архитектура вычислительных систем [Текст]: учеб.
пособие для вузов по направлению «Информатика и вычислительная техника» /
В. Г. Хорошевский .- 2-е изд., перераб. и доп. - М. : МГТУ им. Н.Э. Баумана, 2008.
- 520 с.
9. Извозчикова, В. В. Элементы архитектуры ЭВМ [Текст] : метод. указания к
лаб. и практ. работам по курсу "Организация и функционирование ЭВМ" для
спец. 22.01 22.04 / В. В. Извозчикова, И. В. Матвейкина. - Оренбург : ОГУ, 1997. 43 с.
10. Кучеренко, В.
Ассемблер [Текст]: тонкости, хитрости и секреты
программирования / В. Кучеренко. - М. : Майор, 2001. - 160 с.
11. Бройдо, В. Л. Архитектура ЭВМ и систем [Текст] : учебник / В. Л. Бройдо, О.
П. Ильина.- 2-е изд. - СПб. : Питер, 2009. - 720 с. : ил. - (Учебник для вузов). Библиогр.: с. 717-720. - ISBN 978-5-388-00384-3.
12. Лин , В. Архитектура ЭВМ и программирование на языке ассемблера [Текст]
/ В. Лин . - М. : Радио и связь, 1989. - 320 с. : ил
6.
06.04.2024
© Черных Татьяна Александровна
137
English     Русский Rules