Системы счисления, применяемые в ЭВМ. Уровни программирования

Характеристика электронно-вычислительных машин (ЭВМ): их принцип действия; структура; устройство; основные классы (цифровые, машины дискретного действия, и аналоговые – непрерывного действия). Обзор систем счисления в ЭВМ и уровней программирования.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 17.04.2014
Размер файла 193,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

§ 1. Структура ЭВМ

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

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

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

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

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

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

Операции преобразования информации с кода внешнего носителя на язык машины и обратно выполняет устройство ввода-вывода.

Работа ЭВМ заключается в последовательном выполнении операций, предусмотренных программой. Вся необходимая информация (программа вычислений, все необходимые данные и т.д.) записываются в запоминающем устройстве, состоящем из отдельных пронумерованных ячеек, в каждую из которых может быть помещено одно число или команда. Из запоминающего устройства очередная команда, в которой указано, какую операцию надо выполнить (код операции) и где в памяти находятся числа (их адреса), над которыми необходимо произвести данную операцию. Эта команда поступает в устройство управления, которое посылает в АЛУ приказ о выполнении данной операции, а в запоминающее устройство - запрос о выдаче чисел, находящихся по указанным адресам. Запоминающее устройство выдает в АЛУ эти исходные числа, после чего АЛУ выполняет требуемую операцию и выдает сигнал в устройство управления для перехода к следующей команде. Именно программа настраивает ЭВМ на решение той или иной задачи. Поэтому программирование можно рассматривать как процесс перевода математической задачи с языка формул на язык машины. Для того, чтобы уметь программировать, необходимо знать об устройстве основных компонентов компьютера, принципах их работы и методикой их программирования. Именно об этом и пойдет речь в дальнейшем. Прежде всего поговорим о том,

Что внутри ЭВМ?

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

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

цифровые аналоговые электронные вычислительные

Размещено на http://www.allbest.ru/

Рис 1. Схема центрального микропроцессора

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

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

Intel 80х86 - имеет 14 16 битовых регистров для хранения данных.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Первая группа - универсальные регистры: AX, BX, CX, DX. К данным регистрам можно обращаться как к 16 разрядным, так и к их 8 разрядным половинкам. Например: AX, AH, AL.

АХ - аккумулятор,

ВХ - база,

СХ - счетчик,

DX - данные.

Вторая группа помогает ориентироваться в памяти и называется сегментные регистры. Каждый из них участвует в вычислении входа в определенный раздел памяти (сегмент), объемом 64 Кбайта.

CS - регистр сегмента кода, указывает место расположения программы в памяти.

DS - регистр сегмента данных, указывает, где в памяти хранятся данные, используемые в программе.

ES - регистр дополнительного сегмента.

SS - регистр сегмента стека, указывает на место расположения компьютерного стека.

5 сегментов для доступа к отдельным байтам памяти:

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

SP - Указатель стека.

BP - Указатель базы, используется для указания места в стеке.

SI и DI - Индекс источника и приемника, помогает программам перемещать большое количество данных с одного места на другое.

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

Flags

Размещено на http://www.allbest.ru/

Некоторые флаги называются флагами условий, - они автоматически меняются при выполнении команд и фиксируют те или иные свойства их результата (например, равен ли он нулю). Проверка этих флагов позволяет проанализировать результат команды.

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

Существенными являются 9 флагов.

Флаги условий.

CF (carry flag) - флаг переноса. Наиболее полезен в арифметических операциях над числами без знака. Если сумма чисел не укладывается в размер ячейки, флаг принимает значение 1.

OF (overflow flag) - флаг переполнения. Например, когда при арифметических операциях произошло превышение допустимой величины (переполнение мантиссы).

ZF (zero flag) - Флаг нуля. Устанавливается в 1, если результат выполнения операции оказался нулевым.

SF (Sign flag) - Флаг знака. Устанавливается в 1, если результат выполнения операции получился отрицательным.

PF (Parity flag) - Флаг четности. Равен 1, если в 8 младших битах результат очередной команды содержит четное количество двоичных единиц.

AF (auxiliary carry flag) - Флаг дополнительного переноса.

Флаги состояний.

DF (direction flag) - Флаг направления. Устанавливается направление просмотра строк в строковых командах. При 0 - строка просматривается вперед, от начала к концу. При 1 - в обратном направлении.

IF (interrupt flag) - Флаг прерываний. При 0 процессор перестает реагировать на прерывания. 1 - снимает блокировку.

TF (trap flag) - Флаг трассировки. При 1 после выполнения каждой команды процессор делает прерывание, чем можно воспользоваться при отладке программы.

Магистрально-модульный принцип построения ЭВМ

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

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

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

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

Разрядность шины данных определяется разрядностью процессора. Например процессоры Intel 80486 имеют разрядность 32 при тактовойчастоте от 33 до 40 Мгц.

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

§ 2. Двоичная система счисления

Системы счисления, применяемые в ЭВМ

При проектировании и создании вычислительных машин разработчики пришли к выводу, что привычная нам десятеричная система во многом неудобна и не является идеальной. Так в техническом плане, обработку информации оказалось легче всего производить, если мы имеем дело с сигналами двух видов: "Да" или "Нет", т. е. иметь дело с двоичными числами, с двоичным счислением. Ко времени создания первых электронно-вычислительных машин теория двоичного счисления была теоретически разработана. Имелся четкий математический аппарат двоичного счисления и математической логики. Именно он и был положен в основу работы ЭВМ. При записи больших чисел в более короткой форме, оказалось удобнее использовать восьми и шестнадцатеричную системы счисления. Привычная нам десятеричная система счисления оказалась для этих целей весьма неудобной. ЭВМ переводит все числа в десятеричную систему счисления исключительно в угоду человеку. Неудобство десятеричной системы счисления заключается в неоднозначном соответствии набора двоичных и десятеричных цифр.

Распишем таблицу чисел от 1 до 15:

Десятеричная Двоичная Шестнадцатеричная Восьмеричная

1 0001 1 1

2 0010 2 2

3 0011 3 3

4 0100 4 4

5 0101 5 5

6 0110 6 6

7 0111 7 7

8 1000 8

9 1001 9

10 1010 А

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

Из приведенной таблицы видно, что каждая цифра шестнадцатеричного числа однозначно описывает набор 4 цифр двоичного числа, в то время, как с десятеричными цифрами такой закономерности не наблюдается. Например, число 7 в десятеричной системе записывается одной цифрой, а число двенадцать - двумя. Т. е. десятеричные числа не могут однозначно описать все комбинации двоичных цифр.

Перевод чисел из двоичной системы в шестнадцатеричную или восьмеричную и обратно осуществляется очень просто. Для этого достаточно разбить двоичное число по 4 цифры справа для шестнадцатеричной и по 3 - для восьмеричной. Затем, пользуясь приведенной выше таблицей записать его шестнадцатеричными (восьмеричными) цифрами.

Например: дано число 110101101001011 в двоичной системе счисления. Перевести его в шестнадцатеричную и восьмеричную системы счисления.

110101101001011(двоич.)= 0110 1011 0100 1011(двоич.) =

= 6В4В (шестн.) =

= 110 101 101 001 011(двоич.) =

= 65613 (восьми.)

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

Давайте и мы с вами научимся осуществлять этот перевод. Существует множество различных способов перевода. Мы остановимся на одном.

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

159 - мы говорим 1 сотня, 5 десятков и 9 единиц.

По другому это число можно представить в следующем виде:

153 = 1*102+5*101+9*100

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

X = A1*Bn + A2*Bn-1 + … + An*B1 + An+1*B0

где В - основание системы счисления, A - коэффициент ( A< B )

Аналогично, в двоичной системе счисления число можно представить в виде:

10101 = 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20 = 32 + 16 + 0 + 4 + 0 + 1 (десять.) = 53 (десять.)

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

Полезно представить приведенную здесь закономерность в виде таблицы:

28 27 26 25 24 23 22 21 20

256 128 64 32 16 8 4 2 1

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

Например: пусть дано число 100101 в двоичной системе. Перевести его в десятеричную.

28 27 26 25 24 23 22 21 20

256 128 64 32 16 8 4 2 1

1 0 0 1 0 1

100101(двоич.) = 32 + 4 + 1 = 37(десять.)

Из десятеричной системы в двоичную можно перевести в обратном порядке. Находим число в таблице, наиболее близкое к нашему, но меньше его. Под этим числом в таблицу ставим единицу. Из нашего числа вычитаем число из таблицы. С разностью повторяем те же действия до тех пор, пока не распишем все число. Дополним пустые места в нашей таблице нулями. Прочитаем полученное двоичное число как обычно, слева на право. Это и будет результатом.

Единицы измерения информации.

Как было сказано выше, ЭВМ использует двоичную систему счисления. Поэтому минимальной единицей измерения информации является одно двоичное число - Бит.

Бит содержит информацию типа: Да или Нет. С помощью Бита очень трудно записать какую либо информацию. Поэтому договорились в качестве единицы информации использовать комбинацию из 8 Битов. Эта единица получила названия Байт. Набор 8 различных битов дает 256 различных комбинаций. Этого оказалось достаточно, чтобы закодировать все привычные нам буквы и символы. Поэтому 1 Байт можно представить как 1 символ. Таким образом информацию в ЭВМ мы вводим как последовательность привычных нам символов.

Байты информации объединяются в более крупные единицы:

1 Кбайт = 210 =1024 Байт - или примерно 1000 Байт (1 килобайт)

1 Мбайт = 220 - примерно миллион байт (1 Мегабайт)

1 Гбайт = 230 - примерно миллиард байт ( 1 Гигабайт)

К примеру - один лист печатного текста занимает в среднем 3000 байт или 3 Кбайта, полуторачасовой цветной видеофильм может занимать до нескольких Гигабайт.

Обработка информации в ЭВМ производится побайтово. Однако с появлением 16 и 32 разрядных процессоров все чаще и чаще записываю информацию словами (2 Байта) или двойными словами (4 Байта).

Операции над двоичными числами.

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

Например: 01001 9

+ 01011 + 11

===== ==

10100 20

Мы с вами остановимся на рассмотрении логических операций над двоичными числами. Вспомним основные логические операции «И», «ИЛИ», «НЕ»

Запишем таблицу истинности:

Логическое «И» Логическое «ИЛИ» Логическое «НЕ»

X Y X и Y X Y X и Y Х не Х

0 0 0 0 0 0 0 1

1 0 0 1 0 1 1 0

0 1 0 0 1 1

1 1 1 1 1 1

При логическом «И» результат будет истинным, только если оба входные параметра будут истинными. Во всех остальных случаях будет ложь.

При логическом «ИЛИ», чтобы результат оказался истинным, достаточно, чтобы хотя бы один из входных параметров оказался истинным.

В дальнейшем нам часто придется иметь дело с отдельными битами байта. Нас будет интересовать вопрос, какой бит стоит на том или ином месте, или наоборот, нам потребуется записать отдельный бит на то или иное место.

Давайте рассмотрим один из вариантов решения этих вопросов.

Для того, чтобы определить, стоит ли на данном месте 0 или 1, достаточно произвести над этим и соответствующим числом логическую операцию «И» и приравнять результат к нулю.

Действительно, давайте посмотрим на примере: Если нам требуется выяснить, равен ли 3 бит 1 или 0, достаточно выполнить Х и 4, Пусть Х=25. Тогда:

11001

и 00100

=====

00000

Сразу видно, что в результате этого действия все биты кроме 3 обнуляются. Будет ли результат равен нулю, будет зависеть только от 3 бита. Если там стоит 0, то и весь результат будет равен 0.

Для того, чтобы записать в тот или иной бит 1, не меняя значения стальных битов, часто выполняют следующие действия. Над байтом и соответствующим числом выполняют логическое «ИЛИ». Взгляните на пример. Если требуется изменить только 3 бит, не меняя остальных, Достаточно взять этот байт и выполнить над ним и 4 логическую операцию «ИЛИ»

01101001

или 00000100

=======

01101101

Из примера видно, что нулевые биты не повлияли на исходный байт, а 3 бит, не зависимо от того, была там единица или нет получает значение 1.

ЗАДАНИЕ: Придумайте метод, как обнулить 3-ий бит, не изменяя значения других битов (Обратите внимание, что он уже может равняться нулю)

Представление чисел в IBM PC.

Для учета как положительных, так и отрицательных чисел микропроцессоре 8088 используется дополнение до двух. В случае знакопеременных чисел самый левый бит числа указывает на его знак. У положительных чисел в самом старшем бите содержится 0, а у отрицательных содержится 1. Положительные числа имеют одно и то же значение при обоих способах представления: с учетом и без учета знака. Значения же отрицательных чисел будут разными. Для того чтобы изменить знак числа все биты числа инвертируют и к результату прибавляют единицу. Например, в случае 4=битовых чисел значению 5 соответствует число 0101B, а -5 - число 1011B. В двоичной системе счисления с дополнением до двух нуль представляется единственным образом, т.е. -0 = 0. В системе счисления с дополнением до двух наибольшее значение n=битового числа равно 2 n-1 - 1, а наименьшее -2 n-1. Нуль представляется единственным образом, в случае 4=битовых чисел наибольшее значение равно 7, а наименьшее -8. Как мы увидим в дальнейшем, микропроцессор 8088 может обрабатывать числа либо с учетом, либо без учета их знака.

Практические задания №1

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

Задания

Представить предложенное число в десятеричной форме: $4BA

Переведите 627 из десятеричной системы счисления в шестнадцатеричную форму.

