3.2.1. Первый уровень организации ПК

Многоуровневая компьютерная организация

3.2.1. Первый уровень организации ПК

Лекция 3. Архитектура системы команд. CISC и RISC архитектуры процессоров

система команд, микропроцессоры, архитектура, risc, dec alpha, cisc

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

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

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

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

Многоуровневая компьютерная организация

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

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

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

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

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

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

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

Уровень 0. Цифровой логический уровень. Представляет собой аппаратное обеспечение машины. Его электронные схемы выполняют программы, написанные на языке уровня 1.

Ради полноты нужно упомянуть о существовании еще одного уровня, расположенного ниже уровня 0. Этот уровень не показан на рисунке, так как он попадает в сферу электронной техники. Он называется уровнем физических устройств. На этом уровне находятся транзисторы, которые являются примитивами для разработчиков компьютеров. Объяснять, как работают транзисторы, — задача физики.

Многоуровневая компьютерная организация

Объекты на уровне 0 называются вентилями. Вентили состоят из аналоговых компонентов (транзисторы) и смоделированы как цифровые средства, на входе у которых цифровые сигналы (или набор 0 и 1), а на выходе – результат простых функций («И» или «ИЛИ»).

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

Из вентилей также может состоять сам компьютер.

Уровень 1. Микроархитектурный уровень. Представляет собой локальную память ( совокупность регистров) и схему, называемую АЛУ (арифметико-логическое устройство). АЛУ выполняет простые арифметические операции.

Регистры вместе с АЛУ формируют тракт данных, по которому поступают данные. Основная операция тракта данных состоит в следующем.

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

На некоторых машинах работа тракта данных контролируется особой программой, которая называется микропрограммой. На других машинах тракт данных контролируется аппаратными средствами. Раньше этот уровень можно было назвать «уровнем микропрограммирования», потому что раньше он почти всегда был интерпретатором программного обеспечения.

Уровень 2. Уровень архитектуры команд. Этот уровень включает набор машинных команд, которые выполняются микропрограммой-интерпретатором или аппаратным обеспечением.

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

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

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

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

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

Уровень 4. Уровень языка ассемблера. Представляет собой символическую форму одного из языков более низкого уровня. На этом уровне можно писать программы в приемлемой для человека форме.

Эти программы сначала транслируются на язык уровня 1, 2 или 3, а затем интерпретируются соответствующей виртуальной или фактически существующей машиной.

Программа, которая выполняет трансляцию, называется ассемблером.

Уровень 5. Язык высокого уровня. Обычно состоит из языков, разработанных для прикладных программистов. Такие языки называются языками высокого уровня. Существуют сотни языков высокого уровня. Наиболее известные среди них — BASIC, С, C++, Java, LISP и Prolog.

Программы, написанные на этих языках, обычно транслируются на уровень 3 или 4. Трансляторы, которые обрабатывают эти программы, называются компиляторами. Отметим, что иногда также используется метод интерпретации.

Например, программы на языке Java обычно интерпретируются.

Дата добавления: 2015-10-01; просмотров: 3254 | Нарушение авторских прав

Рекомендуемый контект:

Похожая информация:

Поиск на сайте:

Источник: https://lektsii.org/2-31138.html

Лекция 1. Многоуровневая компьютерная организация

3.2.1. Первый уровень организации ПК

ЛЕКЦИИПОДИСЦИПЛИНЕ«АРХИТЕКТУРАЭВМи систем»

1. Языки, уровни и виртуальные машины

Человекпишеткоманды,которыевсовокупностиформируютязык,называемыйусловноЯ1.Встроенныемашинныекомандытожеформируютязык,имыбудемназыватьегоЯ0.Компьютерможетвыполнятьтолько пропрограммы,написан-ныенаегомашинномязыкеЯ0.Компьютернебудетвыполнятьпрограммы,на- писанныенаязыкеЯ1,—ведьвконечномитогекомпьютерудоступентолькомашинныйязыкЯ0.

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

ВторойспособозначаетсозданиепрограммынаязыкеЯ0,получающейвкачест-вевходныхданных программы,написанныенаязыкеЯ1.Приэтомкаждаяко-мандаязыкаЯ1обрабатываетсяпоочередно,послечегосразувыполняетсяэкви-валентныйейнаборкомандязыкаЯ0.

Этатехнологиянетребуетсоставленияно-войпрограммынаЯ0.Онаназываетсяинтерпретацией,апрограмма,котораяосуществляетинтерпретацию,называетсяинтерпретатором.

Междутрансляциейиинтерпретациеймногообщего.Вобоихподходахкомпью-тервконечномитоге выполняетнаборкоманднаязыкеЯ0,эквивалентныхко-мандамЯ1.Различиелишьвтом,чтопритрансляциивсяпрограммаЯ1переде-лываетсявпрограммуЯ0,программаЯ1отбрасывается,ановаяпрограмманаЯ

0загружаетсявпамятькомпьютераизатемвыполняется.Приинтерпретациика-

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

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

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

туры,—самыйпримитивный,атот,чторасположеннаеевершине—самыйсложный.

Большинствосовременныхкомпьютеровсостоитиздвухиболееуровней.

Существуюткомпьютерысшестьюуровнями(рисунок2).Уровень0—этоаппа-ратаппаратноеобеспечениемашины.Электронныесхемынауровне1выполняютмашинно-зависимыепрограммы.Радиполнотынужно упомянутьосуществова-нииещеодногоуровня,которыйрасположенниженулевого.Этотуровеньнепо-казаннарисунке 2,таккаконпопадаетвсферуэлектроннойтехникииназывает-сяуровнемфизическихустройств.

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

Укаждоговентиляестьодинилинесколькоцифровыхвходов(сигналов,представляющих0или1).Вен-тильвычисляетпростыефункцииэтихсигналов,такиекакИилиИЛИ.Каждыйвентильформируетсяизнесколькихтранзисторов.

Нескольковентилейформиру-ют 1битпамяти,которыйможетсодержать0или1.

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

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

РегистрывместесАЛУформируюттрактданных,покоторомупоступаютданные.Трактданныхработаетследующимобразом.Выбираетсяодинилидва регистра,АЛУпроизводитнаднимикакую-либооперацию,напримерсложения,послечегорезультатвновь помещаетсяводин изэтихрегистров.

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

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

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

Уровень2мыбудемназыватьуровнемархитектурынаборакоманд.

Каждыйпроизводительпубликуетруководстводлякомпьютеров,которыеонпродает,под названием«РуководствопомашинномуязыкуX»,«Принципыработыкомпьюте-раУ»ит.п.Подобноеруководствосодержитинформациюименнообэтомуров-не.

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

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

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

Уэтогоуровняестьнекоторыедополнительныеособенности:новыйнаборко-манд,другаяорганизацияпамяти,способностьвыполнятьдвеиболеепрограммыодновременноинекоторыедругие.Припостроении уровня3возможнобольшевариантов,чемприпостроенииуровней1и2.

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

Командыуровня3,идентичныекомандамуровня2,выполняют-сямикропрограммойилиаппаратнымобеспечением,нонеоперационнойсисте- мой.Другимисловами,одначастькомандуровня3интерпретируетсяоперацион-нойсистемой,адругаячасть—микропрограммой.

Вотпочемуэтотуровеньсчи-таетсягибридным.

Междууровнями3и4естьсущественнаяразница.Нижниетриуровнязадуманынедлятого,чтобыснимиработалобычныйпрограммист.Ониизначальноориен-тированы на интерпретаторы и трансляторы, поддерживающие более высокиеуровни.

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

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

Ещеодноизменение,появившеесянауровне4,—механизмподдержкиболеевы-сокихуровней.Уровни2и3 обычноинтерпретируются,ауровни4,5ивышеобычно,хотяиневсегда,транслируются.

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

наэтихязыках,состоятиздлинныхрядовцифр,которыевоспринимаютсякомпь-ютерами,номалопонятныдлялюдей.Начинаясуровня4,языкисодержатсловаисокращения,понятныечеловеку.

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

Уровень5обычносостоитизязыков,разработанныхдляприкладныхпрограмми-стов.Такиеязыкиназываютсяязыкамивысокогоуровня.Существуютсотниязы-коввысокогоуровня.

Наиболееизвестныесреди них—С,C++,Java,LISPиProlog.Программы,написанныенаэтихязыках,обычнотранслируютсянауро-вень3или4.

Трансляторы,которыеобрабатываютэтипрограммы,называютсякомпиляторами.Иногдатакже имеетместоинтерпретация.

Например,программынаязыкеJavaсначалатранслируютсянаязык,напоми-

нающийISAиназываемыйбайт-кодомJava,которыйзатеминтерпретируется.

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

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

Источник: https://studfile.net/preview/7497326/

Book for ucheba
Добавить комментарий