[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, 6, 7, 8
Автор Сообщение
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Темы занятий:

1. Микропрограммирование на С-МПА, генерация схем по микропрограммам. Разбор решений контрольной номер 1.
2. Архитектура вычислительных систем - основные понятия и тенденции развития
3. Архитектура учебного процессора TCPU
4. Архитектура микропроцессора Intel 8086
5. Особенности архитектуры МП Intel 80286
6. Особенности архитектуры МП Intel 80386
7. Особенности архитектуры МП Intel 80486/Pentium
8. Команды ММХ
9. Архитектура ПЦОС на примере TMS320c30
10. Особенности архитектуры транспьютеров
11. Реляционные ассоциативные процессоры (процессоры баз данных)
12. ЭВМ, управляемые потоками данных
13. Супер-компьютеры
14. СУРС
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Ссылки на информацию по темам:

1. Микропрограммирование на С-МПА, генерация схем по микропрограммам. Разбор решений контрольной номер 1.

Примеры задач с решениями
Как работать с битами в С(С-МПА) - Антоненко Александр, ПМ-41, 13 февраля 2009
Синтезируемые конструкции С-МПА
Простейшие параллели Паскаль - С
Вопросы и ответы по С-МПА
Компилятор языка CMPDL
Учебник по работе с компилятором CMPDL + WInter
Учебник по построению схем MPA в HLCCAD

2. Архитектура вычислительных систем - основные понятия и тенденции развития

3. Архитектура учебного процессора TCPU

Документация по процессору TCPU
Инструкция по созданию кода в формате IntelHEX для процессора TCPU
Инструкции по решению задач
Инструкции по установке задач

С для TCPU
Реализованные возможности
Обсуждение на форуме


4. Архитектура микропроцессора Intel 8086

Новые задачи (по теме лекции)
- проектирование
- микропрограммирование
- задания на развитие мышления
- тесты

Особенности архитектуры 8086

Примерные задания
1. Распространение знака CBW, CWD
2. Выборка байтного/словного регистра по mod/rm
3. Управление флагами (CLC ... CMC)
4. Работа со стеком
5. INC, DEC
6. XCHG
7. Условный переход Jxxx
8. Вызов подпрограммы CALL
9. Прерывание INT
10. Логический сдвиг
11. Арифметический сдвиг
12. Кольцевой сдвиг
13. Кольцевой сдвиг через бит CF
14. Целочисленное умножение
15. Целочисленное деление

5. Особенности архитектуры МП Intel 80286

Примерные задания
1. Вычисление физического адреса в реальном режиме
2. Вычисление физического адреса в виртуальном режиме
3. Общая схема адресации в виртуальном режиме (Лекция 4/9)
4. Вычисление физического адреса в защищенном режиме (Лекция 4/12)
5. Контроль привилегий (Лекция 4/19)

6. Особенности архитектуры МП Intel 80386

Примерные задания
1. Реализация индексного режима адресации с масштабированием
2. Быстрое завершение умножения
3. Операции над битами (BT,BTC,BTS,BTR)
4. Операции над битами (BSF,BSR)
5. Операции над байтами/словами MOVZX, MOVSX
6. Двойные сдвиги (SHLD, SHRD)
7. Вычисление физического адреса в защищенном режиме (Лекция 5/16)
8. Механизм страничной организации ОП (Лекция 5/18)
9. Буфер ассоциативной трансляции
10. Кеш-память (Лекция 5/22)


7. Особенности архитектуры МП Intel 80486/Pentium


Примерные задания по 80486
1. Обменять байты BSWAB
2. Обменять и сложить XADD
3. Cравнить и обменять CMPXCHG
4. Кеш-память i486 (Экран "Лекция 6/8")
5. Реализация алгоритма LRU (Экран "Лекция 6/9")
6. Буфер ассоциативной трансляции (Экран "Лекция 6/10")
7. Блок отладочных регистров (Экран "Лекция 6/19")

Примерные задания по Pentium
1. Кеш для динамического прогнозирования ветвлений
2. Схемы контроля четности
3. Сложение вещественных чисел
4. Вычитание
5. Умножение
6. Деление

8. Команды ММХ
Дополнительно о MMX
Новые процессоры фирмы Intel

Примерные задания
1. Упакованное сложение слов с насыщением (PADDSW) Герасимов, Пузан
2. Упакованное умножение слов со сложением (PMADDWD) Тимошков, Сацура
3. Параллельное сравнение PCMPEQ [B, W, D] (на равно) Федосов, Сочнева, Невдашенко
4. Параллельное сравнение PCMPGT [B, W, D] (на больше) Савицкий
5. Упаковка Дюбкин, Лашкевич
6. Распаковка Судас, Карпук
7. Логический сдвиг на переменное число разрядов PSLL [B, W, D]
8. Арифметический сдвиг на переменное число разрядов PSLL [B, W, D]

9. Архитектура ПЦОС на примере TMS320c30
10. Особенности архитектуры транспьютеров
11. Реляционные ассоциативные процессоры (процессоры баз данных)
12. ЭВМ, управляемые потоками данных
13. Мультипроцессорные системы/супер-ЭВМ
14. СУРС

Условия задач по темам курса "Архитектура вычислительных систем"
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Лекция 1. Микропрограммирование на С-МПА, генерация схем по микропрограммам. Разбор решений контрольной номер 1.

Примеры задач с решениями
Как работать с битами в С(С-МПА) - Антоненко Александр, ПМ-41, 13 февраля 2009
Синтезируемые конструкции С-МПА
Простейшие параллели Паскаль - С
Вопросы и ответы по С-МПА
Компилятор языка CMPDL
Учебник по работе с компилятором CMPDL + WInter
Учебник по построению схем MPA в HLCCAD
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Контрольные срезы - 2010

Контрольные срезы - это минимальный уровень навыков, которыми должны обладать студенты к моменту завершения ВУЗа.

По предметам
"Архитектура вычислительных систем - 2011"
"Физика ЭВМ. Часть 2. - 2011"
эти требования таковы:
Нужно за 45 минут уметь выполнить четыре задания
- разработать схему условного арифметического выражения (4 балла)
- написать программу на ассемблере, вычисляющую тоже самое арифметическое выражение (4 балла)
- написать программу на С-МПА, вычисляющую тоже самое арифметическое выражение (1 балл)
- придумать полное множество тестов для этой программы (1 балл)

Контрольные срезы добавлены как отдельная колонка в ведомость оценок.
В результате суммарная оценка делится теперь на 5:
(контрольный срез, контроль практики, контроль теории, индивидуальные задания, новые задачи)
КРОМЕ ТОГО
Оценка на зачет/экзамен берется как МИНИМАЛЬНАЯ из оценок в колонках "Зачет(Экзамен)" и "Контрольный срез".
В частности, для того, чтобы получить зачет/(4 на экзамене), НЕОБХОДИМО получить как минимум 4 в колонке "Контрольный срез".

В течение семестра студентам предоставляются следующие плановые возможности пройти контрольный срез
- во время 5-ой контрольной
- во время 10-ой контрольной
- во время 14-17-ой контрольных.

Работу достаточно выполнить ОДИН раз на устраивающую Вас оценку.
В случае выполнения работы несколько раз выбирается МАКСИМАЛЬНАЯ оценка и выставляется в колонку "Контрольный срез" (пока вручную преподавателем).

В целях повышения эффективности подготовки к контрольным срезам:
1) В индивидуальные задания внесены папки "Подготовка к контрольным срезам", которые содержат все задания контрольных срезов на проектирование и программирование. В этих папках (в отличие от всех остальных папок в индивидуальных заданиях) засчитывается БОЛЕЕ одной сданной задачи (без ограничений, хоть все 30), но только тому, кто ПЕРВЫЙ сдал задание.
2) Эти же задачи внесены в раздел обучение, чтобы любой студент мог потренироваться в решении любой задачи из контрольных срезов.
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Бонусы за командную олимпиаду 15 февраля 2011 (С-МПА)
R_2_R (Круппа, Кондратенко, Верес)        10 + 7*3 = 31/3 = 10
Шаткий стул (Гулевич, Левшова, Коцуба)    10 + 5*3 = 25/3 =  8
Ламеры (Троцкий, Мехович, Балыкин)        10 + 4*3 = 22/3 =  7 

Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Для тех, кто изучал Паскаль, но не изучал С