Составить программу, которая любое введенное с клавиатуры число представляет в двоичной форме.

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

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

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

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

§ 3. Прерывания, движущая сила ЭВМ.

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

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

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

Организация IBM PC XT/AT и совместимых с ними РС, реализованных на базе МП Intel 80x86, основывается на открытой архитектуре, в основу которой положен принцип развитой иерархической системы прерываний базового микропроцессора. Это качество позволяет обеспечить гибкий механизм доступа к ресурсам РС системных и пользовательских программ. В системах, построенных на базе Intel 80x86, прерывания могут генерироваться собственно микропроцессором, аппаратурой, входящей в состав РС, а также программой.

На рисунке изображена структура системы прерываний PC AT.

Размещено на http://www.allbest.ru/

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

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

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

Прерывания передают управление в новое место программы, определяемое из таблицы векторов прерываний. Старый адрес программы (CS:IP) и состояние машины (флажки) сохраняются в стеке для создания возможности возобновления программы.

Аппаратные прерывания

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

Что касается организации аппаратных прерываний в архитектуре IBM PC AT, то они разбиты на два подкласса с точки зрения возможности программного маскирования запроса на прерывание непосредственно в микропроцессоре: маскируемые и немаскируемые. При этом предусматривается шестнадцать линий подключения внешних маскируемых источников прерываний, обозначаемых IRQ0-IRQ15 и распределенных между двумя контроллерами прерываний, объединенных в подсистему. Причем одна из линий служит для каскадирования контроллеров и никаких других системных функций выполнять не может. Выход подсистемы контроллеров прерываний соединен с со входом INTR микропроцессора.

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

Уровни маскируемых прерываний IBM PC АТ распределяются по приоритету от IRQ0 (высший) до IRQ7 (низший).

Для разрешения приоритетных конфликтов и управления маскированием в IBM PC АТ используется программируемый контроллер прерываний (PIC) 8259А. Процессор 8088 может обрабатывать одновременно только одно прерывание, поэтому PIC 8259 оценивает каждый запрос и "решает", следует ли передавать прерывание на процессор. Если PIC 8259 получает запрос более высокого приоритета, выполняемая сервисная программа может быть прервана. В базовой конфигурации PC АТ системный таймер может прервать работу дискового контроллера, но не наоборот.

Когда имеется запрос прерывания и прерывания разрешены, 80286/80386 входит в машинный цикл подтверждения прерывания. Машинный цикл подтверждения прерывания "проталкивает" регистр флажков в стек. Затем сбрасывается флажок IF, запрещающий прерывания. После этого в стек "проталкивается" содержимое регистра кодового сегмента (CS) и указателя команды (IP). (Таким образом, стек сохраняет состояние флажков и местоположение точки возврата к программе после прерывания, которые затем используются при возвращении из программы-обработчика). 8259A готов передать управление для выполнения обработки прерывания соответствующей сервисной программе. Это выполняется в течение последовательности из двух импульсов INTA, выдаваемых процессором 80286/80386. Первый импульс INTA используется только для извещения 8259A об удовлетворенном запросе и позволяет подготовиться соответствующему контроллеру к передаче необходимой информации. Второй импульс INTA заставляет 8259A поместить на шину Х байт указателя типа прерывания. Этот байт не используется в качестве прямого адреса таблицы векторов прерываний, а относится к одному из 256 "типов" прерываний, поддерживаемых 80286/80386.

Когда 80286/80386 получает байт указателя типа прерывания от 8259A, его значение умножается на четыре, чтобы получить адрес входа в таблицу прерываний. Например, если байт указателя типа прерывания указывает тип 128 (80H), то соответствующий адрес, выдаваемый 80286/80386, составляет

4х 80H = 200H. После этого выполнение программы направляется к сервисной

программе, адрес которой задан кодовым сегментом и указателем команды для типа 128 по адресу 200H в таблице векторов прерываний.

Программные прерывания

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

Программные прерывания включают в себя три уровня: BIOS-прерывания, DOS-прерывания и пользовательские прерывания. Одно из главных назначений BIOS-прерываний - обеспечение корректного (с точки зрения совместимости) доступа к аппаратуре со стороны операционной системы и пользовательской программы. Однако из-за недостаточной функциональной полноты и жестких требований к времени реакции программы многие программы манипулируют аппаратурой непосредственно. Такие программы могут быть неработоспособны

на некоторых IBM-совместимых компьютерах.

Роль DOS-прерывания заключается в обеспечении доступа пользовательских программ к системным ресурсам. Большинство корректно разработанных программ использует интерфейс DOS-прерываний при работе с системной аппаратурой.

