Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Проектирование процессора ЭВМ с архитектурой IA-32

Тип Реферат
Предмет Информатика
Просмотров
609
Размер файла
2 б
Поделиться

Ознакомительный фрагмент работы:

Проектирование процессора ЭВМ с архитектурой IA-32

Введение

1 Задание на курсовой проект………………………………………………... 5

1.1 Общие аспекты проектирования процессора……………………. 5

1.2 Исходные данные………………………………………………….. 6

2 Архитектура процессора….………..……...…………..………………….. 7

2.1 Форматы команд…………………….……………………………… 7

2.2 Форматы данных…………….………………………………..……... 14

2.3 Расчет и выбор разрядности основных узлов процессора……… 16

2.4 Регистровая модель………….……………………………………... 17

2.5 Виды адресации………………………………………………………. 22

3 Структурная организация процессора……………..………………… 25

3.1 Общая структура процессора………………………………………... 25

3.2 Выбор и обоснование элементной базы……………..…………….. 25

3.3 Блоки обработки данных……………………………………….…… 26

3.4 Управляющий автомат………………………………..…………….. 30

3.4.1 УА с жесткой логикой……………….…………………….. 30

3.4.2 УА с микропрограммным управлением………………….. 33

3.5 Регистровая память (РП)………………….……………………….. 36

3.6 Оперативная память (ОП)…………………….…………………… 38

3.7 Блок интерфейсов (БИНТ)………………………..………………… 38

4 Содержательные схемы алгоритмов работы процессора….……………. 39

4.1 Общий алгоритм цикла работы процессора………………………... 39

4.2 Выборка команд………………………………..……………………. 41

4.3 Формирование исполнительного адреса и выборка

операндов……………….…………………………..……………………. 47

4.4 Обработка прерываний………………………………………………. 54

4.5 Выполнение четырех операций из индивидуального задания……. 55

5 Микропрограммное управление………….………..…………………. 64

5.1 Формат микрокоманды………………………………………………. 64

5.1.1 Зона БФТ…………..…………….………………………. 65

5.1.2 Зона БПТ……………..………...……………………………. 68

5.1.3 Зона БМУ……………………….…………………………… 69

5.1.4 Зона БИНТ…………………….…………………………….. 70

5.1.5 Зона ОП……………………..….……………………………... 74

5.1.6 Зона CONST…………………………………………………… 74

5.2 Микропрограмма операции обработки чисел в формате с

плавающей точкой…………………………………..…………………... 74

Заключение…………………………………………………………………... 80

Литература……………………………………………………………………. 81


Введение

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

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


1 Задание на КП

1.1 Аспекты разработки процессора

Объектом курсового проектирования является процессор цифровой ЭВМ широкого назначения. Проектируемый процессор должен реализовывать заданную совокупность машинных команд, соответствующих вычислительным системам с архитектурой IA-32. Процесс разработки процессора включает следующие основные шаги:

1) ознакомление с системой заданных машинных команд и архитектурой IA-32,

2) синтез структуры операционных автоматов блоков обработки данных в базисе микропроцессорных секций (МПС) или программируемых логических интегральных схем (ПЛИС),

3) синтез управляющих автоматов с жесткой и микропрограммируемой логикой,

4) разработка математического обеспечения в виде алгоритмов реализации цикла работы процессора и выполнения заданного набора команд,

5) формирование микрокоманды и составление микропрограммы выполнения операции из заданного набора над числами с плавающей точкой,

6) разработка электрических схем (структурной, функциональной и принципиальной) и оформление пояснительной записки.

1.2 Исходные данные для проектирования

Набор команд: 18, 57, C2, E2.

Таблица 1. 1 - Команды процессора

Номер командыКод операцииОперацияОписание
Операции над целыми числами (арифметические)
1829h

Sub Mem16, Reg16

Sub Mem32, Reg32

Mem16 – Reg16->Mem16

Mem32 – Reg32->Mem32

Операции над целыми числами (логические и сдвиги)
570ChOR AL, im8Al or im8->AL
Операции пересылки
C287hXCHGMem32,Reg32

Mem32->Tmp

Reg32->Mem32

Tmp->Reg32

Операции над числами с плавающей точкой
E2DB/0hFIADD m16intm16int+ST(0)->ST(0)

Таблица 1.2 - Параметры процессора и оперативной памяти

Ёмкость оперативной памяти, Мб8
Длина слова оперативной памяти, байт8
Базис реализации процессораМПС К1804 ВС2
Способ адресацииБазовая EA (0:15)

2 Архитектура процессора

2.1 Форматы команд

а) Sub Mem16, Reg16 иSub Mem32, Reg32

Код операции 29h.

1) Команды кодируется с использованием 3х полей – Opcode( 1 байт), ModR/M( 1 байт), Disp( 1 или 2 байта). Команда имеет размер 3 или 4 байта.

2) Команда работает с знаковыми и беззнаковыми целыми числами. В операции принимает участие операнд( 2 или 4 байта), хранящийся в памяти и любой регистр общего назначения(2 или 4 байта). Операндом – приёмником является операнд в памяти.

3) Формат команды : регистр – память

Способ адресации: базовая с 16 разрядным исполнительным адресом. Исполнительный адрес получается путём сложения базового регистра ( BP-поле R/M=110 или BX- поле R/M=111) и смещения (поле Disp – 8 (Mod=01) или 16 (Mod=10) разрядов) .Выбор разрядности операндов зависит от режима работы процессора.

Кодирование.

Disp = 8 бит

OpcodeModR/MDisp
ModReg/OpcodeR/M
0010100101reg11x
23 1615 1413 1110 87 0

Disp = 16 бит

OpcodeModR/MDisp
ModReg/Opcode R/M
0010100110 reg 11x
31 2423 22 21 19 18 1615 0

4) Выполняется операция вычитания из регистра основного назначения операнда, хранящегося в памяти и запись результата в память. Операнды могут быть 16 и 32 разрядными.

Флаги результата:

OF - флаг переполнения (OverflowFlag). Флаг установлен, если операция привела к переносу (займу) в знаковый (самый старший) бит результата, но не привела к переносу (займу) из самого старшего бита, или наоборот. Для операций над числами со знаком сигнализирует о переполнении.

SF - флаг знака (SignFlag). Установлен, если установлен старший бит результата, иначе он сброшен. Для 8-, 16- и 32-разрядных операций этот флаг отражает состояние 7, 15 и 31 бита соответственно. Для знаковых чисел старший бит отражает знак числа: 0 - неотрицательное, 1 - отрицательное.

ZF - флаг нуля (Zero Flag). Установлен, если все биты результата равны нулю, иначе сброшен.

PF - флаг четности (Parity Flag). Установлен, если младшие восемь бит операнда содержат четное число единиц (проверка на четность) иначе сброшен. На этот флаг влияют только младшие восемь бит независимо от длины операнда.

CF - флаг переноса (Carry Flag). Установлен, если операция привела к переносу из старшего бита при сложении или к займу для старшего бита при вычитании, иначе сброшен. Для 8-, 16-, 32-разрядных операций этот бит устанавливается при переносе из битов 7, 15 и 31 соответственно. Для беззнаковых операций флаг сигнализирует о переполнении.

5)Исключения.

#GP – операнд в не перезаписываемом сегменте.

Эффективный адрес операнда вне пределов сегментных регистров CS, DS, ES, FS, или GS.

Регистр DS, ES, FS, или GS содержит нулевой сегментный селектор.

#SS – эффективный адрес операнда вне предела сегментного регистра SS.

#PF(fault-code) – ошибка страничного режима.

#AC - флаг контроля за выравниванием. Если AC=1 и AM=1, то исключение #17 из-за нарушения выравнивания в 3м кольце защиты разрешено.

б) ORAL, im8

Код операции OСh

1) Команды кодируется с использованием 2х полей – Opcode ( 1байт) и Immediate(1 байт)Соответственно команда имеет размер 2 байта.

2) Команда работает с любым типом данных. В операции принимает участие непосредственный операнд ( 1 байт) и младший байт регистра EAX- AL( 1 байт) . Операндом – приёмником является AL.

3) Формат команды : регистр - непосредственный операнд

Способ адресации: непосредственная.

Кодирование.

OpcodeImmediate
00001100
15 87 0

4)Выполняется побитовая операция – логическое ИЛИ. Каждый бит результата команды OR устанавливается в 0, если оба соответствующие биты первого и второго операнда равны 0, в противном случае устанавливается 1

Флаги результата:

OF и CF остаются пустыми(0);

SF, ZF, PF устанавливаются в зависимости от результата

5)Исключения:

#GP - если адрес операнда в памяти вне пределов сегментных регистров CS, DS, ES, FS, или GS .

#SS - если адрес операнда в памяти вне предела сегментного регистра SS.

в) XCHGMem32,Reg32

Код операции 87h.

1) Команды кодируется с использованием 3х полей – Opcode( 1 байт), ModR/M( 1 байт), Disp( 1 или 2 байта). Соответственно команда имеет размер 3 или 4 байта.

2) Команда работает с 2 байтовыми типами данных. В операции принимает участие операнд, хранящийся в памяти и любой регистр общего назначения. Операндом – приёмником является операнд в памяти.

3) Формат команды : регистр – память

Способ адресации: базовая с 16 разрядным исполнительным адресом. Исполнительный адрес получается путём сложения базового регистра ( BP-поле R/M=110 или BX- поле R/M=111) и смещения (поле Disp – 8 (Mod=01) или 16 (Mod=10) разрядов)

Кодирование.

Disp = 8 бит

OpcodeModR/MDisp
ModReg/OpcodeR/M
1000011101reg11x
23 1615 1413 1110 87 0

Disp = 16 бит

OpcodeModR/MDisp
ModReg/OpcodeR/M
1000011110reg11x
31 2423 2221 1918 1615 0

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

Флагов для данной операции нет.

5)Исключения:

#GP – операнд в не перезаписываемом сегменте.

Эффективный адрес операнда вне пределов сегментных регистров CS, DS,

ES, FS, или GS.

Регистр DS, ES, FS, или GS содержит нулевой сегментный селектор.

#SS – эффективный адрес операнда вне предела сегментного регистра SS.

#PF(fault-code) – ошибка страничного режима.

#AC - флаг контроля за выравниванием. Если AC=1 и AM=1, то исключение #17 из-за нарушения выравнивания в 3м кольце защиты разрешено.

г) FIADDm16int

Код операции DB/0h,

1) Команды кодируется с использованием 3х полей – Opcode( 1 байт), ModR/M( 1 байт), Disp( 1 или 2 байта). Соответственно команда имеет размер 3 или 4 байта. Для всех команд с ПТ Opcode начинается с 11011, затем выбирается формат памяти MF(11, так как операция выполняется с целочисленным данными), OPA – вторая часть кода операции, Mod, OPB – третья часть кода операции, R/M и Disp( 1 или 2 байта).

2)Команда складывает содержимое памяти (2 байтовое целое число) с содержимым регистра ST(0)( 80 бит). FPU выполняет все вычисления в 80-битном расширенном формате. Операндом – приёмником всегда является регистр FPU.

3) Формат команды : регистр – память

Способ адресации: базовая с 16 разрядным исполнительным адресом. Исполнительный адрес получается путём сложения базового регистра ( BP-поле R/M=110 или BX- поле R/M=111) и смещения (поле Disp – 8 (Mod=01) или 16 (Mod=10) разрядов)

Кодирование.

Disp = 8 бит

OpcodeModR/MDisp
MFOPAModOPBR/M
110111100100011x
23 1918 171615 1413 1110 87 0

Disp = 16 бит

OpcodeModR/MDisp
MFOPAModOPBR/M
110111101000011x
31 2726 252423 2221 1918 1615 0

4) Производится сложение операнда из памяти и регистра с сохранением в регистре результата. Команда FIADD преобразует целочисленный операнд к формату с ПТ с двойной точностью перед выполнением сложения. Если сумма двух операндов с противоположными знаками равна 0, результат принимает значение +0. Исключение при округлении в режиме -∞, в этом случае результат -0. Когда операндом является целое число равное 0, то оно трактуется как +0.

Таблица2.1 - Результаты команды FIADD.

DEST
-∞−F−0+0+F+∞NaN

S

R

C

−I-∞−FSRCSRC±F or ±0+∞NaN
+0-∞DEST±0+0DEST+∞NaN
+I-∞±F or ±0SRCSRC+F+∞NaN

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

· положительный ноль: все биты числа сброшены в ноль;

· отрицательный ноль: знаковый бит — 1, все остальные биты — нули;

· положительная бесконечность: знаковый бит — 0, все биты мантиссы — 0, все биты экспоненты — 1;

· отрицательная бесконечность: знаковый бит — 1, все биты мантиссы — 0, все биты экспоненты — 1;

· денормализованные числа: все биты экспоненты — 0 (используются для работы с очень маленькими числами — до 10-16445 для расширенной точности);

· неопределенность: знаковый бит — 1, первый бит мантиссы (первые два для 80-битных чисел) — 1, а остальные — 0, все биты экспоненты — 1;

· не-число типа SNAN (сигнальное): все биты экспоненты — 1, первый бит мантиссы — 0 (для 80-битных чисел первые два бита мантиссы — 10), а среди остальных бит есть единицы;

· не-число типа QNAN (тихое): все биты экспоненты — 1, первый бит мантиссы (первые два для 80-битных чисел) — 1, среди остальных бит есть единицы. Неопределенность — один из вариантов QNAN;

· неподдерживаемое число: все остальные ситуации.

Флаги результата:

РЕ — флаг неточного результата — результат не может быть представлен точно

UE — флаг антипереполнения — результат слишком маленький.

ОЕ — флаг переполнения — результат слишком большой.

DE — флаг денормализованного операнда — выполнена операция над денормализованным числом.

IE — флаг недопустимой операции — произошла ошибка стека (SF = 1) или выполнена недопустимая операция.

C1 устанавливается в 0, если стек оказался пуст; устанавливается, если результат был округлён; во всех остальных случаях пуст.

C0, C2, C3 не определены.

5)Исключения:

#IS стек пуст.

#IA операнд является signalling Not a Number (порядок 111...111, мантисса 1,0ххх...ххх (ненулевая)) или его формат не поддерживается. Операнды являются бесконечностями с разными знаками.

#D - денормализованный операнд.

#U - результат слишком мал для заданного формата.

#O – результат слишком велик для заданного формата.

#P - значение не может быть точно представлено в заданном формате.

2.2 Форматы данных

Таблица 2.2 - Типы данных FPU

Тип данныхБит

Количество

значащих цифр

Пределы
Целое слово164-32768 — 32767

Расширенное

вещественное

80193.37*10-4932 —1.18*104932

а) Числа с фиксированной точкой

Числа с фиксированной точкой рассматриваются как целые числа со знаком и без знака (Рис.2.1).

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

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

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

Рис. 2.1. Представление чисел с фиксированной точкой.

б) Числа с плавающей точкой.

Вещественный формат IEEE, используемый в проектируемом процессоре:

· расширенное вещественное: бит 79 — знак мантиссы, биты 78 – 64 — 15-битная экспонента + 16 383, биты 63 – 0 — 64-битная мантисса с первой цифрой (то есть бит 63 равен 1) (Рис. 2.2).

Рис. 2.2. Представление чисел с плавающей точкой (расширенный формат)

Формат начинаются со знакового бита для всего числа; 0 указывает на положительное число, 1 — на отрицательное. Затем следует смещенная экспонента. В конце идут мантиссы по 23, 52 и 63 бита соответственно.

Нормализованная мантисса начинается с 1, за которой следует 1 остаток мантиссы. 1 бит перед мантиссой сохраняется. Следовательно, стандарт определяет мантиссу следующим образом. Она состоит из явного бита, который всегда равен 1, и явной двоичной точки, за которыми идут 63 произвольных бита. Если все 63 бита мантиссы равны 0, то мантисса имеет значение 1,0. Если все биты мантиссы равны 1, то числовое значение мантиссы немного меньше, чем 2,0. Значащая часть числа (s) всех нормализованных чисел лежит в диапазоне 1 < s < 2.

2.3 Расчет и выбор разрядности основных узлов процессора

1) Регистр команд предназначен для хранения команд и его длина определяется максимальным форматом команды из заданного в техническом задании набора команд:

n(РгК) = 32 [бит].

2.3.2. Регистр адреса команд:

Длина счетчика адреса команд СчАК, определяется емкостью ОП в полусловах:

n(СчАК) = log2 E = log2 223 = 23 [бит].

2) Регистр адреса ОП.

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

n(РАОП) = log2 (E / L) = log2 (223/ 23) = 20 [бит].

где E – емкость оперативной памяти (8Мб);

L – длина слова (8 байт).

3) Регистр чтения и регистр записи.

Оба регистра будут иметь одинаковую разрядность, равную длине слова ОП- L.

n(РгЧт/РгЗп)=64 [бит]

4) Слово состояния процессора.

В качестве слова состояния процессора будет выступать регистр CR0, разрядность которого, согласно IA-32, 32 бита.

n(ССП)=32 [бит].

5) Рабочие программно недоступные регистры.

Рабочими регистрами будут регистры, находящиеся в блоках обработки данных. Так, например, для выполнения команды XCHG необходим регистр для промежуточного хранения переменной Temp.Этот регистр будет 32х разрядным.

Также программно недоступным будет регистр буфера РгБ, необходимый для уменьшения количества обращений к ОП. Его разрядность вычисляется по формуле L-1 (длина слово ОП минус 1 байт)

Таким образом, n (РгБ)=56[бит].

Так же нужны регистры для хранения операндов, для промежуточных вычислений, сдвигов (32 разряда), для обработки знаков, характеристик и мантисс(1, 15 и 64 разряда соответственно).

Для обращения к отдельным битам регистра флагов EFLAGS, системного регистра CR0 необходимs отдельныt регистрs по 32 разряда.

Аналогично для 16 разрядных регистров TR, SR, CR нужны 16 разрядные регистры.

Для работы с РОНами необходимы регистры, которые обращались бы с частью этих регистров(EAX->AX->AL и AH), то есть 32, 16 и 8 разряда

2.4 Регистровая модель

2.4.1 Структура ССП

Словом состояния программы является регистр CR0.

Он содержит системные флаги управления, которые контролируют режим работы статусом процессора.

ССП имеет следующий формат:

P

G

C

D

N

W

A

M

W

P

N

E

E

T

T

S

E

M

M

P

P

E

31302928 1918171615 6543210

Регистр CR0 содержит флаги, которые управляют или показывают условия, относящиеся к системе в целом, а не к отдельной задаче. Младшие 16 бит (биты с 0 по 15) этого регистра называются словом состояния машины (MachineStatusWord - MSW) для совместимости с МП 80286.

PE - разрешение защиты (ProtectionEnable, 286+). Когда PE=1 процессор находится в защищенном режиме. Если бит сброшен, то процессор находится либо в режиме реального адреса, либо в режиме системного управления (тип режима определяется аппаратно: в режиме системного управления активен сигнал SMIACT#).

MP - наличие сопроцессора (MathPresent, 286+). Влияет на выполнение команды WAIT/FWAIT, которая используется для взаимодействия с сопроцессором(0).

EM - эмуляция сопроцессора (Emulation, 286+). Показывает, нужно ли эмулировать функции сопроцессора. Установка бита EM часто возникает в случае отсутствия сопроцессора в системе. Когда EM=1, любая команда для сопроцессора, команда MMX или SSE/SSE2 вызывает особый случай(0).

TS - задача переключена (TaskSwitched, 286+). Процессор устанавливает этот бит при каждом переключении задач. Он также проверяет этот бит, когда интерпретирует команды сопроцессора, так как состояние последнего требуется сохранять только в случае запроса сопроцессора новой задачей. Бит TS может быть очищен загрузкой в регистр CR0, а также специальной командой CLTS(0).

ET - тип расширения (Extension Type, 386, 486). Показывает тип сопроцессора: 80287 (ET=0), 80387 или встроенный FPUi486DX (ET=1). В новых моделях бит зарезервирован и всегда содержит 1.

NE - ошибка сопроцессора (NumericError, 486+). Когда NE=1, процессору разрешается пользоваться внутренним ("родным") механизмом сигнализации ошибок с плавающей точкой. Когда NE=0, процессор эмулирует сигнализацию ошибок с плавающей точкой как у внешних сопроцессоров (80287, 80387), выставляя сигнал FERR#, который должен обрабатываться внешним контроллером прерываний(0).

WP - защита от записи (WriteProtect, 486+). Защита от записи страниц с пометкой "read-only" при обращениях с уровня супервизора.

AM - маска выравнивания (AlignmentMask, 486+). Если CR0.AM=1 и EFLAGS.AC=1 и CR0.PE=1 и CPL=3, то производится контроль выравнивания. Т.е. при обращениях к памяти двойное слово обязательно должно начинаться с адреса, кратного 4, а 16-битное слово - с адреса, кратного 2, иначе генерируется нарушение контроля выравнивания (исключение #17).

NW - несквозная запись (Not Write-through, 486+). Используется для управления кэшированием(0).

CD - запрещение кэш-памяти (CacheDisable, 486+). Используется для управления кэшированием(1).

PG - страничная трансляция (Paging, 386+). Определяет, использует ли микропроцессор таблицы страниц для трансляции линейных адресов в физические. Страничная трансляция используется только в защищенном режиме, и попытка выставить этот бит в реальном режиме приводит к нарушению общей защиты (исключение #13)(0).

2.4.2 StatusRegister

Показывает текущее состояние x87FPU.

15141311109876543210
BC3TOPC2C1C0ESSFPEOEUEZEDEIE

B - FPU занят

TOP - вершина стека

Флаги исключений

- точность

- переполнение

- деление на 0 ( не используется)

- денормализованный операнд

- неправильная операция

SF – ошибка стека( не используется)

ES – статус ошибки(не используется)

C3 C2 C1 C0- флаги состояния (с3,с2,с1 – не используются)

2.4.3 ControlRegister.

Содержит маски исключений и контролирует точность и методы округления.

15 14 131211 109 87 6543210
XRCPCPMOMUMZMDMIM

X – контроль бесконечности

RC – контроль округления

PC - контроль точности

Маски исключений

- точность

- Underflow

- переполнение

- деление на 0(нет)

- денормализованный операнд

- неверная операция

2.4.4 TAG Register

Регистр отражает содержимое регистров стека FPU.

15 1413 1211 109 87 65 43 21 0
TAG(7)TAG(6)TAG(5)TAG(4)TAG(3)TAG(2)TAG(1)TAG(0)

TAG значения

00 — используемый

01 — 0

10 — NaN, неподдерживаемый формат, бесконечность или денормализованный

11 — пустой

Регистры, предусмотренные архитектурой IA-32:

1) восемь 32-разрядных регистров общего назначения (РОН): EAX,

EBX, ECX, EDX, ESI, EDI, EBP, ESP;

2) шесть 16-разрядных сегментных регистров CS, SS, DS, ES, FS,

GS;

3) 32-разрядный указатель команд EIP;

4) 32-разрядный регистр флагов EFLAGS;

5) восемь 80-разрядных регистров данных R0-R7 для чисел с плавающей точкой, организованных в виде кольцевого стека;

6) 16-разрядные регистры блока с плавающей точкой: регистр тэгов

TW, регистры управления FPCR и состояния FPSR;

7) 32-разрядный системный регистр CR0.

2.4.5 Регистры БОД

БОД БФТ содержит 16 – 32-х разрядных регистров, 8 из них РОНы, 6 – сегментные и 2 рабочих регистра – РгЛОП (регистр, куда извлекается левый операнд из памяти) и РгП ( регистр для правого операнда). Для упрощения понимания алгоритма сложения чисел с ПТ (команда FIADD) внесём синонимы рабочих регистров БФТ. Р1р ( порядок числа из ST) , РСМр (порядок числа из памяти)- это РгП.


Таблица 2.3 – Регистры БФТ

ОбозначениеАдрес РегистраКомментарий
РОН[1]0000EAX
РОН[2]0001EDX
РОН[3]0010ECX
РОН[4]0011EBX
РОН[5]0100EBP
РОН[6]0101ESP
РОН[7]0110ESI
РОН[8]0111EDI
Seg[1]1000CS
Seg[2]1001SS
Seg[3]1010DS
Seg[4]1011ES
Seg[5]1100FS
Seg[6]1101CS
РгЛОП1110Рабочий
РгП1111Рабочий

БОД БПТ содержит 16 – 64-х разрядных регистров. Все они являются рабочими.

Таблица 2.4 – Регистры БПТ

ОбозначениеКомментарий
Р1зРабочий
Р1мРабочий
РСМзРабочий
РСМмРабочий
СчТРабочий
РПТ[5..16]Рабочий

Также в регистровую модель входят EFLAGS, CCП(CR0), EIP(CчАК), с разрядностью по 32 бита.

Дополнительно к регистровой памяти относятся РгК, буферный регистр РгБ, РгЧтОП, РгЗпОП. Отдельно размёщены стековые регистры ST, также TR, SR, TR.

2.5 Виды адресации

В архитектуре IA-32 определен большой и гибкий набор режимов адресации, используемых для доступа к отдельным элементам и областям памяти. Как минимум один операнд из двух, которые используются в команде, должен находиться в регистре. Регистр задается в поле Reg/OPcodeбайта ModR/M. В таблице 2.9 приведены значения байта ModR/M для 32-х битного режима. В таблице 2.10 приведены значения байта ModR/M для 16-и битного режима. Если второй операнд тоже содержится в регистре, этот регистр задается в поле R/M того же байта. Если же второй операнд находиться за пределами регистра, он может быть непосредственно задан в команде, такой вид адресации называется непосредственным, или же храниться в памяти. В таблице 2.7 показано, как задается второй операнд для 32-х разрядного режима. Такие типы адресации, как косвенная регистровая и регистровая определяются 2-х битовым полем ModR/M. В базовой индексной адресации применяется байт SIB. Коды коэффициентов масштабирования 1, 2, 4 и 8 соответствуют кодам 00, 01, 10, 11. В этом байте задаются базовый и индексный регистры. Аналогичное описание для 16-и битного режима приведено в таблице 2.8.

Непосредственная адресация (immediate). Операнд содержится прямо в команде. Это 8-разрядное, 16-разрядное или 32-разрядное число, длина которого определяется соответствующим битом в коде операции.

Прямая адресация (direct). Адрес операнда в памяти определяется заданным в команде смещением.

Регистровая адресация (register). Операнд содержится в одном из восьми регистров общего назначения, заданном в команде.

Косвенная регистровая адресация (registerindirect). Адрес операнда в памяти содержится в одном из восьми регистров общего назначения, заданном в команде.

Базовая индексная (base with index). В команде задаются два из восьми регистров общего назначения и коэффициент масштабирования – 1,2,4 или 8. Регистры используются как базовый и индексный, а исполнительный адрес вычисляется следующим образом: содержимое индексного регистра умножается на коэффициент масштабирования, а к результату прибавляется содержимое базового регистра.

Таблица 2.5 – Режимы адресации, выбираемые байтами ModR/M SIB(32)

Байты ModR/M

Адресация

Поле Mod

B7 b6

Поле R/M

b2 b1 b0

0 0Reg

Косвенная регистровая,

EA=[Reg]

1 1Reg

Регистровая,

EA=Reg

Исключения
0 01 0 1

Прямая,

EA=Disp32

0 01 0 0

Базовая индексная(применяется байт SIB),

EA=[Base]+[Index]×Scale.

Таблица 2.6 – Режимы адресации, выбираемые байтами ModR/M SIB(16)

Быйты ModR/M

Адресация

Поле Mod

b7 b6

Поле R/M

b2 b1 b0

0 0Reg

Косвенная регистровая,

EA=[Reg]

1 1Reg

Регистровая,

EA=Reg

Исключения
0 01 10

Прямая,

EA=Disp16

3 Структурная организация процессора

3.1 Общая структура процессора

Структурная схема процессора представлена на Рис.3.1. В состав процессора входят: блок микропрограммного управления (БМУ), арифметико-логическое устройство(АЛУ), которое может разделяться на операционный блок с фиксированной точкой и операционный блок с плавающей точкой. Обмен между блоками и также связь между процессором и ОП осуществляется через блок интерфейса (БИНТ). Управляющие сигналы передаются из БМУ в АЛУ (БФТ и/или БПТ) и ОП по шине управления (ШУ). Осведомительные сигналы (ОС) из БФТ, БПТ и ОП поступают в БМУ по шине ШОС.

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

3.2 Выбор и обоснование элементной базы

Для проектирования МП на архитектуре IA-32 был выбран микропроцессорный комплект серии 1804. Сильными сторонами этого комплекта являются микропрограммируемость и возможность разрядного расширения . Высокая производительность реализуется за счёт применения ТТЛШ-технологии. Разнообразие схем, ориентированных на применение в различных устройствах, обеспечивает большую архитектурную гибкость при разработке вычислительной аппаратуры.

Блоки обработки данных построены на схемах К1804ВС2, дополнены схемами ускоренного переноса К1804ВР1.

БМУ построен на схеме К1804ВУ4 . Регистровая память организована на 4х разрядных схемах К1804ИР1 и на 8 разрядных схемах К1804ИР2.

3.3 Блоки обработки данных

3.3.1 Блок с фиксированной точки

БФТ построен на 8 микропроцессорных секциях К1804ВС2, так как их разрядность 4 бита. Они дополнены 3 схемами ускоренного переноса К1804ВР1., которые уменьшают время вычислений при переносе разряда из одной МПС в другую.

В данной МПС находится РЗУ, содержащее 16 четырёх разрядных регистра. 8 из них будут использоваться как РОНы.

МПС содержит доступные снаружи буферы DY и DB. Корпус имеет 48 выводов. АЛУ выполняет 16 простых операций (7 арифметических, 7 логических, константа 0 и константа 1), а также 9 специальных функций, среди которых есть и многотактные операции (умножение, деление).

Источники операндов задаются сочетанием сигналов на управляющих входах, и I0. Это могут быть РА, РВ, DA, DB, PQ в следующих сочетаниях: РА — РВ PA —DB, PA-PQ (EA = 0), DA — РВ, DA - DB, DA —PQ (= 1). В случаях РА — PQ и DA — PQ возможны варианты обмена по шине DB, работающей на выдачу ( = 0) либо выключенной ( = 1). БФТ связан с ОП, БМУ через шины данных DA, DB, DY, шину МК. На выходе МПс вырабатываются флаги результата: перенос С, переполнение V, знак N, признак нуля Z.

БФТ применяется для выполнения операций над числами с фиксированной точкой.

Рис.3.2. Структурная схема МПС К1804ВС2

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

В РЗУ МПС К1804ВС2 можно записывать (по адресу В) либо результат АЛУ (сдвинутый или несдвинутый), либо данные с шины DY.

Выделение знакового разряда при арифметических сдвигах, особенности выполнения специальных функций приводят к тому, что МПС должна работать по-разному, в зависимости от того, в какой позиции она находится — старшей, средней или младшей. При создании многоразрядной схемы МПС программируется по занимаемой позиции. Для этого предназначены специальные выводы БИС: LSS и WRITE/MSS. Линия LSS — это вход задания младшей позиции: LSS = 0 — младшая МПС, LSS=1—средняя или старшая МПС. Двунаправленная линия WRITE/MSS имеет два значения: в младшей МПС (при LSS = 0) это выход WRITE для управления входом (разрешение записи в РЗУ) всех секций; при LSS=1 эта линия становится входом выбора старшей МПС (MSS=0) или средней МПС (MSS = 1).

Кроме рассмотренных выше управляющих входов, имеются входы (разрешение выдачи результата АЛУ па шину DY) и (разрешение записи в PQ). Выход признака нуля Z в некоторых специальных функциях используется как дополнительный управляющий вход. Так как выходы АЛУ N (знак) и OVR (переполнение) используются только в старшей МПС, а выходы и для формирования ускоренного переноса — только в средних и младшей МПС, то эти четыре сигнала мультиплексируются в две линии /N и /OVR в зависимости от позиции МПС. Всего для управления секцией К1804ВС2 требуется 22 разряда микрокоманды (не считая управления переносом и сдвигами).

Таблица 3.1 - Стандартные функции, реализуемые МПС.

Сигналы на входах выбора функции

Функция АЛУ F

I4I3I2I1
0000Специальные функции при IO=0
00001111 при IO=1
0001S-R-1+CO
0010R-S-1+CO
0011R+S+CO
0100S+CO
0101S+CO
0110R+CO
0111R+CO
10000000
1001Ri^Si
1010Ri+Si
1011Ri+Si
1100Ri+Si
1101RiVSi
1110Ri^Si
1111RiVSi

Таблица 3.2 - Специальные функции, реализуемые МПС.

ВходыФункцияФункция АЛУ FФункция Сд. FСостояние выводовФункции Сд. Q и Рг. QСостояние выводов
I8I7I6I5PF3PF0PQ3PQ0W
Ст. МПСДр. МПС
0000

Умножение

без знака

S+C0, если Z=0, R+S+C0, если Z=1Лог. F/2→YXВходF0Лог. Q/2→QВходQ00
0010Умножение в дополнительном кодеS+C0, если Z=0, R+S+C0, если Z=1Лог. F/2→YXВходF0Лог. Q/2→QВходQ00
0100Прибавление к числу единицы или двойкиS+1+C0F→YВходВходЧетностьХранениеXX0
0101Преобразование числа в дополнительный кодS+C0, если Z=0, S+C0, если Z=1F→YВходВходЧетностьХранениеXX0
0110Умножение в дополнительном коде (последний цикл)S+C0, если Z=0, S–R–1–C0, если Z=1Лог. F/2→YХВходF0Лог. Q/2→QВходQ00
1000Нормализация слова одной длиныS+C0F→YF3F3XЛог. 2Q→QQ3Вход0
1010Нормализация слова двойной длиныS+C0Лог. 2 F→YR3+F3F3ВходЛог. 2Q→QQ3Вход0
1100Деление в дополнительном кодеS+R+C0, если Z=0, S–R–1+C0, если Z=1F Лог. 2 F→YR3+F3F3ВходЛог. 2Q→QQ3Вход0
1110Деление в дополнительном коде, коррекцияS+R+C0, если Z=0, S–R–1+C0, если Z=1F→YF3F3XЛог. 2Q→QQ3Вход0

3.3.1 Блок с плавающей точкой

БПТ выполняет операции над числами с плавающей точкой, выполняет их приведение для последующей обработки.

БПТ построен на 16 МПС (К1804ВС2). Регистры РЗУ используются как рабочие. Всего РЗУ состоит из 16ти 64 разрядных регистров. Через мультиплексор из ST , а потом через шину DB, на БОД подаются 64 разряда мантиссы. Для определения вершины стека используется регистр SR. Через шину DY идёт обратная запись в стек 64 разрядов мантиссы. Через шину DA поступают данных из других источников данных. Схема ФУП используется для проверки условий перехода.

Построение БОД для плавающей точки и схема соединения аналогична БФТ.

Рис.3.3. Структурная схема БПТ

3.4 Управляющий автомат (УА)

3.4.1 УА с жесткой логикой.

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

Составим управляющий автомат с жесткой логикой для выполнения команды SUB вычитания чисел в формате с фиксированной точкой.

Составляем отмеченную ГСА:

В условной вершине записываем элемент из множества логический условий X. В операторные вершины записываем операторы (микрооперации) y1 и y2 соответственно из множества микроопераций Y. Начальную и конечную вершины отмечаем символом a1, оставшиеся операторные вершины обозначаем а2 и а3.Находим пути перехода между операторными вершинами.

ГСА автомата имеет условную вершину: x - CR0 и 2 операторные вершины: a1 – Mem16 :=Mem16 - Reg[0..15], a2 – Mem32 :=Mem32 - Reg[0..31]

Рис. 3.4. ГСА алгоритма

Рис. 3.5. Граф автомата Мура

Так как имеется три состояния, то количество триггеров равно 2. (N=]log2n[)

Построение управляющего автомата будем осуществлять на D – триггере.

Таблица 3.3 - Структурная таблица.

aiКод aiai+1Код ai+1xy

Сигналы возбуждения

D1 D2

Q1 Q2Q1 Q2
a000a101x01
a000a210x10
a101a0001y100
a210a0001y200

Функции переходов и выходов

D1 = !Q1!Q2 x

D2 = !Q1!Q2!x

y1 = !Q1Q2

y2 = Q1!Q2

Рис. 3.6. Автомат Мура

3.4.2 УА с микропрограммным управлением

БМУ построен на МПС К1804ВУ4, выполняющей функции управления последовательностью микрокоманд (УМП). Основная функция схемы УМП заключается в формировании последовательности адресов микрокоманд, хранящихся в микропрограммной памяти, под воздействием внешних управляющих сигналов.

Рассматриваемая схема УПМ имеет следующие архитектурные особенности: 12-разрядная размерность всех внутренних элементов УПМ, обеспечивающая возможность адресации до 4096 слов; четыре источника адреса (внутренний регистр адреса/счетчика, счетчик микрокоманд, адресная шина и стек глубиной пять); 16 инструкций управления, большинство из которых являются условными; выходные сигналы отпирания одного из трех внешних устройств, подключенных к адресной шине (позволяют выполнять функции дешифратора); внутренний регистр адреса (может выполнять функции и регистра и счетчика циклов); трехстабильные выходы. Все внутренние регистры построены на триггерах, срабатывающих по положительному фронту тактового сигнала, что упрощает временную синхронизацию.

Устройство управления включает в себя мультиплексор с четырьмя входами, используемый для выбора в качестве источника адреса следующей микрокоманды, регистр/счетчик, вход прямого адреса, счетчик микрокоманд СМК, стек.

Регистр/счетчик РгА/Сч состоит из 12 триггеров D-типа, доступ к которым осуществляется во время одного и того же такта. При выдаче сигнала разрешения загрузки (поступления на вход RLD сигнала низкого уровня) новые данные загружаются в РгА/Сч во время действия переднего фронта тактового импульса. Выход может быть подключен к мультиплексору и использован в качестве источника адреса следующей микрокоманды. В свою очередь, вход прямого адреса устройства является источником данных, загружаемых в РгА/Сч.

Счетчик микрокоманд состоит из 12-разрядного устройства приращения, инкрементора Инкр и 12-разрядного регистра.

Счетчик микрокоманд может использоваться одним из двух способов. Когда сигнал разрешения ввода данных в устройство приращения, подаваемый на вход СО, имеет высокий уровень, в РгСМК во время следующего такта загружается передаваемый на выход адрес, увеличенный на 1 Таким образом обеспечивается последовательное выполнение микрокоманд. Когда сигнал на входе СО имеет низкий уровень, содержимое устройства приращения остается прежним и во время следующего такта СМК перезагружается тем же самым адресом, находящимся на выходе У .Следовательно, одна и та же микрокоманда может выполняться любое количество раз.

Другим источником адреса является вход прямого адреса. Этот источник используется для выполнения переходов в микропрограмме.

Четвертым источником адреса, передаваемого на вход мультиплексора МС, является стек объемом 5 слов

Рис. 3.7.Структурная схема МПС К1804ВУ4

В блок микропрограммного управления входят схема управления последовательностью МК (УПМ), микропрограммная память (МП), регистр микрокоманд (РгМК), блок фиксации логических условий (БФЛУ), мультиплексор кода условий (МКУ), регистр команды (РгК), логические схемы.

ПНА – формирует начальный адрес микропрограммы выполняемой операции. Реализуется на ПЗУ или ПЛМ.

УПМ схема управления последовательностью микрокоманд – формирует последовательность адресов микрокоманд, находящихся в МП. Построена на микросхеме К1804ВУ4.

МП – микропрограммная память представляет собой быстродействующее ПЗУ.

РгМК – регистр микрокоманд.

РгК – регистр команд построен на 6 микросхемах К1804ИР1.

БФЛУ – блок фиксации логических условий.

МКУ – мультиплексор кода условий – производит выбор анализируемого условия.

Выбор следующего адреса определяется инструкцией УПМ и значением логических условий, к которым относятся флажки Z, N, V, C операционных блоков, значение триггера перехода ТП, сигнал занятости ОП Z(ОП) . Выбор анализируемого условия выполняется МКУ.

Рис. 3.8.Блок микропрограммного управления

3.5 Регистровая память

Согласно регистровой модели и архитектуре регистровая память должна включать следующие регистры ССП ( СR0), EFLAGS, EIP– 32 разрядные, SR, TR, CR – 15 разрядные, ST() – 80 разрядные. РОНы реализованы внутри МПС, поэтому их описание не приводится. Также к регистровой памяти относятся регистры РгК, РгБ, РАОП, РгЗпОП, РгЧтОП.

32х разрядный регистр ССП(CR0) и регистр флагов EFLAGS, предусмотренные архитектурой IA-32, построены на 4 микросхемах К1804ИР2.

Счётчик команд EIP( 32 разряда) построен на четырёх микросхемах К1804ИР2. Счетчик адреса команд, входящий в EIP, представляет собой 23-разрядный регистр.

StatusRegister, TAGRegisterи ControlRegisterтакже построены на 2 микросхемах К1804ИР2 каждый.

Регистр буфера представляет собой 56-разрядный регистр, который используется для предвыборки команды, с целью уменьшения количества обращений в ОП. Построен на 7 микросхемах К1804ИР2.

Регистры с плавающей точкой представляют собой 8 80-разрядных регистров, которые используются для хранения чисел с ПТ. Выполнены на 20 микросхемах К1804ИР2.

Регистр данных состоит из 32-разрядного регистра и служит для хранения операнда, извлеченного из ОП. Построен на 4 микросхемах К1804ИР2.

Описание К1804ИР2.

Микросхема К1804ИР2 – 8 разрядный параллельный регистр, предназначеннвй для применения в центральных процессорах.

Таблица 3.4 – Назначение выводов К1804ИР2.

ВыводОбозначениеТип выводаФункциональное назначение выводов
1RВходОбнуление регистра
2DY0ВыходДанные, 0-й разряд
3D0ВходДанные, 0-й разряд
4D1ВходДанные, 1-й разряд
5DY1ВыходДанные, 1-й разряд
6DY2ВыходДанные, 2-й разряд
7D2ВходДанные, 2-й разряд
8D3ВходДанные, 3-й разряд
9DY3ВыходДанные, 3-й разряд
10CВходТактовый сигнал
11GND-Общий
12DY4ВыходДанные, 4-й разряд
13D4ВходДанные, 4-й разряд
14D5ВходДанные, 5-й разряд
15DY5ВыходДанные, 5-й разряд
16DY6ВыходДанные, 6-й разряд
17D6ВходДанные, 6-й разряд
18D7ВходДанные, 7-й разряд
19DY7ВыходДанные, 7-й разряд
20EZDYВходРазрешение выходов данных
21EWRВходРазрешение записи
22Uoc-Напряжение питания

3.6 Оперативная память

Слово оперативной памяти составляет 8 байт.. Сама оперативная память рассматривается как черный ящик. Слово выбирается или записывается за одно обращение к памяти при помощи мультиплексоров и демультиплексоров. В состав ОП входят запоминающее устройство( РгЗпОП и РгЧтОП), регистр адреса. Чтение и запись в ОП инициируются сигналами ЧтОП и ЗпОп соответственно. 20 разрядный РгАОП, который хранит адрес команды, которая выполняется в текущий момент, построен на 5 микросхемах К1804ИР1. РгЧтОП и РгЗпОП построены на восьми 8 разрядных микросхемах К1804ИР2.

3.7 Блок интерфейса.

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

Посредством БИНТ предоставляется возможность подачи на РгК необходимых разрядов из РгЧтОП или РгБ, осуществляется считывание необходимых байтов из РгК для обработки в БОД, выбор шин входных и выходных данных для БОД, запись в РгЗпОП слово, согласование работы РГЗпОП и ОП.

Также посредством БИНТ происходит выборка адресов регистров в БОД. Для пересылки данных из БПТ в БФТ и обратно также используется БИНТ. Управление БИНТ осуществляется подачей управляющих сигналов из БМУ. Для управления записью в регистры используются соответствующие линии. Выбор подаваемых данных на шины данных МПС также осуществляется посредством БИНТ. ( выбор источников для шин DAи DB)/


4 Содержательные схемы алгоритмов работы процессора

4.1 Общий алгоритм цикла работы процессора

Для начала цикла работы процессора необходимо единичное значение условия ПУСК, то есть нужно включить процессор. Затем происходит выборка команды из ОП , её декодирование и анализируется, досчитана ли команды до конца. Если нет, то необходимо досчитать команду. В результате могут возникнуть особые случаи ( например, команды с полученным кодом нет), тогда дальнейшее управление передаётся на обработчик прерываний и после него цикл работы процессора повторяется.

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

После этого цикл работы процессора повторяется, пока не возникнет нулевой сигнал ПУСК.

Рис. 4.1. Цикл работы процессора

4.2 Выборка команд

Перед началом выборки команды анализируется триггер перехода (ТП). Это позволяет определить, нужно ли обращаться к ОП или можно досчитать недостающую часть команды из регистра буфера (РгБ). При естественном порядке следования команд ТП принимает значение 0,в противном же случае он равен 1 ( например, при обработке прерываний происходит переход) и необходимо обращаться к ОП для считывания следующей команды. В зависимости от последних байтов СчАК, выбирается соответствующий начальный байт считывания из слова ОП. В случае, когда команда начинается с 5, 6 или 7 (нумерация с 0) байта, может возникнуть ситуация, что нужно будет досчитать команду с нового слова ОП, тогда в работу вступают алгоритмы 1, 2 и 3, где производится анализ по уже считанным байтам, что это за команда, её длина и определяется, нужно ли переходить на новое слово ОП. В зависимости от того, сколько байтов занимает команда ( блок условия определения количества байтов в команде), СчАК увеличивается на соответствующее значение.

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

Алгоритмы 1, 2 и 3 необходимы при ситуации, когда в регистр команд РГК загружено 3, 4 и 5 байтов команды соответственно и может оказаться , что нужно досчитать ещё 1, 2 или 3 байта.

Рис. 4.2. Выборка команды (первая стадия)

Рис. 4.3. Выборка команды (досчитывание 1 и 2)

Рис. 4.4. Выборка команды (досчитывание 3)

Рис. 4.5. Определение количества считываемых байтов


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

Рис. 4.6. Декодирование и определение последовательности действий для четырёх команд задания

4.3 Формирование исполнительного адреса и выборка операндов

При формировании ИА анализируется поле R/M, где указывается со значением какого из регистров будет складываться смещение, а также режим работы процессора (CR0(0)). В зависимости от этого значения, режим может оказаться реальным или защищённым, и соответственно алгоритм формирования ИА будет отличаться. При недопустимых значения поля R/M или выхода ИА за пределы ОП, вырабатываются сигналы прерывания и вызывается обработчик прерываний. ИА формируется в специальном регистре адреса данных РгАД. Затем из него извлекаются необходимые биты для обращения к соответствующему слову ОП.

Рис. 4.8. Формирование исполнительного адреса

Рис. 4.9. Выборка операндов (ВО1)

Рис. 4.10. Выборка операндов (ВО3)

Рис. 4.11. Выборка операндов (ВО4)

Рис. 4.12. Выборка непосредственного операнда из РгК

Рис. 4.13. Выборка операнда из РОН (2 байта)

Рис. 4.14. Выборка операнда из РОН (4 байта)

4.4 Обработка прерываний

При обработке прерываний сначала происходит сохранение сегментных регистров, затем РОНов и наконец регистра ССП, СчАК и регистра флагов EFLAGS в стек.

Рис. 4.7. Обработка прерываний

4.5 Выполнение четырех операций из индивидуального задания

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

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

Составление же алгоритма для чисел с плавающей точкой потребовало более глубокого понимания и осмысления.

Мантисса и знаки обрабатываются в БПТ (РСМм, Р1м, РСМз, Р1з), порядок же обрабатывается в БФТ (для однообразия и внесения смысловой нагрузки для упрощения понимания алгоритма создадим соответствие Р1р, РСМр – это порядки в БФТ. Рр1 это РгП, РСМр - это РгЛОП ( операнд из памяти). Изначально в РСМр целое число со знаком.

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

Затем реализуется сам алгоритм сложения с учётом возможных особых случаев ( переполнение, антипереполнение порядка, потеря точности).

Кратко алгоритм можно описать так:

1. Производится выравнивание порядков чисел. Порядок меньшего (по модулю) числа принимается равным порядку большего числа, а мантисса меньшего числа сдвигается вправо на число S-ичных разрядов, равное разности порядков чисел.

2. Производится сложение мантисс, в результате чего получается мантисса суммы.

3. Порядок результата принимается равным порядку большего числа.

4. Полученная сумма нормализуется.

При сравнении порядков возможны пять случаев:

1) px-py>m (m— число разрядов мантиссы). В качестве результата суммирования сразу же может быть взято первое слагаемое, так как при выравнивании порядков все разряды мантиссы второго слагаемого принимают нулевое значение;

2) px-py>m. В качестве результата суммирования может быть взято второе слагаемое;

3) .px-py=0. Можно приступить к суммированию мантисс;

4) px-px=k1 (k1<m) Мантисса второго слагаемого сдвигается на разрядов вправо, затем производится суммирование мантисс;

5) py-px=k2 (k2<m) Перед выполнением суммирования мантисс производится cдвиг на разрядов вправо мантиссы первого слагаемого.

За порядок результата при выполнении суммирования принимается больший из порядков операндов.

Рис. 4.15. Выполнение команды КОМ1

Рис. 4.16. Запись результата КОМ1

Рис. 4.17. Выполнение команды КОМ2

Рис. 4.18. Выполнение команды КОМ3

Рис. 4.19. Запись результата КОМ3

Рис. 4.20. Довыборка операндов (ВО4)

Рис. 4.21. Выполнение команды КОМ4 (начало)

Рис. 4.22. Выполнение команды КОМ4 (окончание)

Рис. 4.23. Запись результата КОМ4

5 Микропрограммное управление

5.1 Формат микрокоманды

Таблица 5.1 –Формат микрокоманды.

ЗонаПолеКоличество разрядовЗначение по умолчанию
БФТ

MUXA

MUXB

ИСТ

УВП

АЛУ

СДВ

РЕЗ

А

В

2

2

3

2

4

3

3

4

4

0

0

0

0

6

C

0

0

0

БПТ

ИСТ

УВП

АЛУ

СДВ

РЕЗ

А

В

3

2

4

3

3

4

4

0

0

6

C

0

0

0

БМУ

УСА

ФУ

И

АП

УСЛ

RLD

БУ

ВБ

4

1

1

12

3

1

1

1

E

1

0

0

0

1

0

1

БИНТБФТ

MUXDAФТ

MUXDBФТ

DMXDYФТ

DMXDBФТ

2

3

2

1

0

0

0

0


БПТ

MUXDAПТ

DMXDYПТ

MUXDBПТ

1

2

1

0

0

0

ОП

MUXЗП

DMXОП

MUXБЧ

MUXСА

3

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

Рг

СчАК

РгАД

РгБ

РгК

ОП

R/W

РАОП

РгЧтОП

РгЗпОП

CS

1

1

1

1

1

0

0

0

0

0

CONST640

Таблица 5.1 (продолжение)

5.1.1 Зона БФТ.

Зона состоит из семи полей.

Для адресных входов, в зависимости от того, откуда адреса A и B, разрешены не все возможные адреса. Таким образом, на вход А и B старшим битом всегда должен подаваться 0, если разрешён адресный вход из РгК. Так как в БФТ у меня находится только 2 рабочих регистра - 15 и 16 (оставшиеся отведены под сегментные регистры), то при адресации из РгМК на старшие адресные входы должны подаваться три единицы. Распределение адресов и соответствующих им регистров приведено в разделе 2 (2.4.5 Регистры БОД) .

Поля MUXA и MUXB управляют выбором адреса РЗУ, возможными значениями которого являются адрес регистра из БМУ, регистр из РгК (поле reg или поле r/m). “+” указывает на значение полей по умолчанию.


Таблица 5.2 – Поле MUXA..

MUXAИсточник

00

01

10

11

Адрес из БМУ

РгК(10:12)

РгК(13:15)

-

Таблица 5.3 - Поле MUXB.

MUXBИсточник

00

01

10

11

Адрес из БМУ

РгК(10:12)

РгК(13:15)

-

ИСТ01234567
EA OEB I0000001010011100101110111
Операнд RРгAРгAРгAРгADADADADA
Операнд SРгBРгQDBРгQРгBРгQDBРгQ

Таблица 5.4 - Поле ИСТ.

Таблица 5.5 - Поле УВП.

УВПЗначение переноса

00

01

01

11

0

1

C

C


Таблица 5.6 - Поле АЛУ.

АЛУОперация АЛУ
0000

Специальные

функции при IO=0

00001111 при IO=1
0001S-R-1+CO
0010R-S-1+CO
0011R+S+CO
0100S+CO
0101S+CO
0110R+CO
0111R+CO
10000000
1001Ri^Si
1010RiSi
1011RiSi
1100Ri^Si
1101RiVSi
1110Ri^Si
1111RiVSi

Таблица 5.7 - Поле СДВ.

СДВОперация АЛУ
0000АС ALU вправо
0001ЛС ALU вправо
0010АС ALU, ЛС RGQ вправо
0011ЛС ALU, ЛС РгQ вправо

0100без сдвига
0101ЛС РгQ вправо
0110РгQ:=ALU
0111РгQ:=ALU
1000AC ALU влево
1001ЛС ALU влево
1010AС ALU, ЛС РгQ влево
1011ЛС ALU, ЛС РГQ влево
1100без сдвига
1101ЛС РгQ влево
1110расширение знака
1111без сдвига

Таблица 5.7 (продолжение)

Таблица 5.8 - Поле РЕЗ.

РЕЗOEY WE IENПередача информации

0

1

2

3

4

5

6

7

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Y, РЗУ = СДВ; РгQ =АЛУ

Y, РЗУ = СДВ

Y = СДВ; РгQ = АЛУ

Y = СДВ

РЗУ = Y; РгQ = АЛУ

РЗУ = Y

РгQ = АЛУ

Нет записи

5.1.2 Зона БПТ.

Большинство полей в БПТ повторяют поля БФТ: ИСТ, УВП, АЛУ, СДВ, РЕЗ, А и В. Только для БПТ адрес считывается только из РгМК, в отличие от БФТ и в БПТ располагаются только рабочие регистры.

На адресные входы Aи B может подаваться любая четырёх битная комбинация, так как все регистры в БПТ рабочие, а стек вынесен за пределы БПТ.

Таблица 5.9 – Значение полей А/В.

ЗначениеРегистр
0000Р1з
0001Р1м
0010РСМз
0011РСМм
0100СчТ
0101РПТ1
0110РПТ2
0111РПТ3
1000РПТ4
10001РПТ5
1010РПТ6
1011РПТ7
1100РПТ8
1101РПТ9
1110РПТ10
1111РПТ11

5.1.3 Зона БМУ.

Поле УСА ( управление следующим адресом) принимает значение E по умолчанию, что соответствует последовательному выполнению команд. Для условного перехода в него записывается значение 3.

Поле П разрешает безусловный переход по адресу, записанному в АП.

Поле УСЛ отвечает за выбор условия перехода.

ФУ - фиксация флагов.

И - инверсия условия.

RLD – разрешение записи в Cч/РгА.

ВБ - выбор секции, для которой анализируются условия. 0 – для БФТ, 1 - для БПТ.

АП – адрес перехода. Адрес перехода размещён в отдельном поле, а не с поле CONST, так как поле CONSTможет использоваться для записи какой-либо константы и одновременно нужно организовать переход по адресу. Поэтому эти поля разделены.

УСЛПереход
000Переход по паритетуPF0 = 1
001При равенству 0Z =1
010При отрицат. знакN = 1
011При переполненииV = 1
100При переносеC = 1
101Если меньшеN + V = 1
110Если меньше или равноZ v (N + V ) = 1
111Если меньше или равно без знакаC v Z = 1

Таблица 5.10 - Поле УСЛ.

5.1.4 Зона БИНТ.

Поле БФТ БИНТ

Источником данных для шины DA БФТ могут быть поле CONST из РгМк, операнд из РгЧтОП, передаваемый через мультиплексор MUXРежЧ, а также выход БПТ через DMXDYПТ.

Таблица 5.11 – MUXDAФТ.

MUXDAФТИсточник
00CONST из РгМК
01MUXРежЧ
10DMXDYПТ

Источником данных для шины DB БФТ может быть непосредственный операнд из РгК(8:15), СчАК( для инкремента), смещение из РГК(16:23) или РгК(16:31) и порядок из БПТ через MUXSTPor.

Таблица 5.12 – MUXDBФТ.

MUXDBФТИсточник
000РгК(8:15)
001СчАК
010РгК(16:23)
011РгК(16:31)
100MUXSTPor

Выходом БФТ могут быть шина DA БПТ через MUXDAПТ, РгАД, СчАК или РГЗпОП через MUXЗП

Таблица 5.13 – DMXDYФТ.

DMXDYФТНаправление
00MUXDAПТ
01РгАД
10СчАК
11MUXЗП

Выходом шины DB может быть либо РгЗпОП через MUXЗП, либо разряд порядка мантиссы для стекового регистра через DMXSTPor

Таблица 5.14 – DMXDBФТ.

DMUXDBФТНаправление
0MUXЗП
1DMXSTPor

Поле БПТ БИНТ

Источником данных для шины DA БПТ могут быть поле CONST из РгМк, и выход Y БПТ через DMXDYФТ.

Таблица 5.15 – MUXDAПТ.

MUXDAПТИсточник
0CONST из РгМК
1DMXDYФТ

Выходами шины DY БПТ могут быть входная шина DAБФТ через MUXDAФТ, разряды стека, где хранится мантисса ( через DMXSTMan) и разряды стека, где хранится знак ( через DMXSTZn)

Таблица 5.16 – DMXDYПТ.

DMXDYПТНаправление
00MUXDAФТ
01DMXSTMan
10DMXSTZn

Входаvи шины DBмогут быть либо мантисса через MUXSTManили знак через MUXSTZn.

Таблица 5.17 – MUXDBПТ.

MUXDBПТНаправление
0MUXSTMan
1MUXSTZn

Поле ОП БИНТ

Входами мультиплексора записи MUXЗП могут быть выходы шины DB, DY,СчАК ( при сохранении при прерывании) и ССП( CR0) по той же причине.

Таблица 5.18 – MUXЗП.

MUXЗПИсточник
000DMXDBФТ

001DMXDYФТ
010СчАК
011ССП (CR0)
100EFLAGS

Таблица 5.18 (продолжение)

Запись в РгК может вестись либо напрямую из РгЧтОП, либо через РгБ. Для выбора необходимых байтов используется MUXЧ после которого и идёт запись в РгК. Иначе же ведётся запись из РгБ через соответствующие мультиплексоры.

Таблица 5.19 – DMXОП.

DMXОПНаправление
0РгБ
1MUXЧ

Входом записи РгК могут быть РгБ через MUXБ или РгЧтОП через MUXЧ. Выбор источника осуществляется в MUXБЧ

Таблица 5.20 –MUXБЧ.

MUXБЧИсточник
0MUXБ
1MUXЧ

Мультиплексор MUXСА выбирает, откуда будет произволиться запись в РАОП – из СчАК или РгАД.

Таблица 5.21 –MUXСА.

MUXСАИсточник
0СчАК
1РгАД

Также в поле БИНТ есть поле Рг. В нём определяется в какие из регистров возможна запись. Это регистры СчАК, РгК, РгАД, РгБ.

5.1.5 Зона ОП

Поле используется для управления записи или считывания данных из ОП.

Сигнал CS определяет выбрана ли ОП или нет. Сигналы R/W задают соответственно чтение из ОП в РгЧтОП или запись в РгЗпОП соответственно.

Также зона разрешает запись.

Таблица 5.22– Зона ОП

CSR/WРежим работы ОП
00нет доступа
01нет доступа
10ОП := РгЗпОП
11РгЧтОП := ОП

5.1.6 Зона CONST

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

5.2 Микропрограмма операции обработки чисел в формате с плавающей точкой

Микропрограмма команды FIADD.

АдресСодержание МКЗонаПолеЗначениеПримечание

00

Если РСМм(63)=0, то

переход

БПТ

БМУ

В

ИСТ

АЛУ

УВП

РЕЗ

УСЛ

УСА

АП

4

0

4

0

0

2

3

2

РСМм

РгА, РгВ

S+C0

0

Без записи

N=1

Усл. Пер.

Адрес п-да.

01

РСМм=LLS(РСМм, 1)

РСМр=РСМр+1

БФТ

БПТ

БМУ

В

УВП

АЛУ

В

СДВ

БУ

АП

16

1

5

4

9

1

0

РСМр

С0=1

S+C0

РСМм

ЛС влево

Безусл.п-д

Адрес перехода

02

РСМр=403Eh-РСМр

БФТ

CONST

В

АЛУ

ИСТ

УВП

16

2

4

1

403Eh

РСМр

R-S-1+C0

DA

C0=1

03

РСМр=РСМр-Р1рБФТ

А

В

АЛУ

УВП

15

16

1

1

Р1р

РСМр

S-R-1+C0

C0=1

04

СчТ=РСМр

БФТ

БПТ

БИНТ

А

В

ИСТ

РЕЗ

MUXDAПТ

DMXDYФТ

16

5

5

1

1

0

РСМр

СчТ

DA

РЗУ

С вых. ФТ

На БПТ

05

Если N=1, то переходБМУ

УСЛ

УСА

АП

2

3

11

N=1

Усл. пер.

Адрес пер.

06

Если РСМр>3FFFh, то

переход

БФТ

БМУ

CONST

В

АЛУ

ИСТ

РЕЗ

УВП

УСЛ

И

УСА

АП

16

1

4

6

1

5

1

3

3FFFh

РСМр

S-R-1+C0

DA

Без записи

С0=1

Zv (N+V)

Инверсия

Усл. пер.

Адрес пер.

07

Если РСМр=0, то

переход

БФТ

БМУ

CONST

В

АЛУ

ИСТ

РЕЗ

УВП

УСЛ

УСА

АП

16

1

4

6

1

1

3

13

0

РСМр

S-R-1+C0

DA

Без записи

С0=1

Z=1

Усл. пер.

Адрес пер.

08

Если РСМр>0, то

переход

БФТ

БМУ

CONST

В

АЛУ

ИСТ

РЕЗ

УВП

УСЛ

И

УСА

АП

16

1

4

6

1

6

1

3

0D

0

РСМр

S-R-1+C0

DA

Без записи

С0=1

Zv (N+V)

Инверсия

УсАдрес Адрес пер.

09

Если СчТ<>0, то

переход

БПТ

БМУ

CONST

В

АЛУ

ИСТ

РЕЗ

УВП

УСЛ

И

УСА

АП

5

1

4

6

1

1

1

3

0

СчТ

S-R-1+C0

DA

Без записи

С0=1

Равны

Инверсия

Усл. пер.

Адрес пер.

0A

РСМр=Р1р

БФТ

БМУ

А

В

БУ

АП

15

16

1

13

Р1р

РСМр

Безусл. пер.

Адрес пер.

0B

РСМм=ARS(РСМм,1)БПТ

В

СДВ

4

0

РСМм

АС вправо

0C

СчТ=СчТ+1

БПТ

БМУ

В

АЛУ

УВП

БУ

АП

5

4

1

1

09

СчТ

S+C0

С0=1

Безусл. пер.

