Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 437стр.doc
Скачиваний:
45
Добавлен:
15.06.2014
Размер:
9.54 Mб
Скачать

Структурная и функциональная организация ЕЕМ (ComputerOrganizationandDesign )

БГУИР кафедра ЗЕМ

доцент Самаль Дмитрий Иванович

т.284 -21 -61, dmitry_samal@mail.ru ,

а.502 -5

Лекция 4

2307

План лекции

  1. Определения

  2. Уровни абстракции ЗЗМ

  3. Концепция фон Неймана

  4. Вычислительная машина фон Неймана

Printed with FinePrint- purchase atwww.fineprint.com

Слайд 2

Алгоритмы . Программы . Команды .

«Алгоритм - конечный набор предписаний , определяющий решение задачи посредством конечного количества операций » (ISO2382/1 -84)

Дрп. определения:

- способ преобразования информации , задаваемый с

помощью конечной системы правил .

- совокупность правил , определяющих эффективную

процедуру решения любой задачи из некоторого заданного класса задач .

- точно определённое правило действий , для которого

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

Слайд 3

Алгоритмы . Программы . Команды .

Свойства алгоритма : Дискретность

действия над дискретной информацией , действия сами дискретны

Определённость

в алгоритме указано воё , что необходимо

ни одно из действий нэ должно трактоваться двояко

Массовость

применимость алгоритма к множеству значений исходных данных

Результативность

возможность получения результата за конечное число шагов

Слайд 4

Printed with FinePrint- purchase atwww.fineprint.com

Алгоритмы . Программы . Команды ■

Свойства алгоритмов позволяют осуществлять и< выполнение на вычислительной машине (ЕМ ). Процесс , порождаемый алгоритмом -«вычислительный процесс».

Основа архитектуры современных ЕМ - представление алгоритма решения задачи в виде программы последовательных вычислений .

« Программа для ЕМ -упорядоченная

последовательность команд , подлежащая обработке ». (ISO2382/1 -84)

Слайд 5

Алгоритмы . Программы . Команды .

Вычислительная машина - зло :

  • «устройство , которое принимает данные ,обрабатывает и< в соответствии с программой ,генерирует результаты и обычно состоит из ..»

  • «функциональный блок, способный выполнятьвычисления (армф . и логич .) без участия человека »

  • «устройство , способное :

  • хранить программу {-ш) и информацию , необх . для еёвыполнения ,

  • быть свободно перепрограммируемым ,

  • выполнять арифм . вычисления , задаваемые пользователем ,

  • выполнять без вмешательства человека программуобработки , требующую изменения действий путём принятиялогических решений в процессе обработки .»

Слайд б

Printed with FinePrint- purchase atwww.fineprint.com

Дилемма

Вычислительная машина намного проще человека

(на данный момент ).

Алгоритм решения задачи для человека * алгоритму

решеНИЯ ЗадаЧИ ДЛЯ ЕМ (го уровню детализации ).

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

  • сложить 2 числа

  • проверить , не является т число нулём

  • скопировать данные из одной части памяти ЕМ в другую

Слайд 1

Дилемма

Набор примитивных команд в совокупное™ составляют маимнньм язьк.

Чем проще команды - тем проще ЕМ , дешевле электроника и т.п.

Соответственно , большинство машинных языков очень примитивны и использовать и< трудно и утомительно .

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

Printed with FinePrint- purchase atwww.fineprint.com

Языки , уровни и виртуальные машины Languages, Levels, Virtual Machines

2 способа решения - трансляция и интерпретация .

Оба преследуют одну цель - разработка новых команд , которые более удобны для человека , чач встроенные машинные команды ■

Машинные команды - язьк Я 0. Новые команды формируют язьк Я 1.

Трансляция и интерпретация сходны . Г\и применении обоих методов в конечном итоге выполняет набор команд 1-е язьке Я 0, эквивалентных командам Я 1.

Различие - хранение воей программы Я 0( vs Я 1) в памяти ЕМ и затем выполнение , во втором случае -каждая команда программы на Я 1 перекодируется 0 и сразу ;не выполняется .

Языки , уровни и виртуальные машины Languages, Levels, Virtual Machines

Виртуальная машина М 1 - для которой машинным языком является язьк Я 1, а виртуальная машина с языком Я 0 — М 0.

Если 6)1 машину М 1 можно было 6>i сконструировать не дорого , то язьк Я 0, и машина М 0, были 6>i i-e нужны . Можно было 6)1 просто писать программы на язьке Я 1,а компьютер сразу 6>i vk выполнял .

Даже если виртуальная машина слишком дорога или ее очень трудно сконструировать , лкэди вое ;же могут писать программы для нее . Эм программы могут транслироваться или интерпретироваться программой , написанной на язьке Я 0, которая сама могла 6>i выполняться фактически существующим компьютером .

Слайд 10

Printed with FinePrint- purchase atwww.fineprint.com

Языки , уровни и виртуальные машины Languages, Levels, Virtual Machines

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

Чтобы трансляция и интерпретация были целесообразными , язьки Я 0 и Я 1 не должны сильно различаться . Это значит ,чго язык Я 1 хотя и лучше ,чем Я 0, нэ вое ;же далек от идеала .

Очевидное решение этой проблемы — создание ешэ одного набора команд , которые в большей степени ориентированы на человека и в меньшей степени на компьютер , чем Я 1. Этот третий набор команд также формирует язьк, который можно назвать Я 2, а соответствующую виртуальную машину — М 2.

Слайд 11

Языки , уровни и виртуальные машины Languages, Levels, Virtual Machines

Человек может писать программы на язьке Я 2, как бу/jro виртуальная машина с машинным ЯЗЫКОМ Я2 действительно существует. Такие программы могут или транслироваться на язьк Я 1, или выполняться интерпретатором , написанным на язьке Я 1.

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

Язьк, находящийся в самом низу иерархическойструктуры — самый примитивный , а находящийся i-aсамом верху — самый сложный . „ Л

~ * Слайд П.

Printed with FinePrint- purchase atwww.fineprint.com

Языки , уровни и виртуальные машины Languages, Levels, Virtual Machines

Уровень п

с машинным языком Я п

УровеньЗ

ЕиижмьнАамаинна м :•

С МЭШИННЫМЯгЫКОМЯЗ

Ур»:еемь2

Виртуальная малина М 2 с машинным языком Я 2

Уровень 1

Виртуальная машина м 1 смашинным ajt>':« Я1

УровеньО

Виртуапьная малина м О с машинным озыксм Я О