Пользовательские прерывания - это такие прерывания, которые нужны пользователю для создания собственных обработчиков прерываний и не используют никакие из существующих векторов прерываний DOS за исключением официально разрешенных: с INT 60 по INT 67. Иногда для этих целей используют прерывания, зарезервированные для BASIC.

По-видимому, наиболее удачным примером для представления взаимосвязи различных уровней системы прерываний может служить клавиатура PC AT. Клавиатуру обслуживают прерывания трех типов: аппаратное прерывание, BIOS-прерывание и DOS-прерывание.

Например: DOS-прерывание (INT 21, функция 01h), выполняющее процедуру считывания символа с клавиатуры и вывод его на какое-либо выходное устройство, будет использовать BIOS-прерывание INT 16 для интерфейса с буфером клавиатуры. Обработчик прерывания INT 16 работает с теми же ячейками памяти, что и аппаратное прерывание от буфера клавиатуры (09h).

Когда нажимается клавиша клавиатуры, вырабатывается прерывание 09h. Обработчик этого прерывания (INT 09) помещает принятый код сканирования символа и его преобразованный в код ASCII образ (исключение составляют управляющие символы) в текущую строку символов клавиатуры в разделяемой буферной области памяти (буфер клавиатуры) объемом в 16 слов; обработчик INT 16 сканирует буферную область и, обнаружив полученную строку, выделяет последний полученный символ вместе с его образом и передает его операционной системе.

Векторы прерываний

Работа компьютеров семейства IBM PC подобно работе других компьютеров, собранных на базе микропроцессоров Intel 8086,управляется главным образом с помощью использования прерываний, которые могут генерироваться как аппаратно, так и программно. Не являются исключением и служебные программы BIOS: каждой из них ставиться в соответствие номер прерывания, который Вы должны задавать, если хотите использовать службу.

Когда возникает прерывание, управление компьютера передается программе обработке прерывания, которая обычно хранится в системной ROM(служебная программа BIOS, есть не что иное, как обработчик прерывания). Обработчик прерывания вызывается посредством загрузки его адресов сегмента и смещения регистра, которые управляются ходом выполнения программы, а именно в регистры CS(кодовый сегмент) и IP (указатель команды). Сегментные адреса, которые определяют местоположения обработчиков прерываний, называются векторами прерываний. Во время процесса запуска системы BIOS устанавливает значения векторов прерываний таким образом, что они указывают на обработчики прерываний, расположенные в ROM.

Таблица векторов прерываний находится в самом начале RAM-памяти по адресу 0000:0000Н. Каждая запись в таблице хранится в виде пары слов, в которой сначала следует та часть адреса, которая относится к смещению, а затем та часть, которая задает сегмент. Чтобы указать новый обработчик прерывания, векторы прерываний можно изменять. Для этого нежно найти вектор и изменить его значение. В общем случае прерывания компьютеров семейства РС можно разделить на шесть категорий: прерывания микропроцессора, аппаратные прерывания, программные прерывания, прерывания DOS, прерывания Бейсика и прерывания общего назначения.

Прерывания микропроцессора, часто называемые логическими прерываниями, конструктивно заложены в схемы микропроцессора. Четыре из них (00Н,01Н,03Н,04Н) генерируются микропроцессором, еще одно (02Н- немаскируемое прерывание) активизируется сигналом, вырабатываемым определенными устройствами, такими как, к примеру математический сопроцессор 8087.

Аппаратные прерывания встроено в устройство персонального компьютера.

Программные прерывания, включенные в схему работы РС, являются частью программы, расположенных в ROM BIOS. Программы ROM BIOS, вызываемые с помощью данных прерываний, не могут быть изменены, однако векторы, которые указывают на них, можно изменить таким образом, что они будут указывать на другие программы. Резервируемыми номерами для программных прерываний являются номера 10Н-1FH и 40Н-5FH.

Прерывания DOS всегда доступны, когда задействована система DOS. Многие программы, а также языки программирования используют службы, предоставляемые системой DOS при общении к ее прерываниям, для управления базовыми операциями, главным образом для управления операциями ввода /вывода для диска. Номерами прерываний системы DOS являются номера 20H-3FH. Прерывания Бейсика назначаются самим Бейсиком и всегда доступны, когда задействован Бейсик. Резервируемыми для Бейсика номерами прерываний являются номера 0H-F0H.

Прерывания общего назначения доступны для временного использования в ваших программах. Резервируемыми номерами прерываний данного типа являются номера 60H-66H.

Большинство векторов прерываний, используемых ROM BIOS,DOS и Бейсиком, содержат адреса обработчиков прерываний. Однако некоторые номера прерываний указывают на таблицы, содержащие полезную информацию. Например, прерывание 1EH содержит адрес таблицы, в которой хранятся параметры инициализации дисковода для дискет; вектор прерывания 1FH указывает на таблицу, содержащую битовые комбинации, используемые ROM BIOS при выводе на экран знаков текста, а прерывания 41H и 46H указывают на таблицы с параметрами фиксированного диска. Эти векторы прерываний используются для удобства, а не для выполнения прерываний. Если, к примеру, вы попытаетесь выполнить прерывание 1EH, то тем самым вероятно вызовите аварийный отказ в работе системы, т.к. вектор прерывания 1EH указывает на данные, а не на выполнимый код.

Векторы прерываний хранятся в ячейках памяти с младшими адресами; самая первая ячейка памяти содержит вектор прерывания с номером 00H и т.д. Т.к. каждый вектор имеет длину , равную двум словам, то вы можете определить местоположение в памяти конкретного прерывания умножая для этого номер прерывания на 4.

Классификация прерываний.

Познакомимся с классификацией основных прерываний.

Прерывания ROM-BIOS.

00H-Деление на 0,06Н-Резерв

01Н-Пошаговое выполнение программы,07Н-Резерв,

02Н-Немаскируемое,08Н-Таймер,

03Н-Точка прерывания,09Н-Клавиатура,

04Н-Переполнение,0АН-0DН -(HDWR INTS)

05Н-Печать экрана,0ЕН-Дискета,

Сервис

10Н-Сервис видео,17Н-Ввод/вывод принтера,

11Н-Список оборудования,18Н-ROM-BASIC,

12Н-Размер используемой памяти,19Н-Загрузка,

13Н-Дисковый ввод/вывод,1АН-Ввод/вывод таймера,

14Н-Ввод/вывод через последовательный порт,1ВН-Прерывание клавиатуры,

15Н-Расширенный сервис АТ,1СН-Пользовательские прерывания по таймеру,

16Н-Ввод/вывод клавиатуры,20Н-2FН -Прерывания DOS,

Указатели

1DН-Видео параметры,

1СН-Параметры дискет,

1FН-Символы графики.

Для управления аппаратными прерываниями используется микросхема Intel 8259. У нее имеются уровни приоритета (линии, по которым поступают прерывания на эту микросхему):

IRQ 0-Таймер,IRQ 8-Часы реального времени,

IRQ 1-Клавиатура,IRQ 9 -Программно переводятся в IRQ 2,

IRQ 2-Канал ввода/вывода,IRQ 10-Резерв,

IRQ 3 -COM1,IRQ 11-Резерв,

IRQ 4 -COM2,IRQ 12-Резерв,

IRQ 5 -Фиксированный диск (LPT2 для АТ),IRQ 13 -Математический сопроцессор,

IRQ 6 -Контроллер дискет,IRQ 14-Контроллер фиксированного диска,

IRQ 7 -LPT1IRQ 15-Резерв.

Программно можно запретить маскируемые прерывания. Выполнение прерываний зависит от значения флага прерываний в регистре флагов ЦП. Когда этот бит равен 0, разрешены все прерывания, которые разрешает маска. Когда бит равен 1 - все прерывания запрещены (Внимание: После запрещения прерываний необходимо снять блокировку. Иначе клавиатура будет заморожена, а это приведет к остановки машины!!!).

Для маскирования отдельных аппаратных прерываний нужно просто послать цепочку битов в порт с адресом 21Н, который соответствует регистру маски прерываний. Регистр маски прерываний на второй микросхеме Intel 8259 для АТ имеет адрес порта А1Н.

Uses dos;

Var r:registers;

Begin

Port[$21]:=$40; { 01000000 Bin }

...

конце работы необходимо снять блокировку прерываний }

...

Port[$21]:=0; { 00000000 Bin }

End.

Функция 25Н прерывания 21Н устанавливает прерывание на указанный адрес. Адреса имеют размер два слова, старшее CS, младшее IP. Чтобы установить вектор, указывающий на вашу процедуру, нужно поместить сегмент процедуры в DS, а смещение в DX. Затем поместить номер прерывания в AL и вызвать функцию.

Функция 35Н прерывания 21Н возвращает текущее значение вектора прерывания, помещая значение сегмента в ES, а смещение в BX.

§ 4. Уровни программирования

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

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

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

