Телекоммуникации и Информатика и вычислительная техника Ульяновск 2007 2
Скачать 1.77 Mb.
|
Процессор ОЗУ КВВ УВВ УВВ КВВ ВЗУ ВЗУ Рис. 6.3. Структурная схема компьютера третьего поколения Среди каналов ввода-вывода выделяются мультиплексные каналы, способные обслуживать большое количество медленно работающих устройств ввода-вывода, и селекторные каналы, обслуживающие в монопольных режимах скоростные внешние запоминающие устройства (ВЗУ). В ПЭВМ, относящихся к компьютерам четвертого поколения, произошло дальнейшее изменение структуры (рис. 6.4). Соединение всех устройств обеспечивается с помощью общей шины, представляющей собой линии передачи данных, адресов, сигналов управления и питания. Единая система аппаратурных соединений значительно упростила структуру, сделав ее еще более децентрализованной. Все передачи данных по шине осуществляются под управлением сервисных программ. 122 Процессор ОП Контроллер Контроллер ВУ ВУ КПД Таймер Общая шина Рис. 6.4. Структурная схема ПЭВМ Ядро ПЭВМ образуют процессор и основная память, состоящая из ОЗУ и постоянного запоминающего устройства (ПЗУ. ПЗУ предназначено для постоянного хранения программ управления. Подключение всех внешних устройств (ВУ): дисплея, клавиатуры, внешних ЗУ и др, обеспечивается через соответствующие адаптеры — со- гласователи скоростей работы сопрягаемых устройств или контроллеры — специальные устройства управления периферийной аппаратурой. Контроллеры в ПЭВМ играют роль каналов ввода-вывода. В качестве особых устройств следует выделить таймер — устройство измерения времени и контроллер прямого доступа к памяти КПД) — устройство, обеспечивающее доступ к основной памяти, минуя процессор. Все приведенные структуры не выходят за пределы классической структуры фон Неймана и их объединяют следующие общие принципы построения структура памяти способы доступа к памяти и внешним устройствам система и форматы команд организация интерфейса возможность изменения конфигурации компьютера. 123 6.4. Центральный процессор Процессор – устройство, непосредственно осуществляющее обработку информации и выполняющее функции управления работой ЭВМ в соответствии с заданной программой. Процессор состоит из арифметико-логического устройства (АЛУ, устройства управления (УУ) и блока внутренних регистров (БВР) (рис. 6.5). Узлы соединены шинами, по которым передаются адреса – шина адреса (ША, данные – шина данных (ШД) и сигналы управления – шина управления (ШУ. Арифметико-логическое устройство (АЛУ) предназначено для выполнения различных арифметических и логических операций над словами (операндами. Арифметические операции АЛУ сложение, вычитание, умножение, деление кодов двоичных чисел с фиксированной и плавающей запятой в двоичной (шестнадцатеричной) и двоично-десятичной СС. Генератор тактовых импульсов Блок внутренних регистров АЛУ Шина управления внешняя Шина данных внешняя Шина адреса Устройство управления Внутренняя шина данных Рис. 6.5. Структура процессора ВАЛУ выполняются операции нормализации числа, сдвига арифметического без сдвига кода знака) и логического (сдвиг кода всего числа со знаком) и др. Кроме основных логических операций дизъюнкции (ИЛИ, конъюнкции (И) и инверсии (НЕ, в АЛУ предусматриваются другие операции, необходимые для логической обработки алфавитно-цифровой информации сравнение слов на равенство, сортировка их по признаками т. п. В отличие от арифметических операций, логические операции 124 являются поразрядными они выполняются одновременно над одноименными разрядами слов независимо от значений соседних разрядов. Классификация АЛУ Все существующие АЛУ можно разбить наследующие классы 1. По способу представления чисел различают АЛУ, в которых двоичные, шестнадцатеричные или (и) десятичные числа представляются в формах с фиксированной, плавающей или (и) естественной запятой. 2. По последовательности обработки разрядов операндов АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды поступают последовательным кодом и их обработка (например, суммирование) производится разряд за разрядом последовательно во времени. В параллельных АЛУ операнды поступают параллельным кодом и их разряды обрабатываются одновременно. 3. По принципам построения основных (базовых) блоков различают АЛУ с комбинационными накапливающим сумматором, АЛУ на однородных вычислительных средах (матричные, АЛУ с табличным выполнением операций и др. 4. По характеру использования блоков различают АЛУ со специализированными блоками (блочные) и АЛУ с многофункциональными блоками. В блочных АЛУ для выполнения каждой операции или каждой группы однотипных операций предусмотрены отдельные блоки. Например, блоки суммирования двоичных и десятичных чисел с фиксированной и плавающей точкой, блок умножения, блок деления, блок логических операций и другие. Такая специализация блоков сама по себе, а также возможность одновременной работы нескольких блоков, существенно увеличивает быстродействие АЛУ. В многофункциональных АЛУ одни и те же узлы и блоки используются для выполнения различных операций. При настройке на конкретную операцию производится коммутация этих узлов в требуемую схему. Многофункциональные АЛУ более компактны, но их быстродействие ниже, чему блочных АЛУ ввиду меньшей специализации и дополнительных задержек в узлах коммутации. Основу АЛУ составляет операционный блок, на вход которого поступают данные (операнды. В операционном блоке над поступающими операндами производятся все операции, предусмотренные назначением АЛУ. Устройство управления вырабатывает последовательность сигналов управления под воздействием генератора 125 тактовых импульсов. Каждый сигнал управления поступает в операционный блок в определенный тактовый интервал и инициирует определенную микрооперацию над операндами (прием в регистр, сдвиг, инвертирование и т. п. Каждая операция над операндами в АЛУ представляет собой определенную последовательность микроопераций. Требуемая операция над операндами в АЛУ задается кодом операции. Этот код вызывает формирование в устройстве управления соответствующей последовательности сигналов управления. Состав операционного блока определяется его предназначением — перечнем операций, формами представления операндов. Для выполнения операций над операндами в состав АЛУ входят (рис. 6.6): входные регистры Аи В (РгА, РгВ) для приема операндов, разрядный сумматор (СМ, регистры для приема и хранения промежуточного и окончательного результата операции г S и Рг вых, блок логических операций для формирования сигналов оповещения о промежуточных и окончательных значениях операндов (положительный или отрицательный результат, равен нулю или переполнение разрядной сетки и др. Логические операции выполняются в регистрах с соответствующими логическими схемами или в блоке логических операций. Схема соединения узлов, указанных на рис. 6.6, меняется в зависимости от выполняемой операции. СМ Рг S Рг вых Блок логических операций Рг А Рг В Блок внутренних регистров Результат Рис. 6.6. Состав многофункционального АЛУ 126 АЛУ выполняет арифметические и логические операции над входными регистрами, результат операции помещается в один из входных регистров или блок внутренних регистров. Этот процесс называется циклом тракта данных. УУ предназначено для организации автоматического выполнения заданной программы решения задачи. Это осуществляется путем принудительной координации работы всех устройств ЭВМ, те. посылкой в различные узлы и блоки управляющих сигналов в определенные моменты времени. Главная задача УУ – преобразование первичной командной информации, представленной программой решения задачи, во вторичную командную информацию, представленную управляющими сигналами. Воздействие этих сигналов на другие узлы и устройства ЭВМ обеспечивают автоматическое решение задачи. УУ в составе ЭВМ выполняет следующие функции управление последовательностью команд, те. определение адреса следующей команды в реализуемой программе, ее чтение и хранение на время выполнения управление последовательностью операций и микроопераций в процессе выполнения команды согласование, синхронизация работы узлов и устройств ЭВМ контроль за работой ЭВМ и индикация состояний ее элементов. Блок внутренних регистров служит внутренней памятью процессора и используется для временного хранения данных и команда также выполняет процедуры обработки информации. 6.5. Формы представления чисел в ЭВМ Информация в памяти ЭВМ записывается в форме цифрового двоичного кода. С этой целью ЭВМ содержит большое количество ячеек памяти и регистров (от лат. regestum — внесенное, записанное) для хранения двоичной информации. Большинство этих ячеек имеет одинаковую длину п, те. они используются для хранения п бит двоичной информации (бит — один двоичный разряд. Информация, хранимая в такой ячейке, называется словом. Двоичное слово, состоящее из 2 байт, представлено на рис. 6.7. 127 Старший бит Бит Младший бит 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 Байт Байт Слово Рис. 6.7. Бит, байт и слово Ячейки памяти и регистры состоят из элементов памяти. Каждый из таких электрических элементов может находиться водном из двух устойчивых состояний конденсатор заряжен или разряжен, транзистор находится в проводящем или непро- водящем состоянии, специальный полупроводниковый материал имеет высокое или низкое удельное сопротивление и т. п. Одно из таких физических состояний создает высокий уровень выходного напряжения элемента памяти, а другое — низкий. Обычно это электрическое напряжение порядка 4—5 В и 0 В соответственно, причем первое обычно принимается за двоичную единицу, а второе — за двоичный ноль возможно и обратное кодирование. Память ЭВМ состоит из конечной последовательности слова слова — из конечной последовательности битов, поэтому объем представляемой в ЭВМ информации ограничен емкостью памяти, а числовая информация может быть представлена только с определенной точностью, зависящей от архитектуры памяти данной ЭВМ. В ЭВМ применяются две формы представления двоичных чисел естественная форма, или форма с фиксированной запятой (точкой нормализованная форма, или форма с плавающей запятой (точкой. С фиксированной запятой все числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой (точкой, отделяющей целую часть от дробной. Представление целых чисел и выполнение арифметических операций над ними Целые числа могут представляться без знака или со знаком и занимают в памяти компьютера один или два байта (табл. 6.1). В однобайтовом формате принимают значения от 00000000 2 до 11111111 В двухбайтовом формате — от 00000000 00000000 2 до 11111111 11111111 2 128 Таблица 6.1 Формат числа в байтах Диапазон запись с порядком обычная запись 1 0 ... 2 8 – 1 0... 255 2 0 ... 2 16 – 1 0 ... 65535 Целые числа со знаком занимают в памяти компьютера один, два или четыре байта (табл. 6.2). Таблица 6.2 Формат числа в байтах Диапазон запись с порядком обычная запись 1 – 2 7 ... 2 7 – 1 – 128 ... 127 2 – 2 15 …-2 15 – 1 – 32768 ... 32767 4 – 2 31 ... 2 31 – 1 – 2147483648 ... 2147483647 В вычислительной технике применяются три формы записи (кодирования) целых чисел со знаком прямой код, дополнительный код, обратный код. Прямой код. Прямой разрядный двоичный код отличается от двоичного тем, что в нем отводится один, как правило, самый старший разряд для знака, а оставшиеся разрядов — для значащих цифр. Значение знакового разряда равно 0 для чисел Аи для чисел A 2 < 0 (рис. 6.8). Число 1 10 = 1 2 Число 127 10 = 1111111 2 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 Знак числа «+» Знак числа «+» а Прямой код числа – 1 Прямой код числа – 127 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 Знак числа «–» Знак числа «–» б Рис. 6.8. Представление чисел в прямом коде а) положительных, б) отрицательных 129 Для прямого кода справедливо следующее соотношение 2 n 0 i i i а 2 а ) 1 ( А зн , где n – разрядность кода а зн – значение знакового разряда. Например, десятичная запись числа, представленного в прямом коде как 1101, будет иметь вид А = (– 1) 1 [1 2 0 + 0 2 1 + 1 2 2 ] = – 5. Дополнительный код. Использование чисел со знаком (прямого кода представления чисел) усложняет структуру ЭВМ.В этом случае операция сложения двух чисел, имеющих разные знаки, должна быть заменена на операцию вычитания меньшей величины из большей и присвоения результату знака большей величины. Поэтому в современных ЭВМ, как правило, отрицательные числа представляют в виде дополнительного или обратного кода, что при суммировании двух чисел с разными знаками позволяет заменить вычитание на обычное сложение и упростить тем самым конструкцию арифметико-логического устройства компьютера. Обратный код. Для представления отрицательных чисел используется также обратный код, который получается инвертированием всех цифр двоичного кода абсолютной величины числа нули заменяются единицами, а единицы — нулями. При этом необходимо помнить, что все операции с отрицательными числами выполняются в формате машинного слова. Это значит, что к двоичному числу слева дописываются нули до нужного количества разрядов. Например, для разрядного машинного слова Число – 1 Число – 127 Код модуля числа 00000001 Код модуля числа 01111111 Обратный код числа 11111110 Обратный код числа 10000000 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 Для обратного кода справедливо следующее соотношение 2 n 0 i i 0 i 1 n зн 10 а 2 ( а А , где п — разрядность машинного слова. 130 а зн = 0, для положительных чисел 1, для отрицательных чисел Например, десятичная запись отрицательного числа, представленного в обратном коде как 1010, будет иметь вид А = 1 (– 2 3 + 1) + [0 2 0 + 1 2 1 + 0 2 2 ] = – 7 + 2 = – 5. Для положительных чисел а зн = 0 и представление числа полностью совпадает с представлением в прямом и дополнительном кодах. Таким образом, положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде. Обычно отрицательные десятичные числа при вводе в ЭВМ автоматически преобразуются в обратный или дополнительный двоичный код ив таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из ЭВМ происходит обратное преобразование в отрицательные десятичные числа. Выполнение арифметических операций над кодами В большинстве вычислительных устройств с целью упрощения их конструкции операция вычитания не используется. Вместо нее производится сложение обратных или дополнительных кодов уменьшаемого и вычитаемого. 1. Хи положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например Десятичная запись Двоичные коды + 3 + 0 0000011 7 0 0000111 10 0 0001010 Получен корректный результат. 2. X положительное, Y отрицательное и по абсолютной величине больше, чем X. Например Десятичная запись Двоичные коды+ 3 + 0 0000011 –10 1 1110101 Обратный код числа – 10 – 7 1 1111000 Обратный код числа – 7 131 Получен корректный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются 1 0000111 = – 7 10 3. X положительное, Y отрицательное и по абсолютной величине меньше, чем X. Например Десятичная запись Двоичные коды+ 10 + 0 0001010 – 3 1 1111100 Обратный код числа – 3 7 0 0000110 +1 0 0000111 Компьютер исправляет полученный первоначально некорректный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы. 4. X и Y отрицательные Например Десятичная запись Двоичные коды+ – 3 + 1 1111100 Обратный код числа – 3 – 7 1 1111000 Обратный код числа – 7 – 10 1 1110100 +1 1 1110101 Обратный код числа – 10 Полученный первоначально некорректный результат (обратный код числа –11 вместо обратного кода числа –10 10 ) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы. При переводе результата в прямой код биты цифровой части числа инвертируются 1 0001010 = –10 При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. 132 Представление вещественных чисел С плавающей запятой каждое число изображается в виде двух групп цифр. Первая группа цифр называется мантиссой, вторая — порядком, причем абсолютная величина мантиссы должна быть меньше 1, а порядок — целым числом. Любое вещественное число N, представленное в системе счисления с основанием р, можно записать в виде N = ± M p ±k , где М – мантисса p – основание системы счисления k – порядок числа (целое число. Например, десятичное число 234,47 или двоичное число 1011,01 можно представить следующим образом 234,47 = 234 470,0 10 -3 = 23 447,0 10 -2 = 2344,7 10 -1 = 234,47 10 0 = = 23,447 10 1 = 2,3447 10 2 = 0,23447 10 3 = 0,023447 10 4 1011,01 = 1011,01 10 0 = 101,101 10 01 = 10,1101 10 10 = 1,01101 10 11 = = 0,101101 10 100 = 0,0101101 10 Такое представление чисел называется представлением с плавающей запятой, где порядок определяет, насколько разрядов необходимо осуществить сдвиг относительно запятой. Если плавающая запятая расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведенных под мантиссу, обеспечивается запись максимального количества значащих цифр числа, те. максимальная точность представления числа. Из этого следует, что мантисса должна быть правильной дробью (М < 1), у которой первая цифра а после запятой отлична от нуля М = 0, а. Для двоичной системы счисления а = 1, поэтому М = 0, 1... . Если это требование выполнено, то число называется нормализованным. Нормализованная мантисса в двоичной системе счисления всегда представляется десятичным числом п, лежащим в диапазоне 0,5 п < 1. При написании вещественных чисел в программах вместо привычной запятой принято ставить точку. 133 Примеры нормализованного представления Десятичная система Двоичная система = 0.75315 10 3 ; 101,01 = 0.10101 10 11 (порядок 11 2 = 3 10 ); 0,000034 = 0.34 10 -4 ; 0,000011 = 0.11 порядок –100 2 = 4 10 ). Вещественные числа в компьютерах представляются в трех форматах одинарном, двойном и расширенном, имеющих одинаковую структуру вида (рис. 6.9). n-1 n-2 m m-1 1 0 … … Знак мантиссы Смещенный порядок Абсолютная величина мантиссы Рис. 6.9. Формат представления вещественных чисел Здесь порядок разрядного нормализованного числа задается смещенным кодом, позволяющим производить операции над порядками как над беззнаковыми числами, что упрощает операции сравнения, сложения и вычитания порядков, а также операцию сравнения самих нормализованных чисел. Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от ноля числа до наибольшего числа, представимого в ЭВМ при заданном формате. Контрольные вопросы 1. Назовите этапы развития ЭВМ и их характерные особенности. 2. В чем заключаются принципы фон Неймана? 3. Какие основные устройства входят в состав ЭВМ 4. Дайте определение архитектуры и структуры ЭВМ. 5. Что лежит в основе программного управления 6. Какие формы представления двоичных чисел применяются в ЭВМ 7. Порядок представления отрицательных целых чисел в прямом, обратном и дополнительном кодах. 8. Сложить числа +10 и – 5, используя коды. |