- •Основные понятия: эвм (компьютер), вычислительный комплекс, вычислительная система, вычислительная сеть.
- •Сопоставление понятий «архитектура эвм» и «организация эвм». Программная и аппаратная архитектура эвм. Структурная и функциональная организация эвм.
- •Каноническая структура эвм и её состав: ядро эвм (pms – подсистема), вторичная (внешняя) память, система ввода-вывода.
- •Центральный процессор (цп) как основное устройство эвм. Основные функции цп как обрабатывающего и управляющего устройства. Состав цп. Основные характеристики цп.
- •Классификация архитектур процессоров по способу хранения операндов. Основные особенности архитектур: аккумуляторной, регистровой, с выделенным доступом к памяти, стековой.
- •Классификация архитектур процессоров по мощности системы команд. Cisc- и risc- архитектуры и их основные особенности. Модели современных cisc- и risc- процессоров и их области применения.
- •Использование различными блоками конвейера одного и того же ресурса (структурные риски).
- •Основные причины снижения производительности реальных конвейеров команд: структурные риски, риски по данным, риски по управлению - и способы устранения или уменьшения их влияния.
- •Наличие в программе так называемых зависимостей по управлению (риски по управлению).
- •Наличие в программах зависимостей по данным (риски по данным).
- •Наличие при выполнении программы особых случаев, приводящих к прерыванию.
- •Различное время выполнения отдельных фаз машинных команд.
- •Большой разброс длительности фазы ех для различных машинных команд.
- •Иерархическая схема организации памяти компьютеров и её обоснование. Основные характеристики уровней памяти: объём, время доступа (быстродействие), удельная стоимость хранения.
- •Организация кэш-памяти: стратегии отображения, стратегии удаления, стратегии поддержания актуальности копий блоков в оп при их модификации в кэш-памяти.
- •Виртуальная память: понятие и концепции.
- •Назначение и основные функции системы прерываний. Реализация функций на аппаратном и программном уровнях.
- •Отличия организации прерываний в реальном и защищенном режимах процессоров семейства Intel 80x86, Pentium.
- •Программируемый контроллер прерываний (pic), его назначение, функции, взаимодействие с цп.
- •Система ввода-вывода: назначение, функции, программные и аппаратные составляющие. Аппаратные интерфейсы: их классификация, стандартные интерфейсы современных компьютеров.
- •Программно управляемый ввод-вывод(pio – Programmed input/output)
- •Ввод-вывод по прерыванию.
- •Прямой доступ к памяти (dma)
- •Канальный ввод/вывод.
- •Адресация портов ввода-вывода с использованием единого или раздельного с оп адресного пространства и её влияние на систему команд процессора.
- •Раздельные адресные пространства
- •Единое адресное пространство
Виртуальная память: понятие и концепции.
Под виртуальной памятью обычно понимается такой способ организации двухуровневой памяти (первый уровень – основная память, второй – внешняя дисковая память), при котором эта память воспринимается пользователем и, соответственно, прикладными программами, как большая одноуровневая память. При этом все пересылки между уровнями памяти являются невидимыми (прозрачными) для выполняемых программ.
Поддержка механизмов виртуальной памяти реализуется специальными аппаратными и программными средствами. Аппаратные средства в современных компьютерах обычно представлены специальным блоком MMU – Memory Management Unit, входящим в состав центрального процессора (CPU). В отношении процессоров семейства Intel 80х86, Pentium этот блок впервые появился в процессоре Intel 80286 и был предназначен для реализации сегментированной виртуальной памяти. Начиная со следующей модели Intel 80386, была реализована аппаратная поддержка как сегментной, так и страничной организации памяти. При этом блок MMU был разделен на две относительно независимые части в виде SU – Segment Unit и PU – Page Unit.
Программные средства поддержки виртуальной памяти входят в состав операционной системы, точнее, в ее ядро, и обычно называются супервизором памяти.
Виртуальная организация памяти базируется на разделении как основной, так и внешней памяти на блоки. Переменная длина блока является типичной для сегментной организации, а фиксированная длина блока – для страничной. Предполагается, что во внешней дисковой памяти содержатся все используемые блоки, в то время как в основной памяти - лишь копии некоторых из них. Естественно, что в любой момент времени в основной памяти содержатся копии именно тех блоков, к которым в последнее время осуществлялись обращения со стороны CPU.
Пересылка очередного блока из внешней памяти в основную инициируется в том случае, если при обращении к этому блоку со стороны CPU было обнаружено его отсутствие в основной памяти. Как правило, эта пересылка предваряется процедурой освобождения места в основной памяти для пересылаемого блока. С этой целью производится выбор блока-кандидата на удаление из основной памяти. В современных компьютерах для этой цели обычно используется стратегия LRU – Least Recently Used (наиболее давно использованный) или ее модификация. В соответствии с этой стратегией удалению подлежит тот блок, к которому наиболее давно не было обращения. В тех случаях, когда блок-кандидат на удаление за время его нахождения в основной памяти подвергался модификации (производились обращения по записи), требуется предварительная его пересылка из основной памяти во внешнюю для актуализации его копии во внешней памяти. Только после этого на его место пересылается новый блок.
Сегментная организация виртуальной памяти опирается на логическую структуру программы (представление программы в виде совокупности логических единиц, называемых сегментами, например, сегмент кода, данных, стека). При этом, естественно, допускается использование в программе многих сегментов кода и данных, например, при реализации процедур или подпрограмм в виде отдельных сегментов кода. Основным недостатком сегментной организации памяти является так называемый эффект фрагментации.
В свою очередь страничная организация более привязана к физической реализации памяти, но совершенно не отражает логику самой программы.
Первое упоминание об организации прозрачных для пользователя пересылок между основной и внешней памятью появилось при разработке вычислительной машины Atlas в 1961 году.
При использовании виртуальной памяти одним из базовых механизмов является механизм преобразования (трансляции) логического (виртуального) адреса в физический. В большинстве современных компьютеров поддерживается двухступенчатая схема преобразования адресов (рис.1).
Рис.1. Двухступенчатое преобразование логического адреса
в физический
Для процессоров Intel сегментное преобразование является обязательным, а страничное может быть включено с помощью установки специального бита PG (PaGing), находящегося в управляющем регистре CR0 (CR – Control Register): PG = 1 – страничное преобразование включено; PG = 0 – страничное преобразование выключено, линейный адрес используется как физический.
Реализация сегментно-страничной виртуальной памяти в старших моделях процессоров семейства Intel 80x86, Pentium. Преобразования адресов (из логического в линейный и из линейного в физический) и средства их ускорения.
//это жопа, там так дохуя, пол-конспекта довгого по виртуальной памяти, проще прочитать. Схемы преобразования вот:
Селектор сегмента
Логический
адрес
+
+
*8
32
32
32
32
16
13
GDTR
32
Линейный
адрес
Рис.7. Схема преобразования логического адреса в линейный
с использованием GDT
Селектор сегмента
Рис.8. Схема преобразования логического адреса
в
линейный с использованием LDT