Программы на языке Я i лисе мнтерпрэтмрлотея прсг[<ак«оН-мнт-фгрет атером. рэО:-так:щей на мэшмнеОглэе низ*:*1 оурсеня. либо транешруютсяна машинный язь к маи*1ныС-:>ле-? низкого уровня

программа на агыке Я 1

. рв^о тающим и на манию м 1 или М О.либо 1 или Я О

Программы на оэыкё Я 1

инте^претаторэм. раС накяшин^М и,лис<5 ЯО

Пр:граммы Я

Рис.

Amultilevel machine

Слайд Б

Современные многоуровневые машины Contemporary Multilevel Machines

Level 5

Level 4

Level 3

Level 2

Level 1

Level 0

Problem-oriented language level

I

Язык вькокогоур:«ня

Translation (compiler)

Assembly language level

I

Ур о ве н ь я гы к а асо=м One ра

Translation (assembler)

Трансляцт i ао^мблер!

Operating system machine level

1

У1:ое*нь1>г>н«чинон1+ч1 :i>: Tri.tJ

Partial interpretation (operating system)

Транспцт. »о:«моле|:-1

Instruction set architecture level

1

Уровень арки тес туры команд

Interpretation (microprogram) or direct execution

Интерпретация ■'мифопрггpanwai

Microarchitecture level

i

Мжроарвит-Ектуршй уровэнь

Hardware

л,п!ратоес«стаев

i

Цифровой ч■<!»■*■:» им уровень

Digital logic level

Asix -levelcomputer. The support method for each level is indicated below it. M 14

Printed with HnePrint- purchase atwww.fineprint.com

Современные многоуровневые машины Contemporary Multilevel Machines

-1 уровень (нэ показан ) - уровень физических устройств . На нём находятся транзисторы , которые являются примитивами для разработчиков компьютеров . Объяснять , как работают транзисторы ,-задача физики .

О уровень - сагый нижний - цифровой логический уровень содержит объекты , называемые вентилями . Вентиль вычисляет простые функции двоичных сигналов , такие как И ит ИП/1 . Каждый вентиль формируется vs нескольких транзисторов . Несколько вентилей формируют 1 бит памяти . Биты памяти , объединенные в группы , например , го 16,32 игм 64, формируют регистры .

Слайд 15

Современные многоуровневые машины Contemporary Multilevel Machines

1 уровень - микроархитектурный уровень . На этом уровне можно видеть совокупности 8 игм 32 регистров , которые формируют локальную память и схему, называемую АЛУ (арифметико -логическое устройство ). АПУ выполняет простые арифметические операции . Регистры вместе с РЛ/ формируют тракт данных , го которому поступают данные . Основная операция тракта данных :

- выбирается один wv\ два регистра , АПУ производит над ними какую -либо операцию , например сложения , а результат помещается в один из этих регистров .

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

Слайд 16

Printed with FinePrint- purchase atwww.fineprint.com

Современные многоуровневые машины Contemporary Multilevel Machines

На машинах , где тракт данных контролируется программным обеспечением , микропрограмма интерпретатор для команд на уровне 2.

— зло

Микропрограмма вызывает команды из памяти и выполняет и< одну за другой , используя гри этом тракт данных . Например , для того чтобы выполнить команду ADD, зла команда вызывается из памяти , ее операнды помещаются в регистры , АПУ вычисляет сумму , а затем результат переправляется обратно .

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

Слайд 17

Современные многоуровневые машины Contemporary Multilevel Machines

Level 5

Problem-oriented language level

Язык et>:>:n:-f оус-:€н-а

Translation (compiler)

Level 4

Assembly language level

Ур о ве н ь я зы к а асоем Or» pa

Translation (assembler)

Тренслящя

Level 3

Operating system machine level

Уровеньо пэра тонкий :i>:iri

Partial interpretation (operating system)

Level 2

Instruction set architecture level

Уровеньзркитегтуры команд

Interpretation (microprogram) or direct execution

Интерпретация

или негисредственн:*

Level 1

Microarchitecture level

Mi» | >■ vi|.4iii-t+ r.v-нии уроюнь

Hardware

Level 0

Digital logic level

LJi»t-r---t'~-M тт.*-:* им ,r-■£<?нь

Asix -levelcomputer. The support method for each level is indicated below it.

18

Printed with hinePrint- purchase atwww.fineprint.com

Современные многоуровневые машины Contemporary Multilevel Machines

2-й уровень - уровень архитектуры системы команд -Instruction Set Architecture (ISA) .

Каждый производитель публикует руководство для компьютеров , которые сн продает, год названием «Руководство го машинному языку » игм «Принципы работы компьютера Western Wombat Model 1ОСК » и т.п.

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

интерпретатора .

Современные многоуровневые машины Contemporary Multilevel Machines

3-й - уровень операционной системы - обычно гибридный . Большинство команд в его язьке есть также и на уровне архитектуры системы команд (команды , имеющиеся на одном из уровней , вполне могут находиться на других уровнях). Особенности уровня : набор новых команд , другая организация памяти , способность выполнять две и более программ одновременно и т.п. Г\ри построении третьего уровня возможно больше вариантов , чем гри построении первого и второго .

Новые средства ,3 -го уровня , выполняются интерпретатором , написанном на язьке второго уровня . Этот интерпретатор - операционная система . Команды 3-го уровня , идентичные командам 2-го уровня , выполняются микропрограммой ит аппаратным обеспечением , нэ нэ ОС. Иньми словами , Одна часть команд третьего уровня интерпретируется ОС, а другая часть — микропрограммой .

а**и>

Printed with FinePrint- purchase atwww.fineprint.com

Современные многоуровневые машины Contemporary Multilevel Machines

Level 5

Level 4

Level 3

Level 2

Level 1

Level 0

Problem-oriented language level

I

Язык вы: >:n ;<■■;■ vf.*:€H-3

Translation (compiler)

трансляций it■lurn'iji (■■

Assembly language level

|

Уровеньяаыкаассем бгв pa

Translation (assembler)

Трансляция похмблер'!

Operating system machine level

1

Уровень о пера lh oh w:*i система

Partial interpretation (operating system)

Трансляция iассемблер!

Instruction set architecture level

1

Уровень арки те к туры команд

Interpretation (microprogram) or direct execution

Интерпретация мифопр:гракид| или негисредственн:* выполнение

Microarchitecture level

i

M и< р серки та; тури ий уровэнь

Hardware

Апгиретно-сОэ стечение

Цифровой i.4-if*r-:mii уровень

Digital logic level

Asix -levelcomputer. The support method for each level is indicated below it.

Современные многоуровневые машины Contemporary Multilevel Machines

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

Уровни 2 и 3 обычно интерпретируются , а уровни 4,5 и выше обычно , хотя и нэ всегда , поддерживаются транслятором .

Другое различие между уровнями 1,2,3 и уровнями 4,5 и выше — особенность язька . Машинные языки уровней XI и 3 — цифровые . Начиная с четвертого уровня , язьки содержат слова и сокращения , понятные человеку .

Слайд 22

Printed with HnePrint- purchase atwww.fineprint.com

Современные многоуровневые машины Contemporary Multilevel Machines

Четвертый уровень представляет собой символическую форму одного из языков более низкого уровня . На этом уровне можно писать программы в приемлемой для человека форме . Эти программы сначала транслируются на язьк уровня 3,2 или 1,а затем интерпретируются соответствующей виртуальной ит фактически существующей машиной . Программа , которая выполняет трансляцию , называется ассемблером .

Пятьм уровень - язьки прикладных программистов ($Е/). Программы , написанные на эгтмх языках, обычно транслируются на уровень 3 или 4. Трансляторы , которые обрабатывают эти программы , называются компиляторами . Иногда также используется метод интерпретации . ( например - Java ).

Слайд 23

Развитие многоуровневых машин Evolution of Multilevel Machines

Уровень

Характеристика, примечание

Проблемнр-ор нентиравэнные языки

Использование готовой прикладной программы (напрннвр. MS Wwd)

Процед^рнс-йриектиравэнные языки

Программировйлнв прикладной задачи

Уровень языка макро ассемблера

Позволяет ппиисноеэть- часто повторяю щи сея фрагменты кода и в дальнейшем wen едьэ овать

-ЭТО НМЛ

Уровень функций ОС (BIOS)

Можем пользоваться гстовыыа типовыми под­программами длячаста н.сл(жьэ^емы2. нпи аппа-■ратно зависимые дейс-гвий

"Уровень шашкккьЕХ юзмавд

Елли пишем свои аналоги снетгмшых ^ункцнзЗ;

Микропрограммный трсвень

Программно HCBHnHM, на знание сто свойств поэведяет улучшать -эффективность кода

Уровень аппаратуры

Доступен во нсгровннык применениях

ВЬ1вод : компьютер проектируется как иерархическая структура уровней , каждый из которых надстраивается над предьщущим . Каждый уровень представляет собой определенную абстракцию с различными объектами и операциями

1 Слайд

Printed with FinePrint- purchase atwww.fineprint.com

How to Speak Computer

High Level Language Program

temp = v[k]; v[k] = v[k+1]; 1] = temp;

Слайд 25

How to Speak Computer

0($2) 4($2) 0($2) 4($2)

High Level Language Program

Compiler

Assembly Language Program

temp = v[k]; v[k] = v[k+1]; 1] = temp;