Простейшие параллели (Паскаль - С)

1. C - регистро-чувствительный язык - большие и маленькие буквы различаются.

2. Оператор присваивания
Паскаль            С
:=                 =

3. Операции ЧАСТНОЕ и ОСТАТОК
Паскаль            С
MOD                %    
DIV                / 

4. Операции отношения и сложные условия
Паскаль            С
= (равно)          ==
<> (не равно)      !=
AND (И)            &&
OR  (ИЛИ)          ||
NOT (НЕ)           ! 

5. Побитовые операции
Паскаль            С
AND (И)            &
OR  (ИЛИ)          |
XOR (искл.ИЛИ)     ^
NOT (НЕ)           ~ 
SHR                >> 
SHL                <<

6. Логические переменные
Паскаль            С
false              0
true               не 0

Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
2. Архитектура вычислительных систем - основные понятия и тенденции развития

3. Архитектура учебного процессора TCPU

Документация по процессору TCPU
Инструкция по созданию кода в формате IntelHEX для процессора TCPU
Инструкции по решению задач
Инструкции по установке задач

С для TCPU
Реализованные возможности
Обсуждение на форуме

Поскольку по расписанию ПМ-41/42 сначала стоит практика, потом лекция, а в контрольной номер 3 весьма полезны знания по архитектуре TCPU, на ближайшей лекции будут рассмотрены ДВЕ темы.
Надеюсь, получится не в ущерб качеству изложения. Ваши комментарии после проведения лекции и последующей контрольной приветствуются.