Оперативно запоминающее устройство (ОЗУ) является неотъемлемой частью любого компьютера. Из ОЗУ в процессор поступают команды и числа, над которыми производятся предусмотренные командой операции. А из процессора в ОЗУ направляются для хранения результаты начальной и конечной обработки. В тех или иных местах хранится информация о конфигурации ЭВМ, о работе ее составных частей. Изменяя или просматривая эту информацию, мы можем программно вмешиваться в вычислительный процесс. Например, в обучающих программах следить за режимами работы клавиатуры и в нужных местах либо предупреждать пользователя о необходимости переключить РУС/ЛАТ, либо самим переключить клавиатуру.

IBM в основном обрабатывает информацию, представленную в виде байтов, слов, двойных слов. Первая ЭВМ фирмы IBM имела 8 разрядные адреса, позволяло обращаться к 64 Кбайтам памяти.

Базовый процессор 80х86 использует 20 разрядные адреса. 220 байт - до 1 Мбайта памяти. Т.е. адрес любой ячейки памяти описывается с помощью 20 бит или 20 нулей и единиц. В шестнадцатеричной системе счисления - с помощью 5 шестнадцатеричных чисел. Такие адреса называются абсолютными или физическими адресами. Однако ЭВМ удобнее работать с байтами, словами.

Поэтому память адреса удобнее рассматривать в виде 16 разрядных адресов. Поэтому память условно делят на участки - сегменты. Начальные адреса сегментов называют базами. Они могут быть произвольными. Тогда абсолютный адрес равен

А = В + ofs,

где В - база сегмента, ofs - смещение, относительно базы. Теперь базу можно упрятать в отдельный регистр (ячейка памяти), и оперировать только смещением. ЭВМ автоматически сама рассчитывает абсолютный адрес. Такие регистры называются базовыми или сегментными регистрами.

Сегменты выбирают кратные 16, т.е. последние 4 бита равны 0.

Тогда

Х0000 база (сегмент)

+ уууу смещение.

=====

ZZZZZ абсолютный адрес.

Отбросив в базе последний 0, адрес ячейки записывают в виде пары 4-значных шестнадцатеричных чисел: ХХХХ:YYYY. Тогда:

Абсолютный адрес = База*16 + смещение.

Если мы оперируем с шестнадцатеричными числами, то умножение числа на 16, равносильно тому, что приписать сзади один 0. Т.е. для того, чтобы по паре чисел вычислить абсолютный адрес, достаточно к базе приписать сзади 0 и сложить полученное число со смещением.

Например: 4000:0417 - Абсолютный адрес этой ячейки -

40000

+ 0417

=====

40417

Язык программирования TURBO-PASCAL V 7.0 предоставляет обширные возможности работы с адресами и регистрами компьютера. Все возможности работы непосредственно с аппаратурой сосредоточены в модуле DOS.

При обращении к той или иной ячейки памяти, в TURBO-PASCAL V 7.0 применяется служебное слово ABSOLUTE или функция MEM[адрес]. При адресации принято оперировать с шестнадцатеричными числами. Признаком числа в шестнадцатеричной системе является знак $ перед числом. Функция МЕМ[$4000:$4231] непосредственно связывается с ячейкой памяти с указанным адресом. С помощью этой функции можно не только получать значения из указанной ячейки, но и присваивать значения этой функции.

Например: MEM[$0000:$0417] := $5A

Приведем два примера одной и той же программы. Она определяет, нажата ли клавиша CAPS. Состояние клавиатуры хранится в ячейке памяти с адресом $0000:$0417. Проанализировав содержимое этой ячейки, программа выводит на экран сообщение.

Более подробно смысл информации в этой ячейке будет рассмотрен позже.

Пример №1

uses dos; var x:byte absolute $0000:$0417;

begin

if (x and $40)=0 then writeln('CAPS - не нажата')

else writeln('CAPS - нажата');

readln

end.

В данном примере переменной Х ставится в соответствие ячейка по абсолютному адресу $0000:$0417

Пример №2.

uses dos; var x:byte;begin x:=mem[$0000:$0417]; if (x and $40)=0 then writeln('CAPS - не нажата') else writeln('CAPS - нажата'); readlnend.

В данном примере для обращения к ячейке памяти по адресу используется функция МЕМ[адрес]

§ 5. Программирование видеоадаптеров Cga, Ega, Vga

Изначально персональные компьютеры серии IBM PC комплектовались видеоадаптером MDA (Monochrome Display Adapter) с монохромным дисплеем. CGA (Color Graphics Array) стал первым цветным адаптером фирмы IBM. Затем фирма IBM выпустила два, наиболее распространенных в настоящее время, видеоадаптера - EGA (Enhanced Graphics Array) и VGA (Video Graphic Array). Они созданы на другой элементной базе и имеют лучшую, чем у CGA разрешающую способность при большем числе отображаемых цветов.