tv $15,

tv $16,

s/v $16,

s/v $15,

Printed with FinePrint- purchase atwww.fineprint.com

Слайд 26

How to Speak Computer

0($2) 4($2) 0($2) 4($2)

High Level Language Program

Compiler

Assembly Language Program

temp = v[k]; v[k] = v[k+1]; 1] = temp;

tv $15,

tv $16,

s/v $16,

s/v $15,

Assembler

Machine Language Program

1000110001100010000000000000000 1000110011110010000000000000100 1010110011110010000000000000000 1010110001100010000000000000100

Слайд 27

How to Speak Computer

0($2) 4($2) 0($2) 4($2)

High Level Language Program

Compiler

Assembly Language Program

temp = v[k]; v[k] = v[k+1]; 1] = temp;

tv $15,

tv $16,

s/v $16,

S/V $15,

Assembler

Machine Language Program

1000110001100010000000000000000 1000110011110010000000000000100 1010110011110010000000000000000 1010110001100010000000000000100

M ac h i n e I nter p retati о n

ControlSignalSpec

ALUOP[0:3] <= InstReg[9:11 ] & MASK

Printed with FinePrint- purchase atwww.fineprint.com

Слайд 28

The Instruction Set Architecture

Архкгтектура системы команд - интерфейс между воем выполняемым на машине ГО и аппаратным обеспечением .

Application

Operating System

житектура системы (ISA)

I/Osystem

новые лог . схемы

Проектирование схем

Транзисторы

Объект интереса

дисциплины

СИФО

Слайд 29

Развитие многоуровневых машин Evolution of Multilevel Machines

Изобретение микропрограммирования Изобретение ОС

Перемещение функциональности системы га уровень микрокода

Усфанение микропрограммирования

Printed with FinePrint- purchase atwww.fineprint.com

Слайд 30

Развитие многоуровневых машин Evolution of Multilevel Machines

Изобретение микропрогра ммирова ния

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

и понимания и ненадежны .

• В 1951 году Морис Уилкс,( Кембриджскийуниверситет), предложил идею разработкитрехуровневого компьютера для того . чтобыупростить аппаратное обеспечение . Зга машинадолжна была иметь встроенный неизменяемыйинтерпретатор (микропрограмму ), функция которогозаключалась в выполнении программ посредством а**и>интерпретации .

Развитие многоуровневых машин Evolution of Multilevel Machines

Соответственно , так как аппаратное обеспечение стало вместо программ уровня архитектуры команд выполнять только микропрограммы с ограниченным набором команд , то потребовалось меньшее количество электронных схем . Поскольку электронные схемы были из эп . ламп , то данное изобретение сокращало количество ламп и увеличивало надежность \М .

В 50 -е гада было построено несколько трехуровневых машин . ВбО-х годах число таких машин значительно увеличилось . К X) -м годам идея о тем , что написанная программа сначала должна интерпретироваться микропрограммой , а нэ выполняться непосредственно электроникой , стала преобладающей .

Слайд 32

Printed with FinePrint- purchase atwww.fineprint.com

Развитие многоуровневых машин Evolution of Multilevel Machines

Изобретение ОС

  • В Ш -е гада - первая попытка сократить количествопотерянного времени на загрузку , выполнение ивыгрузку СВУ (в случае ошибки ), автоматизировавработу оператора . Программа год названием«операционная система »теперь содержалась вкомпьютере вое время .

  • В дальнейшем ОС вое больше и большеусложнялись . К уровню ЕА добавлялись новыекоманды , приспособления и особенности , и в итогесформировался новьм уровень . Некоторые командынового уровня были идентичны командампредыдущего , нэ другие (в частности командыввода -вывода ) полностью отличались . Они тогданазывались макросами операционной системыили вызовами супервизора . Сейчас обычно

* * * v Слайд 33

используется термин «системный вызов ».

Развитие многоуровневых машин Evolution of Multilevel Machines

Перемещение функциональности системы на уровень микрокода

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

Слайд Ъ\

Printed with FinePrint- purchase atwww.fineprint.com

Развитие многоуровневых машин Evolution of Multilevel Machines

• Например , команда INC( INCrement) гри наличии обшрй команды сложения ADD.INC работала чуть быстрее , чем ADD, поэтому сна была включена в набор команд .

Многие программы были добавлены в микропрограмму го той же причине :

  1. Команды для умножения и деления целых чисел .

  2. Команды для арифметических действий над числамис плавающей точкой .

  3. Команды для вызова и прекращения действияпроцедур .

  4. Команды для ускорения циклов .

  5. Команды для работы ю строкой символов .

Слайд 35

Развитие многоуровневых машин Evolution of Multilevel Machines

Как только производители поняли , что добавлять новые команды очень легко , сни начали добавлять дрп . тех . характеристики к микропрограмме :

  1. Ускорение работы с массивами (индексная икосвенная адресация ).

  2. Перемещение программы из одного разделапамяти в другой после запуска программы(настройка ).

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

  4. Способность приостановить одну программу иначать другую , используя небольшое число команд(переключение процесса ).

Дел . команды для ускорения работы ЕМ .

Слайд 36

Printed with FinePrint- purchase atwww.fineprint.com

Развитие многоуровневых машин Evolution of Multilevel Machines

Устранение микропрограммирования

  • В Ш -х-Х) -х годах количество микропрограмм сильноувеличилось . Однако сни работали вое медленнее имедленнее , поскольку требовали большого обьемапамяти .

  • Обнаружилось , что доля дл . команд , эквивалентныхЯ& в общем объёме программ нэ превышает Ю -20%, а дт наиболее сложи . команд - даже 0.2%. Вто ;же время обьём аппаратных средств вырастаетсущественно , например ёмкость микропрограммнойпамяти увеличивается до 60%.

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

Слайд 37

Milestones in Computer Architecture (1)

Year

Name

Made by

Comments

1834

Analytical Engine

Babbage

First attempt to build a digital computer

1936

Z1

Zuse

First working relay calculating machine

1943

COLOSSUS

British gov't

First electronic computer

1944

Mark I

Aiken

First American general-purpose computer

1946

ENIAC I

Eckert/Mauchley

Modern computer history starts here

1949

EDSAC

Wilkes

First stored-program computer

1951

Whirlwind I

M.I.T.

First real-time computer

1952

IAS

Von Neumann

Most current machines use this design

1960

PDP-1

DEC

First minicomputer (50 sold)

1961

1401

IBM

Enormously popular small business machine

1962

7094

IBM

Dominated scientific computing in the early 1960s

1963

B5000

Burroughs

First machine designed for a high-level language

1964

360

IBM

First product line designed as a family

Слайд 38

Printed with HnePrint- purchase atwww.fineprint.com

Milestones in Computer Architecture (2)

Some milestones in the development of the modern digital computer.

Year

Name

Made by

Comments

1965

PDP-8

DEC

First mass-market minicomputer (50,000 sold)

1970

PDP-11

DEC

Dominated minicomputers in the 1970s

1974

8080

Intel

First general-purpose 8-bit computer on a chip

1974

CRAY-1

Cray

First vector supercomputer

1978

VAX

DEC

First 32-bit superminicomputer

1981

IBM PC

IBM

Started the modern personal computer era

1981

Osborne-1

Osborne

First portable computer

1983

Lisa

Apple

First personal computer with a GUI

1985

386

Intel

First 32-bit ancestor of the Pentium line

1985

MIPS

MIPS

First commercial RISC machine

1987

SPARC

Sun

First SPARC-based RISC workstation

1990

RS6000

IBM

First superscalar machine

1992

Alpha

DEC

First 64-bit personal computer

1993

Newton

Apple

First palmtop computer

ComputerGenerations

Zeroth Generation

MechanicalComputers(1642 -1945)

FirstGeneration VacuumTubes(1945 - 1955)

SecondGeneration Transistors(1955 - 1965)

ThirdGeneration

Integrated Circuits (1965 -1980)

FourthGeneration

Very Large Scale Integration (1980 - 7)

Printed with HnePrint- purchase atwww.fineprint.com

Слайд 39

Слайд 40

Forces on Computer Architecture

Technology

Programming Languages

Applications

Computer Architecture

Operating Systems

History

Слайд 41

John von Neumann

Слайд 42

Printed with FinePrint- purchase atwww.fineprint.com

The Five Classic Components of a Computer

Input (mouse, keyboard, ...) Output (display, printer, ...) Memory

  • main (DRAM), cache (SRAM)

  • secondary(disk,CD,DVD, ...)

Datapath 1 Processor

Control (CPU)

Von Neumann Machine

Memory

j

i

L

г

Input

Arithmetic

С

-ontrol unit

logic ur

lit

Output

J

/

Accumulator

The original Von Neumann machine,

Printed with HnePrint- purchase atwww.fineprint.com

Слайд 43

Слайд 44

CPUOrganization

A+ В

> Registers

A

В

I

input register

ALU input bus

ALU

I

A + B

-ALU output register

The data path of a typical Von Neumann machine.

Слайд 45

Принципы фон -Неймана (1945)

  • принцип хранимой в памяти программы

  • двоичное кодирование

  • программное управление(последовательное выполнение команд )

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

  • линейное пространство памяти(адресность )

Слайд 46

Printed with HnePrint- purchase atwww.fineprint.com

Принципы фон -Неймана (1945)

Принцип хранимой в памяти программы

ENIAC -(1946 -1955), программа задавалось схемой коммутации триггеров на 40 наборных полях .

EDVAC - (1949 -...) первая машина с хранимой в памяти программой

Слайд 47

Принципы фон -Неймана (1945)

Принцип двоичного кодирования

Вся информация (команды , данные ) - в бинарном виде Каждый тип информации имеет свей формат

Последовательность битов , связанных одним смыслом , называется полем :

  • для данных - попе знака и попе значащих разрядов

  • для команды - попе кода операции и попе адресов

Слайд 48

Printed with FinePrint- purchase atwww.fineprint.com

Принципы фон -Неймана (1945)

Принцип программного управления

Вое вычисления алгоритма должны быть представлены в виде программы

Программа состоит из последовательности управляющих спев - команд

Команды хранятся в последовательных ячейках памяти и выполняются в естественной последовательности

Последовательность может быть изменена - условно или безусловно

Слайд

Принципы фон -Неймана (1945)

Принцип однородности памяти

Команды и данные хранятся в одной памяти и внешне нэ различимы

Возможность производить над командами те же операции , что и над данными (модификация команд )

Модификация команд современным программированием нэ приветствуется

Самый полезный эффект данного принципа - команды одной программы могут быть получены как результат работы другой программы .

Возможность трансляции - главное следствие .

Слайд 50

Printed with FinePrint- purchase atwww.fineprint.com

Принципы фон -Неймана (1945)

Принцип однородности памяти

Команды и данные хранятся в одной памяти и внешне нэ различимы - Принстонская архитектура

Гарвардская архитектура - отдельная память команд и отдельная память данных .

Узкое место принстонской архитектуры - пропускная способность тракта «процессор -память »

В последнее время благодаря юи -памяти воё чащв начинает использоваться гарвардская архитектура ..

Слайд 51

Принципы фон -Неймана (1945)

Принцип адресности

Память - набор пронумерованных ячеек В каждый момент доступна любая ячейка

Двоичные кодь! данных и команд хранятся в единицах информации - словах

Доступ к данньм го номерам ячеек - адресам

Слайд 51

Printed with FinePrint- purchase atwww.fineprint.com

John von Neumann

юи> 53

Er\joy the Weekend!!

Printed with hinePrint- purchase atwiwffinepnnt.com

»W 54

Структурная и функциональная организация ЗЗМ (ComputerOrganizationand Design )

Е7ИР кафедра

доцент Самаяь Дмитрий Иванович т.284 -21 -61, dmitry_samal@mail.ru , а.502 -5

Лекция 5

2007

План лекции

  1. ЕМ фон Неймана - «узкие места »

  2. Архитектура системы команд

  3. Классификация архитектур системы команд

Printed with FinePrint- purchase atwww.fineprint.com

Омйд 2

The Five Classic Components of a

Computer

Input (mouse, keyboard, ...) Output (display, printer, ...) Memory

  • main (DRAM), cache (SRAM)

  • secondary (disk,CD,DVD, ...)

Datapath 1 Processor I Processor Control } (CPU)

Скгйд 3

Von Neumann Machine

Джон фон Нейман (1903 —1957) родился в Будапеште , в 1933 г. эмигрировал в США , ще преподавал в Принстонском университете и там >ve работал в Институте перспективных исследований (Institute for Advanced Study , IAS).

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

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

Скгйд 4

Printed with FinePrint- purchase atwww.fineprint.com

Von Neumann Machine

Memory

Arithmetic logic unit

Control unit

Accumulator

The original Von Neumann machine,

Охгйд 5

Von Neumann Machine

Упрощённый цикл машины фон Неймана :

  1. Процессор выставляет число , хранящееся в регистре счётчикакоманд , на пину адреса , и отдаёт памяти команда чтения ;

  2. Выставленное число является для памяти адресом ; память ,получив адрес и команда чтения , выставляет содержимое ,хранящееся го этому адресу , на пину данных , и сообщает оготовности ;

  3. Процессор получает число с шины данных , интерпретирует егокак команда (машинную инструкцию ) из своей системы команд иисполняет её;

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

  5. Снова выполняется п.1.

Омйд 6

Printed with FinePrint- purchase atwww.fineprint.com

Von Neumann Machine

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

Для преодоления этого недостатка предлагались и предлагаются архитектуры процессоров , которые называются параллельными .

Возможными вариантами параллельной архитектуры могут служить :

• одна команда — много данных

много команд — одни данные смешанная

Опйд 1

ГОР -8Innovation - SingleBus

Console terminal

Omnibus

ThePDP -8omnibus

Printed with FinePrint- purchase atwww.fineprint.com

Chaud 8

Архитектура системы команд

Система команд ЕМ - полный перечень команд , которые способна выполнять данная ЕМ .

Архитектура системы команд (КК ,ISA) - средства вычислительной машины , которые видны и доступны программисту .

Время выполнения программы Тшн зависит от числа команд в программе (N^), среднего ran -во тактов процессора на одну команду (CPI) и длительности тактового периода t^:

Т = N * CPI * t

Архитектура система команд - ключевое звено в любой современной ЕМ . Она влияет на вое три параметра .

Оюйд 9

Архитектура системы команд

"L,, =N

*

CPI

*

КК влияет на количество команд в программе через оптимизирующий компилятор (прогр . на 5БУ -> объектный гад на май . языке

КК влияет на среднее ran -во тактов , так как определяет формат команды , соответственно еэ размер -> время выборки команд -> время декодирования команд -> время исполнения команд .

Опйд 10

Printed with FinePrint- purchase atwww.fineprint.com

Архитектура системы команд

ЕА характеризуется ответами на вопросы :

Какого вида данные будут представлены в ЕМ и в какой форме ?

Где эти данные могут храниться помимо основной памяти ?

Каким образом будет осуществляться доступ к данным ?

Какие операции могут быть выполнены над данными ? Сколько операндов может присутствовать в команде ? Как будет определяться адрес очередной программы ? Каким образом будет закодированы команды ?

Оюйд 11

Instruction Set Architecture Архитектура системы команд

Очень важный уровень абстракции :

  • является интерфейсом между аппаратным уровнем инижним уровнем ГО

  • стандартизирует команды , двоичные паттернымашинного языка ,etc.

  • преимущества : различные реализации на одной и тсйархитектуре

  • недостатки : иногда препятствует внедрению новых иболее эффективных технологий

Современные архитектуры системы команд (ISA): - 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC,

Охгйд U

Printed with FinePrint- purchase atwww.fineprint.com

Instruction Set Architecture Архитектура системы команд

Части архитектуры , которые видимы программисту

- иэды операций (availableinstructions)

-число и тип регистров (number and types of registers)

  • форматы команд (instructionformats )

  • доступ к памяти , адресация (storageaccess,addressing modes )

  • обработка исключений (exception a I conditions )

Скгйд 13

The Instruction Set: a Critical Interface

software

hardware

Printed with FinePrint- purchase atwww.fineprint.com

Оюйд tt

Охгйд 15

Классификация архитектур системы команд (го составу и сложности команд )

Сложные операторы 5БУ сущ . Отличаются от простых машинных операций - семантический разрыв .

Архитектура с пол-ым наберем команд - CISC (Complex Instruction Set

Computer)

(IBM 360, VAX, Intel 432,1977 - 80)

Архитектура с cap . наберем команд - RISC (Reduced Instruction Set

Computer)

(MIPS, SPARC, IBM RS600, 1987)

Архитектура с гем . словсм сверхбольшой дп/1-ы - V\W (VeryLong Instruction Word) (Eanum , конец 1990 -x)

Chaud

Printed with FinePrint- purchase atwww.fineprint.com

Классификация архитектур системы команд (го составу и сложности команд )

Для QSC архитектуры характерно :

  • наличие в процессоре относ . небольшого числа РОН

  • большое кол-во май . команд , некоторые из никаппарат но реализуют операторы 5БУ

  • разнообразие способов адресации операндов

  • множество форматов команд различной разрядности

  • наличие команд , ще обработка совмещается собращением к памяти .

Недостатк и Q5C архитектуры :

  • высокая стоимость аппарат . части (особенно W)

  • сложности с распараллеливанием вычислений

Охгйд 17

Классификация архитектур системы команд (го составу и сложности команд )

Принципы RISC архитектуры (1980,Patterson& Ditzel):

1. Все команды непосредственно выполняются аппаратным обеспечением .

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

Оюйд IS

Printed with FinePrint- purchase atwww.fineprint.com

Принципы RISC архитектуры

2. Компьютер должен начинать выполнение большого числа команд .

В современных ЕМ используется много различных способов для увеличения производительности , главное из которых — возможность обращаться к как можно большему количеству команд в секунду . Процессор 500 -MIPS способен приступать к выполнению 500 млн . команд в секунду , и при этом нэ имеет значения , сколько времени занимает само выполнение этик команд (MIPS — Millionsof Instructions Per Second) .

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

Принципы RISC архитектуры

3. Команды должны легко декодироваться .

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

Омйд XI

Printed with FinePrint- purchase atwww.fineprint.com

Принципы RISC архитектуры

4. К памяти должны обращаться только команды загрузки и сохранения .

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

Поскольку доступ к памяти занимает много времени , а подобная задержка нежелательна , работу этик команд могут выполнять другие команды , если они нэ делают ничего , кроме передвижения операндов между регистрами и памятью . Из этого наблюдения следует , что к памяти должны обращаться только команды загрузки и сохранения (LOAD и STORE),

Принципы RISC архитектуры

5. Должно быть большое количество регистров

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

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

Омйд И

Printed with FinePrint- purchase atwww.fineprint.com

Классификация архитектур системы команд (го составу и сложности команд )

Концепция VUW (Very Long Instruction Word) базируется на RISC -архитектуре , ще несколько простых RISC -команд объединяются в одну сверхдлинную команду и выполняются параллельно В плане КК архитектура VUW мало отличается от RISC - доп . уровень параллелизма .

Опйд Ъ

Классификация архитектур системы команд (го составу и сложности команд )

Характеристика

СБС

RE5C

Длина команды

Варьируется

Единая

Единая

Расположение полей в команде

Варьируется

Неизменное

Неизменное

Количество регистров

Несколько (часто

спец иализи ров анных )

Много ГОН

Много ГОН

Доступ к памяти

Как часть команд разных типов

Только

специальные

команды

Только

специальные

команды

IntelxS6 -Pentium - CISCorRISC???

Chaud 3t

Printed with FinePrint- purchase atwww.fineprint.com

Классификация архитектур системы команд (го месту хранения операндов )

Аккумуляторная Архитектура (EDSAC,1950)

Стековая архитектура (В5500,В6500,1963 -66)

Регистровая Архитектура (IBM 360,1964)

Архитектура с выделенным доступом к памят и Load/Store (CDC 6600, Cray I, 1963 -76)

Окгйд Ъ

Стековая архитектура

Стек - множество логически взаимосвязанных го принципу LJTO ячеек .

Две операции - push и pop. Запись и чтение только в/из вершины стека .

Операнды помещаются в стек , в процессе операции они выталкиваются из стека . Результат операции - в стек .

Для стековой архитектуры лучше всего подходит обратная польская нотация (Чарльз Хэмблин ,1957), разработанная на основе «польской нотации » (Я. Лукашевич ,1920).

а = а+Ь+а *с а= ab+a с*+

Оюйд Ъ

Printed with FinePrint- purchase atwww.fineprint.com

Стековая архитектура

Б верш/ич)

1

ИЗ Вф1ШНЫ

Стек

следующая

АГ

ь/

и

А 1 1 1

Дешифратор

кода операции

Регистр данных

L

Регистр

команды

_1

Основная память

Стековая архитектура

Информация в стек - из памяти тл АЛУ (only).

Результат - в АЛУ (автоматически ).

Сохранение из стека в память х го команде (pushx).

Достоинства :

  • стек может быть неоднороден (верхние ячейкибыстрые , нижние медленные )

  • сокращение адр . части команд .

  • компактный иод

  • простой компилятор

  • простое декодирование команд

Printed with FinePrint- purchase atwww.fineprint.com

Скгйд И

Оюйд 38

Стековая архитектура

Недостатки :

Компилятор нэ может создать эф . код (нет произвольного обращения к памяти ).

Стек - узкое место . Низкая производительность . Расцвет архитектуры - 8Э е гады : НР2116В, НР3000/70.

Последние годы - повышение интереса к стековой

архитектуре .Удобен для Java и Forth. Машины -JEM1 и JEM2 от aJile Systems,Clip or Imsys .

ROSC (Removed Operand SetComputer) реинкарнация стековой архитектуры Scientist.

- новая

IGNITE от Patriot

Охгйд Ъ

Аккумуляторная архитектура

Исторически первая архитектура .

В процессоре выделенный регистр - аккумулятор регистр - заносится результат операции .

В этот

Изначально оба операнда в памяти . Перед операцией один из ник - в аккумулятор . После выполнения результат в аккумуляторе либо в памяти (если он нэ является операндом для следующей команды

Оюйд 30

Printed with FinePrint- purchase atwww.fineprint.com

Аккумуляторная архитектура

МуЛЯГОр

*

АГ

Акку

L

Деш

ифратор кода зрации

от

I

Ftem

т

сгр

;гисгр

данных

ГС

команды

г~

_1

-

Основная память

Оюйд 31

Аккумуляторная архитектура

Загрузка в акк . ячейки х - loadx . Запись из акк . в ячейку х - storex .

Один операнд - в регистр данных . Второй в аккумуляторе .

Достоинства :

Короткие команды

Простота декодирования команд

Недостатки :

многократные обращения к памяти

Популярна в ранних ЕМ - IBM7090,DECPDP -8,MOS6502

Охгйд 32

Printed with FinePrint- purchase atwww.fineprint.com

Регистровая архитектура

Массив регистров (РОН ) - явно управляемый юи для хранения недавно использовавшихся данных .

Размер регистров - обычно совпадает с май . словом . К люб . регистру можно обратиться го номеру .

Меньшее количество регистров - меньше разрядов на кодирование номера регистра - короче команда .

Операнды - либо в памяти либо в регистрах . Три подвида команд : Регистр -регистр Регистр - память Память -память

Регистровая архитектура

Массив регистров (РОН ) - явно управляемый юи для хранения недавно использовавшихся данных .

Размер регистров - обычно совпадает с май . словом . К люб . регистру можно обратиться го номеру .

Меньшее количество регистров - меньше разрядов на кодирование номера регистра - короче команда .

Операнды - либо в памяти либо в регистрах . Три подвида команд : Регистр -регистр Регистр - память Память -память

Printed with FinePrint- purchase atwww.fineprint.com

Скгйд 33

Омйд 34

Регистровая архитектура

Вариант

Достоинства

Недостатки

Регистр -регистр

Простота реализации , фикс . дл/ihB команд , простота кода гр/i компиляции f возможность выполнения всех команд за од/так . кол -во такгсв

Большая дл/1нв кода , из -

за фикс . дти-ы команд -

<-всть разрядов в командене ил -ся.

Регистр -память

Дан-ые мсгут бьгть доступны и без загрузки в per ., простота кодирования команд , компактный код

Потеря одного из опер . гр/i загмси результата ,

длинное поле адреса в команде - сокращает кол -во РСН , СИ зависит от места размгщ . операнда .

Память -память

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

Разнообразие форматов команд и времени i/к исполнения , низкое быстродействие .

Слайд 35

Регистровая архитектура

Селектор per -pa 1-го стер

Оелекгср per -pa 2-го стер

Массив ГОН

АГгУ

Де шифра тер кода операции

I

Регистр данных

Регистр команды

I

Основная память

Printed with FinePrint- purchase atwww.fineprint.com

Омйд 36

Регистровая архитектура

Операции загрузки операндов в РОН - идентичны работе с аккумулятором . Отличие - вьбор нужного регистра .

Выполнение операции АЛУ включает в себя : Вьбор регистра первого операнда

Определение местоположения второго опер -да (память ип/1 регистр )

Подача на вход АЛУ операндов и выполнение операции

Вьбор регистра результата и занесение в него результата операции из АЛУ .

Между АЛУ и массивом регистров должно быть минимум три пины . Почему ?

Скгйд 3?

Регистровая архитектура

Достоинства - компактность кода , высокая скорость .

Недостатки - более длинные инструкции (го сравнению с аккумуляторной архитектурой )

Регистровая КК - преобладающая в настоящее время (вое современные персоналки ).

Первые машины - IBM360/370,PDP -11.

Chaud 38

Printed with FinePrint- purchase atwww.fineprint.com

Архитектура с выделенным доступом к памяти

Загрузка в регистр N ячейки х - loadx N Запись из регистра N в ячейку х - store N х

Данная КК характерна для всех ЕМ с RISC архитектурой

Команды как правило - трех адресный формат и 22 бита длина .

Достоинства Load/Store КК - простота декодирования и исполнения команд .

НРРА -RISQIBM RS/6000,SUN Span:, MIPS R4000, DEC Alpha, etc.

Скгйд ЗР

Архитектура с выделенным доступом к памяти

Селектор per -pa 1-го стер

Оелекгср per -pa 2-го стер

Массив ГОН

АГУ

Деимфра тф кода операци/1

I

Регистр данных

Регистр команды

I

Основная память

Printed with FinePrint- purchase atwww.fineprint.com

Оюйд 4]

Доп . инфо

Operand locations for four instruction set architecture classes.

The arrows indicate whether the operand is an input or the result of the ALU operation, or both an input and

result. Lighter shades indicate inputs and the dark shade indicates the result. In (a), a Top Of Stack register

(TOS), points to the top input operand, which is combined withtheoperand

below. The first operand is removed from the stack, the result takes the place of the second operand, and TOS

i sup dated to point to the result. All operands are implicit. In (b), the A ccurnulator is both an implicit input

operand and a result. In (c) one input operand is a register, one is in memory, and th e result goes to a register.

All operands are registers in (d), and, like the stack architecture, can be transferred to memory о nly via separate

instructions: push or pop for (a) and load or store for (d). Оюйд 41

Доп . инфо

Stuck

4i4 ii mil L.i mi

Register

ir-.:U:-1i-| -llli.ru- 'Г1 1

Ref-bter

fload-istore'

Push

Load A

Load К1;А

Load RLr

Push

E

Add E

Load R2,

В

Add

Store с

Store R3, С

udd Б,

P.lrR2

p=p

с

Store R2r

С

The code sequence for С = A + В for four classes of instruction

sets.

Note that the Add instruction has implicit operands for stack and

accumulator architectures, and explicit operands for register

architectures. It is assum ed that AfBfandCall belong in m em ory

and that the values of A and В cannot be destroyed. Figure 2.1

shows the Add operation for each class of architecture.

Оюйд 42

Printed with FinePrint- purchase atwww.fineprint.com

Структурная и функциональная организация ЗЗМ (ComputerOrganizationand Design )

Е7ИР кафедра

доцент Самаяь Дмитрий Иванович т.284 -21 -61, dmitry_samal@mail.ru , а.502 -5

Лекция б

2007

План лекции

  1. Типы и форматы операндов

  2. Представление чисел

  3. Стандарт IEEE754

Printed with FinePrint- purchase atwww.fineprint.com

Окгйд 2

Тиы и форматы операндов

Операнды - данные , которыми оперируют машинные команды .

Базовые типы операндов - адреса , числа , символы и логические данные .

Производные от базовых типов - графические изображения , аудио - видео - и анимационная информация .

Для каждого типа данных ЕМ - определённый формат

Омйд 3

Тиы и форматы операндов

Числовая информация :

  • Целые типы - для представления целых чисел .

  • Вещественные типы -для -///"Рациональных чисел .

Числа в форме с фиксированной запятой (С8)

Число X в форме с С8 (естественная форма )= знак числа + модуль в <7-ичном коде (q может быть равным 2, 8,16).

X = ±ап_1... а1аоа_1а_2...а_г

Охгйд 4

Printed with FinePrint- purchase atwww.fineprint.com

Тиы и форматы операндов

Числа в форме с фиксированной запятой (С8)

Общий случай для записи чисел с С8 - 1 разряд для знака , п - разрядов для целой части , г - для дробной .

н... a-I ana_-i а_о-■ .а_^-

ЕНак

ап-1

ап

Если число содержит обе части , оно обрабатывается как целое (так называемое - масштабируемое целое).

Чаще всего используются ЕМ с дробной (п=0) либо целочисленной (г=0) арифметикой .

Chaud 5

Тиы и форматы операндов

Представление дробных чисел в форме с С8 -практически нэ встречается .

В настоящее время форма CS применяется для работы с целочисленной (г=0) арифметикой .

Два варианта - аэ знаком и без знака .

2n-i 2n~2 21 2° 2n~2 21

ЕНак

п-2 п-1

п-2 п-1

0<=Х<=2 п-

0<=abs(X)<=2 nl-

Преимущества - простота аппаратной реализации . Недостатки - возможный выход за диапазон .

Printed with FinePrint- purchase atwww.fineprint.com

Охгйд 6

Тиы и форматы операндов

Возможный выход за диапазон

HEX

вш

DEC

К глед, эн.

00...00

000...000

0

+1

00...01

000...001

1

+]

00,,,02

000.,,010

2

+1

...FFD

111...101

2N_3

+1

...FFE

111...ПО

2w-2

+1

...FFF

111.,,Ill

2N-1

+1

00...00

000...000

- '.

000. 001

Здесь проходит граница цикла

При возникновении переполнения хотелось 6>i его обнаружить , а также определить , в какую сторону оно произошло : получился лл результат "больше максимального представимого числа "( при сложении ) или "меньше минимального "( при вычитании ).

Охгйд 7

Тиы и форматы операндов

11.„110 11...101

А+В

10. .001

cf/C ^ in " 00...000

00...001

Круговая диаграмма

Охгйд 8

Printed with FinePrint- purchase atwww.fineprint.com

Тиы и форматы операндов

Возможный выход за диапазон

При обнаружении переполнения (а также и других

"экстраординарных ", нештатных ситуаций ) возможны

различные способы реакции :

•а) проигнорировать

•б) остановить выполнение программы

•в) предпринять заранее предусмотренные действия

В большинстве процессоров в случае переполнения разрядной сетки устанавливается специальный флаг переполнения - С-биг.

Оюйд 9

Тиы и форматы операндов

Флаг переполнения - С-биг

_1_ Эц-i йп-2 ai ao первый операнд

Ьц-1 W2 bi tft второй операнд

sr.i sr^ si so сумка (если возникает перенос — он устанавливает С-бит)

Эи-1 а«.2 ai ао первый операнд

Ьд-i bib2 bi bp второй операнд

Зц-1 sn^ S] so разность (если возникает заем - он устанавливает С-бкт)

Пример. Переполнение чисел е 8-рлзряднам регистре,

254+1=5 11111110

0 0 0 0 0 111 0 0 0 0 0 10 1

Выход №1 - использовать операнды с большей разрядностью : or char - к int, or int к double либо использовать два , три тл более слов для представления операнда .

Printed with FinePrint- purchase atwww.fineprint.com

Тиы и форматы операндов

Выход №2 - принудительно ограничивать диапазон .

Арифметика с насыщением - используется в некоторых процессорах ( команды ММХ): при выходе результата за границу пред ставим о го диапазона процессор подставляет в качестве результата ближайшее к нему представимое число .

Пример. Насыпаемые чисел на грант fax диапазона.

254+7=255

11111110 0 0 0 0 0 111 11111111 Насыщение на

верхней границе

  1. О

  2. 10 0

7-25-4=0

0 0 0 1

1111

0 0 0 0

Насыщение на

й границе

Омйд 11

Целые со знаком : представление отрицательных чисел

Прямой иод . Знаковый разряд - единица , цифровые разряды без изменения .

Дополнительный иод . Знаковый разряд - единица , цифровые разряды инвертируются и к младшему разряду добавляется единица . Дополнительный ад позволяет производить замену операции вычитания сложением дополнительных кодов . Правило [Х]дсп +[Y] доп = [X+Y] доп выполняется всегда .Декодирование такое же, как и кодировани е.

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

- Модифицированные кода . Под знак отводят два разряда : старший -знаковый , младший - переполнение .

Скгйд П

Printed with FinePrint- purchase atwww.fineprint.com

Целые ю знаком : представление отрицательных чисел

Пример :

Число

Прямой код

Дополнительный код

Обратный код

Мод иф ицирсванный код, обратный

-0,1101

1,1101

1,0011

1,0010

11,0010

Дополнительный код (two's complement) получаетсяестественным образом - последовательным вычитанием1 из нуля . Представление чисел аэ знаком вдополнительном коде также будет циклическим .Дополнительный код хорсш тем , что в нач действиясложения и вычитания над беззнаковыми числами и надчислами аэ знаком выглядят одинаково . Этоэквивалентно утверждению , что "дополнительныйиод суммы чюел равен сумме дополнительныхкодов слагаемых ". « в

Целые со знаком : представление отрицательных чисел

Диапазон представим ых значений в N-битной сетке

HEX

BIN

DEC

К ТфРДЫД. ЗН,

10 . 00

100 . 000

.2N-1

-1

Наименьшее отрицательное число

■ ■■■■

1 FFE

-2

-]

1 FFF

111...ill

-1

-1

00 ,.00

000 ..000

0

-I

Нуль

00.. .01

000... 001

1

-1

00...02

OOD-.-010

7

-1

,. ...

. 1 PI 1

0.FFF

011...Ill

3N-1-1

-1

Наибольшее положительное число

Охгйд 14

Printed with FinePrint- purchase atwww.fineprint.com

Тиы и форматы операндов

Целочисленные форматы Intel

7 6 О

(целое go знаком )

15 14 Слово (целое ао знаком )

31 30

Двойное слово (целое ао знаком )

7 0

Байт (целое без знака )

15 Слово (целое без знака )

51

Двойное слово (целое без знака )

Омйд 15

Тиы и форматы операндов

Целочисленные форматы Intel

Смещение либо линейный адрес

51

Бплжний указатель

Селектор сегмента

Смещение

51

Дальнем указатель ип/i логический адэес

Printed with FinePrint- purchase atwww.fineprint.com

Охгйд 16

Тиы и форматы операндов

Упакованные целые числа

Формат предполагает упаковку в пределах длинного слева (64 разряда ) нескольких небольших целых чисел .

В процессорах Intel, начиная с PentiumMMX -спецкоманды , оперирующие целыми числами .упакованными в квадрослова .

Три формата : упакованные байты , упакованные слова и упакованные двойные слова .

63 5Б 7 0

63 48 15 0

63 32 31 0

/ТО -3DNcw

Омйд 17

Действия нвд целыми числами и машинные команды

Минимальный набор команд для действий над целыми очень невелик . Более сложные команды можно

реализовать как комбинации простых .

Деление

последовательность вычитаний и сравнений

Умножение

последовательность сложений и сдвигов

Вычитание

сложение с отрицательным операндом

Смена знака

инвертирование и прибавление 1

Сложение

Сдвиг

(что делать с битами, выходящими за пределы разрядной сетки ?)

Увеличение (/уменьшение) на 1

по честному со всеми переносами и,

возможно, с переполнением

В таблице некоторые вышестоящие операции могут быть выполнены как комбинации некоторых нижестоящих .

Скгйд IS

Printed with FinePrint- purchase atwww.fineprint.com

Действия нвд целыми числами машинные команды

и

Пример. Сложение двух чисел разных знаков.

-2+7=5

0

0

п

0

1

0

2

1

1

1

1

0

:

инверт

1

1

1

1

1

0

+1^-

0

0

0

1

1

-,

7

0

0

п

1

Гг

-_

?

ПрИМОр. Сложение двух отрицательных чисел.

-2-7^9

000000102 1111110 1 ияверг

11111110 111110 0 1-7

11110 111-9