Командная олимпиада по обоим темам
- оптимальный состав команды - два человека на бук
- единственная альтернатива - три человека на бук
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Бонусы за командную олимпиаду 22 февраля 2011 (Осн.понятия + TCPU)
Шаткий стул (Гулевич, Левшова, Коцуба)  14 + 5*3 = 29/3 = по 10
Ламеры (Троцкий, Мехович, Балыкин)      11       = 11/3 = по  4 
R_2_R (Круппа, Кондратенко, Верес)      10       = 10/3 = по  3
О.Н.А (Мельяновская, Рожкова, Блажевич) 10       = 10/3 = по  3
Qwerty (Мамедов, Дуров, Грабко)         10       = 10/3 = по  3

Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
4. Архитектура микропроцессора Intel 8086

Новые задачи (по теме лекции)
- проектирование
- микропрограммирование
- задания на развитие мышления
- тесты

Особенности архитектуры 8086

Примерные задания

1. Распространение знака CBW, CWD
2. Выборка байтного/словного регистра по mod/rm
3. Управление флагами (CLC ... CMC)
4. Работа со стеком
5. INC, DEC
6. XCHG
7. Условный переход Jxxx
8. Вызов подпрограммы CALL
9. Прерывание INT
10. Логический сдвиг
11. Арифметический сдвиг
12. Кольцевой сдвиг
13. Кольцевой сдвиг через бит CF
14. Целочисленное умножение
15. Целочисленное деление
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Бонусы за работу на лекции 1 марта ПМ-41/ПМ-42

Командная олимпиада на буках (Intel 8086)
Elfomon (Титуленко, Круппа)                 19задач*2бонуса/2 человека = по 19 
Ламеры (Троцкий, Мехович, Балыкин)          19*2/3 = по 13   
Шаткий стул (Гулевич, Левшова, Коцуба)      18*2/3 = по 12
Qwerty (Мамедов, Дуров, Грабко)             18*2/3 = по 12
М.А.Т (Кириченко, Горбачевская, Приставко)  17*2/3 = по 11
О.Н.А (Мельяновская, Рожкова, Блажевич)     16*2/3 = по 11 
R_2_R (Кондратенко, Верес)                  15*2/2 = по 15

Бонусы "безлошадным" за активность и знания
Помозов - 10
Коцуба  -  5
Жуков   -  4
Лопухов -  2
Обелец  -  2
Копытов -  1


Чтобы получить оценку за контроль теории надо
- либо работать на буке
- либо сдать контроль теории на листочке

Сдали контроль теории на листочках
ПМ-41: Жуков, Копытов, Мешков, Полевиков
ПМ-42: Авсейкова, Журавская, Ковалева, Королева, Кулагина,
Лиморенко, Лобанова, Помозов, Рябица, Самолетова, Якубович
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
М3 - Контрольный срез 10 марта

Напоминание требований
Нужно за 45 минут уметь выполнить четыре задания
- разработать схему условного арифметического выражения (4 балла)
- написать программу на ассемблере, вычисляющую тоже самое арифметическое выражение (4 балла)
- написать программу на С-МПА, вычисляющую тоже самое арифметическое выражение (1 балл)
- придумать полное множество тестов для этой программы (1 балл) 
Полная информация о контрольных срезах

Результаты М3 за 45 минут
         КоСр   з   П А С Т
Тачилин   4     1   +

Дополнительно сданные задачи контрольных срезов
до конца занятия
            Бонусы   з   П А С Т
