Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ II семестр

.pdf
Скачиваний:
22
Добавлен:
08.05.2015
Размер:
972.22 Кб
Скачать

Файловые системы вычислительной машины

Для удобства обращения информация в запоминающих устройствах хранится в виде файлов.

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

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

Файловой системой называется функциональная часть операционной системы, обеспечивающая выполнение операций над файлами. Примерами файловых систем являются FAT (FAT – File Allocation Table, таблица размещения файлов), NTFS, UDF (используется на компакт-дисках).

Существуют три основные версии FAT: FAT12, FAT16 и FAT32. Они отличаются разрядностью записей в дисковой структуре, т.е. количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет (до 4 кбайт), FAT16 – для дисков малого объёма, FAT32 – для FLASHнакопителей большой емкости (до 32 Гбайт).

Рассмотрим структуру файловой системы на примере FAT32.

Устройства внешней памяти в системе FAT32 имеют не байтовую, а блочную адресацию. Запись информации в устройство внешней памяти осуществляется блоками или секторами. Сектор – минимальная адресуемая единица хранения информации на внешних запоминающих устройствах. Как правило, размер сектора фиксирован и составляет 512 байт. Для увеличения адресного пространства устройств внешней памяти сектора объединяют в группы, называемые кластерами. Кластер – объединение нескольких секторов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами. Основным свойством кластера является его размер, измеряемый в количестве секторов или количестве байт.

Файловая система FAT32 имеет структуру, представленную на рис. 10. Нумерация кластеров, используемых для записи файлов, ведется с 2. Как

правило, кластер №2 используется корневым каталогом, а начиная с кластера №3 хранится массив данных. Сектора, используемые для хранения информации, представленной выше корневого каталога (см. рис. 10), в кластеры не объединяются.

21

Рис. 10. Структура файловой системы FAT32

Минимальный размер файла, занимаемый на диске, соответствует 1 кластеру. Загрузочный сектор начинается следующей информацией:

EB 58 90 – безусловный переход и сигнатура;

4D 53 44 4F 53 35 2E 30 MSDOS5.0;

00 02 – количество байт в секторе (обычно 512);

1 байт – количество секторов в кластере;

2 байта – количество резервных секторов.

Кроме того, загрузочный сектор содержит следующую важную информацию:

0x10 (1 байт) – количество таблиц FAT (обычно 2);

0x20 (4 байта) – количество секторов на диске;

0x2С (4 байта) – номер кластера корневого каталога;

0x47 (11 байт) – метка тома;

0x1FE (2 байта) – сигнатура загрузочного сектора (55 AA). Сектор информации файловой системы содержит:

0x00 (4 байта) – сигнатура (52 52 61 41);

0x1E4 (4 байта) – сигнатура (72 72 41 61);

0x1E8 (4 байта) – количество свободных кластеров, -1 если не известно;

0x1EС (4 байта) – номер последнего записанного кластера;

0x1FE (2 байта) – сигнатура (55 AA).

Таблица FAT содержит информацию о состоянии каждого кластера на диске. Младшие 2 байт таблицы FAT хранят F8 FF FF 0F FF FF FF FF (что соответствует состоянию кластеров 0 и 1, физически отсутствующих). Далее состояние каждого кластера содержит номер кластера, в котором продолжается текущий файл или следующую информацию:

00

00

00

00

– кластер свободен;

FF

FF

FF

0F

– конец текущего файла.

Корневой каталог содержит набор 32-битных записей информации о каждом файле, содержащих следующую информацию:

8 байт – имя файла;

3 байта – расширение файла;

22

∙ 1 байт – атрибут файла (рис. 11);

Рис. 11. Байт атрибута файла

1 байт – зарезервирован;

1 байт – время создания (миллисекунды) (число от 0 до 199);

2 байта – время создания (с точностью до 2с) (рис. 12);

Рис. 12. Кодирование времени создания файла

∙ 2 байта – дата создания (рис. 13);

Рис. 13. Кодирование даты создания файла

2 байта – дата последнего доступа;

2 байта – старшие 2 байта начального кластера;

2 байта – время последней модификации;

2 байта – дата последней модификации;

2 байта – младшие 2 байта начального кластера;

