|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
КОНСПЕКТ ЛЕКЦИЙ 1 страница«Архитектура ЭВМ и систем»
Составитель: В.Е. Баранов
Санкт-Петербург СОДЕРЖАНИЕ
Введение........................................................................................................................2 1. Теоретические основы вычислительной техники................................................5 1.1. Представление информации в ЭВМ................................................................5 1.1.1. Системы счисления............................................................................................5 1.1.2. Методы перевода чисел из одной позиционной системы счисления в другую.................................................................................................................7 1.1.3. Формы представления чисел............................................................................8 1.1.4. Представление алфавитно-цифровой информации......................................10 1.2. Арифметические основы вычислительной техники.....................................11 1.2.1. Прямой, обратный и дополнительный коды чисел......................................11 1.2.2. Сложение и вычитание двоичных чисел.......................................................12 1.2.3. Сложение и вычитание чисел в двоично-десятичных кодах (Д-кодах).....15 1.2.4. Умножение и деление двоичных чисел.........................................................16 1.3. Логические основы вычислительной техники..............................................19 1.3.1. Переключательные функции..........................................................................21 1.3.2. Формы представления логических функций................................................26 1.3.3. Минимизация логических функций...............................................................30 1.4. Синтез и анализ комбинационных схем........................................................34 1.4.1. Алгоритм синтеза комбинационной схемы...................................................35 1.4.2. Функциональные схемы логических элементов...........................................35 1.4.3. Пример синтеза полного однорядного двоичного сумматора....................38 1.4.4. Односторонние булевы уравнения.................................................................41 1.4.5. Методы синтеза комбинационных схем с многими выходами...................43 1.5. Синтез и анализ конечных автоматов............................................................46 1.5.1. Элементарные конечные автоматы и их техническая реализация.............48 1.5.2. Алгоритм структурного синтеза конечного автомата..................................48 1.5.3. Пример синтеза конечного автомата – двоично-десятичного счётчика....49 2. Организация ЭВМ.................................................................................................52 2.1. Типовые структурные элементы цифровой техники...................................52 2.1.1. Основные характеристики и классификация цифровых элементов ВТ.....52 2.1.2. Мультиплексоры и дешифраторы..................................................................53 2.1.3. Сумматоры.......................................................................................................56 2.1.4. Триггеры...........................................................................................................57 2.1.5. Регистры и счётчики........................................................................................59 2.2. Структура и принципы организации ЭВМ....................................................64 2.2.1. Принципы действия и основные характеристики........................................64 2.2.2. Устройства памяти...........................................................................................66 2.3. Процессоры: архитектура и принципы организации...................................73 2.4. Системы ввода-вывода информации.............................................................81 3. Организация систем..............................................................................................81 3.1. Принципы построения оптимальных систем................................................87 3.2. Реализация технических систем на базе контроллеров...............................91 Литература................................................................................................................100
Введение
Вычислительные машины позволяют решать весьма широкий круг задач, ограниченный способностью человека указывать инструкции для их решения. Подобные инструкции в форме точной и специфической последовательности операторов, подробно определяющих процедуру решения задачи, задаются программой. На начальном этапе использования современной вычислительной системы мы имеем дело не с самой машиной, а с совокупностями правил, называемых языками программирования, на которых указываются действия, которые должна выполнять ЭВМ. При этом, сама вычислительная машина может рассматриваться как аппаратный интерпретатор некоторого конкретного языка, который называется машинным языком. Большинство пользователей используют языки высокого уровня (ЯВУ), которые с помощью программ-трансляторов (компиляторов или интерпретаторов) преобразуются в программы на машинном языке. Таким образом, вычислительная машина состоит не только из вычислительной машины, представляющей собой комплекс оборудования, но и из программ, включая те, которые транслируют программы пользователей с любого из имеющихся языков в программы на машинном языке. То есть речь идет об аппаратной и программной частях ЭВМ. Исторический обзор. Механические средства для счета и вычисления были известны еще в далеком прошлом. Одним из древних средств подобного рода являются счеты, которые сохранились до наших дней в качестве простого практического приспособления для вычислений во многих частях света, в особенности на Востоке. (Разновидность счетов - абак - использовалась, видимо, древними египтянами и была знакома китайцам еще в Y1 в. до нашей эры). При этом, операции умножения и деления выполняются с помощью последовательностей операций сложения и вычитания. Хотя в ранних устройствах большее внимание уделялось необходимости механизации арифметических операций, хранение промежуточных результатов было также важным. Большинство устройств, подобных счетам, хранили лишь простой текущий результат. В качестве памяти другого типа использовался любой писчий материал, например глиняные дощечки, а позднее бумага. Первые предвестники управления последовательностями операций появились в областях далеких от вычислительной техники. Например, в ткацком станке Жаккарда (1801г.) использовались перфорированные (пробитые) карты для управления командами переплетения нитей в ткани. Чарльз Бэббидж (1792-1871) был одним из первых, кто сформулировал идею создания универсальной вычислительной машины. Первым побудительным мотивом была невысокая надежность вычислений. Любопытство привело его к тому, что он обнаружил много ошибок в астрономомических таблицах. Бэббидж детально разработал проект универсальной вычислительной машины, но отсутствие средств не позволило ему реализовать проект. Перепись населения в США в 1890 г. была революционной с точки зрения обработки ее результатов. Доктор Герман Холлерит применил перфорированные карты и простые машины для обработки данных переписи в 1890 г. С тех пор машины с перфорированными картами получили широкое распространение в деловой и административной сферах. Первая треть двадцатого века ознаменовалась последовательным развитием и внедрением многих вычислительных устройств. Значительный вклад в это внес математик Алан Тьюринг, опубликовавший в 1937 году описание универсальной гипотетической вычислительной машины (схемы вычислений). Идея привлекла внимание многих ученых, но практического смысла в создание такого рода машины не было никого - она работала бы недопустимо медленно. С 40-х годов 20-го века началось интенсивное развитие аппаратной и программной частей средств вычислительной техники (ВТ). Аппаратную часть ВТ можно условно разделить на пять поколений, связанных с техническим развитием ее компонентов. В 1944 году Говард Айкен и группа исследователей из IBM построили электрическую вычислительную машину на релейных логических элементах. Чуть позднее в 1946 году Дж.П.Эккерт и Дж.В.Мочли разработали электронную вычислительную машину (ЭВМ) ENIAC на электронных лампах. Эти машины были предназначены для выполнения научных расчетов. Серийное производство ламповых ЭВМ ENIAC1 ассоциируют с термином "первое поколение". Примерно в это же время в СССР (1949-1951г.г.) были разработаны и реализованы под руководством академика С.А.Лебедева в АН УССР (Киев) первые ламповые ЭВМ МЭСМ (малая электронная счетная машина). Появление транзисторов (изобретены в 1948 г.) привело к созданию ЭВМ " второго поколения. По сравнению с электронной лампой полупроводниковый транзистор является более эффективным элементом, так как: не требует нагрева источника электронов, имеет более продолжительный период жизни и высокую надежность, затраты на его производство существенно меньше. 1960 год считают годом широкого внедрения и использования ЭВМ "второго поколения", используемых в областях: общего назначения; для экономических задач; задач управления производственными процессами. Третье и четвертое поколения технологии ЭВМ (относящиеся примерно к 1964 и 1970 г.г.) отличаются возрастающим применением методов интегрального изготовления с целью производства большей части ЭВМ в едином автоматическом непрерывном процессе без использования ручного труда. Третье поколение ЭВМ характеризуется широким применением операционных систем (ОС), а четвертое решением новых классов задач: имитационное моделирование; планирование; многопараметрическая оптимизация и т.д. Пятое поколение ЭВМ связывают с понятием - "искусственного интеллекта". Ориентировочно можно говорить об их появлении в 1980-х годах. В этих машинах значительно увеличивается интеграция программной и аппаратной частей между собой, а также появляются возможности общения с внешней средой. Успехи в разработке оборудования сопровождались достижениями в программировании. Все языки программирования можно разделить на: машинные, Ассемблеры и языки высокого уровня (ЯВУ). Они реализуются, как правило, в системе, которая может быть более или менее сложной. Цель системы заключается в том, чтобы обеспечить быстрое написание и выполнение программ. При этом, затраты времени на подготовку программ прямо пропорциональны их стоимости. Достижения в области автоматического программирования и операционных систем за последние 40 лет позволили увеличить скорость написания программ в десятки-сотни раз. Это дает возможность пользователю не только писать программы быстрее, но и позволяет решать их с меньшими затратами. Программное обеспечение вычислительной системы предназначено для упрощения процедуры подготовки пользователями задания для ЭВМ и облегчения процесса его прогона и отладки. На машинном уровне (в машинных кодах - машинном языке) ЭВМ выполняет команды, составленные из цифр. Язык Ассемблера (его разработку приписывают Г.Хопперу) представляет собой набор мнемонических обозначений, соответствующих машинному языку. Используется в основном для операций ввода/вывода информации. Он позволяет не только упростить чтение/запись и написание программ, но и создавать дополнительные языковые средства, повышающие качество пользования вычислительной машины. Эти дополнительные средства обеспечиваются операционной системой. Для обычного пользователя не имеет значения, являются ли эти дополнительные команды частью аппаратных средств или они относятся к программному обеспечению. Важно предоставить ему более мощную систему программирования высокого уровня. Основные аппаратные средства обеспечивают выполнение последовательности команд, находящихся в памяти ЭВМ. Задача пользователя и системы заключается в том, чтобы ввести программу в память и начать ее выполнение с нужной команды. При этом, сами команды ввода должны находиться в ЭВМ. По сравнению с машинным языком или Ассемблером языки высокого уровня значительно упрощают программирование и позволяют уменьшить количество ошибок в программах. Программа, написанная на ЯВУ для одной машины, с небольшими изменениями или вообще без изменений может быть использована на других. Однако программы на языках высокого уровня выполняются медленнее и занимают больше памяти, чем программы на машинных языках или Ассемблере. Первым языком высокого уровня был Фортран, разработанный в 1954 году Джоном Бэкусом и примененный в 1956 году. Основное назначение - решение математических и научных задач. Существует очень большое количество ЯВУ. В данном курсе не предусматривается их разбор. Остановимся на их общих особенностях. Языки высокого уровня являются средством, позволяющим вычислять заданную функцию или решать некоторую задачу. Команды, написанные на ЯВУ, должны быть преобразованы в машинные коды с помощью вычислительной системы, на которой реализована программа. Программа преобразования называется транслятором, а программа, написанная на ЯВУ, исходной программой. Результатом трансляции исходной программы будет программа на машинном языке - объектная программа. Трансляторы подразделяются на компиляторы и интерпретаторы. Первые транслируют всю программу целиком (требуют больше памяти и более производительны), а вторые - команды исходной программы по одной. Развитие элементной базы ЭВМ стимулировало разработку более эффективных систем программирования, предназначенных для решения различного рода задач. Общая тенденция создания мощных баз программного обеспечения заключается в поисках возможностей использования разнородных программных продуктов в едином целом.
1. Теоретические основы вычислительной техники 1.1. Представление информации в ЭВМ 1.1.1. Системы счислении
Система счисления (СС) – это способ представления любого числа с помощью принятого набора символов (цифр, букв, …).
Представление чисел в различных системах счисления (СС) В различных странах и в различное время исторически сложились и использовались следующие СС: римская; 5 (Африка); 12 (1фут=12дюймов, 12 месяцев…); 20 (ацтеки, майя); 60 (Вавилон – время, углы, …); 2 (Австралия, Полинезия); 10 (Индия ® арабы ® Европа). Выбор системы счисления основывается в каждом конкретном случае на ряде критериев. Наиболее распространёнными из них являются: - эффективность вычислений (обеспечивает простые алгоритмы); - наглядность (определяется физическими свойствами субъекта); - реализуемость (в данном случае – техническая). Системы счисления классифицируются следующим образом:
Системы счисления непозиционные позиционные
смешанные однородные Различные СС связаны между собой, например: римская и десятичная.
Пример. Представить число MDCCCXII в десятичной СС 1000(M) + 500(D) + 100(C) + 100(C) + 100(C) + 10(X) + 1(I) + 1(I) = 1812
Пример. Представить число 1988 в римской СС 1988 = 1000+900+80+8 = 1000+(1000-100)+50+10+10+10+5+1+1+1= =MCMLXXXVIII
MDCCCXII – 1812 XXX – 30 XL – 40 LXXX – 80 XC – 90 CCC – 300 CD – 400 DC – 600 CM – 900
Позиционная СС (ПСС) определяется конфигурацией и местом (позицией) каждого элемента, а характеризуется: основанием (числом символов n) и алфавитом.
Представление позиционной СС полиномом
где n – основание СС, ai – любой символ из алфавита СС
Примеры ПСС.
Однородной СС является система, у которой в каждом разряде одинаковое число цифр. С теоретической точки зрения оптимальной ЭВМ является та, у которой основание системы счисления – е (ближайшее число 3), а с практической используется основание кратное 2 (это определено существующей технологической базой: триггеры – 2 состояния). Задание 1. Представить число 1539 в римской С. С. Задание 2. Представить число MMDCXLVII в 10-ной С. С. Задание 3. Представить число 15.394(10) полиномом. Задание 4. Представить число 11010100,001 полиномом.
1.1.2. Методы перевода чисел из одной позиционной системы счисления в другую. A(n)=>A(k), где А – число, n и k – основания двух С. С. Алгоритм перевода при n<k: - представить А(n) полиномом основания n, - все коэффициенты, основание n-ичной С. С. и все степени основания полинома записать в k-ичной С. С., - выполнив все предусмотренные действия получить А(k). Пример. Перевести число 1011,01 из двоичной С. С. в десятичную С. С. Здесь n = 2, k = 10, т. е. n<k. Задание 5. Перевести число 10001,011(2) в десятичную С. С. Задание 6. Перевести число 0,10011(2) в десятичную С. С. Алгоритм перевода при n>k. Преобразуются отдельно и по-разному целая Ац(n) и дробная Ад(n) части числа А(n). А(n) = Aц(n)+Aд(n). Преобразование Ац(n)=>Aц(k) осуществляется последовательным делением Ац(n) на k, выделением остатков от деления и составлением из них числа Ац(k). Пример. Перевести число 37,75 из десятичной С. С. в двоичную С. С. Здесь n=10, k=2, т. е. n>k. А(10)=Ац(10)+Ад(10)=37(10)+0,75(10). Нужно Ац(10)=>Ац(2) и Ад(10)=>Aд(2).
=> Aд(2)=0,а-1а-2а-3…=0,11(2) В итоге: 37,75(10)=100101,11(2) Проверка: Задание 7. Перевести число 29,8125(10) в двоичную С. С. Задание 8. Перевести число 100,3(10) в двоичную С. С. Задание 9. Перевести число 364(7) в пятеричную С. С. через десятичную С. С. Перевод чисел в С. С. с основанием кратным двум. Пусть n=2 l, а k=2. Тогда каждая цифра n-ичной С. С. представляется l – разрядным двоичным числом. Пример. Перевести число 472,54(8) в двоичную и шестнадцатеричную С. С. Сначала выполним перевод в двоичную С. С. Так как 16=24, то l 2 и, следовательно, 472,54(8)= 100111010, 1011 = 1 3 А, В(16). Задание 10. Перевести число 3103,12(4) в двоичную С. С. Задание 11. Перевести число 1011010101,11(2) в восьмеричную С. С. и шестнадцатеричную С. С. Задание 12. Перевести число F0A(16) в четвертичную С. С. Задание 13. Перевести число 27,59375(10) в шестнадцатеричную С. С.
1.1.3. Формы представления чисел.
Представление чисел в форме с фиксированной запятой (ФЗ) Формат представления чисел с запятой, фиксированной перед старшим разрядом:
n – разрядная сетка ЭВМ В этом формате диапазон представляемых чисел Формат представления чисел с запятой, фиксированной после младшего разряда:
В этом формате диапазон представляемых чисел Представление знаков: “+” <==> 0; “-“ <==> 1. Пример. Представить число -0,0225(10) в форме с ФЗ в 16-разрядной сетке ЭВМ. -0,0225(10)=-0,0000010111(2).
Формат представления чисел в форме с естественной запятой. (с произвольным расположением запятой в пределах n-разрядной сетки ЭВМ)
Задание 14. Представить число 1141(10) в форме с ФЗ в 16-разрядной сетке. Задание 15. Представить число -0,4(10) в форме с ФЗ в 8-разрядной сетке. Задание 16. Представить число -88,8125(10) в форме с естественной запятой в 16-разрядной сетке.
Представление чисел в форме с плавающей запятой (ПЗ). Число представляется в виде: , где А – исходное число, М – мантисса (/М/<1), SP – характеристика числа А, S – основание С. С., Р – порядок.
При таком представлении чисел необходимо проведение их нормализации. Число А называется нормализированным, если мантисса удовлетворяет условию , т. е. если старший разряд мантиссы отличен от нуля. Пример. Представить число -27,375(10) в форме с ПЗ в 16-разрядной сетке ЭВМ. -27,375(10)=-11011,011(2). Проведя нормализацию получим . Пусть под порядок отведено 4 разряда. Тогда содержимое разрядной сетки будет: Задание 17. Представить число 59,625(10) в форме с ПЗ в 16-разрядной сетке. Задание 18. Представить число -0,0625(10) в форме с ПЗ в 8-разрядной сетке. Задание 19. Представить число -6,025(10) в форме с ПЗ в 32-разрядной сетке. Задание 20. Представить число 0,1Е(16) в форме с ПЗ в 16-разрядной сетке.
Представление чисел в форме с ПЗ и смещённым порядком. Смещённый порядок Здесь - истинный порядок, а N=2k, где число k – число двоичных разрядов отведённое для представления (или Рсм). Всегда Рсм>0. Короткий (32 разряда) формат представления чисел с ПЗ и смещённым порядком в ЕС ЭВМ
Здесь , , - шестнадцатеричные разряды. Следовательно содержимое разрядной сетки может быть представлено числом . При таком представлении нормализация проводится для шестнадцатеричного числа. При определении смещённого порядка число N в шестнадцатеричной С. С. будет равно 40(16). В ЕС ЭВМ существуют также длинный (64 двоичных разряда) и расширенный (128 двоичных разряда) форматы. В них расширяется только поле отводящееся под мантиссу. Пример. Представить число -0,01(10) в форме с ПЗ и смещённым порядком в коротком формате ЕС ЭВМ. Переведём число в шестнадцатеричную С. С. . Проведя нормализацию этого числа получим мантиссу (-0,2815С3)(16), а порядок (-1)(16). Определим смещённый порядок. .
Расположим число в 32-х разрядной сетке Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.021 сек.) |