Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основные принципы архитектуры фон Неймана






СОДЕРЖАНИЕ

1. История развития вычислительной техники.. 3

Вопросы для самопроверки. 7

2. Основные понятия.. 8

Вопросы для самопроверки. 12

3. Организации вычислительных систем с традиционной архитектурой 13

3.1. Основные принципы архитектуры фон Неймана. 13

3.2. Понятие семантического разрыва. 15

3.3. Упрощенная схема вычислений в ВС с архитектурой фон Неймана 17

3.4. Модульный принцип организации ВС и понятие интерфейса 20

3.5. Подключение внешних устройств. Понятие порта. 23

3.6. Подходы к усовершенствованию архитектуры современных ВС 24

Вопросы для самопроверки. 24

4. Организация памяти.. 25

4.1. Регистровая память. 26

4.2. Оперативная память. 26

4.3. Кэш-память. 28

4.4. Адресация данных. 34

4.5. Относительная адресация памяти и разрывные распределения. Виртуальная память 40

4.5.1. Разрывные распределения. 40

4.5.2. Виртуальная память. 46

4.6. Защита памяти. 60

Вопросы для самопроверки. 62

5. Архитектура процессоров Intel.. 62

5.1. Иерархия памяти в процессорах Intel 63

5.2. Организация основной памяти. 63

5.2.1. Сегментирование памяти. 64

5.2.2. Регистры процессора. 70

5.3. Средства защиты памяти. 73

5.4. Поддержка стековой организации памяти. 79

5.5. Типы данных. 85

5.5.1. Кодирование и представление информации. 85

Основные определения. 86

Связь между системами счисления. 87

Системы счисления, используемые в ЭВМ... 89

5.5.2. Внутреннее представление данных в памяти компьютера 91

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

Представление вещественных чисел. 94

5.6. Система команд. 95

5.7. Система прерываний. 103

5.8. Архитектура процессоров шестого поколения. 112

5.8.1. Общая характеристика процессоров P6. 112

5.9. Микроархитектура процессоров P6. 113

5.10. Расширение вычислительных возможностей микропроцессоров 118

5.10.1. Математический сопроцессор (FPU) 119

Программная модель FPU.. 120

Внутренняя организация FPU.. 124

Синхронизация FPU и целочисленного устройства. 124

5.10.2. Программная модель MMX. 125

5.10.3. Конвейеризация вычислений: взаимодействие конвейеров 127

 

1. История развития вычислительной техники

Понятие вычислительной техники (ВТ) тесно связано с понятием информатики, информационных технологий.

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

Информационная технология (ИТ) – это совокупность методов, технических и программных средств, с помощью которых выполняются разнообразные операции по обработке информации в различных сферах.

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

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

Основы информационной теории и техники как таковой были заложены в XVII в. Шиккардом, Паскалем и Лейбницем: в 1623 г. профессор Тюбингенского университета В. Шиккард предложил устройство, состоящее из суммирующего и множительного блоков; в 1642 г. Б. Паскаль продемонстрировал в Люксембургском дворце машину, которая могла складывать и вычитать числа; в 1673 г. немецкий математик и философ Г. Лейбниц представил в Парижской академии вычислитель, выполняющий все четыре арифметические операции.

Следующий этап развития вычислительной техники связан с именем профессора Кембриджского университета Чарльза Беббиджа, который в 1812-1823 гг. построил разностную машину, а в 1835 г. представил проект аналитической (фрагмент такого вычислителя построил сын ученого, а программы для него разрабатывала первый программист Ада Лавлейс (Байрон)).

В 1880 г. Г. Холлерит сконструировал электромеханический перфокарточный табулятор, который использовался при переписи населения в США и в России.

Далее можно отметить следующие события, которые послужили вехами в развитии средств ВТ:

– Механик А.Н. Крылов в 1911 г. построил уникальное аналоговое устройство для решения дифференциальных уравнений.

– М.А. Бонч-Бруевич в 1918 г. изобрел триггер.

– Академик Н.Н. Павловский (1919 г.) создал аналоговую вычислительную машину.

– В 1928 г. основана фирма Motorola для производства электронных узлов вычислителей.

– Английский математик А. Тьюринг (1936 г.) опубликовал доказательство того, что любой алгоритм может быть реализован с помощью дискретного автомата.

– Американский инженер Дж. Стибниц создал релейную машину BELL (1939 г.).

– В 1939 г. У. Хьюлетт и Д. Паккард основали компанию для производства компонентов первых вычислителей.

– Джон фон Нейман и Гольдстейн опубликовали статью «Предварительное обсуждение логической конструкции ЭВМ» (1946 г.).

– В 1947 г. изобретен транзистор.

– В Массачусетском университете был построен первый компьютер с памятью EDVAC (1948 г.).

– В 1948 г. под руководством С.А. Лебедева начались работы над малой электронно-счетной машиной – МЭСМ (машина была собрана за два года на базе 7 500 ламп на площади в 64 м2, и потребляла 25 кВт электроэнергии).

– В 1949 г. М. Уилкс построил компьютер EDSAC в соответствии с принципами фон Неймана.

– В 1952 г. в СССР была выпущена большая электронно-счетная машина (БЭСМ) на 4 500 лампах, выполнявшая до 10 000 операций в секунду. Доклад Лебедева на конференции в городе Дармштадте (1956 г.) стал событием – БЭСМ была признана лучшей ЭВМ в Европе.

– В 1957 г. Б. Нойс и Г. Мур открыли первую в мире компанию по производству полупроводниковых приборов (а спустя 10 лет они же создали фирму «Intel Corporation»).

– В 1958 г. начался промышленный выпуск ЭВМ в СССР.

– В 1959 г. в СССР разработана ЭВМ М-20 (20 тыс. операций в секунду).

– В 1967 г. создана БЭСМ-6 (1 млн. оп./с), в которой впервые реализованы идеи параллелизма вычислений.

– 30 декабря 1967 г. вышло постановление Совета министров СССР о разработке ЭВМ единой серии (ЕС ЭВМ).

– В 1971 г. Д. Хофф (фирма Intel) создает первый микропроцессор i4004.

– В 1975 г. создана компания «Microsoft Corporation».

– В 1977 г. С. Возняк и С. Джобс разработали и собрали первый настольный компьютер «Apple».

– В 1978 г. разработан первый 16‑ разрадный микропроцессор Intel 8086.

– В 1979 г. в СССР разработана ЭВМ «Эльбрус-1» (в ее состав включены 10 центральных процессоров на БИС с общей памятью, что обеспечивало производительность 1, 5-10 млн. оп./с.).

– В 1981 г. IBM представила свой первый персональный компьютер IBM PC.

– В 1985 г. создана ЭВМ «Эльбрус-2» с производительностью более 100 млн.оп./с.

– В 1991 г. разработан «Эльбрус-3» (16 центральных процессоров (ЦП), производительность – 1 млрд. оп./с.).

При изучении истории развития ВТ обычно выделяют несколько поколений ЭВМ. В основе определения поколений– характеристики аппаратуры, элементной базы ЭВМ (центральных процессоров (ЦП), оперативной памяти (ОЗУ), других устройств), приведенные в табл. 1.1.

Таблица 1.1. Поколения ЭВМ
Характеристики Поколения
Первое 1951-1954 Второе 1958-1960 Третье 1965-1966 Четвертое Пятое
1976-1979  
Элементная база ЦП Электронные лампы Транзисторы Интегральные схемы БИС СБИС СБИС + опто- и крио- электроника
Элементная база ОЗУ Электронно-лучевые трубки Ферритовые сердечники Ферритовые сердечники БИС СБИС СБИС
Максимальная емкость ОП (в байтах) 102 103 104 105 107 108
Максимальное быстродействие ЦП (операций в сек.) 104 106 107 108 109 + многопроцессорность 1012 + многопроцессорность
Языки программирования Машинный код + ассемблер + процедурные языки высокого уровня (ЯВУ) + новые процедурные ЯВУ + непроцедурные ЯВУ + новые непроцедурные ЯВУ
Средства связи пользователя с ЭВМ Пульт управления, перфокарты Перфокарты, перфоленты Алфавитно-цифровой терминал Монохромный графический дисплей, клавиатура Цветной графический дисплей, клавиатура, манипуляторы («мышь» и т.д.) + устройства голосовой связи с ЭВМ

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

– Большие ЭВМ (mainframe) IBM 360/370, ЕС ЭВМ, ES/9000, IBM S/390.

– Супер-ЭВМ (Cray J90, Convex C38XX, IBM SP2, SGI POWER CHALLENGE, системы MPP, Электроника СС‑ 100, Эльбрус‑ 3).

– Мини-ЭВМ (PDP‑ 11, VAX, СМ ЭВМ).

– Микро-ЭВМ: АРМ; встроенные; ПЭВМ (персональные компьютеры, ПК).

Основные модели ПЭВМ, которые были представлены на рынке: ПК фирмы IBM и их аналоги (для них характерен принцип открытости архитектуры); ЭВМ фирмы Apple, которые собирались на базе микропроцессоров фирмы Motorola и были представлены двумя семействами: Apple и Macintosh (основное их отличие от ЭВМ фирмы Intel – замкнутость архитектуры); ЭВМ независимых фирм производителей.

В настоящее время широкое распространение получили мобильные вычислительные устройства, карманные персональные компьютера (КПК).

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

Основные направления в развитии архитектуры современных ЭВМ, их элементной базы кратко рассматриваются ниже.

Вопросы для самопроверки

1. Назовите основные этапы развития средств ВТ.

2. По какому признаку выделяют поколения ЭВМ?

3. К какому поколению относятся первые мини-ЭВМ?

4. Какие выделяют классы ЭВМ?

5. Какие модели ЭВМ, компьютеров различных классов представлены сегодня на рынке?

6. Перечислите известные поколения ЭВМ. Охарактеризуйте свойства ЭВМ различных поколений с различных точек зрения.

7. Как изменилось назначение вычислительной техники в настоящее время?

8. По каким свойствам можно классифицировать вычислительные системы? Приведите примеры классификации вычислительных систем, их архитектур.

2. Основные понятия

Архитектура – один из основных терминов, используемых в области вычислительной техники (ВТ).

Понятие «система» носит двоякий характер. С одной стороны, по общему определению, система – это совокупность взаимодействующих элементов (компонентов), аппаратных и/или программных. С другой стороны, система может выступать в качестве компонента (подсистемы) другой, более сложной системы, которая в свою очередь может быть компонентом системы следующего уровня.

В связи с этим нужно уточнить представление об архитектуре систем и средств, как внешнем их описании (reference model) с точки зрения того, кто ими пользуется.

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

Архитектура информационной системы, таким образом, оказывается иерархическим описанием ее «внешнего облика» и каждого компонента с точки зрения:

– пользователя (пользовательский интерфейс),

– проектировщика системы (среда проектирования),

– прикладного программиста (системы и инструментальные средства / среды программирования),

– системного программиста (архитектура ЭВМ, вычислительной системы),

– разработчика аппаратуры (функциональность устройств и интерфейсы оборудования).

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

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

Аппаратные средства (hardware) – это все физические (механические, электронные и т.п.) элементы, из которых построена машина, а программное обеспечение (software, ПО) – это комплекс программ, ассоциирующихся с данной ВС (установленных на ВС, доступных для использования), превращающих «железо» в универсальное вычислительное устройство для решения задач в различных областях, кроме того, к ПО относится программная документация, инструкции, руководства и т.п.

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

Понятие архитектуры охватывает вопросы построения ВС, существенные в первую очередь с точки зрения ее пользователя или программиста:

– общая структура ВС;

– организация вычислительного процесса;

– общение пользователя с ВС;

– организация, представление, хранение, передача и преобразование информации;

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

Каждый пользователь имеет свое представление о возможностях ВС, о том, каким образом реализованы те или иные ее функции. Поэтому применительно к ВС термин «архитектура» может быть определен также как распределение функций, реализуемых системой, по различным ее уровням и точное определение границ между этими уровнями. При этом рассматриваются и вопросы определения интерфейсов для каждого рассматриваемого уровня как вопросы определения логических границ между двумя совокупностями функций. Основная линия разграничения системы – между системным программным обеспечением и аппаратурой.

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

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

– типы и форматы представления данных, работа с которыми поддерживается аппаратно;

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

– система команд процессора (набор операций, форматы команд и представление (режимы адресации) операндов в командах);

– функциональная схема процессора, организация его внутренней памяти, функциональных блоков;

– управление последовательностью выполнения команд;

– система прерываний;

– средства управления периферийными устройствами, организация вода/вывода и т.п.

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

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

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

– реализация работы ВС в различных режимах, управление режимами работы, включая возможность их переключения;

– поддержка мультизадачности;

– эффективное управление ресурсами ВС и поддержка возможности виртуализации основных ресурсов (в частности, памяти);

– обеспечение надежности функционирования, защиты и безопасности ВС, всех ее компонентов (включая ресурсы и процессы, как системные, так и прикладные);

– поддержка масштабируемости (возможности расширения вычислительной мощности) ВС;

– обеспечение совместимости снизу вверх для прикладных программ.

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

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

Вопросы для самопроверки

1. Дайте понятие архитектуры информационной системы.

2. Каковы особенности представлений о ВС различных категорий пользователей? Чем они определяются?

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

4. Определите понятие системной архитектуры.

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

3. Организации вычислительных систем с традиционной архитектурой

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

Основные принципы архитектуры фон Неймана

Архитектурные принципы фон Неймана – принципы построения ВС с «традиционной» архитектурой – это принципы устройства ВС, ориентированных на последовательные вычисления, обработку скалярных данных.

Можно выделить следующие основные характеристики ВС с традиционной архитектурой фон Неймана:

1. Наличие единого вычислительного устройства, включающего процессор (центральный процессор – ЦП) и память (оперативную память – ОП). Эти устройства ВС являются центральными устройствами (рис. 3.1). Кроме того, в состав ВС входят периферийные устройства, а также средства передачи информации, позволяющие устройствам взаимодействовать друг с другом.

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

В состав ВС включаются периферийные устройства (внешние запоминающие устройства (ВЗУ), обеспечивающие долговременное хранение информации, устройства ввода/вывода (УВВ) и т.п.). Родовой характеристикой ВС с архитектурой фон Неймана является наличие шинного интерфейса для организации взаимодействия устройств.

Рис. 3.1. ВС с традиционной архитектурой фон-Неймана

Основные характеристики этих устройств, вытекающие из архитектурных принципов фон Неймана, рассматриваются ниже.

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

3. Централизованное последовательное управление выполнением программ. ВС с традиционной фон-неймановской архитектурой не допускает возможности параллельного выполнения команд. Команды выполняются строго последовательно, в порядке, определенном при создании программы. Порядок выполнения команд устанавливает процессор, передающий управление по определяемому им адресу следующей команды. Центральный процессор управляет работой всех остальных устройств.

4. Низкий уровень машинного языка, команды которого осуществляют простые операции над элементарными операндами, скалярными данными. Машинный язык не поддерживает сложные управляющие структуры и структуры данных, используемые в языках высокого уровня (ЯВУ).

Реализация этих принципов и их усовершенствование с целью повышения производительности вычислений, их надежности рассматриваются ниже на примере процессоров семейства Intel 80x86.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.018 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал