Последовательность действий процессора для изменения 15 байта в 35 блоке жесткого магнитного диска
Магистрально-модульная организация компьютера
1. Как называется группа линий связи для обмена данными между несколькими устройствами компьютера?
2. Как называется группа линий связи, по которой передаются служебные сигналы для организации обмена данными?
а) шина данных
б) шина адреса
в) шина управления
3. Как называются правила обмена данными по шине?
4. Как называется электронная схема для управления внешним устройством и простейшей предварительной обработки данных?
5. Отметьте все правильные утверждения о принципе открытой архитектуры.
а) описание параметров шины открыто для всех
б) все могут разрабатывать устройства, удовлетворяющие стандарту
в) в компьютере есть стандартные разъёмы для подключения устройств
г) любые новые устройства можно подключить к компьютеру
д) для каждого нового устройства нужно установить драйвер
6. Определите, о каком способе обмена данными с внешним устройством идет речь: «Достоинства: 1) простота; 2) не нужно дополнительное оборудование. Недостаток: большие потери времени работы процессора.»
а) программно управляемый ввод/вывод
б) обмен по прерываниям
в) прямой доступ к памяти
7. Определите, о каком способе обмена данными с внешним устройством идет речь: «Обмен данными происходит по запросу внешнего устройства, при этом процессор выполняет специальную подпрограмму».
а) программно управляемый ввод/вывод
б) обмен по прерываниям
в) прямой доступ к памяти
8. Определите, о каком способе обмена данными с внешним устройством идет речь: «Обмен данными запускается центральным процессором, а далее полностью управляется контроллером внешнего устройства».
а) программно управляемый ввод/вывод
б) обмен по прерываниям
в) прямой доступ к памяти
9. Как называется временная приостановка основной программы для обработки запроса от внешнего устройства?
Процессор
1. Какие блоки входят в состав процессора?
а) арифметико-логическое устройство
б) устройство управления
в) регистры
г) контроллеры
д) постоянное запоминающее устройство
2. Отметьте все функции арифметико-логического устройства (АЛУ).
а) выполнение вычислений
б) анализ результата
в) определение местоположения данных
г) расшифровка команд
д) загрузка данных в регистры
3. Отметьте все функции устройства управления (УУ).
а) выполнение вычислений
б) анализ результата
в) определение местоположения данных
г) расшифровка команд
д) загрузка данных в регистры
4. Что хранится в регистре состояния процессора?
а) свойства результата последней операции
б) температура процессора
в) результат последней операции
г) степень загруженности процессора
д) результат проверки памяти
5. Как называется элементарное действие, из которых состоит каждая машинная команда?
6. Как называется интервал между двумя соседними управляющими импульсами, поступающими в процессор?
7. Сколько бит помещается в регистр AX в процессорах семейства Intel?
8. Как называется характеристика процессора, которая определяет количество тактовых импульсов за 1 секунду?
9. Как называется характеристика процессора, определяющая максимальное количество двоичных разрядов, которые процессор способен обработать за одну команду.
10. Отметьте все правильные утверждения.
а) тактовая частота полностью определяет быстродействие процессора
б) разрядность процессора обычно определяют как размер регистров
в) при тактовой частоте 4 ГГц процессор выполняет 4 млрд микрокоманд в секунду
г) разрядность шины адреса определяет максимальный объём памяти
д) разрядности шины данных и шины адреса всегда совпадают
11. Выберите правильное окончание фразы «RISC-процессор — это процессор с . ».
а) сокращенным набором команд
б) полным набором команд
в) рискованным набором команд
г) изменённым набором команд
12. Как называются данные, необходимые для выполнения некоторой команды процессора?
Магистрально-модульная организация компьютера:
1) шина;
2) шина управления;
3) протокол;
4) контроллер;
5) абвд;
6) программно управляемый ввод/вывод;
7) обмен по прерываниям;
8) прямой доступ к памяти;
9) прерывание.
программа №4program str999; uses crt; var s: string; begin writeln('введіте фразу'); read(s); if (s='край озер') then writeln ('край озер лесов и рек'); if (s='я учусь в школе') then writeln ('я учусь в 10-м классе') end.
№5program p_1; uses crt; var s: string; begin writeln('введите фразу'); read(s); if (s='моя родина беларусь') then writeln ('беларусь моя родина'); if (s='люблю цябе мой родны кут') then writeln ('мой родны кут люблю цябе') end.
Ответы 10
1) информационная емкость сектора – 512 байт.
2) 500 Гбайт.
3) 700 мегабайт - стандарт
4) 4,7 гигабайта есть ещё двухсторонние 8 гигабайт
5) разные объемы есть
1)Редактирование текста представляет собой:
а) процесс внесения изменений в имеющийся текст
4) При работе с текстом клавиша Insert служит для:
а) переключения режима вставка/замена
5) Чтобы курсор переместился в начало текста, нужно нажать:
а) Ctrl + Home
6) Фрагмент текста - это:
в) непрерывная часть текста
7) Копирование текстового фрагмента в текстовом редакторе предусматривает в первую очередь:
а) выделение копируемого фрагмента
8) Буфер обмена - это:
а) раздел оперативной памяти
9) Для чего предназначен буфер обмена?
б) для временного хранения копий фрагментов или удаленных фрагментов
10) Для считывания текстового файла с диска необходимо указать:
б) имя файла
11) Укажите "лишнее":
а) вставка
12) Этап подготовки текстового документа, на котором он заносится во внешнюю память, называется:
б) сохранением
13) Текст, набранный в текстовом редакторе, хранится на внешнем запоминающем устройстве в виде:
а) файла
14) Какой из представленных ниже форматов не относится к форматом файлов, в которых сохраняются текстовые документы?
д) PPT
1Компьютер это -многофункциональное электронное устройство для работы с информацией;
2.Манипулятор "мышь" - это устройство:ввода информации;
3. В процессе загрузки операционной системы происходит:Последовательная загрузка файлов операционной системы в оперативную память
4.Во время исполнения прикладная программа хранится:в оперативной памяти;
5.При отключении компьютера информация стирается:из оперативной памяти;
6 .Расширение файла, как правило, характеризует:тип информации, содержащейся в файле;
7Полный путь файлу: c:\\books\\raskaz.txt. Каково имя файла? raskaz.txt;
8.Операционная система это -программная среда, определяющая интерфейс пользователя;
9 .Программой архиватором называют:программу для уплотнения информационного объема (сжатия) файлов;
10.Сжатый файл отличается от исходного тем, что:он занимает меньше места11. Файловый вирус: запускаются при запуске компьютера;
12 .В случае появления запаха гари из компьютера необходимо: продолжать работать на компьютере альтернативный ответ- в школе дермовая проводка и из-за этого может загореться вся школа, ибо комьютера сделны из саммых дешевых китайских зачастей13 .Правая кнопка мыши позволяет вызвать меню следующего вида
ниспадающее14.В процессе дефрагментации диска каждый файл записывается обязательно в последовательно расположенных секторах
15 . В целях сохранения информации жесткие магнитные диски следует оберегать от :Света
Ударов при установке
16.При быстром форматировании гибкого диска: там меняются адреса на диске
17.Драйвер- это Программа, обеспечивающая работу устройства компьютера
18. Системный диск необходим для Хранения важных файлов
19.Программы, с которых пользователь решает свои информационные задачи, не прибегая к программированию, называются:
Прикладными программами
Он магнитный. Он электрический. Он фотонный. Нет, это не новое супергеройское трио из вселенной Marvel. Речь идёт о хранении наших драгоценных цифровых данных. Нам нужно где-то их хранить, надёжно и стабильно, чтобы мы могли иметь к ним доступ и изменять за мгновение ока. Забудьте о Железном человеке и Торе — мы говорим о жёстких дисках!
Итак, давайте погрузимся в изучении анатомии устройств, которые мы сегодня используем для хранения миллиардов битов данных.
Похожие вопросы:
Выравнивание текста, при котором с обеих сторон каждой строки ширина свободного пространства одинакова.13 букв.
3. дан следующий алгоритм: пока впереди не край повторять нц поворот кц при каком исходном положении графического исполнителя данный алгоритм зацик-лится?
1. растровый графический файл содержит черно-белое изображение с 16 градациями серого цвета размером 10х10 точек. каков информационный объем этого файла? 2. точка графического экрана может быть окрашена в один из
следующих цветов: красный, зеленый, розовый, черный. каков объем видеопамяти будет выделен для кодирования каждого пикселя? 3. каков объем видеопамяти необходим для хранения двух страниц изображения, если
битовая глубина равна 32, а разрешающая способность дисплея - 800х600 пикселей?
Какая решается по следующей программе? program test var a, b,c: integer; begin readln ( a, b); c: (a+b)*(b-a) writeln(c) end. связана с программой паскаль.
Укажите правильный адрес ячейки : а)а12с б)в1256 в)123с г)в1а -в электронных таблицах группа ячеек а1: в3.сколько ячеек входит в этот диапазон? а)6 б)5 в)4 г)3
Дан массив целых чисел, состоящий из 10 элементов. заполнить его с клавиатуры. найти: -удвоенную сумму положительных элементов; -удалить все четные элементы массива.
Римская система счисления в место цифр использует буквы латинского алфавита "i", "v", "x", "l". сколько различных (необязательно правильных) чисел длиной от одной до 4 букв можно было бы составить?
Вводится натуральное число, найти и напечатать наибольшую из цифр этого числа в его записи в системе счисления с основанием 4написать без массива и как можно проще ( с использованием базовых элементов)написать на языке паскаль
2.1. Процессор.
Самый основной элемент компьютера, это, конечно, процессор. Давайте подробней его рассмотрим. Упрощённая структура процессора (рис. 4):
Рис. 4. Упрощённая структура процессора
Основные элементы процессора:
· Регистры – это специальные ячейки памяти, физически расположенные внутри процессора. В отличие от ОЗУ, где для обращения к данным требуется использовать шину адреса, к регистрам процессор может обращаться напрямую. Это существенно ускорят работу с данными.
· Арифметико-логическое устройство выполняет арифметические операции, такие как сложение, вычитание, а также логические операции.
· Блок управления определяет последовательность микрокоманд, выполняемых при обработке машинных кодов (команд).
· Тактовый генератор , или генератор тактовых импульсов, задаёт рабочую частоту процессора.
2.2. Режимы работы процессора.
Процессор архитектуры x86 может работать в одном из пяти режимов и переключаться между ними очень быстро:
1. Реальный (незащищенный) режим (real address mode) — режим, в котором работал процессор 8086. В современных процессорах этот режим поддерживается в основном для совместимости с древним программным обеспечением (DOS-программами).
2. Защищенный режим (protected mode) — режим, который впервые был реализован в 80286 процессоре. Все современные операционные системы (Windows, Linux и пр.) работают в защищенном режиме. Программы реального режима не могут функционировать в защищенном режиме.
3. Режим виртуального процессора 8086 (virtual-8086 mode, V86) — в этот режим можно перейти только из защищенного режима. Служит для обеспечения функционирования программ реального режима, причем дает возможность одновременной работы нескольких таких программ, что в реальном режиме невозможно. Режим V86 предоставляет аппаратные средства для формирования виртуальной машины, эмулирующей процессор8086. Виртуальная машина формируется программными средствами операционной системы. В Windows такая виртуальная машина называется VDM (Virtual DOS Machine — виртуальная машина DOS). VDM перехватывает и обрабатывает системные вызовы от работающих DOS-приложений.
4. Нереальный режим (unreal mode, он же big real mode) — аналогичен реальному режиму, только позволяет получать доступ ко всей физической памяти, что невозможно в реальном режиме.
5. Режим системного управления System Management Mode (SMM) используется в служебных и отладочных целях.
При загрузке компьютера процессор всегда находится в реальном режиме, в этом режиме работали первые операционные системы, например MS-DOS, однако современные операционные системы, такие как Windows и Linux переводят процессор в защищенный режим. Вам, наверное, интересно, что защищает процессор в защищенном режиме? В защищенном режиме процессор защищает выполняемые программы в памяти от взаимного влияния (умышленно или по ошибке) друг на друга, что легко может произойти в реальном режиме. Поэтому защищенный режим и назвали защищенным.
2.3. Регистры процессора (программная модель процессора).
Для понимания работы команд ассемблера необходимо четко представлять, как выполняется адресация данных, какие регистры процессора и как могут использоваться при выполнении инструкций. Рассмотрим базовую программную модель процессоров Intel 80386, в которую входят:
· 8 регистров общего назначения, служащих для хранения данных и указателей;
· регистры сегментов — они хранят 6 селекторов сегментов;
· регистр управления и контроля EFLAGS, который позволяет управлять состоянием выполнения программы и состоянием (на уровне приложения) процессора;
· регистр-указатель EIP выполняемой следующей инструкции процессора;
· система команд (инструкций) процессора;
· режимы адресации данных в командах процессора.
Начнем с описания базовых регистров процессора Intel 80386.
Базовые регистры процессора Intel 80386 являются основой для разработки программ и позволяют решать основные задачи по обработке данных. Все они показаны на рис. 5.
Рис. 5. Базовые регистры процессора Intel 80386
Среди базового набора регистров выделим отдельные группы и рассмотрим их назначение.
2.4. Регистры общего назначения.
Остальные четыре регистра – ESI (индекс источника), EDI (индекс приемника), ЕВР (указатель базы), ESP (указатель стека) – имеют более конкретное назначение и применяются для хранения всевозможных временных переменных. Регистры ESI и EDI необходимы в строковых операциях, ЕВР и ESP – при работе со стеком. Так же как и в случае с регистрами ЕАХ - EDX, младшие половины этих четырех регистров называются SI, DI, BP и SP соответственно, и в процессорах до 80386 только они и присутствовали.
2.5. Сегментные регистры.
При использовании сегментированных моделей памяти для формирования любого адреса нужны два числа – адрес начала сегмента и смещение искомого байта относительно этого начала (в бессегментной модели памяти flat адреса начал всех сегментов равны). Операционные системы (кроме DOS) могут размещать сегменты, с которыми работает программа пользователя, в разных местах памяти и даже временно записывать их на диск, если памяти не хватает. Так как сегменты способны оказаться где угодно, программа обращается к ним, применяя вместо настоящего адреса начала сегмента 16-битное число, называемое селектором. В процессорах Intel предусмотрено шесть 16-битных регистров - CS, DS, ES, FS, GS, SS , где хранятся селекторы. (Регистры FS и GS отсутствовали в 8086, но появились уже в 80286.) Это означает, что в любой момент можно изменить параметры, записанные в этих регистрах.
В отличие от DS, ES, GS, FS, которые называются регистрами сегментов данных, CS и SS отвечают за сегменты двух особенных типов – сегмент кода и сегмент стека. Первый содержит программу, исполняющуюся в данный момент, следовательно, запись нового селектора в этот регистр приводит к тому, что далее будет исполнена не следующая по тексту программы команда, а команда из кода, находящегося в другом сегменте, с тем же смещением. Смещение очередной выполняемой команды всегда хранится в специальном регистре EIP (указатель инструкции, 16-битная форма IP), запись в который так же приведет к тому, что далее будет исполнена какая-нибудь другая команда. На самом деле все команды передачи управления – перехода, условного перехода, цикла, вызова подпрограммы и т.п. – и осуществляют эту самую запись в CS и EIP.
2.6. Регистр флагов.
Еще один важный регистр, использующийся при выполнении большинства команд, - регистр флагов. Как и раньше, его младшие 16 бит, представлявшие собой весь этот регистр до процессора 80386, называются FLAGS. В EFLAGS каждый бит является флагом, то есть устанавливается в 1 при определенных условиях или установка его в 1 изменяет поведение процессора. Все флаги, расположенные в старшем слове регистра, имеют отношение к управлению защищенным режимом, поэтому здесь рассмотрен только регистр FLAGS (см. рис. 6):
Рис. 6. Регистр флагов FLAGS.
CF – флаг переноса. Устанавливается в 1, если результат предыдущей операции не уместился в приемнике и произошел перенос из старшего бита или если требуется заем (при вычитании), в противном случае – в 0. Например, после сложения слова 0 FFFFh и 1, если регистр, в который надо поместить результат, – слово, в него будет записано 0000 h и флаг CF = 1.
PF – флаг четности. Устанавливается в 1, если младший байт результата предыдущей команды содержит четное число битов, равных 1, и в 0, если нечетное. Это не то же самое, что делимость на два. Число делится на два без остатка, если его самый младший бит равен нулю, и не делится, когда он равен 1.
AF – флаг полупереноса или вспомогательного переноса. Устанавливается в 1, если в результате предыдущей операции произошел перенос (или заем) из третьего бита в четвертый. Этот флаг используется автоматически командами двоично-десятичной коррекции.
ZF – флаг нуля. Устанавливается в 1, если результат предыдущей команды – ноль.
SF – флаг знака. Он всегда равен старшему биту результата.
TF – флаг ловушки. Он был предусмотрен для работы отладчиков, не использующих защищенный режим. Установка его в 1 приводит к тому, что после выполнения каждой программной команды управление временно передается отладчику.
IF – флаг прерываний. Сброс этого флага в 0 приводит к тому, что процессор перестает обрабатывать прерывания от внешних устройств. Обычно его сбрасывают на короткое время для выполнения критических участков кода.
DF – флаг направления. Он контролирует поведение команд обработки строк: когда он установлен в 1, строки обрабатываются в сторону уменьшения адресов, когда DF =0 – наоборот.
OF – флаг переполнения. Он устанавливается в 1, если результат предыдущей арифметической операции над числами со знаком выходит за допустимые для них пределы. Например, если при сложении двух положительных чисел получается число со старшим битом, равным единице, то есть отрицательное, и наоборот.
Флаги IOPL (уровень привилегий ввода-вывода) и NT (вложенная задача) применяются в защищенном режиме.
2.7. Цикл выполнения команды
Программа состоит из машинных команд. Программа загружается в оперативную память компьютера. Затем программа начинает выполняться, то есть процессор выполняет машинные команды в той последовательности, в какой они записаны в программе.
Для того чтобы процессор знал, какую команду нужно выполнять в определённый момент, существует счётчик команд – специальный регистр, в котором хранится адрес команды, которая должна быть выполнена после выполнения текущей команды. То есть при запуске программы в этом регистре хранится адрес первой команды. В процессорах Intel в качестве счётчика команд (его ещё называют указатель команды) используется регистр EIP (или IP в 16-разрядных программах).
Счётчик команд работает со сверхоперативной памятью, которая находится внутри процессора. Эта память носит название очередь команд, куда помещается одна или несколько команд непосредственно перед их выполнением. То есть в счётчике команд хранится адрес команды в очереди команд, а не адрес оперативной памяти.
Цикл выполнения команды – это последовательность действий, которая совершается процессором при выполнении одной машинной команды. При выполнении каждой машинной команды процессор должен выполнить как минимум три действия: выборку, декодирование и выполнение. Если в команде используется операнд, расположенный в оперативной памяти, то процессору придётся выполнить ещё две операции: выборку операнда из памяти и запись результата в память. Ниже описаны эти пять операций.
- Выборка команды . Блок управления извлекает команду из памяти (из очереди команд), копирует её во внутреннюю память процессора и увеличивает значение счётчика команд на длину этой команды (разные команды могут иметь разный размер).
- Декодирование команды . Блок управления определяет тип выполняемой команды, пересылает указанные в ней операнды в АЛУ и генерирует электрические сигналы управления АЛУ, которые соответствуют типу выполняемой операции.
- Выборка операндов . Если в команде используется операнд, расположенный в оперативной памяти, то блок управления начинает операцию по его выборке из памяти.
- Выполнение команды . АЛУ выполняет указанную в команде операцию, сохраняет полученный результат в заданном месте и обновляет состояние флагов, по значению которых программа может судить о результате выполнения команды.
- Запись результата в память . Если результат выполнения команды должен быть сохранён в памяти, блок управления начинает операцию сохранения данных в памяти.
Суммируем полученные знания и составим цикл выполнения команды:
- Выбрать из очереди команд команду, на которую указывает счётчик команд.
- Определить адрес следующей команды в очереди команд и записать адрес следующей команды в счётчик команд.
- Декодировать команду.
- Если в команде есть операнды, находящиеся в памяти, то выбрать операнды.
- Выполнить команду и установить флаги.
- Записать результат в память (по необходимости).
- Начать выполнение следующей команды с п.1.
Это упрощённый цикл выполнения команды. К тому же действия могут отличаться в зависимости от процессора. Однако это даёт общее представление о том, как процессор выполняет одну машинную команду, а значит и программу в целом.
10 Смотреть ответы Добавь ответ +10 баллов
Похожие вопросы:
Выравнивание текста, при котором с обеих сторон каждой строки ширина свободного пространства одинакова.13 букв.
3. дан следующий алгоритм: пока впереди не край повторять нц поворот кц при каком исходном положении графического исполнителя данный алгоритм зацик-лится?
1. растровый графический файл содержит черно-белое изображение с 16 градациями серого цвета размером 10х10 точек. каков информационный объем этого файла? 2. точка графического экрана может быть окрашена в один из
следующих цветов: красный, зеленый, розовый, черный. каков объем видеопамяти будет выделен для кодирования каждого пикселя? 3. каков объем видеопамяти необходим для хранения двух страниц изображения, если
битовая глубина равна 32, а разрешающая способность дисплея - 800х600 пикселей?
Какая решается по следующей программе? program test var a, b,c: integer; begin readln ( a, b); c: (a+b)*(b-a) writeln(c) end. связана с программой паскаль.
Укажите правильный адрес ячейки : а)а12с б)в1256 в)123с г)в1а -в электронных таблицах группа ячеек а1: в3.сколько ячеек входит в этот диапазон? а)6 б)5 в)4 г)3
Дан массив целых чисел, состоящий из 10 элементов. заполнить его с клавиатуры. найти: -удвоенную сумму положительных элементов; -удалить все четные элементы массива.
Римская система счисления в место цифр использует буквы латинского алфавита "i", "v", "x", "l". сколько различных (необязательно правильных) чисел длиной от одной до 4 букв можно было бы составить?
Вводится натуральное число, найти и напечатать наибольшую из цифр этого числа в его записи в системе счисления с основанием 4написать без массива и как можно проще ( с использованием базовых элементов)написать на языке паскаль
2.1. Процессор.
Самый основной элемент компьютера, это, конечно, процессор. Давайте подробней его рассмотрим. Упрощённая структура процессора (рис. 4):
Рис. 4. Упрощённая структура процессора
Основные элементы процессора:
· Регистры – это специальные ячейки памяти, физически расположенные внутри процессора. В отличие от ОЗУ, где для обращения к данным требуется использовать шину адреса, к регистрам процессор может обращаться напрямую. Это существенно ускорят работу с данными.
· Арифметико-логическое устройство выполняет арифметические операции, такие как сложение, вычитание, а также логические операции.
· Блок управления определяет последовательность микрокоманд, выполняемых при обработке машинных кодов (команд).
· Тактовый генератор , или генератор тактовых импульсов, задаёт рабочую частоту процессора.
2.2. Режимы работы процессора.
Процессор архитектуры x86 может работать в одном из пяти режимов и переключаться между ними очень быстро:
1. Реальный (незащищенный) режим (real address mode) — режим, в котором работал процессор 8086. В современных процессорах этот режим поддерживается в основном для совместимости с древним программным обеспечением (DOS-программами).
2. Защищенный режим (protected mode) — режим, который впервые был реализован в 80286 процессоре. Все современные операционные системы (Windows, Linux и пр.) работают в защищенном режиме. Программы реального режима не могут функционировать в защищенном режиме.
3. Режим виртуального процессора 8086 (virtual-8086 mode, V86) — в этот режим можно перейти только из защищенного режима. Служит для обеспечения функционирования программ реального режима, причем дает возможность одновременной работы нескольких таких программ, что в реальном режиме невозможно. Режим V86 предоставляет аппаратные средства для формирования виртуальной машины, эмулирующей процессор8086. Виртуальная машина формируется программными средствами операционной системы. В Windows такая виртуальная машина называется VDM (Virtual DOS Machine — виртуальная машина DOS). VDM перехватывает и обрабатывает системные вызовы от работающих DOS-приложений.
4. Нереальный режим (unreal mode, он же big real mode) — аналогичен реальному режиму, только позволяет получать доступ ко всей физической памяти, что невозможно в реальном режиме.
5. Режим системного управления System Management Mode (SMM) используется в служебных и отладочных целях.
При загрузке компьютера процессор всегда находится в реальном режиме, в этом режиме работали первые операционные системы, например MS-DOS, однако современные операционные системы, такие как Windows и Linux переводят процессор в защищенный режим. Вам, наверное, интересно, что защищает процессор в защищенном режиме? В защищенном режиме процессор защищает выполняемые программы в памяти от взаимного влияния (умышленно или по ошибке) друг на друга, что легко может произойти в реальном режиме. Поэтому защищенный режим и назвали защищенным.
2.3. Регистры процессора (программная модель процессора).
Для понимания работы команд ассемблера необходимо четко представлять, как выполняется адресация данных, какие регистры процессора и как могут использоваться при выполнении инструкций. Рассмотрим базовую программную модель процессоров Intel 80386, в которую входят:
· 8 регистров общего назначения, служащих для хранения данных и указателей;
· регистры сегментов — они хранят 6 селекторов сегментов;
· регистр управления и контроля EFLAGS, который позволяет управлять состоянием выполнения программы и состоянием (на уровне приложения) процессора;
· регистр-указатель EIP выполняемой следующей инструкции процессора;
· система команд (инструкций) процессора;
· режимы адресации данных в командах процессора.
Начнем с описания базовых регистров процессора Intel 80386.
Базовые регистры процессора Intel 80386 являются основой для разработки программ и позволяют решать основные задачи по обработке данных. Все они показаны на рис. 5.
Рис. 5. Базовые регистры процессора Intel 80386
Среди базового набора регистров выделим отдельные группы и рассмотрим их назначение.
2.4. Регистры общего назначения.
Остальные четыре регистра – ESI (индекс источника), EDI (индекс приемника), ЕВР (указатель базы), ESP (указатель стека) – имеют более конкретное назначение и применяются для хранения всевозможных временных переменных. Регистры ESI и EDI необходимы в строковых операциях, ЕВР и ESP – при работе со стеком. Так же как и в случае с регистрами ЕАХ - EDX, младшие половины этих четырех регистров называются SI, DI, BP и SP соответственно, и в процессорах до 80386 только они и присутствовали.
2.5. Сегментные регистры.
При использовании сегментированных моделей памяти для формирования любого адреса нужны два числа – адрес начала сегмента и смещение искомого байта относительно этого начала (в бессегментной модели памяти flat адреса начал всех сегментов равны). Операционные системы (кроме DOS) могут размещать сегменты, с которыми работает программа пользователя, в разных местах памяти и даже временно записывать их на диск, если памяти не хватает. Так как сегменты способны оказаться где угодно, программа обращается к ним, применяя вместо настоящего адреса начала сегмента 16-битное число, называемое селектором. В процессорах Intel предусмотрено шесть 16-битных регистров - CS, DS, ES, FS, GS, SS , где хранятся селекторы. (Регистры FS и GS отсутствовали в 8086, но появились уже в 80286.) Это означает, что в любой момент можно изменить параметры, записанные в этих регистрах.
В отличие от DS, ES, GS, FS, которые называются регистрами сегментов данных, CS и SS отвечают за сегменты двух особенных типов – сегмент кода и сегмент стека. Первый содержит программу, исполняющуюся в данный момент, следовательно, запись нового селектора в этот регистр приводит к тому, что далее будет исполнена не следующая по тексту программы команда, а команда из кода, находящегося в другом сегменте, с тем же смещением. Смещение очередной выполняемой команды всегда хранится в специальном регистре EIP (указатель инструкции, 16-битная форма IP), запись в который так же приведет к тому, что далее будет исполнена какая-нибудь другая команда. На самом деле все команды передачи управления – перехода, условного перехода, цикла, вызова подпрограммы и т.п. – и осуществляют эту самую запись в CS и EIP.
2.6. Регистр флагов.
Еще один важный регистр, использующийся при выполнении большинства команд, - регистр флагов. Как и раньше, его младшие 16 бит, представлявшие собой весь этот регистр до процессора 80386, называются FLAGS. В EFLAGS каждый бит является флагом, то есть устанавливается в 1 при определенных условиях или установка его в 1 изменяет поведение процессора. Все флаги, расположенные в старшем слове регистра, имеют отношение к управлению защищенным режимом, поэтому здесь рассмотрен только регистр FLAGS (см. рис. 6):
Рис. 6. Регистр флагов FLAGS.
CF – флаг переноса. Устанавливается в 1, если результат предыдущей операции не уместился в приемнике и произошел перенос из старшего бита или если требуется заем (при вычитании), в противном случае – в 0. Например, после сложения слова 0 FFFFh и 1, если регистр, в который надо поместить результат, – слово, в него будет записано 0000 h и флаг CF = 1.
PF – флаг четности. Устанавливается в 1, если младший байт результата предыдущей команды содержит четное число битов, равных 1, и в 0, если нечетное. Это не то же самое, что делимость на два. Число делится на два без остатка, если его самый младший бит равен нулю, и не делится, когда он равен 1.
AF – флаг полупереноса или вспомогательного переноса. Устанавливается в 1, если в результате предыдущей операции произошел перенос (или заем) из третьего бита в четвертый. Этот флаг используется автоматически командами двоично-десятичной коррекции.
ZF – флаг нуля. Устанавливается в 1, если результат предыдущей команды – ноль.
SF – флаг знака. Он всегда равен старшему биту результата.
TF – флаг ловушки. Он был предусмотрен для работы отладчиков, не использующих защищенный режим. Установка его в 1 приводит к тому, что после выполнения каждой программной команды управление временно передается отладчику.
IF – флаг прерываний. Сброс этого флага в 0 приводит к тому, что процессор перестает обрабатывать прерывания от внешних устройств. Обычно его сбрасывают на короткое время для выполнения критических участков кода.
DF – флаг направления. Он контролирует поведение команд обработки строк: когда он установлен в 1, строки обрабатываются в сторону уменьшения адресов, когда DF =0 – наоборот.
OF – флаг переполнения. Он устанавливается в 1, если результат предыдущей арифметической операции над числами со знаком выходит за допустимые для них пределы. Например, если при сложении двух положительных чисел получается число со старшим битом, равным единице, то есть отрицательное, и наоборот.
Флаги IOPL (уровень привилегий ввода-вывода) и NT (вложенная задача) применяются в защищенном режиме.
2.7. Цикл выполнения команды
Программа состоит из машинных команд. Программа загружается в оперативную память компьютера. Затем программа начинает выполняться, то есть процессор выполняет машинные команды в той последовательности, в какой они записаны в программе.
Для того чтобы процессор знал, какую команду нужно выполнять в определённый момент, существует счётчик команд – специальный регистр, в котором хранится адрес команды, которая должна быть выполнена после выполнения текущей команды. То есть при запуске программы в этом регистре хранится адрес первой команды. В процессорах Intel в качестве счётчика команд (его ещё называют указатель команды) используется регистр EIP (или IP в 16-разрядных программах).
Счётчик команд работает со сверхоперативной памятью, которая находится внутри процессора. Эта память носит название очередь команд, куда помещается одна или несколько команд непосредственно перед их выполнением. То есть в счётчике команд хранится адрес команды в очереди команд, а не адрес оперативной памяти.
Цикл выполнения команды – это последовательность действий, которая совершается процессором при выполнении одной машинной команды. При выполнении каждой машинной команды процессор должен выполнить как минимум три действия: выборку, декодирование и выполнение. Если в команде используется операнд, расположенный в оперативной памяти, то процессору придётся выполнить ещё две операции: выборку операнда из памяти и запись результата в память. Ниже описаны эти пять операций.
- Выборка команды . Блок управления извлекает команду из памяти (из очереди команд), копирует её во внутреннюю память процессора и увеличивает значение счётчика команд на длину этой команды (разные команды могут иметь разный размер).
- Декодирование команды . Блок управления определяет тип выполняемой команды, пересылает указанные в ней операнды в АЛУ и генерирует электрические сигналы управления АЛУ, которые соответствуют типу выполняемой операции.
- Выборка операндов . Если в команде используется операнд, расположенный в оперативной памяти, то блок управления начинает операцию по его выборке из памяти.
- Выполнение команды . АЛУ выполняет указанную в команде операцию, сохраняет полученный результат в заданном месте и обновляет состояние флагов, по значению которых программа может судить о результате выполнения команды.
- Запись результата в память . Если результат выполнения команды должен быть сохранён в памяти, блок управления начинает операцию сохранения данных в памяти.
Суммируем полученные знания и составим цикл выполнения команды:
- Выбрать из очереди команд команду, на которую указывает счётчик команд.
- Определить адрес следующей команды в очереди команд и записать адрес следующей команды в счётчик команд.
- Декодировать команду.
- Если в команде есть операнды, находящиеся в памяти, то выбрать операнды.
- Выполнить команду и установить флаги.
- Записать результат в память (по необходимости).
- Начать выполнение следующей команды с п.1.
Это упрощённый цикл выполнения команды. К тому же действия могут отличаться в зависимости от процессора. Однако это даёт общее представление о том, как процессор выполняет одну машинную команду, а значит и программу в целом.
10 Смотреть ответы Добавь ответ +10 баллов
You spin me right round, baby
Механический накопитель на жёстких дисках (hard disk drive, HDD) был стандартом систем хранения для компьютеров по всему миру в течение более 30 лет, но лежащие в его основе технологии намного старше.
Первый коммерческий HDD компания IBM выпустила в 1956 году, его ёмкость составляла аж 3,75 МБ. И в целом, за все эти годы общая структура накопителя не сильно изменилась. В нём по-прежнему есть диски, которые используют для хранения данных намагниченность, и есть устройства для чтения/записи этих данных. Изменился же, и очень сильно, объём данных, который можно на них хранить.
В 1987 году можно было купить HDD на 20 МБ примерно за 350 долларов; сегодня за такие же деньги можно купить 14 ТБ: в 700 000 раз больший объём.
Мы рассмотрим устройство не совсем такого размера, но тоже достойное по современным меркам: 3,5-дюймовый HDD Seagate Barracuda 3 TB, в частности, модель ST3000DM001, печально известную своим высоким процентом сбоев и вызванных этим юридических процессов. Изучаемый нами накопитель уже мёртв, поэтому это будет больше похоже на аутопсию, чем на урок анатомии.
Перевернув накопитель, мы видим печатную плату и несколько разъёмов. Разъём в верхней части платы используется для двигателя, вращающего диски, а нижние три (слева направо) — это контакты под перемычки, позволяющие настраивать накопитель под определённые конфигурации, разъём данных SATA (Serial ATA) и разъём питания SATA.
Serial ATA впервые появился в 2000 году. В настольных компьютерах это стандартная система, используемая для подключения приводов к остальной части компьютера. Спецификация формата претерпела множество ревизий, и сейчас мы пользуемся версией 3.4. Наш труп жёсткого диска имеет более старую версию, но различие заключается только в одном контакте в разъёме питания.
В подключениях передачи данных для приёма и получения данных используется дифференцированный сигнал: контакты A+ и A- используются для передачи инструкций и данных в жёсткий диск, а контакты B — для получения этих сигналов. Подобное использование спаренных проводников значительно снижает влияние на сигнал электрического шума, то есть устройство может работать быстрее.
Если говорить о питании, то мы видим, что в разъёме есть по паре контактов каждого напряжения (+3.3, +5 и +12V); однако большинство из них не используется, потому что HDD не требуется много питания. Эта конкретная модель Seagate при активной нагрузке использует менее 10 Вт. Контакты, помеченные как PC, используются для precharge: эта функция позволяет вытаскивать и подключать жёсткий диск, пока компьютер продолжает работать (это называется горячей заменой (hot swapping)).
Контакт с меткой PWDIS позволяет удалённо перезагружать (remote reset) жёсткий диск, но эта функция поддерживается только с версии SATA 3.3, поэтому в моём диске это просто ещё одна линия питания +3.3V. А последний контакт, помеченный как SSU, просто сообщает компьютеру, поддерживает ли жёсткий диск технологию последовательной раскрутки шпинделей staggered spin up.
Перед тем, как компьютер сможет их использовать, диски внутри устройства (которые мы скоро увидим), должны раскрутиться до полной скорости. Но если в машине установлено много жёстких дисков, то внезапный одновременный запрос питания может навредить системе. Постепенная раскрутка шпинделей полностью устраняет возможность таких проблем, но при этом перед получением полного доступа к HDD придётся подождать несколько секунд.
Сняв печатную плату, можно увидеть, как она соединяется с компонентами внутри устройства. HDD не герметичны, за исключением устройств с очень большими ёмкостями — в них вместо воздуха используется гелий, потому что он намного менее плотный и создаёт меньше проблем в накопителях с большим количеством дисков. С другой стороны, не стоит и подвергать обычные накопители открытому воздействию окружающей среды.
Благодаря использованию таких разъёмов минимизируется количество входных точек, через которые внутрь накопителя могут попасть грязь и пыль; в металлическом корпусе есть отверстие (большая белая точка в левом нижнем углу изображения), позволяющее сохранять внутри давление окружающей среды.
Теперь, когда печатная плата снята, давайте посмотрим, что находится внутри. Тут есть четыре основных чипа:
- LSI B64002: чип основного контроллера, обрабатывающий инструкции, передающий потоки данных внутрь и наружу, корректирующий ошибки и т.п.
- Samsung K4T51163QJ: 64 МБ DDR2 SDRAM с тактовой частотой 800 МГц, используемые для кэширования данных
- Smooth MCKXL: управляет двигателем, крутящим диски
- Winbond 25Q40BWS05: 500 КБ последовательной флеш-памяти, используемой для хранения встроенного ПО накопителя (немного похожего на BIOS компьютера)
Открыть накопитель просто, достаточно открутить несколько болтов Torx и вуаля! Мы внутри…
Учитывая, что он занимает основную часть устройства, наше внимание сразу привлекает большой металлический круг; несложно понять, почему накопители называются дисковыми. Правильно их называть пластинами; они изготавливаются из стекла или алюминия и покрываются несколькими слоями различных материалов. Этот накопитель на 3 ТБ имеет три пластины, то есть на каждой стороне одной пластины должно храниться 500 ГБ.
Изображение довольно пыльное, такие грязные пластины не соответствуют точности проектирования и производства, необходимого для их изготовления. В нашем примере HDD сам алюминиевый диск имеет толщину 0,04 дюйма (1 мм), но отполирован до такой степени, что средняя высота отклонений на поверхности меньше 0,000001 дюйма (примерно 30 нм).
Базовый слой имеет глубину всего 0,0004 дюйма (10 микронов) и состоит из нескольких слоёв материалов, нанесённых на металл. Нанесение выполняется при помощи химического никелирования с последующим вакуумным напылением, подготавливающих диск для основных магнитных материалов, используемых для хранения цифровых данных.
Этот материал обычно является сложным кобальтовым сплавом и составлен из концентрических кругов, каждый из которых примерно 0,00001 дюйма (примерно 250 нм) в ширину и 0,000001 дюйма (25 нм) в глубину. На микроуровне сплавы металлов образуют зёрна, похожие на мыльные пузыри на поверхности воды.
Каждое зерно обладает собственным магнитным полем, но его можно преобразовать в заданном направлении. Группирование таких полей приводит к возникновению битов данных (0 и 1). Если вы хотите подробнее узнать об этой теме, то прочитайте этот документ Йельского университета. Последними покрытиями становятся слой углерода для защиты, а потом полимер для снижения контактного трения. Вместе их толщина составляет не больше 0,0000005 дюйма (12 нм).
Скоро мы увидим, почему пластины должны изготавливаться с такими строгими допусками, но всё-таки удивительно осознавать, что всего за 15 долларов можно стать гордым владельцем устройства, изготовленного с нанометровой точностью!
Однако давайте снова вернёмся к самому HDD и посмотрим, что же в нём есть ещё.
Жёлтым цветом показана металлическая крышка, надёжно крепящая пластину к электродвигателю привода шпинделя — электроприводу, вращающему диски. В этом HDD они вращаются с частотой 7200 rpm (оборотов/мин), но в других моделях могут работать медленнее. Медленные накопители имеют пониженный шум и энергопотребление, но и меньшую скорость, а более быстрые накопители могут достигать скорости 15 000 rpm.
Чтобы снизить урон, наносимый пылью и влагой воздуха, используется фильтр рециркуляции (зелёный квадрат), собирающий мелкие частицы и удерживающий их внутри. Воздух, перемещаемый вращением пластин, обеспечивает постоянный поток через фильтр. Над дисками и рядом с фильтром есть один из трёх разделителей пластин: помогающих снижать вибрации и поддерживать как можно более равномерный поток воздуха.
В левой верхней части изображения синим квадратом указан один из двух постоянных стержневых магнитов. Они обеспечивают магнитное поле, необходимое для перемещения компонента, указанного красным цветом. Давайте отделим эти детали, чтобы видеть их лучше.
То, что выглядит как белый пластырь — это ещё один фильтр, только он очищает частицы и газы, попадающие снаружи через отверстие, которое мы видели выше. Металлические шипы — это рычаги перемещения головок, на которых находятся головки чтения-записи жёсткого диска. Они с огромной скоростью движутся по поверхности пластин (верхней и нижней).
Посмотрите это видео, созданное The Slow Mo Guys, чтобы увидеть, насколько они быстрые:
В конструкции не используется чего-то вроде шагового электродвигателя; для перемещения рычагов по соленоиду в основании рычагов проводится электрический ток.
Обобщённо их называют звуковыми катушками, потому что они используют тот же принцип, который применяется в динамиках и микрофонах для перемещения мембран. Ток генерирует вокруг них магнитное поле, которое реагирует на поле, созданное стержневыми постоянными магнитами.
Не забывайте, что дорожки данных крошечны, поэтому позиционирование рычагов должно быть чрезвычайно точным, как и всё остальное в накопителе. У некоторых жёстких дисков есть многоступенчатые рычаги, которые вносят небольшие изменения в направление только одной части целого рычага.
В некоторых жёстких дисках дорожки данных накладываются друг на друга. Эта технология называется черепичной магнитной записью (shingled magnetic recording), и её требования к точности и позиционированию (то есть к попаданию постоянно в одну точку) ещё строже.
На самом конце рычагов есть очень чувствительные головки чтения-записи. В нашем HDD содержится 3 пластины и 6 головок, и каждая из них плавает над диском при его вращении. Для этого головки подвешены на сверхтонких полосках металла.
И здесь мы можем увидеть, почему умер наш анатомический образец — по крайней мере одна из головок разболталась, и что бы ни вызвало изначальный повреждение, оно также погнуло один из рычагов. Весь компонент головки настолько мал, что, как видно ниже, очень сложно получить её качественный снимок обычной камерой.
Однако мы можем разобрать отдельные части. Серый блок — это специально изготовленная деталь под названием «слайдер»: когда диск вращается под ним, поток воздуха создаёт подъёмную силу, поднимая головку от поверхности. И когда мы говорим «поднимает», то имеем в виду зазор шириной всего 0,0000002 дюйма или меньше 5 нм.
Чуть дальше, и головки не смогут распознавать изменения магнитных полей дорожки; если бы головки лежали на поверхности, то просто поцарапали бы покрытие. Именно поэтому нужно фильтровать воздух внутри корпуса накопителя: пыль и влага на поверхности диска просто сломают головки.
Крошечный металлический «шест» на конце головки помогает с общей аэродинамикой. Однако чтобы увидеть части, выполняющие чтение и запись, нам нужна фотография получше.
На этом изображении другого жёсткого диска устройства чтения и записи находятся под всеми электрическими соединениями. Запись выполняется системой тонкоплёночной индуктивности (thin film induction, TFI), а чтение — туннельным магнеторезистивным устройством (tunneling magnetoresistive device, TMR).
Создаваемые TMR сигналы очень слабы и перед отправкой должны проходить через усилитель для повышения уровней. Отвечающий за это чип находится рядом с основанием рычагов на изображении ниже.
Как сказано во введении к статье, механические компоненты и принцип работы жёсткого диска почти не изменились за многие годы. Больше всего совершенствовалась технология магнитных дорожек и головок чтения-записи, создавая всё более узкие и плотные дорожки, что в конечном итоге приводило к увеличению объёма хранимой информации.
Однако механические жёсткие диски имеют очевидные ограничения скорости. На перемещение рычагов в нужное положение требуется время, а если данные разбросаны по разным дорожкам на различных пластинах, то на поиски битов накопитель будет тратить довольно много микросекунд.
Прежде чем переходить к другому типу накопителей, давайте укажем ориентировочные показатели скорости типичного HDD. Мы использовали бенчмарк CrystalDiskMark для оценки жёсткого диска WD 3.5" 5400 RPM 2 TB:
В первых двух строчках указано количество МБ в секунду при выполнении последовательных (длинный, непрерывный список) и случайных (переходы по всему накопителю) чтения и записи. В следующей строке показано значение IOPS, то есть количество операций ввода-вывода, выполняемых каждую секунду. В последней строке показана средняя задержка (время в микросекундах) между передачей операции чтения или записи и получением значений данных.
В общем случае мы стремимся к тому, чтобы значения в первых трёх строчках были как можно больше, а в последней строчке — как можно меньше. Не беспокойтесь о самих числах, мы просто используем их для сравнения, когда будем рассматривать другой тип накопителя: твердотельный накопитель.
Читайте также: