Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
Соревнования проводятся 07 августа 2016 года (Вс), по адресу: СПб,ул. Авиационная 19, КСЕ «Волна». Метро «Московская», далее пешком до пересечения ул....полностью>>
'Документ'
Сочи — знаменитый город-курорт, особенно полюбившийся всеми после победы нашей команды в Олимпиаде. Именно здесь мы с вами и проведем майские праздник...полностью>>
'Документ'
натрия, алюминия, калия, бария, лития, бария, магния) Сульфит (кальция, натрия, алюминия, калия, бария, лития, бария, магния) Фосфат (калия, кальция, ...полностью>>
'Документ'
Адвокат Костанов Юрий Артемьевич, находящийся по адресу: 105005, Москва, Плетешковский переулок, дом 3а-31. Московская коллегия адвокатов «Адвокатское...полностью>>

Главная > Документ

Сохрани ссылку в одной из сетей:
Информация о документе
Дата добавления:
Размер:
Доступные форматы для скачивания:

6Вычисление значений логических условий.

Эти функции операционным элементом в виде булевой функции.

φ1(s1,s2,…,sn) si – некоторые слова, поля слов или отдельные биты слов.

Функция вычисления комбинационной схемой:

Наиболее распространенными схемами для вычисления логических условий являются схемы, которые вычисляют отношение 2-х слов А и В: φ1(А,В)

7Комбинированные операционные элементы.

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

CISC и RISC архитектуры

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

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

Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники являются архитектуры CISC и RISC.

Лидером в разработке микропроцессоров c полным набором команд (CISC - Complete Instruction Set Computer) считается компания Intel со своей серией x86 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров.

Для CISC-процессоров характерно:

  • сравнительно небольшое число регистров общего назначения;

  • большое количество машинных команд, некоторые из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и выполняются за много тактов;

  • большое количество методов адресации;

  • большое количество форматов команд различной разрядности;

  • преобладание двухадресного формата команд;

  • наличие команд обработки типа регистр-память.

Основой архитектуры современных рабочих станций и серверов является архитектура компьютера с сокращенным набором команд (RISC - Reduced Instruction Set Computer). Зачатки этой архитектуры уходят своими корнями к компьютерам CDC6600, разработчики которых (Торнтон, Крэй и др.) осознали важность упрощения набора команд для построения быстрых вычислительных машин.

Разработка экспериментального проекта компании IBM началась еще в конце 70-х годов, но его результаты никогда не публиковались и компьютер на его основе в промышленных масштабах не изготавливался. В 1980 году Д.Паттерсон со своими коллегами из Беркли начали свой проект и изготовили две машины, которые получили названия RISC-I и RISC-II. Главными идеями этих машин было отделение медленной памяти от высокоскоростных регистров и использование регистровых окон. В 1981году Дж.Хеннесси со своими коллегами опубликовал описание стенфордской машины MIPS, основным аспектом разработки которой была эффективная реализация конвейерной обработки посредством тщательного планирования компилятором его загрузки.

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

Среди других особенностей RISC-архитектур следует отметить наличие достаточно большого регистрового файла (в типовых RISC-процессорах реализуются 32 или большее число регистров по сравнению с 8 - 16 регистрами в CISC-архитектурах), что позволяет большему объему данных храниться в регистрах на процессорном кристалле большее время и упрощает работу компилятора по распределению регистров под переменные. Для обработки, как правило, используются трехадресные команды, что помимо упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их последующей перезагрузки.

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

Следует отметить, что в последних разработках компании Intel (имеется в виду Pentium P54C и процессор следующего поколения P6), а также ее последователей-конкурентов (AMD R5, Cyrix M1, NexGen Nx586 и др.) широко используются идеи, реализованные в RISC-микропроцессорах, так что многие различия между CISC и RISC стираются. Однако сложность архитектуры и системы команд x86 остается и является главным фактором, ограничивающим производительность процессоров на ее основе.

Микропроцессоры типа CISC

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

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

Организация первых моделей процессоров - i8086/8088 - была направлена, в частности, на сокращение объёма программ, критичного для систем того времени, отличавшихся малой оперативной памятью. Расширение спектра операций, реализуемых системой команд, позволило уменьшить размер программ, а также трудоёмкость их написания и отладки. Однако увеличение числа команд повысило трудоёмкость разработки их топологических и микропрограммных реализаций. Последнее проявилось в удлинении сроков разработки CISC-процессоров, а также в проявлении различных ошибок в их работе. Кроме того, нерегулярность потока команд ограничила развитие топологии временным параллелизмом обработки инструкций на конвейере “выборка команды- дешифрация команды- выборка данных- вычисление- запись результата”.

Эти недостатки обусловили необходимость разработки альтернативной архитектуры, нацеленной, прежде всего, на снижение нерегулярности потока команд уменьшением их общего количества. Это было реализовано в RISC-процессорах, название которых означает “чипы с сокращённой системой команд” (Reduced Instruction Set Computer).

Микропроцессоры типа RISC

Микропроцессоры с архитектурой RISC ( Reduced Instruction Set Computers ) используют сравнительно небольшой (сокращённый ) набор наиболее употребимых команд, определённый в результате статистического анализа большого числа программ для основных областей применения CISC (Complex Instruction Set Computer )- процессоров исходной архитектуры. Все команды работают с операндами и имеют одинаковый формат. Обращение к памяти выполняется с помощью специальных команд загрузки регистра и записи. Простота структуры и небольшой набор команд позволяет реализовать полностью их аппаратное выполнение и эффективный конвейер при небольшом объеме оборудования. Арифметику RISC - процессоров отличает высокая степень дробления конвейера. Этот прием позволяет увеличить тактовую частоту ( значит, и производительность ) компьютера; чем более элементарные действия выполняются в каждой фазе работы конвейера, тем выше частота его работы. RISC - процессоры с самого начала ориентированны на реализацию всех возможностей ускорения арифметических операций, поэтому их конвейеры обладают значительно более высоким быстродействием, чем в CISC - процессорах. Поэтому RISC - процессоры в 2 - 4 раза быстрее имеющих ту же тактовую частоту CISC - процессоров с обычной системой команд и высокопроизводительней, несмотря на больший объем программ, на ( 30 % ). Дейв Паттерсон и Карло Секуин сформулировали 4 основных принципа RISC :

1. Любая операция должна выполняться за один такт, вне зависимости от ее типа.

2. Система команд должна содержать минимальное количество наиболее часто используемых простейших инструкций одинаковой длины.

3. Операции обработки данных реализуются только в формате “регистр - регистр“ (операнды выбираются из оперативных регистров процессора, и результат операции записывается также в регистр; а обмен между оперативными регистрами и памятью выполняется только с помощью команд загрузки\записи ).

4. Состав системы команд должен быть “ удобен “ для компиляции операторов языков высокого уровня

Скалярные и векторные процессоры

SISD – Single Instruction, Single Data – скалярный процессор обрабатывающий один элемент данных за одну инструкцию. Типичными элементами данных могут быть целые числа и числа с плавающей запятой.

SIMD – single instruction, multiple data – векторный процессор выполнения команды, в котором операндами могут быть упорядоченные массивы данных (векторы).

Векторные процессоры делятся на:

Векторные расширения SSE (Streaming SIMD Extensions, потоковое SIMD-расширение процессора). Этот набор инструкций был разработан фирмой Intel и применён в Pentium 3. В этой архитектуре процессоры имеют восемь 120-битовых регистров. Набор инструкций позволяет работать со скалярными и упакованными типами данных. Их преимущество достигается когда необходимо произвести одну и ту же последовательность действий над разными данными. Тогда блок SSE осуществляет распараллеливание вычислительного процесса между данными.

Конвейер

Главным препятствием высокой скорости выполнения команд является необходимость их вызова из памяти. Для разрешения этой проблемы можно вызывать команды из памяти заранее и хранить в специальном наборе регистров. Эта идея использовалась еще в 1959 году при разработке компьютера Stretch компании IBM, а набор регистров был назван буфером выборки с упреждением. Таким образом, когда требовалась определенная команда, она вызывалась прямо из буфера, а обращения к памяти не происходило.

В действительности при выборке с упреждением команда обрабатывается за два шага: сначала происходит вызов команды, а затем — ее выполнение. Еще больше продвинула эту стратегию идея конвейера. При использовании конвейера команда обрабатывается уже не за два, а за большее количество шагов, каждый из которых реализуется определенным аппаратным компонентом, причем все эти компоненты могут работать параллельно.

Пятиступенчатый конвейер:

Первая ступень (блок С1) вызывает команду из памяти и помещает ее в буфер, где она хранится до тех пор, пока не потребуется. Вторая ступень (блок С2) декодирует эту команду, определяя ее тип и тип ее операндов. Третья ступень (блок СЗ) определяет местонахождение операндов и вызывает их из регистров или из памяти. Четвертая ступень (блок С4) выполняет команду, обычно проводя операнды через тракт данных. И наконец, блок С5 записывает результат обратно в нужный регистр.

На рис. б мы видим, как действует конвейер во времени. Во время цикла 1 блок С1 обрабатывает команду 1, вызывая ее из памяти. Во время цикла 2 блок С2 декодирует команду 1, в то время как блок С1 вызывает из памяти команду 2. Во время цикла 3 блок СЗ вызывает операнды для команды 1, блок С2 декодирует команду 2, а блок С1 вызывает команду 3. Во время цикла 4 блок С4 выполняет команду 1, СЗ вызывает операнды для команды 2, С2 декодирует команду 3, а С1 вызывает команду 4. Наконец, во время цикла 5 блок С5 записывает результат выполнения команды 1 обратно в регистр, тогда как другие ступени конвейера обрабатывают следующие команды.

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

Процессор без конвейера выполняет команды с частотой N. Разделим вычисление команды на M одинаковых частей по длительности. Конвейер может работать с частотой N*M. Если конвейер загружен без задержки, то после переходного процесса, n-1 блоков, будем иметь скорость выполнения K=N*M2

Но в работе конвейера возникают конфликты:

Конфликты – это такие ситуации в конвейерной обработке, которые препятствуют выполнению очередной команды в предназначенном для нее такте.

Конфликты делятся на три группы:

  • структурные,

  • по управлению,

  • по данным.

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

Причины структурных конфликтов.

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

Пусть этап выполнения команды i+1 занимает 3 такта. Тогда диаграмма работы конвейера будет иметь вид, представленный в таблица 11.3.

Таблица 11.3.

Команда

Такт

1

2

3

4

5

6

7

8

9

i

IF

ID

OR

EX

WB

i+1

IF

ID

OR

EX

EX

EX

WB

i+2

IF

ID

OR

O

O

EX

WB

i+3

IF

ID

OR

O

O

EX

i+4

IF

ID

OR

O

O

При этом в работе конвейера возникают так называемые "пузыри" (обработка команд i+2 и следующих за ней, начиная с такта 6), которые снижают производительность процессора.



Похожие документы:

  1. Организация однопроцессорных ЭВМ 2 > общие вопросы истории развития и построения ЭВМ 2

    Документ
    ... с машиной, вопросы логической организации представления, хранения и преобразования ... И. Информатика: Системы счисления и компьютерная арифметика. – М.: Лаборатория Базовых Знаний ... цифровой информации имеют многоуровневую структуру, т.е. построены ...
  2. #организация производства и управление предприятием учебник

    Учебник
    ... предприятия. Структура КС УКП предусматривает многоуровневую организацию управления: на уровне объединения (предприятия ... регулирование технологических процессов, статистический анализ, компьютерная технология и др. Отраслевая наука практически ...
  3. «Компьютерная лингвистика и интеллектуальные технологии» (1)

    Документ
    ... работы в компьютерной лексикографии Сфера компьютерной лексикографии довольно широка ... лексическими элементами; многоуровневые лексико-синтаксические конструкции ... интеграционный organization <интеграционная> организация 0 integration интеграция economic ...
  4. Организация образовательного процесса на основе требований СанПиН. Директор Халимова Г. К. зам директора по икт халиуллина Г. С. зам директора по увр бадретдинова А. М

    Документ
    ... десятилетия. Это сложный многоуровневый процесс, который нельзя ... информационной базы данных, использование компьютерных технологий, хранение и обработки ... технологий в преподавании и организации жизнедеятельности школьников. Информатизация образования ...
  5. «Компьютерная лингвистика и интеллектуальные технологии» (3)

    Документ
    ... экспериментальная лингвистика» Профиль: «Компьютерная лингвистика и интеллектуальные технологии» Кластеризация ... . 1988] обсуждается многоуровневый анализ лексической конструкции ... статистического анализа структурной организации конструкций. Основными ...

Другие похожие документы..