Архитектура ЭВМ

Get Started. It's Free
or sign up with your email address
Архитектура ЭВМ by Mind Map: Архитектура ЭВМ

1. 1 ЛЕКЦИЯ

1.1. ОПРЕДЕЛЕНИЯ

1.1.1. Вычислительная машина-комплекс технических и программных средств, предназначенный для автоматизации подготовки и решения задач пользователей

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

1.1.3. Алгоритм-способ преобразования информации, задаваемый с помощью конечной системы правил; -совокупность правил, определяющих эффективную процедуру решения любой задачи из некоторого заданного класса задач; -точно определенное правило действий, для которого задано указание, как и в какой последовательности это правило необходимо применять к исходным данным задачи, чтобы получить ее решение

1.2. 1) Уровни детализации

1.2.1. уровень «черного ящика»

1.2.2. уровень общей архитектуры

1.2.3. уровень архитектуры центрального процессора

1.2.4. уровень архитектуры устройства управления

1.3. 2) Концепция машины с хранимой в памяти программой

1.3.1. Принцип двоичного кодирования

1.3.1.1. Информация → в виде 0 1; Каждый тип информации → свой формат; Последовательность битов в формате, имеющая определенный смысл, называется полем.

1.3.2. Принцип программного управления

1.3.2.1. Все вычисления представлены в виде программы, состоящей из последовательности управляющих слов — команд. Команды программы хранятся в последовательных ячейках памяти ВМ и выполняются в естественной последовательности. При необходимости, с помощью специальных команд, эта последовательность может быть изменена.

1.3.3. Принцип однородности памяти

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

1.3.4. Принцип адресности

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

1.3.5. Фон-неймановская архитектура

1.4. 3) Типы структур ВМ

1.4.1. 1) С непосредственными связями

1.4.1.1. «+» возможность развязки «узких мест» путем улучшения структуры и характеристик только определенных связей «-» трудности реконфигурации

1.4.2. 2) На основе общей шины

1.4.3. 3) С иерархией шин

1.5. 4) Структуры вычислительных систем

1.5.1. 1) С общей памятью

1.5.2. 2) Распределенная система

1.6. 5) Перспективы совершенствования архитектуры ВМ

1.6.1. Факторы, определяющие развитие архитектуры ВС

1.6.1.1. 1-Технология

1.6.1.2. 2-Предыстория

1.6.1.3. 3-Языки программирования

1.6.1.4. 4-Компиляторы

1.6.1.5. 5-Параллелизм

1.6.1.6. 6-Стоимость

1.6.1.7. 7-Операционные системы

1.6.1.8. 8-Приложения

1.6.2. Тенденции развития больших интегральных схем

1.6.2.1. Увеличение размеров кристалла; Уменьшение площади, занимаемой на кристалле элементарным транзистором, с одновременным повышением плотности упаковки таких транзисторов на кристалле

1.6.3. Закон Мура

1.6.3.1. 1965 г. – число транзисторов, размещаемых на кристалле, удваивается каждые 12 мес. 1995 г. – удвоение происходит каждые 24 мес. Гордон Мур – один из основателей Intel

1.6.4. Совершенствование процессорных СБИС

1.6.4.1. 1) Увеличение количества логических элементов, которое может быть размещено на кристалле: увеличение размеров кристалла; уменьшение размеров элементарных транзисторов; уменьшение ширины проводников, образующих внутренние шины или соединяющих логические элементы между собой.

1.6.4.2. 2) Повышение быстродействия этих логических элементов.

1.6.4.3. Плотность упаковки логических схем процессорных СБИС каждые два года ↑ вдвое; Удвоение внутренней тактовой частоты процессорных СБИС происходит в среденм каждые 2 года.

1.7. 6) СБИС памяти

1.7.1. Требования: Высокая плотность упаковки ЗЭ Быстродействие Низкая стоимость

1.7.2. Тенденции: Число ЗУ ↑ в 2 раза каждые 2 года На 2-кратное увеличение длительности цкла динамического ЗУ требуется ≅ 15 лет Стоимость в пересчете на 1 бит ↓ на 25-40 % в год

2. 2 ЛЕКЦИЯ

2.1. 1. Основные классы современных ЭВМ

2.1.1. по принципу действия;

2.1.2. по этапам создания и элементной базе;

2.1.3. по назначению;

2.1.4. по способу организации вычислительного процесса;

2.1.5. по размеру и вычислительной мощности;

2.1.6. по функциональным возможностям;

2.1.7. по способности к параллельному выполнению программ и т. д.

2.2. 2. Особенности представления информации в ПК

2.2.1. Числовая информация внутри ПК кодируется в двоичной или в двоично-десятичной системах счисления;

2.2.2. При вводе и выводе любой информации используются специальные коды представления информации — коды ASCII;

2.2.3. Коды ASCII применяются для кодирования буквенной и символьной информации и внутри ПК.

2.2.4. В вычислительных машинах применяются две формы представления двоичных чисел: естественная форма или форма с фиксированной запятой (точкой); нормальная форма или форма с плавающей запятой (точкой).

2.2.5. Числа с фиксированной запятой чаще всего имеют формат слова и полуслова; числа с плавающей запятой — формат двойного и расширенного слова (математические сопроцессоры IBM PC могут работать с 10-байтными словами

2.3. 3. Структурная схема персонального компьютера

2.3.1. Микропроцессор # центральное устройство ПК, предназначенное для управления работой всех блоков машины и для выполнения арифметических и логических операций над информацией, включающий:

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

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

2.3.1.3. Интерфейсная система предназначена для сопряжения и связи с другими устройствами ПК; включает в себя: внутренний интерфейс МП, буферные запоминающие регистры, схемы управления портами ввода-вывода (ПВВ) и системной шиной.

2.3.1.4. Генератор тактовых импульсов генерирует последовательность электрических импульсов, частота которых определяет тактовую частоту микропроцессора. Промежуток времени между соседними импульсами определяет время одного такта.

2.3.2. Системная шина

2.3.2.1. основная интерфейсная система компьютера, обеспечивающая сопряжение и связь всех его устройств между собой, включает в себя: кодовую шину данных (КШД) для параллельной передачи всех разрядов числового кода (машинного слова) операнда; кодовую шину адреса (КША) для параллельной передачи всех разрядов кода адреса ячейки ОП или ПВВ ВУ; кодовую шину инструкций (КШИ) для передачи инструкций (управляющих сигналов, импульсов) во все блоки машины; шину питания для подключения блоков ПК к системе энергопитания.

2.3.2.2. обеспечивает три направления передачи информации: МП ⇔ ОП; МП ⇔ ПВВ ВУ; ОП ⇔ ПВВ ВУ (в режиме прямого доступа к памяти). Все блоки, а точнее их порты ввода-вывода, через соответствующие унифицированные разъемы (стыки) подключаются к шине единообразно: непосредственно или через контроллеры (адаптеры). Управление системной шиной осуществляется МП либо непосредственно, либо, что чаще, через дополнительную микросхему контроллера шины. Обмен информацией между внешними устройствами и системной шиной выполняется с использованием ASCII-кодов.

2.3.3. Основная память

2.3.3.1. Основная память # для хранения и оперативного обмена информацией с прочими блоками машины, содержит два вида запоминающих устройств: ПЗУ (ROM — Read Only Memory) для хранения неизменяемой (постоянной) программной и справочной информации; позволяет оперативно только считывать информацию; ОЗУ (RAM — Random Access Memory) для оперативной записи, хранения и считывания информации (программ и данных). энергонезависимая память CMOS RAM (Complementary Metal-Oxide Semiconductor RAM), постоянно питающаяся от своего аккумулятора (информация об аппаратной конфигурации ПК (которая проверяется при каждом включении системы).

2.3.4. Внешняя память # НЖМД, НГМД, CD ROM, флэш-память

2.3.5. Источник питания блок, содержащий системы автономного и сетевого энергопитания ПК.

2.3.6. Таймер внутримашинные электронные часы реального времени, обеспечивающие при необходимости автоматический съем текущего момента времени, подключается к автономному источнику питания — аккумулятору и при отключении машины от электросети продолжает работать.

2.3.7. Внешние устройства

2.3.7.1. по стоимости ВУ составляют до 80-85 % стоимости всего ПК. обеспечивают взаимодействие машины с окружающей средой: пользователями, объектами управления и другими компьютерами. К ВУ относятся: внешние запоминающие устройства (ВЗУ) или внешняя память; диалоговые средства пользователя (монитор, устройства речевого ввода-вывода); устройства ввода информации: клавиатура; графические планшеты (дигитайзеры); сканеры; устройства целеуказания (графические манипуляторы); сенсорные экраны. устройства вывода информации; средства связи и телекоммуникаций.

2.3.8. Дополнительные интегральные микросхемы

2.3.8.1. математический сопроцессор; контроллер прямого доступа к памяти (DMA — Direct Memory Access) обеспечивает обмен данными между внешними устройствами и оперативной памятью без участия микропроцессора); сопроцессор ввода-вывода (за счет параллельной работы с МП существенно ускоряет выполнение процедур ввода-вывода при обслуживании нескольких внешних устройств (дисплея, принтера, НЖМД, НГМД и т. д.); освобождает МП от обработки процедур ввода- вывода, в том числе реализует и режим прямого до ступа к памяти); контроллер прерываний и т. д