Адрес

перехода

0D

Если СчТ<>0, то

переход

БПТ

БМУ

CONST

В

АЛУ

ИСТ

РЕЗ

УВП

УСЛ

И

УСА

АП

5

1

4

6

1

1

1

3

0F

0

СчТ

S-R-1+C0

DA

Без записи

С0=1

Равны

Инверсия

Усл. пер.

Адрес пер.

0E

РСМр=РСМр+Р1р

БФТ

БМУ

А

В

АЛУ

УВП

БУ

АП

15

16

3

0

1

13

Р1р

РСМр

R+S+C0

0

Безусл. пер.

Адрес пер.

0F

Р1м=ARS(Р1м, 1)

БПТ

В

СДВ

2

0

Р1р

АС вправо

10

СчТ=СчТ-1

БПТ

БМУ

CONST

В

АЛУ

ИСТ

УВП

БУ

АП

5

1

4

1

1

0D

1

СчТ

S-R-1+C0

DA

C0=1

Безусл. пер.

Адрес пер.

11

Если

РСМр<FFFFB000h, то

переход

БФТ

БМУ

CONST

В

АЛУ

ИСТ

РЕЗ

УСЛ

УСА

АП

16

1

4

6

5

3

07

FFFFB000h

РСМр

S-R-1+C0

DA

Без записи

Есл.меньше

Усл. пер.

Адрес пер.

12

РСМм=РСМм+Р1м

РСМр=РСМр+Р1р

БФТ

БПТ

БМУ

А

В

АЛУ

А

В

АЛУ

УВП

БУ

АП

15

16

3

2

4

3

0

1

1E

Р1р

РСМр

R+S+C0

Р1р

РСМм

R+S+C0

С0=0

безусл. пер

Адрес пер.

13

Если РСМз<>Р1з, то

переход

БПТ

БМУ

А

В

АЛУ

УВП

УСЛ

И

УСА

АП

1

3

1

1

1

1

3

15

Р1з

РСМз

S-R-1+C0

C0=1

Z=1

Инверсия

Усл. пер.

Адрес пер.

14

РСМм=РСМм+Р1м

БПТ

БМУ

А

В

АЛУ

УВП

БУ

АП

2

4

3

0

1

Р1м

РСМм

S+R+1

C0=0

Безусл.пер.

Адрес пер.

15

Если РСМз=0, то

переход

БПТ

БМУ

CONST

В

АЛУ

ИСТ

РЕЗ

УВП

УСЛ

УСА

АП

3

1

4

6

1

1

3

19

0

РСМз

S-R-1+C0

DA

Без щаписи

С0=1

Равны

Усл. пер.

Адрес пер.

16

Если Р1м<>РСМм, то

переход

БПТ

БМУ

А

В

АЛУ

УВП

УСЛ

УСА

АП

2

4

1

1

5

3

Р1р

РСМр

S-R-1+C0

C0=1

Есл.меньше

Усл.пер.

Адрес пер.

17

РСМз=1

БПТ

CONST

В

ИСТ

РЕЗ

3

4

1

1

РСМз

DA

РЗУ

18

РСМм=!РСМм+1

БПТ

БМУ

В

АЛУ

УВП

БУ

АП

4

5

1

1

РСМм

!S+C0

C0=1

Безусл.пер.

Адрес.пер.

19

Если РСМм<Р1м, то

переход

БПТ

БМУ

А

В

АЛУ

УВП

УСЛ

УСА

АП

4

2

1

1

5

3

Р1м

РСМм

S-R-1+C0

С0=1

Есл.меньше

Усл. пер.

Адрес пер.

1A

РСМз=1

БПТ

CONST

В

ИСТ

РЕЗ

3

4

1

1

РСМз

DA

РЗУ

1B

РСМм=!РСМм+1

БПТ

БМУ

В

АЛУ

УВП

БУ

АП

4

5

1

1

РСМм

!S+C0

С0=1

Безусл.пер.

Адрес пер.

1C

Если V=1, то переход

БМУ

УСЛ

УСА

АП

3

3

22

V=1

Усл.пер.

Адрес пер.

1D

Если РСМ(63)=0, то

переход

БМУ

УСЛ

И

УСА

АП

2

1

3

1F

N=1

Инверсия

Усл.пер.

Адрес пер.

1E

END

1F

РСМм=ALS(РСМм, 1)

РСМр=РСМр-1

БФТ

БПТ

CONST

В

АЛУ

ИСТ

УВП

В

СДВ

16

1

4

1

4

8

1

РСМр

S-R-1+C0

DA

C0=1

РСМр

АС влево

20

Если N=0, то переход

БМУ

УСЛ

И

УСА

АП

2

1

3

1D

N=1

Инверсия

Усл. пер.

Адрес пер.

21

Вызов обработчика

прерываний

антипереполнения

22

РСМм=ARS(РСМм,1)

РСМр=РСМр+1

БФТ

БПТ

В

АЛУ

УВП

В

СДВ

16

4

1

4

0

РСМр

S+C0

С0=1

РСМм

АС вправо

23

Если РСМр(15)=0, то

переход

БМУ

УСЛ

И

УСА

АП

2

1

3

1E

N=1

Инверсия

Усл. пер.

Адрес пер.

24

Обработка прерываний переполнения порядка

Заключение

В ходе выполнения курсового проекта были приобретены навыки проектирования операционного и управляющего автоматов процессора ЭВМ. Результатом проектирования стал разработанный 32-разрядный секционированный микропроцессор с архитектурой IA-32, построенный в базисе МПС К1804ВС2 способный выполнять четыре команды: SUB, OR, XCHGи FIADD. Также были приобретены навыки составления технической документации и выполнения чертежей по нормам ЕСКД.

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


Литература

1. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 1: Basic Architecture, 470 p. 253665.pdf

2. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, 758 p. 253666.pdf

3. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, 618 p. 253667.pdf

4. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1, 646 p. 253668.pdf

5. ГОСТ 2.105-95. Единая система конструкторской документации. Общие требования к текстовым документам.

6.Хамахер К., Вранешич З., Заки С. Организация ЭВМ. – 5-е изд.- С-Пб.: Издательская группа BHV, 2003. - 848 с. - ISBN 5-8046-0162-8.


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
149606
рейтинг
icon
3150
работ сдано
icon
1362
отзывов
avatar
Математика
Физика
История
icon
144452
рейтинг
icon
5909
работ сдано
icon
2669
отзывов
avatar
Химия
Экономика
Биология
icon
98694
рейтинг
icon
2055
работ сдано
icon
1281
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
57 307 оценок star star star star star
среднее 4.9 из 5
Уральский институт фондового рынка
Спасибо Вам большое. Контрольная работа выполнена досрочно и без замечаний. Желаю Вам усп...
star star star star star
НИТУ МИСиС
Намного раньше срока выполнения. Реферат выполнен качественно, ссылки на источнике в текст...
star star star star star
ЮУрГУ
Спасибо большое, Ваша работа оценена на отлично. Приятно было с Вами работать.
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Тема «Аркаим и синташтинская культура»

Реферат, Археология

Срок сдачи к 27 дек.

только что

На картинке

Решение задач, Термодинамика

Срок сдачи к 27 дек.

6 минут назад

Выполнить пункт 1,5 и 6

Решение задач, Менеджмент

Срок сдачи к 28 дек.

6 минут назад

Курсовой проект микроэвм для справочного бюро авиакомпании

Другое, МикроПроцессорные Системы

Срок сдачи к 11 янв.

11 минут назад

Выполнить контрольную работу по проектированию

Контрольная, Проектирование и прототипирование

Срок сдачи к 29 дек.

11 минут назад

Другое по предмету «Управление рисками»

Другое, Управление рисками

Срок сдачи к 27 дек.

11 минут назад

Тема : Возникновение и развитие конфликтологии как науки

Реферат, Конфликтология

Срок сдачи к 28 дек.

11 минут назад

Задача расчёт конвейреа

Решение задач, производственный менеджмент

Срок сдачи к 27 дек.

11 минут назад

Развитие трубопроводного транспорта газа.

Реферат, Технологические процессы трубопроводного транспорта углеводородов

Срок сдачи к 28 дек.

11 минут назад

решить задания по требованиям

Другое, Информационные технологии

Срок сдачи к 28 дек.

11 минут назад

переговорного процесса по урегулированию .... конфликта

Эссе, Основы переговорного процесса

Срок сдачи к 27 дек.

11 минут назад

Итоговая работа

Тест дистанционно, Мировые цивилизации и мировые культуры

Срок сдачи к 29 дек.

11 минут назад

Проектирование системы сбора и подготовки нефти, газа и воды.

Реферат, Трубопроводный транспорт углеводородов

Срок сдачи к 28 дек.

11 минут назад
11 минут назад

Решение задач 6 шт.

Контрольная, Эконометрика

Срок сдачи к 27 янв.

11 минут назад

Решить 7 задач по математике с подробным обьяснением

Контрольная, Высшая математика

Срок сдачи к 27 дек.

11 минут назад

Проведите горизонтальный и вертикальный анализ основных средств

Решение задач, Экономический анализ

Срок сдачи к 27 дек.

11 минут назад

Составление и решений задачи

Решение задач, Линейная алгебра

Срок сдачи к 27 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно