Архитектура вычислительных систем_1.pptx
- Количество слайдов: 51
Архитектура вычислительных систем Лекции 1 -2. Вводная. Понятие информации. Принцип иерархической организации. Павлов А. В. pavlov@phoi. ifmo. ru Кафедра Фотоники и Оптоинформатики
Литература по курсу 1. Таненбаум Э. , Остин Т. Архитектура компьютера // 6 -е издание. — СПб. : Питер, 2013. — 811 с. , илл. — ISBN: 978 -5 -496 -00337 -7. 2. Котельников В. А. О пропускной способности эфира и проволоки в электросвязи — Всесоюзный энергетический комитет. // Материалы к I Всесоюзному съезду по вопросам технической реконструкции дела связи и развития слаботочной промышленности, 1933. Репринт статьи в журнале УФН, 176: 7 (2006), 762— 770. 3. С. А. Майоров, Г. И. Новиков Принципы организации цифровых машин // Машиностроение, 1974. 434 С. 4. http: //dic. academic. ru/dic. nsf/enc_philosophy/4131/АЛГОРИТМ 5. Карцев М. А. Архитектура цифровых вычислительных машин // М. : Наука, 1978. – 295 С. 6. http: //vssit. ucoz. ru/index/0 -4 7. У. Столлингс. Структурная организация и архитектура компьютерных систем, 5 е изд. М. : Вильямс, 2002, 896 с. 8. Цилькер Б. Я. , Орлов С. А. Организация ЭВМ и систем // Учебник для вузов. — 2014 2 СПб. : Питер, 2004. — 668 с. : ил. ISBN 5 -94723 -759 -8
Литература по курсу лаб. работ В. В. Кириллов. Архитектура базовой ЭВМ. СПб. : СПб ГУ ИТМО, 2010. http: //window. edu. ru/resource/816/72816/files/itmo 515. pdf 2014 3
Число – одно из основных понятий математики, служащее для количественной характеристики различных предметов и явлений, как принадлежащих реальности, так и абстрактных (Философская энциклопедия. В 5 х т. — М. : Советская энциклопедия. Под редакцией Ф. В. Константинова. 1960— 1970. ) Число - абстрактное, лишенное особенного содержания обозначение какого-либо члена некоторого ряда, в котором этому члену предшествует или следует за ним какой-нибудь другой определенный член; абстрактный индивидуальный признак, отличающий одно множество от другого того же рода. (Философский энциклопедический словарь. 2010) 2014 4
Число. Аксиомы Пеано Определение. Множество натуральных чисел - множество, для которого установлено правило следования и выполняются аксиомы: 1. Единица есть натуральное число; 2. Правило следования; 3. Единица не следует ни за каким натуральным числом; 4. другая нотация: 5. Аксиома индукции. Если есть свойство Q , которым, может быть, обладают одни и не обладают другие натуральные числа, и если: а) натуральное число 1 обладает свойством Q и б) для любого натурального числа x из того, что x обладает свойством Q следует, что и его последователь x’ также обладает свойством Q, следует, что свойством Q обладают все натуральные числа. Иногда в включают 0, тогда пишут . 2014 5
Системы счисления Определение 1. Система счисления – совокупность алфавита (системы цифровых знаков) и правил их записи (цифрового синтаксиса), применяемых для их записи и чтения. Система счисления должна: 1. давать представления о множестве чисел; 2. обеспечить уникальное представление каждого числа; 3. отражать арифметическую структуру. Классификация систем счисления. В позиционных системах счисления значение цифры определяется её разрядом (позицией в записи числа). В непозиционных системах счисления значение цифры не зависит от её позиции в нотации. 2014 6
Системы счисления Непозиционные Смешанные Позиционные Египетская (Десятичная) Вавиолнская (Шестидесятеричная) Двоичная Восьмиричная Десятичная Римская (Алфавитная) Двенаднадцатеричная Греческая Аттическая (Алфавитная) Шестнадцатеричная Греческая Ионийская (Десятичная алфавитная) Славянская 2014 7
Системы счисления, используемые в современной вычислительной технике 1. двоичная; 0, 1 2. восьмеричная; 0, 1, 2, 3, 4, 5, 6, 7. 3. шестнадцатеричная; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 4. двоично-десятичная. Правила перевода: 2014 8
Двоично-десятичная система Десятичные цифры представляются 4 -х разрядными двоичными комбинациями от 0000 до 1001 – двоичными эквивалентами первых десяти цифр шестнадцатеричной системы. Преобразование – замена каждой тетрады одной десятичной. Две двоично-десятичные цифры = 1 байт. (числа от 0 до 99). 2014 9
Двоично-десятичная система Сложение двоично-десятичных чисел, имеющих один десятичный разряд, аналогично сложению 4 -х разрядных двоичных чисел. Но если результат сложения превосходит 1001 (9), то необходимо добавить двоичный код числа 6, т. е. 0110. Эта процедура называется коррекцией: коррекция 2014 10
Понятие информации Информация (от лат. informatio, разъяснение, изложение, осведомлённость) Информация есть сведения, сообщения… Информация есть мера упорядоченности… Информация есть содержание процессов отражения… Информация есть алгоритм или инструкция… Ø «Информация есть информация, а не материя и не энергия. Это третье» . (Норберт Винер) Ø «Информация есть запомненный выбор одного варианта из нескольких возможных и равноправных» . (Генри Кастлер) 2014 11
Понятие информации «Феномен информации есть многостадийный, необратимый процесс становления структуры в открытой неравновесной системе, начинающийся со случайного запомненного выбора, который эта система делает, переходя от хаоса к порядку, и завершающийся целенаправленным действием согласно алгоритму или программе, отвечающим семантике выбора » И. В. Мелик-Гайказян. «Информационные процессы и реальность» . М. : 1997. 2014 12
К вопросу оценки количества информации: Энтропийный подход Р. Хартли процесс получения информации рассматривал как выбор одного сообщения из конечного наперёд заданного множества из N равновероятных сообщений, а количество информации I, содержащееся в выбранном сообщении, определял как двоичный логарифм N. т. е. : Этап 1: 8 вариантов, Н=3 бит 1 Этап 2: 4 варианта, Н=2 бит Этап 4: 0 вариантов, Н=0 бит 1 2 3 Этап 3: 2 варианта, Н=1 бит 1 2 4 5 1 3 6 7 2 4 8 • Hartley, R. V. L. Transmission of Information // Bell System Technical Journal, July 1928, pp. 535– 563. 2014 http: //www. dotrose. com/etext/90_Miscellaneous/transmission_of_information_1928 b. pdf 13
К вопросу оценки количества информации: Энтропийный подход Введено Клодом Шенноном в 1948 г. Количество информации в сообщении, содержащем N символов: Минимальное количество информации называется «бит» (от BInary uni. T). В общем случае, когда делается выбор одного варианта из n возможных (с pi , где i=1, 2, … , n) • Shannon C. E. A Mathematical Theory of Communication // Bell System Technical Journal. — 1948. — Vol. 27. — P. 379 — 423. • http: //cm. bell-labs. com/cm/ms/what/shannonday/shannon 1948. pdf • Русский перевод: Шеннон К. Э. Математическая теория связи // Работы по теории информации и кибернетике / 2014 14 • Пер. С. Карпова. — М. : ИИЛ, 1963. — 830 с.
К вопросу оценки количества информации: Корреляционный подход Функция взаимной корреляции двух функций Обобщенная частота 2014 15
Ценность информации ü Ценность информации зависит от цели, которую преследует рецептор ü Чем в большей мере информация помогает достижению цели, тем более ценной она считается Чернавский Д. С. Синергетика и информация. Динамическая теория информации. Изд. 3 -е, доп. – М. : URSS, 2009. – 300 С. ISBN 978 -5 -397 -00207 -3. 2014 16
Количественное определение ценности информации 1. 2. Если цель наверняка достижима и притом несколькими путями, то возможно определение ценности (V) по уменьшению материальных или временных затрат, благодаря использованию информации [1]. Если условие достижения цели не является обязательным: а) [2], [3] б) [4] Ценность информации можно понимать, как количество ценной информации. Важно помнить, что ценность информации понятие субъективное [1] Стартонович Р. Л. Теория информации. М. : "Сов. радио", 1975. - 424 С. [2] Бонгард М. М. Проблемы узнаванияю М. : Наука, 1967. - 321 с. [3] Харкевич А. А. О ценности информации // Проблемы кибернетики. 1960. В. 4. [4] Корогодин В. И. Информация и феномен информации. Пущино: 2007. 197 С. 2014 17
Микро- и макро-информация Ø Макроиформация – запомненный выбор одного варианта из нескольких возможных; запоминание означает, что сделанный выбор сохраняется в течение времени, которое больше, чем характерное время использования данной информации. Ø Микроинформация – незапомненный выбор одного варианта из нескольких возможных. Это означает, что данный выбор существует в течение не более пикосекунд, а далее забывается. 2014 18
Условная и безусловная информация • Примером условной информации может являться информация о языке, на котором мы говорим (алфавит, словарь, грамматика). Условность подчеркивается тем, что в другом социуме существует другой язык, который имеет свои алфавит, набор правил и прочее. И он может быть не хуже и не лучше нашего. • Безусловной называется информация о реально происходящих событиях. Например, информация о том, что Земля круглая и вращается вокруг солнца является безусловной информацией. 2014 19
Классификация вычислителей Вычисления и вычислители Аналоговые Представление данных Точность представления данных и вычислений Объем и скорость вычислений Гибкость, универсализм Цифровые Квантовые Биологические Нейрокомпь (ДНК) ютеры ? Аналоговое Дискретное Определяется относительно максимальног о значения операнда + Определяется ? относительно шага дискретизации. ? + ? 2014 20
Классификация вычислителей Вычисления и вычислители Параллельные Последовательные Аналоговые Цифровые Квантовые 2014 Молекулярные (ДНК) Нейро- 21
Цифровой компьютер (ЦК). Определения • • 1. 2. 3. Цифровой компьютер – машина, которая может решать задачи, выполняя данные ей команды. Последовательность команд, описывающих решение определённой задачи, называется программой. [1] ЭВМ - устройство, которое принимает данные, обрабатывает их в соответствии с хранимой программой, генерирует результаты и обычно состоит из блоков ввода/вывода, памяти, арифметики, логики и управления. [2] ЭВМ - искусственная (инженерная) машина, предназначенная для вычислений на основе алгоритмов. [3] Основное назначение ЦК – выполнение вычислений, формализованных в виде алгоритма (программы). Следовательно, именно свойства алгоритмов, вкупе с наличествующей элементной базой, и определяют принципы построения ЦК – его архитектуру. Таненбаум Э. , Остин Т. Архитектура компьютера // 6 -е издание. — СПб. : Питер, 2013. — 811 с. , илл. — ISBN: 978 -5 -496 -00337 -7. Цилькер Б. Я. , Орлов С. А. Организация ЭВМ и систем // Учебник для вузов. — СПб. : Питер, 2004. — 668 с. : ил. ISBN 5 -94723 -759 -8 С. А. Майоров, Г. И. Новиков Принципы организации цифровых машин // Машиностроение, 1974. 434 С. 2014 22
Определения • АЛГОРИТМ [от algorithm!; algorismus, первоначально — лат. транслитерация имени ср. -азиат. учёного 9 в. Хорезми (Мухаммед бен Муса аль-Хорезми)], программа, определяющая способ поведения (вычисления); система правил (предписаний) д ля эффективного решения задач. [1] 1. http: //dic. academic. ru/dic. nsf/enc_philosophy/4131/АЛГОРИТМ 2014 23
Стандартный цикл работы вычислителя 1. выборка инструкции из основной памяти; 2. выборка операндов из оперативной памяти и/или регистров; 3. выполнение инструкции; 4. фиксация результата – запись в память, регистр, вывод. 2014 24
Иерархическая организация ЦК Проблема: компьютеру доступны только команды на машинном языке (язык нулевого уровня - Я 0), люди формулируют задачи и методы их решения на другом языке (язык уровня N – ЯN, например, Я 1). Два способа решения проблемы: ИНТЕРПРЕТАЦИЯ Создание на Я 0 программы, получающей в качестве входных данных программы, написанные на Я 1. Каждая команда Я 1 обрабатывается поочередно исполнением соответствующего набора команд Я 0. Программа на Я 0 – интерпретатор. При интерпретации каждая команда на Я 1 перекодируется на Я 0 и сразу же исполняется. Новая программа на Я 0 не создается. ТРАНСЛЯЦИЯ Исполнение программы, написанной на Я 1, заменой каждой команды из Я 1 эквивалентным набором команд на Я 0 Вся программа на Я 1 преобразуется в программу на Я 0, программа на Я 1 отбрасывается, а новая программа на Я 0 загружается в память и исполняется. Для каждого уровня языка можно ввести понятие виртуальной машины соответствующего уровня ЯN – МN. Проблема: для эффективной трансляции и/или интерпретации языки Я 0 и Я 1 должны быть близки между собой. Но это значит, что Я 1 далек от естественного языка (ЕЯ). Отсюда вытекает многоуровневая организация как средство решения этой проблемы (Рис. 2). [2] 2014 25
Иерархическая организация ЦК Уровень N Виртуальная машина МN с машинным языком ЯN Программы на ЯN либо интерпретируются МN-1, либо транслируются на ЯN-1 Уровень 2 Виртуальная машина М 2 с машинным языком Я 2 Программы на Я 2 либо интерпретируются М 1, либо транслируются на Я 1 Уровень 1 Виртуальная машина М 1 с машинным языком Я 1 Программы на Я 1 либо интерпретируются М 0, либо транслируются на Я 0 Уровень 0 Виртуальная машина М 0 с машинным языком Я 0 Программы Я 0 непосредственно выполняются электронными схемами 2014 26
Иерархическая организация ЦК Уровень 5 Уровень языка прикладных программистов Трансляция (компилятор) Уровень 4 Уровень ассемблера Трансляция (Ассемблер) Уровень 3 Уровень операционной системы Частичная интерпретация (операционная система) Уровень 2 Уровень архитектуры набора команд Интерпретация (микропрограмма) или непосредственное выполнение Уровень 1 Уровень микроархитектуры Аппаратное обеспечение Уровень 0 Цифровой логический уровень Элементная база Уровень -1 Уровень физических 2014 устройств 27
Иерархическая организация ЦК Уровень 5 Уровень языка прикладных программистов Трансляция (компилятор) Уровень 4 Уровень ассемблера Трансляция (Ассемблер) Уровень 3 Уровень 0 – цифровой логический уровень. На этом уровне объекты называются вентилями. У каждого вентиля есть один или несколько входов, на которые поступают бинарные сигналы (0 или 1), вентиль вычисляет простые функции этих сигналов, например, НЕ (отрицание), И (дизъюнкция), ИЛИ (конъюнкция). Несколько вентилей формируют 1 бит памяти, который может содержать 0 или 1. Биты памяти объединяют в группы по 16, 32 или 64 бита – это регистры. Каждый регистр может содержать одно число в двоичном формате. Уровень операционной системы Частичная интерпретация (операционная система) Уровень 2 Уровень архитектуры набора команд Интерпретация (микропрограмма) или непосредственное выполнение Уровень 1 Уровень микроархитектуры Аппаратное обеспечение Уровень 0 Цифровой логический уровень Элементная база Уровень -1 Уровень физических 2014 устройств 28
Иерархическая организация ЦК Уровень 1 – уровень микроархитектуры. Образуется наборами регистров (8 или 32), которые формируют локальную память и арифметико-логическое устройство (АЛУ). АЛУ реализует арифметические операции. Регистры вместе с АЛУ формируют тракт данных. Базовая операция тракта данных – выбирается один или два регистра (в зависимости от того, какая операция – одноместная (отрицание) или двухместная (сложение) выполняется), над операндами выполняется операция и результат помещается в регистр результата операции. Работа тракта данных может контролироваться особой программой – микропрограммой (на старых моделях), а может управляться напрямую аппаратными средствами (в современных моделях). Если тракт данных контролируется микропрограммой, то на этом уровне обычно находится программный интерпретатор и это уровень микропрограммирования. икропрограмма М – интерпретатор команд на уровне 2. Она последовательно считывает команды из памяти и исполняет их, использую тракт данных. Уровень 5 Уровень языка прикладных программистов Трансляция (компилятор) Уровень 4 Уровень ассемблера Трансляция (Ассемблер) Уровень 3 Уровень операционной системы Частичная интерпретация (операционная система) Уровень 2 Уровень архитектуры набора команд Интерпретация (микропрограмма) или непосредственное выполнение Уровень 1 Уровень микроархитектуры Аппаратное обеспечение Уровень 0 Цифровой логический уровень Элементная база Уровень -1 Уровень физических 2014 устройств 29
Логическая эквивалентность аппаратного и программного обеспечения Программы, написанные на машинном языке (Я 1) могут непосредственно, т. е. без использования интерпретаторов и трансляторов) исполняться электронными устройствами М 0. Эти электронные устройства, включая память и средства ввода-вывода, т. е. реальные материальные устройства, формируют аппаратное обеспечение вычислителя. Программное обеспечение – модели, алгоритмы, программы. Любая команда (операция) может быть выполнена либо программно, либо аппаратно. Баланс между программным и аппаратным обеспечением определяется по критерию стоимость/эффективность и смещается в зависимости как от задачи, так и от уровня развития элементной базы. 2014 30
Иерархическая организация ЦК Уровень 5 Уровень языка прикладных программистов Трансляция (компилятор) Уровень 4 Уровень 2 – уровень архитектуры набора команд. Этот уровень, в отличие от более низких, уже доступен пользователю, так как он публикуется в руководствах к компьютерам. Описываемые в этих руководствах наборы команд на самом деле не команды машинного уровня, так как в реальности они исполняются микропрограммами-интерпретаторами или аппаратным обеспечением. Уровень ассемблера Трансляция (Ассемблер) Уровень 3 Уровень операционной системы Частичная интерпретация (операционная система) Уровень 2 Уровень архитектуры набора команд Интерпретация (микропрограмма) или непосредственное выполнение Уровень 1 Уровень микроархитектуры Аппаратное обеспечение Уровень 0 Цифровой логический уровень Элементная база Уровень -1 Уровень физических 2014 устройств 31
Иерархическая организация ЦК Уровень 3 – уровень операционной системы. (гибридный) - большинство команд этого уровня наличествуют также и на предыдущем уровне – архитектуры набора команд. Особенности уровня: - новый набор команд; - другая организация памяти; - возможность исполнения нескольких программ одновременно; - ряд иных. Тем самым на этом уровне обеспечивается большее разнообразие, чем на предыдущих. Исполнение новых средств и команд уровня 3 обеспечивает работающий на уровне 2 интерпретатор, называющийся операционной системой (ОС). Те команды уровня 3, что идентичны командам уровня 2, ОС не задействуют и исполняются микропрограммой или аппаратно. Поэтому уровень ОС часто определяется как гибридный. [2] Уровень 5 Уровень языка прикладных программистов Трансляция (компилятор) Уровень 4 Уровень ассемблера Трансляция (Ассемблер) Уровень 3 Уровень операционной системы Частичная интерпретация (операционная система) Уровень 2 Уровень архитектуры набора команд Интерпретация (микропрограмма) или непосредственное выполнение Уровень 1 Уровень микроархитектуры Аппаратное обеспечение Уровень 0 Цифровой логический уровень Элементная база Уровень -1 Уровень физических 2014 устройств 32
Иерархическая организация ЦК Уровень 5 Уровень языка прикладных программистов Трансляция (компилятор) Уровень 4 – символическая форма языков более низкого уровня. Символический язык транслируется в язык более низкого уровня (цифровой) ассемблером. Уровень 4 Уровень ассемблера Трансляция (Ассемблер) Уровень 3 Уровень операционной системы Частичная интерпретация (операционная система) Уровень 2 Уровень архитектуры набора команд Интерпретация (микропрограмма) или непосредственное выполнение Уровень 1 Уровень микроархитектуры Аппаратное обеспечение Уровень 0 Цифровой логический уровень Элементная база Уровень -1 Уровень физических 2014 устройств 33
Иерархическая организация ЦК Уровень 5 – уровень языков высокого уровня. Язык высокого уровня – язык для прикладных программистов. Эти языки транслируются на низшие уровню компиляторами, хотя иногда используются и интерпретаторы, в частности. Для конкретной прикладной области, например, символической логики. Уровень 5 Уровень языка прикладных программистов Трансляция (компилятор) Уровень 4 Уровень ассемблера Трансляция (Ассемблер) Уровень 3 Уровень операционной системы Частичная интерпретация (операционная система) Уровень 2 Уровень архитектуры набора команд Интерпретация (микропрограмма) или непосредственное выполнение Уровень 1 Уровень микроархитектуры Аппаратное обеспечение Уровень 0 Цифровой логический уровень Элементная база Уровень -1 Уровень физических 2014 устройств 34
Иерархическая организация ЦК Уровни 1 -3 4 -5 Использование Системные программисты Прикладные программисты Механизмы Интерпретаторы поддержки более высоких уровней Трансляторы Машинные языки Символьные Цифровые 2014 35
Определения • • • 1. 2. «Архитектура» - представление возможностей ЦК с точки зрения пользователя, разрабатывающего программу на машинно-ориентированном языке. Соответственно, архитектура отражает те стороны структуры и функционирования ЦК, что существенны и видимы для такого программирующего пользователя в контексте разрабатываемых им программ. Архитектура – совокупность характеристик ЦК, существенных с точки зрения пользователя [1]. Ключевой момент здесь – способ использования ЦК. Архитектура – логическое построение вычислителя, как оно представляется программисту, разрабатывающему программу на машинно-ориентированном языке Другая формулировка: Архитектура – совокупность общих принципов организации аппаратно-программных средств и их характеристик, определяющая функциональные возможности вычислителя при решении соответствующих классов задач. Архитектура определяет возможности ЦК, а организация – реализацию этих возможностей в конкретных моделях. Правомочность такого подхода видна при сравнении моделей, принадлежащих одному семейству – как правило, эти модели обладают одной архитектурой, но разной структурной организацией [2]. Карцев М. А. Архитектура цифровых вычислительных машин // М. : Наука, 1978. – 295 С. У. Столлингс. Структурная организация и архитектура компьютерных систем, 5 -е изд. М. : Вильямс, 2002, 896 с 2014 36
Определения Термин «архитектура» относится к тем характеристикам ЦК или системы, которые доступны извне, то есть со стороны программы или, с другой точки зрения, оказывает непосредственное влияние на логику выполнения программ. Под термином «структурная организация» ЦК или системы подразумевается совокупность операционных блоков (устройств) и их взаимосвязей, обеспечивающих реализацию спецификаций, заданных архитектурой ЦК. 2014 37
Архитектура и системная организация Основными компонентами архитектуры вычислительных машин и систем принято считать следующие компоненты: • • • Вычислительные и логические возможности – Система команд – Формат команд - то, из чего состоит команда – Способы адресации – Назначение и состав регистров Аппаратные средства – Структура – Организация памяти – Организация ввода-вывода – Принципы управления Программное обеспечение – ОС – Языки программирования – Прикладное ПО Характеристики структурной организации включают скрытые от программиста детали аппаратной реализации системы: • управляющие сигналы, • аппаратный интерфейс между компьютером и периферийным оборудованием, • технологию функционирования памяти. А где здесь логика? 2014 38
Архитектура и системная организация Организация ЦК. • Структурная организация определяет устройство ЦК - задает структуру на уровне устройств ЦК и организацию связей между этими устройствами на уровне аппаратных интерфейсов. • Функциональная организация определяет принципы функционирования ЦК, т. е. собственно вычислительные процессы. Два уровня представления архитектуры ЦК: • программная архитектура включает в себя аспекты, видимые программистам и, соответственно, программам • аппаратная архитектура включает аспекты, невидимые для программиста. В этом смысле понятие аппаратной архитектуры и структурной организации ЦК можно рассматривать как синонимы. В связи с делением программистов на прикладных и системных, программную архитектуру также можно разделить на 2 вида: прикладную и системную. 2014 39
Основные элементы архитектуры и структурной организации ЦК ЦК Организация Архитектура Функциональная Программная Аппаратная Прикладная Структурная Организация устройств Системная Процессор Типы и форматы Организация прерываний Программная модель процессора Организация вводавывода Адресная структура памяти Организация виртуальной памяти Режимы адресации Организация защиты памяти Структура и формат машинных команд Организация многозадачного режима работы процессора Система команд +++ Организация связей (интерфейсы) Регистры 2014 Программно-доступные Программно-недоступные Прикладные Системные АЛУ FPU Блок обработки векторных данных Конвейер команд УУ (БМПУ) Память 40 Устройства ввода-вывода
Продолжение схемы Память Многоуровневая организация Cash-память Основная память Внешняя память Устройства ввода-вывода Организация обмена с памятью Контроллеры Каналы ввода - вывода 2014 41
Гарвардская и Принстонская архитектуры ЦК • Гарвардская архитектура (1944, Говард Эйкен. США) –Память для инструкций и данных – разные физические устройства; –Каналы передачи инструкций и данных – разные физические устройства; –Инструкции и данные могут представляться в разных форматах • • И инструкции, и данные представляются и обрабатываются в одном формате; И инструкции, и данные хранятся в одной (основной) памяти; Линейная организация памяти – машинные слова расположены строго последовательно в виде одномерного массива в едином упорядоченном пространстве адресов, каждый адрес имеет последовательный номер 0, 1, 2 …; Последовательное выполнение – инструкции извлекаются изпамяти и выполняются последовательно до тех пор, пока не встретится специальная инструкция перехода; Семантическая неразличимость кодов – во внутреннем машинном представлении не содержится никакой информации, позволяющей отделить инструкции от данных, равно как, и данные различных типов; Электронная реализация – компьютер полностью электронное устройство; Фиксированная организация – в процессе вычислений топология, архитектура и список команд не меняются. 2014 42
Гарвардская архитектура ЦК Основное отличие – в ГА линии передачи команд и данных физически разделены. В ЦК «Марк I» инструкции хранились на перфоленте, а данные обрабатывались релейными (электромеханическими) регистрами. Память программ Память данных Стек Память (ПЗУ или ОЗУ) Инструкций (программ) ША ШД Дешифратор инструкций (команд, программ) ШУ Процессор и интерфейс к блоку регистров ШО 1 ШО 2 Блок регистров (регистровое ОЗУ) ШЗР 2014 43
Принстонская архитектура ЦК Дешифратор команд ПЗУ программ ОЗУ данных Стековое ОЗУ Данные Блок интерфейса с памятью Процессор и внутренние регистры Адреса Упр. С 2014 44
Обобщенная структурная схема ЦК (классическая фон Неймановская). У-во упр. У-во Ввода АЛУ Память У-во Вывода Данные Сигналы управления Команды Устройство управления организует автоматическое выполнение программ и функционирование вычислителя. Основная задача - выработка управляющих сигналов и их распределение по цепям управления. Арифметическо-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций над поступающими данными. Память представляет собой массив запоминающих элементов, организованных в виде запоминающих ячеек и способных хранить некоторую единицу информации. Устройство ввода преобразует входящую информацию в последовательность электрических сигналов. Устройство вывода преобразует последовательность электрических сигналов в форму, удобную для восприятия пользователем. Вместе устройство управления и АЛУ образуют центральный процессор (ЦП). 2014 45
Обобщенная структурная схема ЦК (классическая фон Неймановская). У-во упр. У-во Ввода АЛУ Память У-во Вывода Данные Сигналы управления Команды Концепция Фон Неймановской архитектуры предусматривает единственность АЛУ и одну основную память. Это обстоятельство существенно усложняет реализацию параллельных алгоритмов. Недостатки Информация попадает в память через АЛУ без изменений, занимая аппаратные ресурсы. Наличие в памяти 2 х типов: данные и команды. Достоинства 2014 46 Данные поступают в память из одного источника. Тоже происходит и при выводе
Обобщенная структурная схема ЦК с прямым доступом к памяти У-во упр. У-во Ввода АЛУ У-во Вывода Данные Сигналы управления Команды Память Необходима система прерываний и приоритетов, что усложняет архитектуру в 2 раза! 2014 47
Обобщенная структурная схема ЦК с каналом вводавывода данных (фон Неймановская архитектура с Main Frame) У-во упр. У-во Ввода АЛУ У-во Вывода Память По этой схеме реализуется большинство больших ЦК. Канал ввода-вывода организует буферизацию данных. 2014 48
Принцип программного управления • Принцип программного управления заключается в том, что после сообщения ЦК адреса первой команды программы и занесения тела этой команды в регистр команд, программа управляет сама собой. Далее никакого внешнего управления не требуется. Этот принцип выполняется как на уровне команд, так и на уровне микрокоманд. 2014 49
Принцип программного управления Для того чтобы обеспечить последовательное выполнение команд выполняется следующее: К адресу первой команды прибавляется её длина (в байтах), таким образом определяется адрес второй команды. После выполнения второй команды к её адресу прибавляется её длина и определяется адрес третей команды и. т. д. Если процесс нарушается, выполняется процесс условного перехода. 2014 50
Принцип программного управления заключается в том, что после сообщения машине адреса первой команды программы и занесения тела этой команды в регистр команд, программа управляет сама собой. Далее никакого внешнего управления не требуется. Этот принцип выполняется как на уровне команд, так и на уровне микрокоманд. Программа: Микрокоманда 1 Микрооперация 1 К 2 Микрокоманда 2 Микрооперация 2 К 3 Микрокоманда 3 Микрооперация 3 … … Микрокоманда М Микрооперация М А 1 К 1 А 1+А 2 … КN КОП А 1 Микропрограмма: А 2 Регистр команд А 3 Код операции – код, находящийся в оперативной части; определяет какая именно операция выполняется. занимает 8 бит Микрооперация – элементарное действие внутри Вычислительной Машины. Адресная часть – часть, где хранятся адреса. команды бывают одно-, двух-, трехадресные и безадресные (используются для уменьшения числа обращений к оперативной памяти) Регистр команд – регистр, после помещения в который, тело команды начнет выполняться. Команды дробятся на микрокоманды. Микрокоманды и микрооперации находятся в постоянной памяти. 2014 51 Каждой микрокоманде может соответствовать одна или несколько микроопераций