4 байта – размер файла (в байтах).

Вслучае работы с длинными именами файлов (включая русские имена) кодировка имени файла производится в системе кодировки UTF-16. При этого для кодирования каждого символа отводится 2 байта. При этом имя файла записывается в виде следующей структуры:

1 байт последовательности;

10 байт содержат младшие 5 символов имени файла;

1 байт атрибут;

1 байт резервный;

1 байт – контрольная сумма имени DOS;

12 байт содержат младшие 3 символа имени файла;

2 байта – номер первого кластера;

остальные символы длинного имени.

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

23

Центральный процессор

Центральный процессор (ЦП, ЦПУ, CPU) – функционально законченное программно управляемое устройство обработки информации, выполненное в виде одной или нескольких больших (БИС) или сверхбольших (СБИС) интегральных схем.

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

Основными считаются следующие характеристики центрального процессора:

разрядность;

тип архитектуры или серия (CISC, RISC);

система поддерживаемых команд (х86, IA-32, IA-64);

расширения системы команд (ММХ, SSE, SSE2 и т.д.);

конструктивное исполнение (Slot 1, Slot 2, Socket 340, Socket 478, Slot A, Socket A);

тактовая частота (МГц, ГГц);

частота системной шины;

Разрядность шины данных микропроцессора определяет количество разрядов, над которыми одновременно могут выполняться операции; разрядность шины адреса МП определяет его адресное пространство.

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

Все современные процессоры имеют специальные системы команд, дополняющие набор инструкций Intel x86. Они рассчитаны на обработку графической и видеоинформации. Набор ММХ (MultiMedia extension) поддерживается всеми х86-совместимыми процессорами. SSE появился в процессорах Pentium III, a SSE2 — в процессорах Pentium 4.

Конструктивно процессоры изготовляют в виде квадратной микросхемы в корпусе PPGA (Plastic Pin Grid Array), со множеством ножек в нижней части (конструктив Socket). Для процессоров Pentium II был разработан Slot 1 — щелевой разъем с 242 контактами, впоследствии переименованный в SC242. В этот же слот устанавливались и некоторые процессоры Celeron и Pentium III.

24

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

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

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

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

На данный момент существует несколько направлений в производстве микропроцессоров. Они различается принципами построения архитектуры процессора. Наиболее распространенными являются архитектуры RISC и CISC.

Процессоры с архитектурой RISC (Reduced Instruction Set Computers)

используют сравнительно небольшой (сокращенный) набор наиболее распространенных команд, определенный в результате статистического анализа большого числа программ для основных областей применения. Все команды работают с операндами и имеют одинаковый формат. Обращение к памяти выполняется с помощью специальных команд загрузки регистра и записи. Простота структуры и небольшой набор команд позволяют реализовать полностью их аппаратное выполнение и эффективный конвейер при небольшом объеме оборудования. Арифметику RISC-процессоров отличает высокая степень дробления конвейера. Этот прием позволяет увеличить тактовую частоту (а значит, и производительность) компьютера: чем более элементарные действия выполняются в каждой фазе работы конвейера, тем выше частота его работы. RISC-процессоры ориентированы на реализацию возможного ускорения арифметических операций, поэтому их конвейеры обладают значительно более высоким быстродействием, чем в CISC-процессорах. RISC-архитектура построена на 4 основных принципах:

1. Любая операция должна выполняться за один такт, вне зависимости от ее типа.

25

2.Система команд должна содержать минимальное количество наиболее часто используемых простейших инструкций одинаковой длины.

3.Операции обработки данных реализуются только в формате «регистр – регистр» (операнды выбираются из оперативных регистров процессора, и результат операции записывается также в регистр; а обмен между оперативными регистрами и памятью выполняется только с помощью команд загрузки и записи).

4.Состав системы команд должен быть удобен для компиляции операторов языков высокого уровня.

Процессоры с архитектурой CISC (Complex Instruction Set Computers –

архитектура вычислений с полной системой команд) реализуют на уровне машинного языка комплексные наборы команд различной сложности. Большинство современных процессоров для персональных компьютеров построено по архитектуре CISC. В последнее время появились гибридные процессоры, которые имеют систему команд CISC, однако внутри преобразовывают их в цепочки RISC-команд, которые и исполняются ядром процессора.

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

Во внутренней структуре современных высокопроизводительных микропроцессоров реализуется конвейерный принцип выполнения команд. При этом процесс выполнения команды разбивается на ряд этапов:

- декодирование очередной команды (ДК); - выборка операндов (ВО); - выполнение команды (ВК);

- размещение результата в памяти (РР) (рис. 30).

Тактовые

 

 

 

 

 

 

импульсы

 

 

 

 

 

 

Команда 1

ДК

ВО

ВК

РР

 

 

Команда 2

 

ДК

ВО

ВК

РР

 

Команда 3

 

 

ДК

ВО

ВК

РР

Рис. 30. Конвейерный принцип выполнения команд

Реализация каждого этапа занимает один такт машинного времени и производится устройствами и блоками процессора, образующими ступени исполнительного конвейера, на каждой из которых выполняется соответствующая микрооперация. При последовательной загрузке в конвейер выбираемых команд каждая его ступень реализует определенный этап выполнения очередной команды. Таким образом, в конвейере одновременно находятся несколько команд на разных этапах выполнения. В идеальном варианте при полной загрузке конвейера на его выход в каждом такте будет поступать результат выполнения очередной команды. В этом случае производительность процессора (операций/c) будет равна его тактовой частоте (тактов/c).

26

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

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

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

При использовании в программе разноформатных команд, содержащих различное количество байтов, число состояний простоя и ожидания, которые приходится вводить в процессе выполнения команд, значительно увеличивается. Поэтому принятый во многих RISC-процессорах стандартный 4-байтный формат команд обеспечивает существенное сокращение числа ожиданий и простоев конвейера, что позволяет значительно повысить производительность.

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

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

27

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

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

Структура центрального процессора

Функционально ЦП можно разделить на две части:

операционную, содержащую устройство управления (УУ), арифметикологическое устройство (АЛУ) и микропроцессорную память (МПП) (за исключением нескольких адресных регистров);

интерфейсную, содержащую адресные регистры МПП; блок регистров команд – регистры памяти для хранения кодов команд, выполняемых в

ближайшие такты; схемы управления шиной и портами. Структурная схема центрального процессора представлена на рис. 14.

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

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

Арифметико-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций преобразования информации.

28

Рис. 14. Структура центрального процессора

Микропроцессорная память (МПП) базового МП 8086 включает в себя 14 двухбайтовых запоминающих регистров. У МП 80286 и выше имеются дополнительные регистры. У МП 80386 и выше некоторые регистры общего назначения, – 4-байтовые. Но в качестве базовой модели используется 14-ре- гистровая система МПП.

Все регистры можно разделить на 4 группы:

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

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

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

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

Если регистры 4-байтовые или 8-байтовые, их имена несколько изменяются, например 4-байтовые универсальные регистры АХ, ВХ, СХ, DX именуются соответственно ЕАХ, ЕВХ, ЕСХ, EDX. При этом могут использоваться их двухбайтовая или однобайтовая часть.

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

29

Структура и форматы машинных команд

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

Машинная операция – это действия машины по преобразованию информации, выполняемые под воздействием одной команды.

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

Машинный такт – период тактовой частоты работы процессора. Машинный цикл количество машинных тактов, требуемых для

выполнения одной команды.

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

арифметические операции над числами с фиксированной или плавающей точкой;

команды двоично-десятичной арифметики;

логические (поразрядные) операции;

пересылка операндов;

операции ввода-вывода;

передача управления;

управление работой центрального процессора.

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

Код операции

 

Адресная часть

 

 

 

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

Рис. 15. Структура машинной команды

Операционная часть содержит код, задающий вид операции (сложение, умножение, передача и т.д.).

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

Структура команды определяется составом, назначением и расположением полей в команде.

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

Возможные структуры машинных команд сводятся к пяти основным типам.

1. Четырехадресная структура (рис. 16) содержит наиболее полную информацию о выполняемой операции, включает поле кода операции и четыре адреса для указания ячеек памяти двух операндов, ячейки результата операции, и ячейки, содержащей адрес следующей команды. Такой порядок выборки команд называется принудительным. Он использовался в первых моделях ВМ,

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]