Сравнительный анализ архитектур RISC и CISC
Курсовая работа, 22 Июня 2014, автор: пользователь скрыл имя
Краткое описание
Цель курсового проекта: В ходе выполнения данного курсового проекта необходимо рассмотреть существующие виды архитектур процессоров, охарактеризовать их преимущества и недостатки. Для достижения данной цели есть необходимость выделить следующие основные задачи:
1. Повторить и закрепить теоретический материал;
2. Детально рассмотреть какую-либо архитектуру;
3. Сравнить архитектуры RISC и CISC.
Содержание
Введение 3
1.Теоретическая часть 4
1.1 Архитектура RISC 4
1.2. Архитектура CISC 8
1.3. Архитектура MISC 11
1.3. Архитектура MISC 12
2. Практическая часть 14
2.1. Сравнительный анализ архитектур RISC и CISC 14
2.2. Техническое задание 16
2.3. Разработка программы 17
Заключение 19
Приложение А 20
Список литературы 22
Вложенные файлы: 1 файл
Kursach_Zub.doc
— 333.50 Кб (Скачать файл)Помимо основных каналов движения информации в CISC-процессоре, на рисунке 1 не показаны многие внутренние, "зашитые" в процессор взаимодействия, которые, не внося в схему ничего более значимого, только бы загромоздили бы ее. автор заранее извиняется. если. с точки зрения экспертов, он упустил что-либо существенное в схеме.
Базовый набор команд 32-разрядного процессора обеспечивает выполнение операций над операндами, которые находятся в регистре, памяти или непосредственно в команде. В набор входят безадресные, одно-, двух- и трехадресные команды. Процессор реализует следующие шесть типов двухадресных команд:
- регистр—регистр;
- память — регистр;
- непосредственный операнд — регистр;
- регистр — память;
- память — память;
- непосредственный операнд — память.
Операнды могут содержать 8, 16 или 32 разряда. Для реализации различных типов команд определены форматы, задающие порядок размещения информации о выполняемой операции и способах выбора операндов.
Общий формат команд
Обобщенный вид формата команды допускает наличие следующих полей: кода операции (1 или 2 байта); байтов адресации (О, 1 или 2 байта); байтов смещения (0, 1,2 или 4 байта); байтов непосредственных данных — операндов (0,1,2 или 4 байта). Команды содержат от 1 до 11 байт. Проведенные оценки показывают, что в среднем длина команды составляет 4 — 5 байт.
В процессоре осуществляются следующие способы адресации операндов:
- непосредственная адресация;
- регистровая адресация;
- косвенно-регистровая адресация;
- прямая адресация;
- базовая адресация;
- индексная адресация;
- базово-индексная адресация;
- базово-индексная адресация со смещением.
1.3. Архитектура MISC
MISC-архитектура отличается наилучшей эффективностью и простотой в сравнении с CISC и RISC. Может содержать в себе блок RISC, обрабатывающий в себе от 10 базовых команд (+, -, /, *, if, else & etc), из которых формируются более сложные операции над значениями, методом ветвления полученных результатов в ПЗУ. С точки зрения быстродействия, время выполнения инструкции, скорость записи и передачи данных в память, сократилось бы в разы, так как не нужно было бы ожидать, пока заполнится и очистится конвейер, а выполнять всё "потоково" без задержек.
Причиной, по которой данная архитектура не стала популярной в компьютерных технологиях – сложность написания программ под различные процессоры. Ведь все нюансы по подбору методов вычисления и оптимизаций возлагались на плечи программистов. К тому же, с повышением сложности выполняемых задач, требовалось более сложное ПО, что тормозило бы развитие микропроцессорного рынка. Поэтому, было разумнее переложить и стандартизировать процессы выполнения стандартных формул (инструкций) на плечи процессорных специализированных блоков и написать программу «дирижёр», которая управляла бы этими процессами (как в CISC).
Тем не менее, если встроить в данные процессоры более совершенный блок инструкций, который декодировал бы их на аппаратном уровне, то равных по производительности\ энергоэффективности и простоте, данному процессору практически не нашлось бы.
Первая вариация данного процессора под названием MuP21, имеет вычислительную способность 100 MIPS, при техпроцессе 1.2 мкм, энергопотребление 50 мВт. Работает процессор на 100 мГц и количество транзисторов равно 7000 штук.
У Pentium 1 (60 МГц) с 3.1 млн. транзисторов, 0,8 мкм и до 15 ватт энергопотреблением, вычислительные возможности были примерно на том же уровне.
Рис.3 Схема архитектуры MISC
2. Практическая часть
2.1. Сравнительный анализ архитектур RISC и CISC
Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники, являются архитектуры CISC и RISC.
Таблица 1 “Сравнение характеристик RISC и CISC”
RISC |
CISC | |
Основоположник, модель |
CDC6600 (Крэй) |
IBM, IBM/360 |
Лидер, сегодня |
Alpha, PowerPC, SPARC |
x86 |
Рынок |
Высокопроизводительные компьютеры (стоимость ПО не настолько существенна) |
Персональные ЭВМ (благодаря совместимости
с программным обеспечением |
Реализация |
Аппаратная |
Микропрограммная (интерпретация) |
Число регистров общего назначения |
большое |
Небольшое |
Формат команд |
команды фиксированной длины и фиксированного формата |
большое количество форматов команд различной разрядности |
Адресация |
простые методы адресации, трехадресный формат команд |
большое количество методов адресации, преобладание двухадресного формата команд |
Сегодня разница в производительности между RISC и CISC наиболее очевидна в вычислениях с плавающей точкой, где на микропроцессор падает большая математическая нагрузка. Высокая производительность RISC в вычислениях с плавающей точкой используется в финансово-торговых системах и сложных инженерных приложениях. Однако для большинства приложений бизнес-серверов высокой производительности вычислений с плавающей точкой не требуется.
Им нужна производительность усложненных вычислений. Целые вычисления работают с целыми числами, для представления которых требуется меньшее число бит. Следовательно, они требуют меньше процессорных действий. Большинство бизнес-приложений, которые обеспечивают число заказанных изделий или вычисляют количество товаров на складе, используют главным образом усложненные вычисления.
Таблица 2 “Сравнение достоинств и недостатков архитектур”
RISC |
CISC | ||
Достоинства |
Недостатки |
Достоинства |
Недостатки |
Облегчается конвейерная, суперскалярная и другие виды параллельной обработки, планирование загрузки, предвыборка, переупорядочивание и т.д. |
Значительная загрузка локального интерфейса процессора( двунаправленная шина данных D, шина управления C, шина адреса A) |
Возможность выполнять большое количество разный инструкций. |
высокая стоимость аппаратной части; |
Более эффективно используется площадь кристалла (больше памяти – РОН, кэш). |
Сложность программирования. |
сложности с распараллеливанием вычислений. | |
Быстрее выполняется декодирование и исполнение команд – соответственно, выше тактовая частота. |
Затрачивается значительная доля времени на дешифрацию команды. |
Для обеспечения высокой скорости работы нужен конвейер процессора с большим количеством ступеней | |
Технология RISC не всегда подходит для применения в тех случаях, когда набор задач ограничен. Например, для сетевого оборудования встроенные вычислительные средства RISC, как правило, не подходят, поскольку большинство ситуаций, в которых вы можете оказаться, можно предвидеть, а использование для их решения множества небольших команд замедляет работу устройства.
Технология CISC предпочтительна при решении большинства задач, так или иначе относящихся к серверам, поскольку требования к процессорам в данном случае легко предвидеть. С другой стороны, технология RISC предпочтительна в "непредсказуемых" случаях, например, при обслуживании баз данных и приложений.
Но все же CISC постепенно исчерпывает себя и немного тормозит развитие вычислительных способностей современных систем. К тому же, CISC процессоры сложны в проектировании и дороги в производстве и имеют проблемы с полноценным распараллеливанием вычислений (приходится постоянно оптимизировать софт).
2.2. Техническое задание
Введение
Настоящее техническое задание распространяется на разработку программы, определяющей количество элементов, равных регистру bl (результат помещается в регистр al).
Основание для разработки
- Программа разрабатывается на основе учебного плана кафедры «Информатика и вычислительная техника» БФ СибГУТИ 2 курс.
- Наименование работы: «Сравнительный анализ архитектур»
- Исполнитель: студент группы И-121 Зубков М.В.
- Соисполнители: нет.
Назначение
Настоящая программа предназначена для оценки преимуществ и недостатков каждой из архитектур персональных компьютеров RISC и CISC, а также для закрепления навыков программирования на языке ассемблера.
Требования к программе или программному изделию.
- Требования к функциональным характеристикам:
Программа должна обеспечить возможность выполнения следующих функций:
- Сравнение элементов
массива со значением регистра
- Вывод результата работы программы в регистр al;
- Требования к надежности:
Возможность проверки
достоверности работы
- Требования к составу и параметрам технических средств:
Программа должна быть доступна пользователям с такими операционными системами, как Windows 7, Windows XP.
Рекомендуемая конфигурация: Windows XP.
Требования к программной документации
- Разрабатываемая программа должна быть самодокументирована, то есть содержать необходимые комментарии.
- Разрабатываемая программа должна быть сопровождена справочной информацией о структуре и более подробным описанием некоторых особенностей разработки.
- В состав сопровождающей документации должны входить:
- пояснительная записка, содержащая описание разработки.
- приложения, содержащие листинг программы.
2.3. Разработка программы
Программа, определяющая сколько в массиве элементов равны регистру bl. Результат помещается в регистр al.
(MASM x64)
.model small
.stack 100h
.8086
.data
buff db 10,11,13,13,14,12,15,14
counter db 0
.code
start:
mov ax,@data
mov ds,ax
mov bl,14
mov cx,sizeof buff ;размер массива
mov si,offset buff ;адрес массива в si
@compare: ;цикл сравнений
cmp bl,byte ptr [si] ;сравнить содержимое регистра bl с элементом массива
jne @next ;если не равно переход по метке
inc [counter] ;иначе увеличить счетчик на 1
@next:
inc si ;увеличить адрес массива на 1(сл.элемент)
loop @compare ;выполнять цикл пока cx не равно 0
mov al,counter
mov ax,0C07h ;ожидать нажатие клавиши
int 21h
mov ax, 4C00h
;завершить выполнение
int 21h
end start
(FASM x32)
Use32
org 100h
.data
buff db 10,11,13,13,14,12,15,14
counter db 0
.code
start:
mov ax,@data
mov ds,ax
mov bl,14
mov cx,sizeof buff ;размер массива
mov si,offset buff ;адрес массива в si
@compare: ;цикл сравнений
cmp bl,byte ptr [si] ;сравнить содержимое регистра bl с элементом массива
jne @next ;если не равно переход по метке