2.4. 4. Элементы конструкции ПК

2.4.1. Конструктивно ПК выполнены в виде центрального системного блока, к которому через разъемы-стыки подключаются вВУ: дополнительные блоки памяти, клавиатура, дисплей, принтер и т. д. Системный блок обычно включает в себя системную плату, блок питания, накопители на дисках, разъемы для дополнительных устройств и платы расширения с контроллерами — адаптерами внешних устройств. Системная плата: микропроцессор; системные микросхемы (чипсеты); генератор тактовых импульсов; модули (микросхемы) ОЗУ и ПЗУ; микросхема CMOS-памяти; адаптеры клавиатуры, НЖМД и НГМД; контроллер прерываний; таймер и т. д.

2.5. 5. Функциональные характеристики ЭВМ

2.5.1. Производительность, быстродействие, тактовая частота. Разрядность микропроцессора и кодовых шин интерфейса. Типы системного, локальных и внешних интерфейсов. Тип и емкость оперативной памяти. Наличие, виды и емкость кэш-памяти. Тип и емкость накопителей на жестких магнитных дисках. Тип и емкость накопителей на гибких магнитных дисках. Вид и емкость накопителей CD и DVD. Наличие и емкость накопителей на магнитной ленте. Тип видеомонитора (дисплея) и видеоадаптера.

2.5.2. Наличие и тип принтера. Наличие и тип модема. Наличие и виды мультимедийных аудио - и видеосредств. Имеющееся программное обеспечение и вид операционной системы. Аппаратная и программная совместимость с другими типами компьютеров. Возможность работы в вычислительной сети. Возможность работы в многозадачном режиме. Надежность. Стоимость. Габариты и вес.

2.5.3. Производительность, быстродействие, тактовая частота

2.5.3.1. Единицы измерения производительности: МИПС (MIPS — Millions Instruction Per Second) — для операций над числами с фиксированной точкой; Мфлопс (MFLOPS — Millions of FLoating point Operation Per Second) — для операций над числами с плавающей точкой. Оценка производительности ЭВМ всегда приблизительная, ибо ориентируется на некоторые усредненные или, наоборот, на конкретные виды операций, поэтому для характеристики ПК вместо производительности обычно указывают тактовую частоту

2.5.4. Разрядность микропроцессора и кодовых шин интерфейса

2.5.4.1. это максимальное количество разрядов двоичного числа, над которым одновременно может выполняться машинная операция, в том числе и операция передачи информации; чем больше разрядность, тем больше и производительность ПК. Разрядность МП определяется иногда по разрядности его регистров и кодовой шины данных, а иногда по разрядности кодовых шин адреса.

2.6. 6. Функциональная организация ЭВМ

2.6.1. Командный цикл процессора

2.6.1.1. Командой называется элементарное действие, которое может выполнить процессор без дальнейшей детализации. ✍ Последовательность команд, выполнение которых приводит к достижению определенной цели, называется программой. Команды программы кодируются двоичными словами и размещаются в памяти ЭВМ. ✍ Действия по выбору из памяти и выполнению одной команды называются командным циклом.

2.6.1.2. Во время выполнения командного цикла процессор реализует следующую последовательность действий: Извлечение из памяти содержимого ячейки, адрес которой хранится в программном счетчике, и размещение этого кода в регистре команд (чтение команды). Увеличение содержимого программного счетчика на единицу. Формирование адреса операндов. Извлечение операндов из памяти. Выполнение заданной в команде операции. Размещение результата операции в памяти. Переход к п. 1.

2.6.1.3. Пункты 1, 2 и 7 обязательно выполняются в каждом командном цикле; остальные могут не выполняться в некоторых командах. Если длина кода команды составляет несколько машинных слов, то пп. 1 и 2 повторяются. При запуске машины в счетчик команд аппаратно помещается фиксированное значение — начальный адрес программы (часто 0 или последний адрес памяти; встречаются и более экзотические способы загрузки начального адреса). В дальнейшем содержимое программного счетчика модифицируется в командном цикле. Прекращение выполнения командных циклов может произойти только при выполнении специальной команды "СТОП".

2.6.2. Система команд процессора

2.6.2.1. Разнообразие типов данных, форм их представления и действий порождает необходимость использования различных команд — набора команд. ✍ Каждый процессор имеет собственный вполне определенный набор команд, называемый системой команд процессора. Система команд должна обладать двумя свойствами — функциональной полнотой и эффективностью.

2.6.2.2. Функциональная полнота — это достаточность системы команд для описания любого алгоритма. Требование функциональной полноты не является слишком жестким. Доказано, что свойством функциональной полноты обладает система, включающая всего три команды (система Поста): присвоение О, присвоение 1, проверка на 0. ✍ Эффективность системы команд — степень соответствия системы команд назначению ЭВМ, т. е. классу алгоритмов, для выполнения которых предназначается ЭВМ. Система команд процессора характеризуется тремя аспектами: форматами, способами адресации и системой операций.

3. 3 ЛЕКЦИЯ

3.1. Архитектура системных команд

3.1.1. Определения

3.1.1.1. Под архитектурой системы команд (АСК) принято определять те средства вычислительной машины, которые видны и доступны программисту.

3.1.1.2. Системой команд ВМ называют полный перечень команд, которые способна выполнять данная ВМ.

3.1.2. 1. Система команд процессора

3.1.2.1. Разнообразие типов данных, форм их представления и действий порождает необходимость использования различных команд — набора команд. ✍ Каждый процессор имеет собственный вполне определенный набор команд, называемый системой команд процессора. Система команд должна обладать двумя свойствами — функциональной полнотой и эффективностью.

3.1.2.2. ✍ Функциональная полнота — это достаточность системы команд для описания любого алгоритма. Требование функциональной полноты не является слишком жестким. Доказано, что свойством функциональной полноты обладает система, включающая всего три команды (система Поста): присвоение О, присвоение 1, проверка на 0. ✍ Эффективность системы команд — степень соответствия системы команд назначению ЭВМ, т. е. классу алгоритмов, для выполнения которых предназначается ЭВМ. Система команд процессора характеризуется тремя аспектами: форматами, способами адресации и системой операций.

3.1.3. 2. Время выполнения команды

3.1.3.1. Т выч =Nком * CPI *  пр Nком - число команд в программе CPI - ср.кол-во тактов на одну команду  пр - длительность тактового периода

3.1.4. 3. Проблема семантического разрыва

3.1.4.1. сложные простые операторы ≠ машинные ЯВУ операции недостаточно эффективное выполнение программ на ВМ

3.1.5. 4. Классификация по составу и сложности команд

3.1.5.1. архитектура с полным набором команд: CISC (Complex Instruction Set Computer);

3.1.5.1.1. большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы ЯВУ;

3.1.5.1.2. небольшое число РОН;

3.1.5.1.3. разнообразие способов адресации операндов;

3.1.5.1.4. множество форматов команд различной разрядности;

3.1.5.1.5. наличие команд, где обработка совмещается с обращением к памяти.

3.1.5.1.6. Решается проблема семантического разрыва

3.1.5.1.7. Усложняется аппаратура ВМ (УУ)

3.1.5.1.8. Анализ откомпилированных с ЯВУ программ: Доля команд, эквивалентных операторам ЯВУ <= 10-20%$ Емкость микропрограммной памяти  на 60%

3.1.5.2. архитектура с сокращенным набором команд: RISC (Reduced Instruction Set Computer);

3.1.5.2.1. Д. Паттерсон и Д. Дитцель 1980 г.

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

3.1.5.2.3. Обращение к памяти допускается лишь с помощью специальных команд ЧТ и ЗАП.

3.1.5.2.4. Уменьшено количество форматов команд и способов указания адресов операндов.