В последнее время различные фирмы - производители видеоадаптеров, выпустили большое количество плат, превосходящих по своим возможностям VGA. Эти платы, которые можно объединить общим названием Super VGA, не имеют пока единого стандарта.

Архитектура видеоадаптера CGA

Видеоадаптер построен на основе микросхемы Motorola 6845 или ее аналога. Эта микросхема содержит контроллер электронно-лучевой трубки. Адаптер CGA имеет 16 Кбайт видеопамяти. Видеопамять периодически отображается на экран дисплея, формируя изображение. Процессор может непосредственно обращаться к видеопамяти, которая расположена в его адресном пространстве и начинается с адреса В800:0000.

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

Текстовый режим CGA

...

Подобные документы

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

    курсовая работа [343,1 K], добавлен 11.11.2014

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

    реферат [22,8 K], добавлен 15.03.2004

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

    конспект произведения [971,1 K], добавлен 31.05.2009

  • Исследование истории развития систем счисления. Изучение математического аспекта теории информатики. Характеристика информационных систем счисления. Основные операции над двоичными числами. Разработка программного обеспечения для проведения тестирования.

    курсовая работа [995,4 K], добавлен 24.05.2015

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

    курсовая работа [232,6 K], добавлен 16.01.2012

  • Электронно-вычислительная машина (ЭВМ) как средство обработки информации. Аппаратные и программные средства ЭВМ. Системы счисления и представления информации. Элементы структурного программирования. Построение блок-схем алгоритмов решения задач.

    презентация [152,5 K], добавлен 26.07.2013

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

    презентация [516,8 K], добавлен 23.10.2015

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

    реферат [62,0 K], добавлен 13.01.2011

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

    контрольная работа [824,4 K], добавлен 17.11.2010

  • Кодирование символьной и числовой информации. Основные системы счисления. Двоичная система счисления. Устройства вывода информации. Правила выполнения арифметических операций. Логические основы построения, функциональные узлы ЭВМ. Синтез логических схем.

    презентация [1,2 M], добавлен 08.11.2016

  • Целые числа в позиционных системах счисления. Недостатки двоичной системы. Разработка алгоритмов, структур данных. Программная реализация алгоритмов перевода в различные системы счисления на языке программирования С. Тестирование программного обеспечения.

    курсовая работа [593,3 K], добавлен 03.01.2015

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

    презентация [3,2 M], добавлен 05.05.2012

  • Непозиционные системы счисления как один из этапов общечеловеческого развития счета. Египетская система счисления как непозиционная система счисления, которая употреблялась в Древнем Египте вплоть до начала X века н.э. Греческая система счисления.

    реферат [252,9 K], добавлен 19.05.2019

  • Современные достижения компьютерных технологий. Основные принципы создания и отличительные признаки печатных учебников. Создание электронного учебного пособия по теме "Системы счисления и логическая алгебра" в среде программирования Visual Basic 6.0.

    курсовая работа [1,3 M], добавлен 24.04.2014

  • Структуры вычислительных машин и систем. Фон-неймановская архитектура, перспективные направления исследований. Аналоговые вычислительные машины: наличие и функциональные возможности программного обеспечения. Совокупность свойств систем для пользователя.

    курсовая работа [797,5 K], добавлен 05.11.2011

  • Обработка информации и вычислений в вычислительной машине. Непозиционные и позиционные системы счисления. Примеры перевода десятичного целого и дробного числа в двоичную систему счисления. Десятично-шестнадцатеричное и обратное преобразование чисел.

    контрольная работа [41,2 K], добавлен 21.08.2010

  • Предмет, постановка и особенности задач дискретного программирования. Задачи с неделимостями и с разрывными целевыми функциями. Экстремальные комбинаторные задачи. Примеры решений задач дискретного программирования методом ветвей и границ, методом Гомори.

    курсовая работа [211,3 K], добавлен 22.05.2013

  • Исследование принципа работы основных логических элементов цифровых устройств. Описания вычислительных машин непрерывного и дискретного действия. Инверсия конъюнкции, дизъюнкции и равнозначности. Разработка программы, реализующей логические операции.

    практическая работа [230,8 K], добавлен 25.03.2015

  • Появление первых вычислительных машин и возникновение "стихийного" программирования. Структурный подход к декомпозиции сложных систем. Развитие модульного и объектно-ориентированного программирования. Особенности компонентного подхода и CASE-технологий.

    презентация [1,5 M], добавлен 14.10.2013

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

    курсовая работа [1,6 M], добавлен 15.03.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.