Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительные системы-введение.doc
Скачиваний:
6
Добавлен:
14.09.2019
Размер:
453.63 Кб
Скачать

Конспект лекций

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ, СЕТИ И ТЕЛЕКОММУНИКАЦИИ”

(1-й семестр)

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ХРАНЕНИЕ ДАННЫХ

Хранение битов

Вентили и триггеры

Другие методы хранения данных

Шестнадцатеричная система счисления

Основная память

Массовая память

Магнитные диски

Компакт-диски

Магнитная лента

Сохранение и считывание файлов

Представление информации в виде комбинации двоичных

разрядов

Представление текста

Представление числовых значений

Представление изображений

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

Представление дробей в двоичных кодах

Представление целых чисел

Двоичный дополнительный код

Сложение чисел в двоичном дополнительном коде

Двоичная нотация с избытком

Представление дробных значений

Двоичная нотация с плавающей точкой

Обработка данных

Центральный процессор

Регистры

Наиболее распространенные типы ЦП

Интерфейс между ЦП и основной памятью

Машинные команды

Команды передачи данных

Арифметические и логические команды

Команды управления

Концепция хранимой программы

Представление машинных команд в виде битовых комбинаций

Машинный язык

Коды операций

Операнды

Пример программы

Выполнение программы

Сравнение производительности компьютеров

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

Программы и данные

Арифметические и логические команды

Логические операции

Операции сдвига

Арифметические операции

Взаимодействие с другими устройствами

Взаимодействие через управляющее устройство

Скорость передачи данных

Конструкция шины

Другие типы архитектуры компьютеров

CISC- и RISC-архитектура компьютеров

Конвейерная обработка

Многопроцессорные машины

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

ХРАНЕНИЕ ДАННЫХ

Хранение битов

Информация в современных компьютерах представляется в виде комбина­ции битов. Бит, или двоичный разряд, представляется одной из двух цифр (нуль и единица), которые мы пока будем рассматривать как простые симво­лы, не имеющие числового значения. Далее мы увидим, что смысловое зна­чение бита изменяется от одного приложения к другому. Для запоминания двоичных разрядов (или битов) машине требуется некоторое устройство, ко­торое может пребывать в одном из двух состояний. К таким устройствам от­носятся переключатель (включен/выключен), реле (открыто/закрыто) или флажок на флагштоке (поднят/опущен). Одно состояние представляет значе­ние 0, а другое — значение 1. Итак, вначале рассмотрим способы хранения двоичных разрядов в современных машинах.

Вентили и триггеры

Начнем ознакомление с логических операций AND (И), OR (ИЛИ) и XOR (исключающее ИЛИ), принципы выполнения которых показаны на рис. 1.1. Эти операции подобны арифметическим операциям умножения и сложения, которые соответствующим образом комбинируют пару величин, представ­ляющих собой входные данные операции, в целях создания третьей величи­ны, являющейся выходными данными операции. Однако в отличие от ариф­метических операций, единственными цифрами, которыми манипулируют логические операции AND, OR и XOR, являются 0 и 1. В этом контексте мы принимаем, что 0 представляет логическое значение ложь (false), a 1 — ло­гическое значение истина (true). Операции, которые манипулируют значе­ниями истина и ложь, называются логическими, или булевыми операциями (последнее название присвоено в память о математике Джордже Буле (George Boole, 1815-1864)).

Булева операция AND (И) была разработана для отражения истинности или ложности высказываний, образованных в результате соединения двух меньших высказываний с помощью союза и. В общем виде такие высказывания можно представить следующим образом:

P AND Q

Здесь Р представляет одно высказывание, a Q — другое. Давайте рассмотрим это на таком примере:

"Кермит — лягушка" AND "Мисс Пигги — актриса"

Входные данные для операции AND представляют истинность или ложность компонентов, составляющих высказывание, а результат — истинность или лож­ность самого высказывания. Поскольку высказывание, представленное в виде Р AND Q, является истинным только тогда, когда оба его компонента истинны, мы

можем сделать заключение, что выражение 1 AND 1 должно иметь значение 1, тогда как во всех остальных случаях его результатом будет значение 0, как по­казано на рис. 1.1.

Рис. 1.1 Булевы операции

Аналогичным образом операция OR (ИЛИ) основана на сложном высказыва­нии, имеющем следующий вид:

Р OR Q

Здесь также операнд Р представляет одно выражение, а операнд Q — другое. Такие высказывания являются истинными в том случае, если хотя бы один из их компонентов истинен, как изображено на рис. 1.1, б.

В английском языке нет отдельного союза, выражающего смысл операции XOR (исключающее ИЛИ). Операция XOR дает в результате значение 1 (истина) только тогда, когда один из входных операндов будет иметь значение 1 (истина), а дру­гой — значение 0 (ложь). Таким образом, утверждение, построенное по схеме Р XOR Q, имеет следующий смысл: "либо Р, либо Q, но не оба одновременно".

Следующая булева операция выполняет действие NOT (HE). Она отличается от операций AND, OR и XOR тем, что имеет только одно входное значение. Ре­зультат этой операции имеет значение, противоположное входному значению. Иначе говоря, если входным значением операции NOT является истина, то ре­зультат будет иметь значение ложь, и наоборот. Например, пусть входное зна­чение операции NOT представляет истинность или ложность следующего вы­сказывания: "Фоззи — медведь".

Тогда результат выполнения этой операции будет представлять истинность или ложность противоположного высказывания:

"Фоззи — не медведь".

Устройство, которое выдает результат булевой операции после введения входных данных, называется вентилем. Существуют различные технологии конструирования вентилей, например с использованием зубчатых колес, реле или оптических уст­ройств. Вентили, встроенные в современный компьютер, — это небольшие электрон­ные цепи, в которых цифры 0 и 1 представляются разными уровнями электрическо­го напряжения. Однако нам совсем не обязательно подробно обсуждать эту тему. Вполне достаточно представить вентили в их символической форме, как это показа­но на рис. 1.2. Обратите внимание, что вентили AND, OR, XOR и NOT изображаются в виде различных схематических элементов, у которых входные данные поступают с одной стороны, а выходной сигнал считывается с другой стороны.

Рис. 1.2 Схематическое представление вентилей AND, OR, XOR, NOT и таблицы входных и выходных данных

Вентили, подобные показанным на рис. 1.2, представляют собой строитель­ные блоки, из которых конструируются компьютеры. Один важный этап этого направления представлен в электрической схеме, показанной на рис. 1.3. Это один из возможных вариантов схем определенного класса, называемых тригге­рами. Триггер — это схема, которая постоянно выдает выходное значение 0 или 1; оно не меняется до тех пор, пока одиночный импульс от другой схемы не переведет ее в противоположное состояние. Другими словами, выходное значе­ние будет переключаться из одного состояния в другое только под воздействием внешних стимулов. Пока оба входных значения в схеме, представленной на рис. 1.3, равны нулю, выходное значение (0 или 1) будет неизменным. Однако даже кратковременное появление значения 1 на верхнем входе схемы вызовет установку на ее выходе значения 1, тогда как кратковременное появление значе­ния 1 на нижнем входе вызовет установку на выходе значения 0.

Рис. 1.3

Теперь рассмотрим предыдущее утверждение более подробно. Мы не знаем текущего выходного значения схемы, представленной на рис. 1.3, поэтому пред­положим, что на верхний вход поступило значение 1, тогда как на нижнем входе сохраняется значение 0 (рис. 1.4, а). Это приведет к тому, что выходное значе­ние вентиля OR станет равно 1, независимо от текущего значения на его втором входе. В свою очередь, на обоих входах вентиля AND теперь будут значения 1, поскольку на другом его входе уже присутствует значение 1 (оно появляется за счет передачи значения 0 на нижнем входе триггера через вентиль NOT). В ре­зультате выходное значение вентиля AND станет равно 1, а это значит, что на втором входе вентиля OR также появится значение 1 (рис. 1.4, б). Это гаранти­рует, что выходное значение вентиля OR останется равным 1 даже в том случае, если значение на верхнем входе триггера вновь станет равно 0 (рис. 1.4, в). Та­ким образом, выходное значение триггера теперь равно 1 и будет сохраняться таким даже в том случае, если на верхний вход будет вновь подано значение 0.

Точно так же временное появление значения 1 на нижнем входе триггера приве­дет к тому, что на его выходе установится значение 0, которое будет оставаться не­изменным даже после того, как на нижний вход вновь будет подано значение 0.

Рис 1.4 а) Единица поступает на верхний вход

Рис 1.4 б) Это вызывает появление единицы на выходе вентиля OR, что, в свою очередь, вызывает появление единицы на выходе вентиля AND

Рис 1.4 в) Наличие единицы на выходе вентиля AND удерживает вентиль OR от изменения его состояния и после снятия единичного сигнала с верхнего входа

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

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

Рис 1.5 Еще один вариант конструкции триггера