3.1.5.2.5. Существенно упрощаются аппаратные средства ВМ и повышается их быстродействие

3.1.5.3. архитектура с командными словами сверхбольшой длины: VLIW (Very Long Instruction Word).

3.1.5.3.1. несколько простых RISC-команд объединяются в одну сверхдлинную команду и выполняются параллельно

3.1.6. 5. Классификация по месту хранения

3.1.6.1. стековая

3.1.6.1.1. Стеком называется память, по своей структурной организации отличная от основной памяти ВМ.

3.1.6.1.2. Стек образует множество логически взаимосвязанных ячеек, взаимодействующих по принципу «последним вошел, первым вышел» (LIFO, Last In First Out).

3.1.6.1.3. Для работы со стеком предусмотрены две операции: push (проталкивание данных в стек) pop (выталкивание данных из стека). а = а + b + а * с обратная польская запись Я. Лукашевича а = ab+ac*+

3.1.6.1.4. Использовалась до 60-х годов; Семантика языков Java, Forth близка стековая АСК Стековая ВМ IGNITE компании Patriot Scientist как представитель новой АСК ROSC (Removed Operand Set Cmputer) архитектура с безоперандным набором команд

3.1.6.2. аккумуляторная

3.1.6.2.1. для хранения одного из операндов в процессоре имеется выделенный регистр — аккумулятор, куда заносится и результат операции.

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

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

3.1.6.2.4. Для загрузки в аккумулятор содержимого ячейки х по команде load х информация считывается из ячейки памяти х, вы­ход памяти подключается к входам аккумулятора и происходит занесение считан­ных данных в аккумулятор.

3.1.6.2.5. Запись содержимого аккумулятора в ячейку х осуществляется командой со­хранения store х, при выполнении которой выходы аккумулятора подключаются к шине, после чего информация с шины записывается в память.

3.1.6.2.6. Для выполнения операции в АЛУ производится считывание одного из операн­дов из памяти в регистр данных. Второй операнд находится в аккумуляторе. Вы­ходы регистра данных и аккумулятора подключаются к соответствующим входам АЛУ. По окончании предписанной операции результат с выхода АЛУ заносится в аккумулятор.

3.1.6.3. регистровая

3.1.6.3.1. Процессор включает в себя массив регистров общего назначения (РОН ) (регистровый файл)

3.1.6.3.2. Размер регистров обычно фиксирован и совпадает с размером машинного слова

3.1.6.3.3. Допускается расположение операндов в одной из двух запоминающих сред: основной памяти или регистрах

3.1.6.3.4. С учетом возможного размещения операндов в рамках регистровых АСК выделяют три подвида команд обработки: регистр-регистр; регистр-память; память-память

3.1.6.3.5. Операции загрузки регистров из памяти и сохранения содержимого регистров в памяти идентичны таким же операциям с аккумулятором. Отличие состоит в этапе выбора нужного регистра, обеспечиваемого соответствующими селекторами.

3.1.6.3.6. Выполнение операции в АЛУ включает в себя

3.1.6.4. с выделенным доступом к памяти

3.1.6.4.1. Обращение к основной памяти возможно только с помощью двух специальных команд: load (загрузка) store (сохранение)

3.1.6.4.2. Операнды во всех командах обработки могут находиться только в регистрах

3.1.6.4.3. Отсутствуют команды обработки, допускающие прямое обращение к основной памяти.

3.1.7. 6. Форматы команд

3.1.7.1. Длина команды

3.1.7.1.1. Мощный набор команд

3.1.7.2. Разрядность полей команд

3.1.7.2.1. Большее количество возможных операций предполагает длинное поле кода операции, что ведет к сокращению адресного поля, то есть к сужению адресного пространства

3.1.7.2.2. длину поля кода операции варьируют, т.е. несколько битов отнимают у адресного поля

3.1.7.2.3. Принципы использования информации из адресной части команды определяет система адресации. Система адресации задает число адресов в команде команды и принятые способы адресации .

3.1.7.3. Количество адресов в команде

3.1.7.3.1. максимальный» 4-хадресный

3.1.7.3.2. В фон-неймановских ВМ (3-хадресный)

3.1.7.3.3. Двухадресный формат команды

3.1.7.3.4. Одноадресный формат

3.1.7.3.5. Полутораадресный или регистровый формат

3.1.7.3.6. нульадресный формат

3.1.7.4. Выбор адресности команд

3.1.7.4.1. При выборе количества адресов в адресной части команды руководствутся следующими критериями:

3.1.7.4.2. Время выполнения одной команды = время выполнения операции + времени обращения к памяти. Для трехадресной команды = выборка команды; Выборка1-го операнда; выборка 2-го операнда; запись в память результата.

3.1.7.4.3. Для одноадресной команды = На выполнение одноадресной команды затрачивается меньше времени, чем на обработку трехадресной команды. Но для реализации одной трехадресной команды, как правило, нужно три одноадресных. Определяющим при выборе варианта адресности является тип алгоритмов, на преимущественную реализацию которых ориентирована конкретная BМ.

3.1.7.4.4. Возможные типы алгоритмов

3.1.7.5. Типовая команда содержит

3.1.7.5.1. подлежащую выполнению операцию;

3.1.7.5.2. адреса исходных данных (операндов), над которыми выполняется операция;

3.1.7.5.3. адрес, по которому должен быть помещен результат операции.

3.1.7.6. Формат команд определяет

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

3.1.7.6.2. количество и расположение отдельных полей команды.

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

4. 4 ЛЕКЦИЯ

4.1. Физическая и функциональная структура микропроцессора

4.1.1. 1. Структурная схема микропроцессора

4.1.1.1. Состав микропроцессора Pentium (физические компоненты):

4.1.1.1.1. Core — ядро МП;

4.1.1.1.2. Execution Unit — исполняющий модуль;

4.1.1.1.3. Integer ALU — АЛУ для операций с целыми числами (с фиксированной запя­той);

4.1.1.1.4. Registers — регистры;

4.1.1.1.5. Floating Point Unit — блок для работы с числами с плавающей запятой;

4.1.1.1.6. Primary Cache — кэш первого уровня, в том числе кэш данных (Data Cache) и кэш команд (Code Cache);

4.1.1.1.7. Instruction Decode and Prefetch Unit и Branch Predictor — блоки декодирования инструкций, опережающего их исполнения и предсказания ветвлений;

4.1.1.1.8. Bus Interface — интерфейсные шины, в том числе 64- и 32-битовая, и выход на системную шину к оперативной памяти.

4.1.1.1.9. Функционально МП можно разделить на:

4.1.2. 2. Устройство управления

4.1.2.1. регистр команд

4.1.2.1.1. запоминающий регистр, в котором хранится код команды

4.1.2.2. дешифратор операций

4.1.2.2.1. логический блок, выбирающий в соответствии с поступающим из регистра команд КОП один из множества имеющихся у него выходов;

4.1.2.3. постоянное запоминающее устройство (ПЗУ) микропрограмм

4.1.2.3.1. хранит в своих ячейках управляющие сигналы (импульсы), необходимые для выполнения в блоках ПК процедур обработки информации. Импульс по выбранному дешифратором операций в соответствии с кодом операции проводу считывает из ПЗУ микропрограмм необходимую последовательность управляющих сигналов;

4.1.2.4. узел формирования адреса

4.1.2.4.1. вычисляет полный адрес ячейки памяти (регистра) по реквизитам, поступающим из регистра команд и регистров МПП;

4.1.2.5. кодовые шины данных, адреса и инструкций

4.1.2.5.1. часть внутренней интерфейсной шины микропроцессора.

4.1.2.6. УУ формирует управляющие сигналы для выполнения процедур:

4.1.2.6.1. выборки из регистра-счетчика IP адреса команды МПП и адреса ячейки ОЗУ, где хранится очередная команда программы;

4.1.2.6.2. выборки из ячеек ОЗУ кода очередной команды и приема считанной команды в регистр команд;

4.1.2.6.3. расшифровки кода операции и признаков выбранной команды;

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

4.1.2.6.5. считывания из регистра команд и регистров МПП отдельных составляющих адресов операндов (чисел), участвующих в вычислениях, и формирование полных адресов операндов;

4.1.2.6.6. выборки операндов (по сформированным адресам) и выполнения заданной операции обработки этих операндов;

4.1.2.6.7. записи результатов операции в память;

4.1.2.6.8. формирования адреса следующей команды программы.

4.1.3. 3. Арифметико-логическое устройство

4.1.3.1. Сумматор

4.1.3.1.1. вычислительная схема разрядностью двойного машинного слова, выполняющая процедуру сложения поступающих на ее вход двоичных кодов;

4.1.3.2. Регистры

4.1.3.2.1. быстродействующие ячейки памяти различной длины: регистр 1 имеет разрядность двойного слова, а регистр 2 — разрядность слова. При выполнении операций в регистр 1 помещается первое число, участвующее в операции, а по завершении операции — результат; в регистр 2 — второе число, участвующее в операции (по завершении операции информация в нем не изменяется). Регистр 1 может и принимать информацию с кодовых шин данных, и выдавать информацию на них; регистр 2 только получает информацию с этих шин.

4.1.3.3. Схемы управления

4.1.3.3.1. принимают по кодовым шинам инструкций управляющие сигналы от устройства управления и преобразуют их в сигналы для управления работой регистров и сумматора АЛУ.

4.1.3.4. АЛУ

4.1.3.4.1. выполняет арифметические операции «+», «-», «х» и «::» только целыми двоичными числами.

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

4.1.4. 4. Микропроцессорная память

4.1.4.1. Все регистры МПП можно разделить на четыре группы :

4.1.4.1.1. универсальные регистры: АХ, ВХ, СХ, DX;

4.1.4.1.2. сегментные регистры: CS, DS, SS, ES;

4.1.4.1.3. регистры смещения: IP, SP, BP, SI, DI;

4.1.4.1.4. регистр флагов: FL.

4.1.5. 5. Интерфейсная часть МП

4.1.5.1. адресные регистры МПП;

4.1.5.2. узел формирования адреса;

4.1.5.3. блок регистров команд, являющийся буфером команд в МП;

4.1.5.4. внутреннюю интерфейсную шину МП;

4.1.5.5. схемы управления шиной и портами ввода-вывода.

4.1.5.5.1. формирование адреса порта и управляющей информации для него (переключение порта на прием или передачу и т. д.);

4.1.5.5.2. прием управляющей информации от порта, информации о готовности порта и его состоянии;

4.1.5.5.3. организация сквозного канала в системном интерфейсе для передачи данных между портом устройства ввода-вывода и МП.

4.1.6. 6. Обзор архитектуры современных многоядерных процессоров

4.1.6.1. Длительное время производительность привычных одноядерных процессоров повышалась за счёт увеличения тактовой частоты (до 80% производительности определяла только тактовая частота) с одновременным увеличением числа транзисторов на кристалле.

4.1.6.2. Фундаментальные законы физики остановили этот процесс: чипы стали перегреваться, технологический стал приближаться к размерам атомов кремния.

4.1.6.3. Выше написанное привело к

4.1.6.3.1. процессор стал намного «быстрее» памяти. Производительность снижалась из-за задержки обращения к ОП и загрузке данных в кэш.

4.1.6.3.2. увеличились токи утечки  повысилось тепловыделение и потребляемая мощность.

4.1.6.3.3. возникает такое понятие как «фон-нейманское узкое место» - неэффективность архитектуры процессора при выполнении какой-либо программы.

4.1.6.3.4. Многопроцессорные системы (как один из способов решения проблемы) не получили широко применения, так как требовали дорогостоящих и сложных в производстве многопроцессорных материнских плат.

4.1.6.3.5. Эффективным способом повышения производительности оказалась концепция многопоточности – одновременная обработка нескольких потоков команд.

4.1.6.3.6. анализ эффективности современных сложных процессоров, насчитывающих в своем составе десятки и сотни миллионов транзисторов, показал, что при выполнении большинства операций оказываются полностью задействованными не все составные компоненты процессоров (по имеющимся оценкам, средняя загрузка процессора составляет всего лишь около 30%).

4.1.6.3.7. Для повышения загрузки процессора можно организовать спекулятивное (опережающее) исполнение операций, что требует существенного усложнения логики аппаратной реализации процессора.

4.1.6.3.8. Было бы гораздо проще, если бы в программе заранее были предусмотрены последовательности команд (потоки), которые могли быть выполнены параллельно и независимо друг от друга.

4.1.6.3.9. Идея поддержки одновременной многопоточности (simultaneous multithreading, SMT) была предложена в 1995 г. в университете Вашингтона Дином Тулсеном (Dean Tullsen) и позднее активно развита компанией Intel под названием технологии гиперпоточности (hyper threading, HT).

4.1.6.3.10. Hyper-Threading Technology (HTT) или технология сверхпоточной обработки данных, позволяющая процессору на одном ядре выполнять несколько программных потоков.

4.1.6.3.11. Именно HTT по мнению многих специалистов стала предпосылкой для создания многоядерных процессоров.

4.1.6.3.12. Выполнение процессором одновременно несколько программных потоков называется параллелизмом на уровне потоков (TLP –thread-level parallelism).

5. 5 ЛЕКЦИЯ

5.1. Память

5.1.1. .1 Характеристики систем памяти

5.1.1.1. Место расположения

5.1.1.1.1. Процессорная (регистры, кэш 1-го уровня)

5.1.1.1.2. Внутренняя (ОЗУ, кэш 2-го уровня)

5.1.1.1.3. Внешняя

5.1.1.2. Емкость

5.1.1.2.1. Kilo

5.1.1.2.2. Mega

5.1.1.2.3. Giga

5.1.1.2.4. Tera

5.1.1.2.5. Peta

5.1.1.2.6. Exa

5.1.1.3. Единица пересылки

5.1.1.3.1. ОП – определяется шириной шины данных (слово)

5.1.1.3.2. Внешняя память - блоки

5.1.1.4. Метод доступа

5.1.1.4.1. Последовательный

5.1.1.4.2. Прямой

5.1.1.4.3. Произвольный

5.1.1.4.4. Ассоциативный

5.1.1.5. Быстродействие

5.1.1.5.1. Время доступа Тд Длительность цикла памяти (период обращения) Тц Скорость передачи - произволь. доступ 1/Тц - TN = TA + N/R N – количество битов TN – среднее время считывания/записи TA - среднее время доступа R - скорость пересылки в бит/сек

5.1.1.6. Физические особенности

5.1.1.6.1. Энергозависимость Стоимость общая стоимость ЗУ / емкость в битах

5.1.1.7. Физический тип

5.1.1.7.1. Полупроводниковая

5.1.1.7.2. Магнитный носитель

5.1.1.7.3. Оптический носитель

5.1.1.7.4. Флэш

5.1.2. 2. Иерархия памяти

5.1.2.1. Движение вниз по иерархической структуре:

5.1.2.1.1. Уменьшается соотношение стоимость /бит

5.1.2.1.2. Возрастает емкость

5.1.2.1.3. Растет время доступа

5.1.2.1.4. Уменьшается частота обращения к памяти со стороны ЦП

5.1.2.2. быстродействие внешних запоминающих устройств определяется двумя параметрами: временем доступа и скоростью считывания

5.1.3. 3. Кэш - память

5.1.3.1. Локальность по обращению

5.1.3.1.1. Пространственная локальность программы

5.1.3.1.2. Пространственная локальность данных

5.1.3.1.3. Временная локальность «90 / 10» 90% времени работы программы – доступ к 10% адресного пространства программы

5.1.3.2. Регистровая кэш-память

5.1.3.2.1. высокоскоростная память сравнительно большой емкости, являющаяся буфером между ОП и МП и позволяющая увеличить ско­рость выполнения операций.

5.1.3.2.2. Регистры кэш-памяти недоступны для пользователя, отсюда и название «кэш» (cache), что в переводе с английского означает «тайник».

5.1.3.3. Pipelined Burst Cache - конвейерный кэш с блочным доступом

5.1.3.3.1. В кэш-памяти хранятся копии блоков данных тех областей ОП, к которым выполнялись последние обращения и весьма вероятны обращения в ближайшие такты работы.

5.1.3.3.2. При выполнении программы данные, считанные из ОП с небольшим опережением, записываются в кэш-память. В кэш-память записываются и результаты операций, выполненных в МП.

5.1.3.4. По принципу записи результатов в оперативную память различают два типа кэш-памяти:

5.1.3.4.1. в кэш-памяти «с обратной записью» результаты операций прежде, чем быть записанными в ОП, фиксируются, а затем контроллер кэш-памяти самостоятельно перезаписывает эти данные в ОП;

5.1.3.4.2. в кэш-памяти «со сквозной записью» результаты операций одновременно, за­писываются и в кэш-память, и в ОП.

5.1.4. 4 Физическая структура основной памяти

