Лекция: Задание на моделирование
1. А. Смитт. Исследование о природе и причинах богатства народов. – М.: Соцэкгиз, 1962.
2. Бем-Баверк Е. Основные теории цеености хозяйственных ценностей. – В кн.: Автсрийская школа в олитической экономии. – (Экономическое наследие).
3. Беллон Б. Магнатское хозяйство на юге Волыни XVIII в. — М., 1955.
4. Бойко І. П. Селянство України в ІІ п. XVI ст. — К., 1963.
5. Боплан Г. Л. Опис України. — К., 1990.
6. Веблен Т. Теория праздного класса. Пер. с англ./ Вступ с. С.Сорокиной. – М., Прогресс. – 1984. – (Экономическая мысль Запада).
7. Великобритания. — М., 1990.
8. Гелбрайт Д. К. Новое индустриальное общество/ Пер. с англ. – М.: Прогресс, 1969.
9. Германскаяистория в новое и новейшее время. В 2-х т. М., 1970.
10. Голобуцький В. О. Про цехове ремесло і зародження капіталістичного виробництва в XVI-I п. XVII ст. на Україні. // Вісник АН УРСР, 1958, № 8.
11. Горленко В. Ф., Бойко І. Д., Купецький О. С. Народна землеробська техніка українців. — К., 1972.
12. Гуржій І. О. Розвиток товарного виробництва і торгівлі на Україні (з кінця XVIII до 1861 р.) — К., 1962.
13. Экономика зарубежных стран. Капиталистические и развивающиеся страны. — М., 1990.
14. Історія Русів. — К., 1991.
15. История крестьянства в Европе. Эпоха феодализма. Т. 1-2. М., 1986.
16. Кене Ф. Избранные экономические произведения. – М., 1960.
17. Кейнс Д. М. Трактат о денежной реформе. Общая теория зайнятости, процента и денег. В кн.: Кейнс Д. М. Избранные произведения/ Пер. с англ., предисл., коммент, сос. А. Г.Худокармов. – М.: Экономика, 1993.
18. Кларк Дж. Б. Распределение богатства: Пер. с англ./ Науч. ред. А. А.Белых, А. В. Полетаев. – М.-Экономика, 1992. – (Экон. наследие).
19. Котельникова Л. А. Феодализм и город в Италии В ХIII-XV вв. М., 1987.
20. Копман О. С. Міста України в другій половині XVII ст. — К., 1983.
21. Крип’якевич І. П. Галицько-Волинське князівство. — К., 1984.
22. Маршалл А. Принципы политической экономии. В 3-х томах: Пер. с англ. Р. И. Стелнера / общ. ред. и вступ. статья С. М. Никитина. – М.: Прогресс, Т.1- 1983.
23. Менгер К. Основания политической эконоии. – В кн.: Австрийская школа в политической экономии: К. Менгер, Е. Бем-Баверк, Ф. Визер. Предисл. Коммонс, Сос. В. С.Атономова. – М.: Экономика, 1992. – (Экономическое наследие).
24. Митчелл У. К. Экономические циклы. Проблема и ее постановка: Пер. с англ. – М. – Гос. изд-во, 1934.
25. Мизес Л. Социализм. Экономический и социологический анализ. – М., 1994.
26. Нестеренко О. О. Розвиток промисловості на Україні. Ч. 1-2. К., 1959.
27. Ойкен В. Основные принципы экономической политики: Пер. с нем./ Общ. ред. Л. И. Цедилина и К. Херманн. – Пилата, вступ. сл. О. Р.Лациса. – М.: Прогресс, 1985.
28. Ойкен В. Основы национальной экономики / Пер. с англ. – М.: Экономика, 1996. – (Экономическое наследие).
29. Политико-экономические проблемы всемирного хозяйства. Под ред. В. И. Седова. — М., 1988.
30. Рыбаков Б. А. Ремесло Древней Руси. — М., 1948.
31. Рикардо Д. Начала политической экономии и налогового обложения / Сочинения в 3-х т. Т.1 – М.: Госполитиздат, 1955.
32. Самуельсон П. Экономика Москва-Санкт-Петербург-Киев 2000г.
33. Сванидзе А. А. Деревенские ремесла в средневековой Европе.М., 1985.
34. Смирнова С. А. ФРГ: новый этап промышленного развития. М., 1990.
35. Фридмен М. Количественная теория денег / Пер. с англ. – М.: Эльф ПРЕСС, 19896. – (Экономическое наследие).
36. Хайек Ф. А. Дорога к рабству // Новый мир. – 1981. — № 7, № 8.
37. Хисао Канамори. Изюн Вада. Япония — мировая экономическая держава. — М., 1986.
38. Чистозвонов А. Н. Генезис капитализма. Проблемы методологии. М., 1986.
39. Шумпетер И. А. Капитализм, социализм и демократия: Пер. с англ./ Предисл. и общ. ред. В. С. Автономова. – М.: Экономика, 1995 (Экономическое наследие).
Задание на моделирование
Для изучения основ функционирования микропроцессора предлагается построить самостоятельно модель простейшего RISC-процессора, выполняющего ограниченное количество команд. RISC-процессоры характеризуются раздельным обращением к областям памяти инструкций и данных. В настоящем цикле работ область памяти данных резервируется, но не рассматривается.
Процессор будет иметь исполнительный блок, содержащий 4 регистра. Регистры 8-разрядные. Регистр с младшим адресом, R0, всегда хранит « 0». Арифметико-логическое устройство, АЛУ, будет содержать только 8-разрядный сумматор. Выходы регистров подключаются к сумматору через мультиплексоры. Таким образом, проектируемый процессор может выполнять команды обмена с пространством памяти, команды внутренних пересылок и команды сложения. Как упоминалось ранее, обмен с пространством памяти пока не затрагиваем. Нас будут интересовать пересылки и сложение. Адресация таких действий может быть как регистровая ( источник и приемник адресуются по регистрам), так и непосредственная ( источник представлен 8-разрядным операндом в структуре команды). Формат команды 16 разрядов.
В этом формате выделяем следующие поля:
Р15 Р14 Р13 определяют код операции
1) 0 0 0 – запись операнда в память,
2) 0 0 1 – чтение операнда из памяти,
3) 0 1 0 – пересылка с непосредственной адресацией,
4) 0 1 1 – сложение с непосредственной адресацией,
5) 1 0 0 – пересылка с регистровой адресацией,
6) 1 0 1 – сложение с регистровой адресацией.
Первые 4 случая предполагают наличие операнда в структуре команды. Адресный операнд представим 4-разрядным, а операнд данных – 8-разрядным. Случаи 5 и 6 предполагают использование младшего байта команды под формирование кода.
Определим адресные поля источников и приемников. Команды с регистровой адресацией предполагают наличие двух источников: команда пересылки для RISC-процессора суммирует содержимое источника с нулем (R0) и записывает в приемник, для команды сложения второй источник может служить приемником. Выделяем для адресации разряды:
Р11 Р10 – адрес первого источника,
Р9 Р8 – адрес второго источника,
Р7 Р6 – адрес приемника.
Для случаев с непосредственной адресацией приемник адресуется по Р9 Р8. Для сложения с непосредственной адресацией непосредственный операнд по умолчанию должен записываться в R1, т.е. на разрядах Р11 Р10 в это случае должна присутствовать запись 01.
Проектируемый процессор будет выполнять следующий порядок команд:
MOV dat1, R1;
MOV dat2, R2;
ADD R1, R2;
MOV R2, R3
Введем значения непосредственных операндов. Пусть dat1=18, dat2=14. Запишем коды для этих команд. Неиспользуемые разряды заполним нулями.
| Р15 | Р14 | Р13 | Р12 | Р11 | Р10 | Р9 | Р8 | Р7 | Р6 | Р5 | Р4 | Р3 | Р2 | Р1 | Р0 |
Так как наш процессор будет выполнять лишь 4 команды, блок памяти инструкций для него можно представить в виде простейшего КЦУ, к выходу которого подключены два 8-разрядных регистра. На вход КЦУ поступают адреса от программного счетчика. Каждый адрес, таким образом, вызывает определенный программный код, который отображается в выходном буфере. Для настоящего цикла работ строим память на восемь 16-разрядных состояний. Минимальная единица информации для стандартной процессорной системы – байт, поэтому программный счетчик должен иметь 4 разряда. Управление блоком памяти производится тремя старшими разрядами, младший разряд подает тактовый сигнал на исполнительный блок. Структура полученного блока памяти инструкций представлена на рис.1. Программы для КЦУ и регистров – прогр.1 и прогр.2. Сигнал eninst=1 дает разрешение на обращение к памяти инструкций. Первая лабораторная работа настоящего цикла посвящена построению блока памяти и счетчика команд.
Записанный выше код инструкций содержит адреса направлений действий схемы (коды операций) и адреса устройств, непосредственно в этой операции участвующих (источников и преемников). Теперь нам необходимо построить управляющее устройство, формирующее сигналы управления на исполнительный блок. В состав этого устройства входят 4 дешифратора. Основной дешифратор получает код операции и управляет дешифраторами, определяющими местонахождение операндов, а также выводом операнда данных на внутреннюю шину данных, а адресного операнда на позиции, определяющие адрес в пространстве памяти данных. Управление формируется соответственно: для операнда данных – в случае команд переноса и сложения с непосредственной адресацией, для адресного операнда – в случае команд обращения к области памяти данных.
Так как команда пересылки MOV R(s),R(d) исполняется по принципу: R(d)<=R(s) + R(0), то для такой команды необходимы два источника: регистр нуля и регистр общего назначения. Кроме того, два источника могут понадобиться и для случая использования команды сложения двух операндов с занесением результата в третий регистр: ADD R(s1),R(s2),R(d). Поэтому договоримся, что два дешифратора определяют источники по разрядам кода Р11, Р10 и Р9, Р8; а один дешифратор определяет приемник по разрядам кода Р7, Р6. В случае, когда команда имеет только один операнд – источник, приемник определяется по разрядам Р9, Р8, т.е. с помощью дешифратора второго источника. Управление дешифратором первого источника получает активный уровень в случае исполнения команд: сложения (все адресации) и переноса с регистровой адресацией. Управление дешифратором второго источника получает активный уровень в случае исполнения команд сложения и переноса с регистровой адресацией. Управление дешифратором приемника получает активный уровень в случае исполнения команд сложения и переноса с любыми видами адресации.
Кроме того для команд сложения при любой адресации и переноса с регистровой адресацией блок управления формирует сигнал активизации АЛУ,
Полученная структура, включающая блок памяти, построенный ранее, представлена на рис.2. Программы для дешифраторов – прогр.3 и прогр.4. Построением блока устройства управления займемся на второй лабораторной работе.
Исполнительное устройство нашего процессора состоит из блока регистров и АЛУ. Построим блок регистров. Он включает в себя четыре 8-разрядных буферных регистра. Первый регистр всегда хранит «0», поэтому его входы данных не подключены к общей шине. В R0 может храниться только значение операнда источника. Следующие три регистра (R1, R2, R3) используются для общего назначения. Их входы данных подключены к общей шине, на которую может поступать как значение непосредственного операнда источника, так и содержимое выхода сумматора АЛУ. Простейшей развязкой этих сигналов в нашем случае может служить блок элементов 2ИЛИ. У каждого регистра буфер записи может быть включен только в том случае, если этот регистр служит приемником операнда (позиции приемник или второй источник). Полученная структура представлена на рис.3. Построению блока регистров посвящена третья лабораторная работа.
Второй блок решающего устройства – АЛУ. В нашем случае в него входит только 8-разрядный сумматор, два мультиплексора, собирающие выходы блока регистров, и триггер, хранящий состояние бита переноса. Полученная структура представлена на рис.4. Сумматор строится по программе – прогр.7, которая основана на прогр.5 и прогр.6. Прогр.5 описывает одноразрядный сумматор для нулевого разряда – без входа переноса, прогр.6 – одноразрядный сумматор, имеющий вход переноса. Построение блока АЛУ производится в процессе четвертой лабораторной работы.
В пятой лабораторной работе полученные в процессе предыдущих работ модули объединяются согласно рис.5. Полученное устройство программируется в кристалл Cyclone EP1C6T144C6.
Все работы выполняются в пакете Quartus II. В нем уже выполнялись работы в предыдущем семестре, поэтому основные действия известны. Стоит привести лишь некоторые замечания, необходимые для проведения настоящих работ. Все проекты необходимо держать в одной общей папке. Каждый проект будет состоять из нескольких файлов. Перед компиляцией каждого файла необходимо установить его приоритет в данном проекте. Для этого необходимо включить навигатор проекта – первая иконка справа от окна названия проекта в верхнем меню. В открывшемся слева окне открыть список файлов проекта кнопкой File (средняя кнопка внизу открывшегося окна). Выбрать из списка необходимый файл и установить его приоритет (клик правой клавишей мыши, выбрать Set as Top Level Entity). Каждый проект необходимо оформлять как отдельный модуль (File –> Create/Update -> Create Symbol Files for Current File). При создании каждого нового проекта не забывайте в окне ADD FILES добавить уже созданные файлы, на основе которых будет строиться ваш проект. Если вы пропустили это на этапе формирования имени проекта, можете добавить через верхнее меню Project -> Add/Remove Files in Project