555

Кодирование и представление информации в ЭВМ

Лекция

Информатика, кибернетика и программирование

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

Русский

2013-01-06

95.5 KB

128 чел.

Лекция 1/1 Кодирование и представление информации в ЭВМ.

Учебные и воспитательные цели:

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

Учебные вопросы:

  1.  Арифметические и логические основы  ЭВМ.  
  2.  Системы счисления. Представление данных и их кодирование.
  3.  Типы данных. Структура данных.

1. Арифметические и логические основы ЗВМ.

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

АЛУ реализует важную часть процесса обработки данных. Она заключается в выполнении набора простых операций. Операции АЛУ подразделяются на три основные категории:

  •  арифметические;
  •  логические;
  •  операции над битами.

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

Логической операцией именуют процедуру, осуществляющую построение сложного высказывания (операции И, ИЛИ, НЕ,...).

Операции над битами обычно подразумевают сдвиги.

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

Арифметико-логическое устройство функционально можно разделить на две части:

  •  микропрограммное устройство (устройство управления), задающее последовательность микрокоманд (команд);
  •  операционное устройство (АЛУ), в котором реализуется заданная последовательность микрокоманд (команд).

Рис. 1 Структурная схема АЛУ

Структурная схема АЛУ и его связь с другими блоками машины показаны на рисунке 1. В состав АЛУ входят регистры Рг1 - Рг7, в которых обрабатывается информация, поступающая из оперативной или пассивной памяти N1, N2, ...NS; логические схемы, реализующие обработку слов по микрокомандам, поступающим из устройства управления.

Закон переработки информации задает микропрограмма, которая записывается в виде последовательности микрокоманд A1,A2, ..., Аn-1,An. При этом различают два вида микрокоманд: внешние, то есть такие микрокоманды, которые поступают в АЛУ от внешних источников и вызывают в нем те или иные преобразования информации (на рис. 1 микрокоманды A1,A2,..., Аn), и внутренние, которые генерируются в АЛУ и воздействуют на микропрограммное устройство, изменяя естественный порядок следования микрокоманд. Например, АЛУ может генерировать признаки в зависимости от результата вычислений: признак переполнения, признак отрицательного числа, признак равенства 0 всех разрядов числа др. На рис. 1 эти микрокоманды обозначены р1, p2,..., рm.

Результаты вычислений из АЛУ передаются по кодовым шинам записи у1, у2, ...,уs, в ОЗУ. Функции регистров, входящих в АЛУ:

  •  Рг1 - сумматор (или сумматоры) - основной регистр АЛУ, в котором образуется результат вычислений;
  •  Рг2, РгЗ - регистры слагаемых, сомножителей, делимого или делителя (в зависимости от выполняемой операции);
  •  Рг4 - адресный регистр (или адресные регистры), предназначен для запоминания (иногда и формирования) адреса операндов и результата;
  •  Ргб - k индексных регистров, содержимое которых используется для формирования адресов;
  •  Рг7 - i вспомогательных регистров, которые по желанию программиста могут быть аккумуляторами, индексными регистрами или использоваться для запоминания промежуточных результатов.

Часть операционных регистров является программно-доступной, то есть они могут быть адресованы в команде для выполнения операций с их содержимым. К ним относятся: сумматор, индексные регистры, некоторые вспомогательные регистры.

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

АЛУ может оперировать четырьмя типами информационных объектов: булевскими (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В АЛУ выполняется 51 различная операция пересылки или преобразования этих данных. Так как используется 11 режимов адресации (7 для данных и 4 для адресов), то путем комбинирования "операция/ режим адресации" базовое число команд 111 расширяется до 255 из 256 возможных при однобайтном коде операции.

АЛУ является важной частью микропроцессоров.

2. Системы исчисления.

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

В повседневной практике мы пользуемся, как правило, десятичной системой счисления. Ответ на вопрос: " Почему именно эта система счета получила наибольшее распространение? " - сейчас дать затруднительно. В литературе, как правило, в качестве обоснования приводится тот факт, что на руках человека - в сумме 10 пальцев. Вряд ли это обоснование можно принимать всерьез. На практике мы сталкиваемся и с более сложными, в частности, со смешанными системами. Например, система счета времени, где за единицу принята секунда, минута, час, сутки, неделя, месяц, год. Или система счета денег, до недавнего времени применявшаяся в Англии (пенс, шиллинг, фунт):

12п = 1ш, 20ш = 1ф.

Или еще более интересная - римская система счета, которая исользует символы: I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000.

Эта система является особой и применяется редко (циферблат, архитектура, история и т.д.)

Системы счисления принято делить на:

  •  Позиционные.
  •  Непозиционные.
  •  Символические.

Начнем с последних. В этих системах каждому числу ставится в соответствие свой символ. Эти системы не находят широкого применения в силу естественной их ограниченности (алхимия, кодированные сообщения) -бесчисленного множества символов, которое требуется для изображения всех возможных чисел. Поэтому эти системы из рассмотрения опустим.

Позиционные системы счисления.

Само название этих систем указывает на связь значимости числа и его изображения от позиции.

Позиция - некоторое место, в котором может быть представлен лишь один символ.

Примером позиционной системы счисления является десятичная система.

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

a4a3a2a1 - число; a1, a2, a3, a4 - символы.

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

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

Так для десятичной системы допускаемыми являются символы: 0, 1, 2, 3,..., 9.

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

... p3 p2 p1 p0.

Само число, изображение которого имеет вид, например, a4a3a2a1 может быть представлено так:

a0p0 + a1p1 + a2p2 + a3p3 - это развернутая запись числа в позиционной системе.

Например:

97310 = 3*100 + 7*101 + 9*102 = 3 + 70 + 900.

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

Таким образом, однородность - одно из важных свойств позиционных систем.

Любое число X в позиционной системе счисления можно представить в виде:

n

X = ±pm Σ aip-i,

i=1

где

m - число позиций или разрядов, отведенное для изображения целой части числа.

n - общее число разрядов в числе.

ai - любой допустимый символ в разряде, т.е. ai = {0, 1, 2,..., p-1}.

p - основание системы счисления.

Например:

- 961,13 = - (9*102 + 6*101 + 1*100 + 1*10-1 + 3*10-2).

  1.  Заметим, что число, равное основанию системы счисления, т.е. "p", в самой системе с основанием "p" записывается только в двух позициях (разрядах), а именно так:

pp = 10p

  1.  Заметим также, что разделение числа на две части - дробную и целую - имеет смысл лишь в позиционных системах.
  2.  Заметим, что основание системы для представления числа мы можем выбрать произвольное. Такой же произвол мы можем допустить и в назначении весов разрядов. Однако наиболее целесообразно считать его, как и в десятичной системе, естественным, т.е. ввести в качестве степеней основания числа натурального ряда:
  3.  ... +3, +2, +1, 0, -1, -2, -3 ...

Перевод чисел из одной системы счисления в другую.

Всякий раз, когда используется для вычислений система счисления, отличная от фактической, необходимо выполнить перевод 10 => p, p => 10.

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

Этот перевод может быть выполнен:

  1.  вручную,
  2.  на ЭВМ (с помощью специальных программ).

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

Итак, имеем дело с позиционной системой счисления с основанием "p", с естественными весами разрядов.

В качестве промежуточной используется, естественно, десятичная система. Вначале число переводится из системы "p" в 10-ую, затем из 10-ой в систему с нужным основанием.

Мы отступим от этого правила и воспользуемся алгоритмом непосредственного перевода из системы с основанием "p" в систему с основанием "q".

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

Рассмотрим перевод целых чисел:

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

Пример:

  1.  3110 => 2;   3110 = 111112
  2.  

  1.  318 => 3;  318 = 2213 =
  2.  2*32 + 2*31 + 1*30 = 18 + 6 + 1 = 2510.
  3.  

  1.  318 => 10;  318 = 2510.
  2.  

  1.  1111112 => 10;  1111112 = 6310.
  2.  

3. Типы данных

Как мы уже знаем, в ЭВМ наибольшее применение находит система с основаниями 2, 4, 8, 16, т.е. системы которые кратны степени 2. Поэтому целесообразно рассмотреть лишь правила перевода чисел в этих системах. Аналогичные правила будут справедливы и для других систем. Допустим, что имеется некоторое целое число N8 в 8-ой системе. Оно может быть представлено в виде:

N8 = a1*8n-1 + a2*8n-2 + a3*8n-3 + ...

+ an-2*82 + an-1*81 + an*80.

Пусть каким-либо образом мы получили запись этого числа в виде двоичного, т.е.:

N2 = b1*2k-1 + b2*2k-2 + ...

+ bk-2*22 + bk-1*21 + bk*20.

Разделим эти выражения на 23 = 8:

a1*8n-2 + a2*8n-3 + a3*8n-4 + ... + an-1*80 + an*8-1

                                        -------

                                        дробная часть

b1*2k-4 + b2*2k-5 + ... + bk-3*20 + bk-2*2-1 + bk-1*2-2 + bk*2-3

                                -------------------------

                                            дробная часть

Так как числа были равны, то получается одинаковые частные и одинаковые остатки:

an*8-1 = bk-2*2-1 + bk-1*2-2 + bk*2-3. (6.2)

Если снова разделим целые части на 23 = 8, то опять получим равные частные и равные остатки.

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

Пример:

62,7538 = 110010,1111010112

Аналогично для 4-ой системы:

321,22334 = 111001,101011112

Аналогично для 16-ой системы:

1D876,72 = 00011101100001110110,011100102

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

bk-2 

bk-1

bk 

an 

0

0

0

0

0

0

1

1

0

1

0

2

0

1

1

3

1

0

0

4

1

0

1

5

1

1

0

6

1

1

1

7

Если умножить последние соотношения (6.2) на 8, то:

an*8-1*8 = (bk-2*2-1 + bk-1*2-2 + bk*2-3)*23

an = bk-2*22 + bk-1*21 + bk*20

Литература:

  1.  Информатика:учебник. Под ред.Н.Макаровой –М.:Финансы и статистика, 2000, 768с.
  2.  Симонович  В.С. Информатика базовый курс:Учебник –М.:Питер, СПб,2000 – Пресс, 2000, 680с.
  3.  Симонович В.С. Информатика для экономистов и юристов:Учебник – М.:Питер, СПб, 2000-Пресс, 2000, 680с.
  4.  Операционная система Windows 95. Для программиста –М.: ДИАЛОГ-МИФИ, 1996.-288с.


 

А также другие работы, которые могут Вас заинтересовать

4574. Инструментальная система моделирования Parallax 74 KB
  Общие характеристики системы Инструментальная система моделирования Parallax (далее — система) предназначена для моделирования и анализа система взаимодействующих параллельных процессов на основе аппарата PS-сетей. Система...
4575. Раскраска графа способом разработки программного продукта 403.33 KB
  Родоначальником теории графов считается Леонард Эйлер. В 1736 году в одном из своих писем он формулирует и предлагает решение задачи о семи кенигсбергских мостах, ставшей впоследствии одной из классических задач теории графов. Впервые...
4576. Создание программы для рисования кривых второго порядка в среде Borland C++ Builder 6 437 KB
  Введение В рамках данного курсового проекта требуется написать программу, рисующую кривые второго порядка. Для разработки была использована среда разработки BorlandC++ Builder 6. Формулировка поставленной задачи Написать программу, рисующую кр...
4577. Покрывающее дерево. Концепция алгоритма Краскала 252.41 KB
  Алгоритм Краскала может строить дерево одновременно для нескольких компонент связности, которые в процессе решения объединяются в одно связанное дерево. Полный граф задается списком ребер. Перед работой список ребер сортируется по возрастанию длины....
4578. Философия человека 185 KB
  Философия человека Понятие философской антропологии. Проблема человека в истории философии. Проблема определения сущности человека. Философские проблемы антропосоциогенеза. Смысл и ценность жизни человека. Введение. С развитием общества ...
4579. Визначення максимальної енергії бета-частинок у спектрі 78 KB
  Визначення максимальної енергіїбета-частинок у спектрі Мета роботи: визначення максимальної енергії бета-частинок в спектрі. Короткі теоретичні відомості Бета-розпад — це самовільний процес, в якому нестабільне ядро перетворюєтьс...
4580. Вивчення прискорення вільного падіння тіла за допомогою фізичного маятника 103 KB
  Вивчення прискорення вільного падіння тіла за допомогою фізичного маятника Мета роботи. Вивчити вільні незатухаючі коливання фізичного маятника і визначити прискорення вільного падіння. Теоретичні відомості. Коливання - це процес, який п...
4581. Управление затратами предприятия на примере ООО «Кормилец» 184.81 KB
  Дать характеристику и классификацию издержек обращения в торговых предприятиях; изучить методы управления затратами; дать характеристику деятельности ООО «Кормилец»; сделать анализ финансового состояния предприятия; разработать план мероприятия по управлению затратами; дать оценку эффективности данных мероприятий...
4582. Сучасні технології захисту інформації в комп’ютерних системах і мережах 2.15 MB
  Частина друга присвячена питанням захисту інформації в комп’ютерних мережах. До її складу входять роботи: Перехоплення мережевого обміну, Сканування TCP/IP мереж, Засоби аналізу захищеності, Міжмережеві екрани, Системи виявлення атак. Лаборатор...