5.1.4.1. При матричной организации адрес ячейки, поступающий в регистр адреса, например по 20-разрядным кодовым шинам адреса, делится на две 10-разрядные части, поступающие, соответственно, в регистр адреса X и регистр адреса Y.

5.1.4.2. Из этих регистров коды полуадресов поступают в дешифратор X и дешифратор Y, каждый из которых в соответствии с полученным адресом выбирает одну из 1024 шин.

5.1.4.3. По выбранным шинам подаются сигналы записи-считывания в ячейку памяти, находящуюся на пересечении этих шин. Таким образом, адресуется 106 (точнее, 10242) ячеек.

5.1.4.4. Считываемая или записываемая информация поступает в регистр данных, непосредственно связанный с кодовыми шинами данных.

5.1.4.5. Управляющие сигналы, определяющие, какую операцию следует выполнить, поступают по кодовым шинам инструкций.

5.1.4.6. Куб памяти содержит набор запоминающих элементов — собственно ячеек памяти.

5.1.5. 5 Логическая структура основной памяти

5.1.5.1. Структурно основная память состоит из миллионов отдельных однобайтовых ячеек памяти (от 16 до 512 Мбайт).

5.1.5.2. Емкость ОЗУ на один-два порядка превышает емкость ПЗУ: ПЗУ занимает 128 Кбайт, остальной объем — это ОЗУ.

5.1.5.3. Каждая ячейка памяти имеет свой уникальный адрес.

5.1.5.4. Для ОЗУ и ПЗУ отводится единое адресное пространство.

5.1.5.5. Адресное пространство

5.1.5.5.1. определяет максимально возможное количество непосредственно адресуемых ячеек основной памяти;

5.1.5.5.2. зависит от разрядности адресных шин, равно 2п, где п — разрядность адреса.

5.1.5.5.3. за основу в ПК взят 16-разрядный адресный код (маш. слово). 216 = 65 536 = 64 Кбайт - сегмент – базовая логическая структура ОП.

5.1.5.5.4. в защищенном режиме размер сегмента может быть значительно превышать 64 Кбайт.

5.1.5.6. Формирование физического адреса

5.1.5.6.1. память до 1 Мбайт является еще одним структурным компонентом ОП — непосредственно адресуемой памятью (справедливо полностью только для реального режима). Для адресации 1 Мбайт = 220 = 1 048 576 ячеек необходим 20-разрядный код, получаемый при помощи специальной структуризации адресов ячеек ОП. Абсолютный (полный, физический) адрес А абс = 16 А сегм + А см Адрес сегмента — это начальный адрес 64-килобайтового поля, внутри которого находится адресуемая ячейка. Адрес смещения — это относительный 16-разрядный адрес ячейки внутри сегмента.

5.1.5.6.2. Асегм должен быть 20-разрядным, но если принять условие, что Асегм должен быть обязательно кратным параграфу (в последних четырех разрядах должен содержать нули), то однозначно определять этот адрес можно 16-разрядным кодом, «увеличенным» в 16 раз, что равносильно дополнению исходного кода справа четырьмя нулями и превращению его, таким образом, в 20-разрядный код. Для удобства программирования и оптимизации ряда операций МП ПК поддерживают еще две составляющие смещения: адрес базы и адрес индекса. ЦП ПК может обращаться к основной памяти, используя только абсолютный адрес, программист может использовать все составляющие адреса.

5.1.6. 6. Виртуальная память

5.1.6.1. Виртуальная адресация применяется для увеличения адресного пространства ПК: при наличии ОП большой емкости {простая виртуальная адресация); при организации виртуальной памяти, в которую наряду с ОП включается и часть внешней (обычно дисковой) памяти.

5.1.6.2. Принцип простой виртуальной адресации

5.1.6.2.1. В регистре сегмента содержится селектор: # индекс F СЛ СЛ – вспомогательная служебная информация; F — идентификатор, определяющий тип таблицы дескрипторов для формирования А сегм (таблицы дескрипторов создаются в ОП при виртуальной адресации автоматически): F = 0, то используется глобальная таблица дескрипторов (GDT) общая для всех задач; F = 1, то используется локальная таблица дескрипторов (LDT), создаваемая для каждой задачи отдельно. В соответствии с индексом и идентификатором из GLT или LDT извлекается 64-битовая строка, содержащая, в частности, и адрес сегмента.

5.1.6.2.2. Для большей плотности размещения информации в оперативной памяти (уменьшения сегментированности, характерной для многозадачного режима) часто практикуется сегментно-страничная адресация, при которой поля памяти выделяются программам внутри сегментов страницами размером от 2 до 4 Кбайт. Формирование сегментно-страничной структуры адресов выполняется автоматически операционной системой.

5.1.6.3. Распределение памяти

5.1.6.3.1. в статическом режиме до загрузки программы в ОП (весьма трудоемко, поэтому применяется редко. Если очевидно, что реальная память меньше требуемого программой адресного пространства, программист может вручную разбить программу на части, вызываемые в ОП по мере необходимости, — создать оверлейную структуру программы);

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

5.1.6.4. Технология организации виртуальной памяти

5.1.6.4.1. Физические оперативная и дисковая (привлеченная к задаче) память и виртуальная память разбиваются на страницы одинакового размера по 4 Кбайт.

5.1.6.4.2. Страницам виртуальной и физической памяти присваиваются номера, которые сохраняются одними и теми же на весь период решения задачи.

5.1.6.4.3. Операционная система формирует две таблицы: - страниц виртуальной памяти; - физического размещения страниц, и устанавливает логические связи между ними

5.1.6.4.4. физические страницы могут находиться в текущий момент времени как в оперативной, так и во внешней памяти.

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

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

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

5.1.7. 7. Типы данных

5.1.7.1. используется для хранения неизменяемой информации: загрузочных программ ОС, программ тестирования устройств компьютера, некоторых драйверов базовой системы ввода-вывода (BIOS) и т. д.

5.1.7.2. По технологии записи информации можно выделить ПЗУ следующих типов:

5.1.7.2.1. микросхемы, программируемые только при изготовлении, — классические или масочные ПЗУ или ROM;

5.1.7.2.2. микросхемы, программируемые однократно в лабораторных условиях, — программируемые ПЗУ (ППЗУ), или programmable ROM (PROM);

5.1.7.2.3. микросхемы, программируемые многократно, — перепрограммируемые ПЗУ, или erasable PROM (EPROM).

5.1.7.2.4. электрически перепрограммируемые микросхемы EEPROM (Electrical Erasable PROM),

6. 6.1 ЛЕКЦИЯ

6.1. 1. Классификация ВЗУ

6.1.1. внешние запоминающие устройства (ВЗУ) весьма разнообразны. Их можно классифицировать по целому ряду признаков: по виду носителя, по типу конструкции, по принципу записи и считывания информации, по методу доступа и т. д. При этом под носителем понимается материальный объект, способный хранить информацию.

6.1.2. Накопители на дисках

6.1.2.1. накопители на гибких магнитных дискам (НГМД); накопители на жестких магнитных дисках (НЖМД; накопители на сменных жестких магнитных дисках, использующие эффект Бернулли; накопители на флоптических дисках — floptical- накопители; накопители сверхвысокой плотности записи (Very High Density) — VHD-накопители; накопители на оптических компакт-дисках накопители на магнитооптических дисках — НМОД; накопители на цифровых видеодисках (Digital Versatile Disk) — DVD и др.

6.1.3. Накопители на флоптических дисках

6.1.3.1. выполняют обычную магнитную запись информации, но с существенно большей плотностью размещения дорожек на поверхности диска, что достигается по причине наличия на дисках специальных нанесенных лазерным лучом серводорожек, служащих при считывании-записи базой для позиционирования лазерного луча и, соответственно, магнитной головки, жестко связанной с лазером. Емкость варьируется от 20,8 до 120 Мбайт. Примером такого дисковода может служить LS-120 — дисковод гибких магнитных дисков с лазерным приводом. Он поддерживает диски емкостью 120 Мбайт, совместим с флоппи-дисководом (со стандартными форматами 1,44 Мбайт). У LS-120 скорость чтения-записи составляет в зависимости от модификации 180-500 Кбайт/с для устройств с IDE- и LPT-интерфейсами. Пиковая скорость для SCSI-варианта может достигать 4 Мбайт/с.

6.1.4. Накопители сверхвысокой плотности записи

6.1.4.1. VHD — Very High Density) используют кроме лазерного позиционирования еще и специальные дисководы, обеспечивающие иную технологию чтения-записи: «перпендикулярный» способ записи вместо обычного «продольного». Сейчас выпускаются VHD-диски емкостью 120-240 Мбайт; фирма Hewlett-Packard объявила о создании диска емкостью 1000 Мбайт, а фирма IBM — дисков емкостью 8700 Мбайт и 10800 Мбайт.