Тачилин      30      3     + + +   (30->60)
Горло        30      3   + + +     ( 0->30)
Масленченко  10      1   +         (30->40)
Крикало      10      1       +     ( 0->10) 
Жердецкий    10      1       +     ( 0->10)

Напоминание
студентам групп М3, ПМ-41, ПМ-42.
Для того, чтобы получить положительную оценку на зачете/экзамене,
НЕОБХОДИМО
иметь оценку 4 или больше в колонке "Контрольный срез" зачетной/экзаменационной ведомости
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Выполнение в командах заданий контрольных срезов

Полезные ссылки

Проектирование
Условное арифметическое выражение
Обучение проектированию устройств в HLCCAD
Вычисление арифметических выражений в HLCCAD

Программирование
Введение в ассемблер (с примером)

Микропрограммирование на С-МПА
Компилятор языка CMPDL



Советы по выполнению заданий контрольных срезов:

1. Проектирование устройств арифметических выражений

1.1. Для операции сложения используем сумматор из проекта Standard (он правильно работает и с положительными, и с отрицательными числами). Для всех остальных арифметических операций (вычитание, умножение, деление, сравнение) берем устройства из проекта SignedArithm (соответственно iSUB, iMUL, iDIV, iCMP)

1.2. НЕЛЬЗЯ менять разрядности устройств (iSUB, iMUL, iDIV, iCMP) из проекта SignedArithm (к сожалению, у нас там пока нет "защиты от дурака").

1.3. Одна из проблем - разные разрядности исходных данных
Надо решать ее выравниванием исходных данных до разрядности 16 бит с помощью устройства CBW (x8 => CBW => x16) и до 32 бит с помощью устройства CWD (x8 => CBW => x16 => CWD => x32)

1.4. Во всех задачах гарантируется, что ответ не превысит знакового целового в 16 битах.

1.5. Если Вам нужно уменьшить разрядность проще всего поступать так: обозначаете выход (например Y, пусть он 32 битный). Чтобы взять младшие 16 битов этого выхода на 16-битном входе устройства достаточно написать Y[15-0] (предварительно кликнув по входной линии).

1.6. Для того, чтобы выбрать один из нескольких результатов используйте МУЛЬТИПЛЕКСОР (MS) из проекта Standard

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

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

10-15 минут потратили самые быстрые 5-курсники на решение этой задачи.

Если у Вас в выражении есть модуль (|x|)

Надо всего лишь использовать МУЛЬТИПЛЕКСОР, который выбирает между x и -x (0 iSUB x) в зависимости от самого старшего разряда x (например от x[15], если x - 16 разрядное число - разряды справа налево, от младшего к старшему имеют номера от 0 до 15)

В задаче 5 модуль встречается в выражении 4 раза.
Удобно сделать устройство "Модуль числа" и использовать его 4 раза.

Если у Вас есть sign(знак)

sign(x)= 1, если x>0, -1, если x<0 и 0, если x=0

Отправляем x на iCMP (сравнение) с нулем. Получаем как раз три выхода G E L (больше равно меньше соответственно)

sign = G & 1 ИЛИ E & 0 ИЛИ L & (-1)

Здесь, 1, 0 и -1 - константы (например, Const)


2. Написание программы на ассемблере

2.1. Размеры регистров

Однобайтные регистры: AL AH BL BH CL CH DL DH
Двухбайтные регистры: AX BX CX DX SI DI
SP и BP можно использовать, только если не работаете со стеком
явно или неявно.

2.2. Особенности операций сложения(add), вычитания(sub), сравнения(cmp)

- операнды должны иметь ОДИНАКОВУЮ длину (оба операнда по байту, или оба операнда по два байта)
- оба операнда в регистрах или один операнд в регистре, другой в оперативной памяти

2.3. Особенности операции умножения

imul x

Если x - один байт (в регистре или памяти), то AL умножается на x и результат записывается в регистр AX (байт * байт = 2 байта).

Если x - два байта (в регистре или памяти), то AX умножается на x и результат записывается в регистры DX и AX (2 байта * 2 байта = 4 байта). Вы можете полагать, что результат поместится в AX и работать дальше с AX, но Вы должны помнить, что после такого умножения ЗАТИРАЕТСЯ информация, которая была в регистре DX до умножения.

2.4. Особенности операции деления

idiv x

Если x - байт, то AX делится на x и частное заносится в AL, а остаток в AH. Дальше Вы должны работать с содержимым регистра AL как результатом деления.

Если x - два байта, то в качестве делимого берется ПАРА РЕГИСТРОВ DX,AX (даже если ВЫ лично туда ничего не загружали) и результат деления (частное) заносится в AX, а остаток в DX.

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

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

Мнемоники команд переходов
jmp - безусловный переход
jg - переход по больше
jl - переход по меньше
je - переход по равно
jge - >=
jle - <=
jne - переход по не равно

2.5. Обеспечение корректного автоматического тестирования на DL

halt: jmp halt ;$e
(последние три символа пишутся СЛИТНО, без пробелов между ними)

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

2.7. В случае ошибки нужно прописать ВРУЧНУЮ к качестве комментариев к программе значения результата каждой инструкции, а затем построчным выполнением найти КОМАНДУ, результат которой не соответствует вычисленному вручную. Это и есть ошибка.

И снова самым быстрым студентам потребовалось 10-15 минут на выполнение этого задания.

Удачи!!!

P.S. Если остались или появились вопросы - спрашивайте здесь же или устно, я отвечу.
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Результат контрольного среза ПМ-41 = 45 минут : 9.55-10.40
                       Баллы  З   П А С Т 
 1 Жуков Дмитрий         9    3   1 1 1   
 2 Британов Евгений      9    3   1 1 1   
 3 Мамедов Радж          8    2   1 1 0   
 4 Копытов Константин    5    2   1   1   
 5 Бухалов Кирилл        5    2     1 1   
 6 Лисимов Александр     4    1   0 1 0   
 7 Титуленко Иван        4    1   1       
 8 Дуров Евгений         4    1   1 0 0   
 9 Огнев Иван            4    1     1     
10 Кириченко Аня         4    1     1     
11 Мешков Никита         4    1     1  


Бонусы за решение задач контрольных срезов до конца пары
Дуров         3 = 30 бонусов
Круппа        3 = 30
Бухалов       2 = 20
Титуленко     2 = 20
Грабко        2 = 20
Жуков         1 = 10 
Копытов       1 = 10 
Кириченко     1 = 10
Мешков        1 = 10
Лисимов       1 = 10
Огнев         1 = 10
Мельяновская  1 = 10
Рожкова       1 = 10

Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Бонусы за работу на лекции 15 марта

Командная олимпиада
Шаткий стул (Гулевич, Левшова, Коцуба)        7*10=70/3 = 23 (по 23) 
Elfomon     (Титуленко, Круппа)               5*10=50/2 = 25  
R_2_R       (Кондратенко, Верес)              4*10=40/2 = 20   
Qwerty      (Мамедов, Дуров, Грабко)          4*10=40/3 = 13  
Ламеры      (Троцкий, Мехович, Балыкин)       3*10=30/3 = 10  
O.Н.А.      (Мельяновская, Рожкова, Блажевич) 3*10=30.3 = 10 


Бонусы "безлошадным" за активную работу на лекции
Британов                      3 * 5 = 15 
Кулагина, Лобанова            4 * 5 = 20 / 2 = 10
Ковалева, Якубович            4 * 5 = 20 / 2 = 10
Кириченко, Горбачевская       4 * 5 = 20 / 2 = 10
Копытов, Мешков               4 * 5 = 20 / 2 = 10
Хамутовский, Жировский        3 * 5 = 15 / 2 =  7
Огнев, Бухалов                3 * 5 = 15 / 2 =  7
Журавская, Благодарная        3 * 5 = 15 / 3 =  7
Королева, Самолетова          3 * 5 = 15 / 2 =  7
Жуков, Лопухов                3 * 5 = 15 / 2 =  7 
Лисимов, Гук                  3 * 5 = 15 / 2 =  7 
Матарас, Помозов, Слепченко   3 * 5 = 15 / 3 =  5
Лиморенко, Рябица             2 * 5 = 10 / 2 =  5
Обелец, Авсейкова, Долгалева  2 * 5 = 10 / 3 =  3

Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
М3 - Контрольный срез 17 марта

Результаты М3 за 45 минут
 
          КоСр   з   П А С Т
Тачилин    4     1   +
Деменкова  4     1     +

Дополнительно сданные задачи контрольных срезов
до конца занятия
            Бонусы   з   П А С Т
Горло        40      4   + + + +  (30->70)
Деменкова    30      3   +   + +  (20->50)
Тачилин      20      2       + +  (60->80) 
Жердецкий    20      2   +   +    (10->30) 
Крикало      20      2     + +    (10->30)
Масленченко  10      1   +        (40->50) 
Страпко      10      1     +      ( 0->10) 
Дрёмова      10      1     +      ( 0->10)

 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, 6, 7, 8
Time:0,064