6.1.5. Накопители на оптических дисках

6.1.5.1. Основными достоинствами НОД являются: сменяемость и компактность носителей; большая информационная емкость; высокая надежность и долговечность дисков и головок чтения-записи (до 50 лет); меньшая (по сравнению с НМД) чувствительность к загрязнениям и вибрациям; нечувствительность к электромагнитным полям. Оптические накопители выпускаются в нескольких модификациях: Классические компакт-диски: CD-ROM —неперезаписываемые лазерно-оптические диски; CD-R —компакт-диски с однократной записью; CD-RW —перезаписываемые, с многократной записью. 2. Цифровые универсальные диски: DVD-ROM - неперезаписываемые цифровые универсальные диски; DVD-R — цифровые универсальные диски с однократной записью; DVD-RW - цифровые перезаписываемые универсальные диски.

6.2. 2. Магнитные диски

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

6.2.2. Характеристики дисковых накопителей

6.2.2.1. информационная емкость; скорость считывания последовательно расположенных байтов. Время доступа (access time) к информации на диске, складывается из нескольких составляющих: времени перемещения магнитной головки на нужную дорожку (seek time); времени установки головки и затухания ее колебаний (setting time); времени ожидания вращения (rotation latency) — ожидания момента, когда из-за вращения диска нужный сектор окажется под головкой.

6.3. 3,Управление Данными

6.3.1. Доступом называется обращение к файлу с целью чтения или записи в него информации. Файловая система поддерживает два типа доступа к файлам: последовательный метод доступа (записи из файла считываются подряд, строго в порядке их расположения в файле); прямой (непосредственный) метод доступа (непосредственное обращение к записи по ее номеру в файле).

6.3.2. Механизм доступа к файлу имеет два варианта: доступ к файлу с использованием специальной таблицы — управляющего блока файла; доступ к файлу по идентификатору. Управляющий блок файла (FCB — File Control Block) содержит следующую информацию: номер (букву) дисковода, где установлен диск с файлом; имя файла и его расширение; текущий номер блока в файле; длину записи в байтах; размер файла в байтах; дату последней модификации файла; относительный номер записи (текущий номер); номер записи и т. д.

6.3.3. Файл состоит из блоков, объединяющих по 128 записей в каждом. Относительный номер записи — это порядковый номер записи в блоке. Текущий номер блока и относительный номер записи используются при последовательном доступе к записям файла. Номер записи — это параметр, объединяющий номер блока и относительный номер записи в блоке, он используется при произвольном доступе к записям файла. Длина записи (т.е. длина логической, кажущейся записи, которая может отличаться от длины физической записи из- за наличия различных служебных элементов в структуре записи и файла) используется при определении числа байтов, пересылаемых при обмене информацией с ОЗУ и при определении положения записи внутри блока. Блок FCB позволяет получать доступ к файлам только в текущем каталоге.

6.3.4. Идентификатор файла — ASCIIZ-строка, идентифицирующая файл, (ASCII-Zero) содержит следующую информацию:

6.3.4.1. номер (логическое имя) дисковода и путь к файлу (если нужно); имя файла и его расширение; нулевой байт (zero-байт).

6.3.5. Логическая организация файловой системы

6.3.5.1. Упорядочение файлов, хранящихся в дисковой памяти, называется логической организацией файловой системы. Основой логической организации являются каталоги. Каталогом называется специальный файл, в котором регистрируются другие файлы.

6.4. 4. Размещение информации на дисках

6.4.1. Дорожки диска разбиты на секторы (512 байт). Обмен данными между НМД и ОП осуществляется последовательно кластерами. Кластер — это минимальная единица размещения информации на диске, состоящая из двух или большего числа смежных секторов дорожки (кластеры называют также единицами выделения памяти — allocation unit). Поэтому если необходимо разместить на диске маленький файл, например размером 20 байт, он все равно займет дисковое пространство размером в кластер (минимум 2 х 512 = 1024 байт).

6.4.2. Сведения о местонахождении отдельных частей файла хранятся в таблице размещения файлов (FAT — File Allocation Table), находящейся на том же диске.

6.4.2.1. Количество секторов в кластере всегда равно целой степени 2. FAT 16 –битовая практически может работать только с дисками емкостью не более 2 Гбайт. Поэтому была разработана более мощная 32-разрядная файловая система FAT32. В ней количество секторов и количество кластеров могут быть одинаковыми и ограничены значением 232. Хотя размер кластера с целью экономии дискового пространства можно было бы приравнять размеру сектора, это не сделано по причине большого объема самой FAT, которая для диска, например, емкостью 10 Гбайт будет иметь размер 80 Мбайт (а таких файлов на диске должно быть несколько, включая страховые копии). Одна из таблиц при наличии кэш-памяти для диска загружается в ОП.

6.4.3. Адресация информации на диске

6.4.3.1. Используются следующие системы адресации информации: в BIOS — трехмерная: номер цилиндра (дорожки), магнитной головки (стороны диска), сектора; в DOS — последовательная сквозная нумерация секторов, начиная от внешнего 0-го цилиндра (дорожки), головки 0, сектора 1. На каждом диске можно выделить две области: системную и данных.

6.4.3.2. Системная область диска (начинается с 0-дорожки, стороны 0, сектора 1) состоит из трех участков.

6.4.3.2.1. Главная загрузочная запись (MBR — Master Boot Record), самый первый сектор диска, в котором описывается конфигурация диска: какой раздел (логический диск) является системным (из системного раздела возможна загрузка операционной системы), сколько разделов на этом диске, какого они объема.

6.4.3.2.2. Таблица FAT , содержащая код формата и полную карту принадлежности секторов файлам. FAT организована в виде списка кластеров (они нумеруются от 2 до N + 1, где .N — полное число кластеров на диске), для каждого кластера в таблице указывается шестнадцатеричный код: FFF1-FFF7 — кластер дефектный, 0002-FFF0 — кластеры, используемые файлом (код соответствует номеру кластера, где продолжается текущий файл), FFF8-FFFF — кластер содержит последнюю часть файла, 0000 — кластер свободен (все коды указаны для FAT16).

6.4.3.2.3. Корневой каталог диска — список файлов и/или подкаталогов с их параметрами. В 3-ей области для каждого файла в корневом каталоге указывается номер его начального кластера, а в этом начальном и следующих кластерах в FAT указываются, соответственно, следующие кластеры файла, и так до последнего, где указан код FFFF. Таблица размещения файлов крайне важна, так как без нее последовательно читать файл на диске (особенно если кластеры файла записаны не подряд, а через промежутки, занятые другими файлами), становится невозможно. Поэтому для надежности FAT на диске дублируется. Когда файл на диске удаляется, все его кластеры маркируются как свободные, но сами данные файла не удаляются (затираются только после записи на их место других данных) — то есть удаленные файлы можно восста новить (команда UNDELETE DOS, утилита UNERASE в пакете Norton Utilities).

6.5. 5. Накопители на жёстких магнитных дисках

6.5.1. НЖМД, жесткие диски, Hard Disk Drive — HDD) представляют собой устройства, предназначенные для длительного хранения информации. В НЖМД один или несколько жестких дисков, изготовленных из сплавов алюминия или из керамики и покрытых ферролаком, вместе с блоком магнитных головок считывания-записи помещены в герметически закрытый корпус. Под дисками расположен двигатель, обеспечивающий вращение дисков, а слева и справа — поворотный позиционер с коромыслом, управляющим движением магнитных головок по спиральной дуге для их установки на нужный цилиндр. Емкость винчестеров благодаря чрезвычайно плотной записи (2-3 Гбайт данных на одну пластину) достигает нескольких десятков гигабайта; Появление головок с гигантским магнито-резистивным эффектом (GMR — Giant Magnetic Resistance) еще больше увеличило плотность записи — возможная емкость одной пластины возросла до 6,4 Гбайт. Быстродействие: время доступа от 5 мс, трансфер до 6 Гбайт/с. Внешние дорожки диска длиннее внутренних. Поэтому в современных жестких дисках используется метод зонной записи (все пространство диска делится на несколько зон, причем во внешних зонах секторов размещается больше данных, чем во внутренних).. Это позволило увеличить емкость жестких дисков примерно на 30 %.

6.5.2. Есть два основных режима обмена данными между HDD и ОП:

6.5.2.1. Programmed Input/Output (PIO — программируемый ввод-вывод) это режим, при котором перемещение данных между жестким диском и ОП происходит с участием ЦП. Существуют режимы передачи: РIO0 (самый «медленный»), РIO1, РIO2, РIOЗ, РIO4 (самый «быстрый» - 16,6 Мбайт/с). Режимы РIO в современных ПК используются редко, поскольку сильно загружают процессор.;

6.5.2.2. Direct Memory Access (DMA — прямой доступ к памяти) - винчестер напрямую общается с ОП без участия ЦП, перехватывая управление шиной.

6.5.3. Время доступа к информации на диске напрямую связано со скоростью вращения дисков. Стандартные скорости вращения для интерфейса IDE — 3600, 4500, 5400 и 7200 оборотов/мин; при интерфейсе SCSI используются скорости до 10000 и даже до 12 000 оборотов/мин. При скорости 10000 оборотов/мин среднее время доступа составляет 5,5 мс. Кэш-память для дисков имеет то же функциональное назначение, что и кэш для основной памяти, то есть служит быстродействующим буфером для кратковременного хранения информации, считываемой или записываемой на диск. Кэш-память может быть : встроенной в дисковод, создаваться программным путем (например, драйвером Microsoft Smartdrive) в ОП. Емкость кэш-памяти диска обычно составляет 2 Мбайт, а скорость обмена данными процессора с кэш-памятью достигает 100 Мбайт/с. Для того чтобы получить на магнитном носителе структуру диска, включающую в себя дорожки и секторы, над ним должна быть выполнена процедура, называемая физическим, или низкоуровневым, форматированием (physical, или low-level formatting), в ходе которой контроллер записывает на носитель разметку цилиндров диска на секторы и нумерует их. Форматирование низкого уровня предусматривает и маркировку дефектных секторов для исключения обращения к ним в процессе эксплуатации диска. Существует и SMART (Self-Monitoring Analysis and Reporting Technology) — технология самотестирования и анализа, осуществляющая автоматическую проверку целостности данных, состояния поверхности дисков, перенос информации с критических участков на нормальные и другие операции без участия пользователя. Кроме того, при появлении и нарастании серьезных ошибок SMART своевременно выдает сообщение о необходимости принятия мер по спасению данных.

6.5.4. Переносные дисковые накопители

6.5.4.1. (их также называют внешними, мобильными, съемными, а портативные их варианты — карманными — Pocket HDD) получили широкое распространение. Питание переносных жестких дисков выполняется либо от клавиатуры, либо по шине USB (возможный вариант — через порт PS/2). Переносные жесткие диски весьма разнообразны: от обычных HDD в отдельных корпусах до стремительно набирающих популярность твердотельных дисков. Переносить большие массивы данных с одного компьютера на другой позволяют также оптические накопители CD-R, CD-RW, DVD-R, DVD-RW и DVD-RAM.

6.6. 6. Дисковые массивы RAID

6.6.1. В машинах-серверах баз данных и в суперкомпьютерах часто применяются дисковые массивы RAID (Redundant Array of Inexpensive Disks — массив недорогих дисков с избыточностью), в которых несколько запоминающих устройств на жестких дисках объединены в один большой накопитель, обслуживаемый специальным RAID-контроллером.

6.6.2. Отличительная особенность RAID-массивов - в них используются основанные на введении информационной избыточности методы обеспечения достоверности информации, существенно повышающие надежность работы системы (при обнаружении искаженной информации она автоматически корректируется, а неисправный накопитель в режиме Plug & Play замещается исправным).

6.6.3. В качестве концепции компоновки дисковых массивов RAID была впервые представлена в 1987 году в Беркли, которые описали 5 уровней конфигурации RAID 1-5 (позже добавили RAID 0 и RAID 6:

6.6.3.1. 0-й уровень осуществляет расщепление дисков (disk stripping), записывая данные в виде дорожек поочередно на каждом диске массива без контроля четности. Это единственный уровень, не обеспечивающий устойчивость к отказам; 1-й уровень использует два диска, второй из которых является точной (зеркальной) копией первого. Массивы RAID 1 являются самыми распространенными отказоустойчивыми массивами. 2-й уровень использует несколько дисков специально для хранения контрольных сумм и обеспечивает самый сложный функционально и самый эффективный метод исправления ошибок; 3-й уровень включает четыре диска: три являются информационными, а последний хранит контрольные суммы, предназначенные для исправления ошибок в первых трех; 4-й и 5-й уровни используют диски, на каждом из которых хранятся свои собственные контрольные суммы. 6-й уровень — RAID 5, дополненный резервными дисковыми контроллерами, вентиляторами, шинами и др.

6.6.4. Дисковые массивы 2-го (RAID 6, RAID 7) и 3-го (RAID 10, RAID 30, RAID 50) поколений используют различные сочетания базовой компоновки. Имеется и иная современная классификация RAID- массивов. В частности, они разделены на три группы: FRDS — Failure Resistant Data System, обеспечивающие защиту данных при сбое компонента системы; FTDS — Failure Tolerant Disk System, обеспечивающие непрерывную доступность данных при сбое компонента системы; DTDS — Disaster Tolerant Disk System, гарантирующие доступ к данным даже в случае полного выхода из строя одной из систем, находящейся в локальной территориальной зоне. Современные дисковые массивы могут объединять 160 и более физических дисков любой емкости, формирующих до 320 и более логических дисков; имеют внутренний кэш от 32 до 1000 Мбайт и разъемы для подключения внешних интерфейсов типа SCSI или Fibre Channel. Внутренняя шина контроллера имеет пропускную способность 85 Мбайт/с, при использовании Fibre Channel — до 200 Мбайт/с. Информационная емкость дисковых массивов RAID — от 300 до 15000 Гбайт (типичные параметры: 160 дисков общей емкостью 750 Гбайт). Для сравнения: памяти емкостью 100 Тбайт вполне достаточно, чтобы записать содержимое всех хранилищ Российской государственной национальной библиотеки (бывшей Библиотеки им. В. И. Ленина), иными словами, 14 млн томов по 1600 стра ниц в каждом, которые протянулись на 100 км шкафов с 10 полками в каждом. Среднее время наработки на отказ в дисковых массивах RAID — сотни тысяч часов, а для 2-го уровня компоновки — до миллиона часов. В обычных НМД это значение не превышает тысячи часов.

7. 6.2 Лекция

7.1. 1. Введение

7.1.1. До появления магнитных дисков каждая прикладная программа самостоятельно решала проблемы именования данных и их структуризации во внешней памяти. Историческим шагом стал переход к использованию централизованных систем управления файлами. Файловая система - это часть ОС, назначение которой состоит в том, чтобы организовать эффективную работу с данными, хранящимися во внешней памяти, и обеспечить пользователю удобный интерфейс при работе с такими данными.

7.1.2. Основная идея использования внешней памяти:

7.1.2.1. ОС делит память на блоки фиксированного размера (4096 байт). Файл (неструктурированная последовательность однобайтовых записей) хранится в виде последовательности блоков (не обязательно смежных); каждый блок хранит целое число записей. В некоторых ОС (MS-DOS) адреса блоков, могут быть организованы в связный список и вынесены в отдельную таблицу в памяти. В других ОС (Unix) адреса блоков данных файла хранятся в отдельном блоке внешней памяти (так называемом индексе или индексном узле). Считывание очередного байта осуществляется с так называемой текущей позиции, которая характеризуется смещением от начала файла. Зная размер блока, легко вычислить номер блока, содержащего текущую позицию. Адрес же нужного блока диска можно затем извлечь из индекса файла. Базовой операцией, выполняемой по отношению к файлу, является чтение блока с диска и перенос его в буфер, находящийся в основной памяти.

7.1.3. Основные функции файловой системы:

7.1.3.1. Идентификация файлов (связывание имени файла с выделенным ему пространством внешней памяти). Распределение внешней памяти между файлами. Обеспечение надежности и отказоустойчивости, т.к. стоимость информации может во много раз превышать стоимость компьютера. Обеспечение защиты от несанкционированного доступа. Обеспечение совместного доступа к файлам. Обеспечение высокой производительности.

7.2. 2. Общие Сведения о файлах

7.2.1. 1. Имена файлов

7.2.1.1. Когда процесс создает файл, он дает ему имя. После завершения процесса файл продолжает существовать и через свое имя может быть доступен другим процессам. Многие ОС поддерживают имена из двух частей (имя+расширение). В соответствии со стандартом POSIX, популярные ОС оперируют удобными для пользователя длинными именами (до 255 символов)

7.2.2. 2. Типы файлов

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

7.2.3. 3. Атрибуты файлов

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

7.3. 3. Организация файлов и доступ к ним

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

7.3.2. 1. Последовательный файл

7.3.2.1. представляет собой последовательность записей, т.е. неструктурированную последовательность байтов. Обработка подобных файлов предполагает последовательное чтение записей от начала файла, причем конкретная запись определяется ее положением в файле. Такой способ доступа называется последовательным (модель ленты).

7.3.3. 2. Файл прямого доступа

7.3.3.1. наиболее распространенный способ организации файла. Содержимое файла может быть разбросано по разным блокам диска, которые можно считывать в произвольном порядке. Причем номер блока однозначно определяется позицией внутри файла. Для специфицирования места, с которого надо начинать чтение, используются два способа: с начала или с текущей позиции, которую дает операция seek. ОС не осуществляет никакой интерпретации содержимого файла.

7.3.4. 3. Другие формы организации файлов

7.3.4.1. использовались в ранних ОС, сегодня применяются в больших мэйнфреймах, ориентированных на коммерческую обработку данных.

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

7.3.4.1.2. последовательность записей переменной длины, каждая из которых содержит ключевое поле в фиксированной позиции внутри записи . Базисная операция - считать запись с каким- либо значением ключа. Записи могут располагаться в файле последовательно (например, отсортированные по значению ключевого поля) или в более сложном порядке. Метод доступа по значению ключевого поля к записям последовательного файла называется индексно-последовательным.

7.3.4.1.3. В некоторых системах ускорение доступа к файлу обеспечивается конструированием индекса файла. Индекс обычно хранится на том же устройстве, что и сам файл, и состоит из списка элементов, каждый из которых содержит идентификатор записи, за которым следует указание о местоположении данной записи. Для поиска записи вначале происходит обращение к индексу, где находится указатель на нужную запись. Такие файлы называются индексированными, а метод доступа к ним - доступ с использованием индекса.

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

7.4. 4. Операции над файлами

7.4.1. на примере ОС Unix: Создание пустого файла (присвоить файлу ряд атрибутов, выделить место на диске и внести запись в каталог). Удаление файла и освобождение занимаемого им дискового пространства. Открытие файла (разрешить системе проанализировать атрибуты файла и проверить права доступа к нему, считать в ОП список адресов блоков файла для быстрого доступа к его данным). Открытие файла является процедурой создания дескриптора или управляющего блока файла с информацией о нем. Закрытие файла (освобождается место во внутренних таблицах файловой системы). Позиционирование (задание текущей позиции). Чтение данных из файла с текущей позиции. Пользователь должен задать объем считываемых данных и предоставить для них буфер в оперативной памяти. Запись данных в файл с текущей позиции. Если текущая позиция находится в конце файла, его размер увеличивается, в противном случае запись осуществляется на место имеющихся данных, которые, таким образом, теряются. Другие операции, например переименование файла, получение атрибутов файла и т. д.

7.4.2. Существует два способа выполнить последовательность действий над файлами для каждой операции выполняются как универсальные, так и уникальные действия (схема stateless): open, read1, close, ... open, read2, close, ... open, read3, close. универсальные действия выполняются в начале и в конце, а для каждой промежуточной операции выполняются только уникальные действия: open, read1, ... read2, ... read3, close. Большинство ОС использует 2-ой способ, более экономичный и быстрый. 1-ый способ более устойчив к сбоям, поскольку результаты каждой операции становятся независимыми от результатов предыдущей операции; поэтому он иногда применяется в распределенных файловых системах (например, Sun NFS).

7.5. 5. Директории. Логическая структура файлового архива

7.5.1. Все современные файловые системы поддерживают многоуровневое именование файлов за счет наличия во внешней памяти дополнительных файлов со специальной структурой - каталогов (или директорий ). Каждый каталог содержит список содержащихся в нем каталогов и/или файлов. Каталоги имеют один и тот же внутренний формат, где каждому файлу соответствует одна запись в файле директории. Файлы на диске образуют иерархическую древовидную структуру, которая может быть представлена в виде перевернутого дерева . Внутри одного каталога имена листовых файлов уникальны. Имена файлов, находящихся в разных каталогах, могут совпадать. Путь от корня к файлу (абсолютное или полное имя) однозначно определяет файл. Другой способ задания имени - относительный путь к файлу (использует концепцию рабочей или текущей директории, которая обычно входит в состав атрибутов процесса, работающего с данным файлом. Тогда на файлы в такой директории можно ссылаться только по имени, при этом поиск файла будет осуществляться в рабочем каталоге). в большинстве ОС, поддерживающих иерархическую структуру директорий, используется обозначение " ." - для текущей директории и " .." - для родительской.

7.6. 6. Разделы диска. Организация доступа к архиву файлов

7.6.1. Задание пути к файлу в файловых системах некоторых ОС отличается тем, с чего начинается эта цепочка имен. В современных ОС принято разбивать диски на логические диски (это низкоуровневая операция), иногда называемые разделами (partitions). Бывает, что, наоборот, объединяют несколько физических дисков в один логический диск (например, это можно сделать в ОС Windows NT). В некоторых системах управления файлами (DEC, Microsoft) требуется, чтобы каждый архив файлов целиком располагался на одном диске (разделе диска). В этом случае полное имя файла начинается с имени дискового устройства, на котором установлен соответствующий диск (буквы диска). Например, c:\util\nu\ndd.exe. В других системах (Multics) вся совокупность файлов и каталогов представляет собой единое дерево. Сама система, выполняя поиск файлов по имени, начиная с корня, требовала установки необходимых дисков. В ОС Unix предполагается наличие нескольких архивов файлов, каждый на своем разделе, один из которых считается корневым. После запуска системы можно "смонтировать" корневую файловую систему и ряд изолированных файловых систем в одну общую файловую систему.

7.7. 7. Операции над директориями

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

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

7.8. 8. Защита файлов

7.8.1. Информация в компьютерной системе должна быть защищена как от физического разрушения (reliability), так и от несанкционированного доступа (protection).

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

7.8.1.2. Для решения этих проблем создают классификации пользователей, например, в ОС Unix все пользователи разделены на три группы. Владелец (Owner). Группа (Group) - пользователи, разделяющие файл. Остальные (Univers). При этом задаются только три поля (по одному для каждой группы) для каждой контролируемой операции. В итоге в Unix операции чтения, записи и исполнения контролируются при помощи 9 бит (rwxrwxrwx).

7.9. 9. Общая структура файловой системы

7.9.1. 1. Нижний уровень – оборудование: Диски с подвижными головками - пакеты магнитных пластин (поверхностей), между которыми на одном рычаге двигается пакет магнитных головок. Шаг движения пакета головок является дискретным, и каждому положению пакета головок логически соответствует цилиндр магнитного диска. Цилиндры делятся на дорожки (треки), Каждая дорожка размечается на одно и то же количество блоков (секторов). Для обмена с магнитным диском на уровне аппаратуры нужно указать № цилиндра, № поверхности, № блока на соответствующей дорожке и число байтов, которое нужно записать или прочитать от начала этого блока.

7.9.2. 2. Система ввода-вывода предоставляет в распоряжение более высокоуровневого компонента ОС - файловой системы - используемое дисковое пространство в виде непрерывной последовательности блоков фиксированного размера, которые характеризуются адресом, например диск 2, цилиндр 75, сектор 11.

7.9.3. 3. Файловая система имеет дело с логическими блоками (с номерами от 0 или 1 до N). Размер логических блоков файла совпадает или является кратным размеру физического блока диска и может быть задан равным размеру страницы виртуальной памяти.

7.9.4. 4. Базисная подсистема отвечает за выделение дискового пространства конкретным файлам.

7.9.5. 5. Логическая подсистема использует структуру дерева директорий для предоставления модулю базисной подсистемы необходимой ей информации, исходя из символического имени файла. Она также ответственна за авторизацию доступа к файлам.

7.9.6. Открытие (open) или создание (create) файла: Запрос от прикладной программы к логической подсистеме; Логическая подсистема, используя структуру директорий, проверяет права доступа и вызывает базовую подсистему для получения доступа к блокам файла. После этого файл считается открытым, он содержится в таблице открытых файлов, и прикладная программа получает в свое распоряжение дескриптор этого файла. Если к моменту открытия файл уже используется другим процессом, то есть содержится в таблице открытых файлов, то после проверки прав доступа к файлу может быть организован совместный доступ.