textarchive.ru

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


Шпаргалки (двухсторонние) по курсу «Архитектура ЭВМ»

Лектор – Махортов С. Д.

© Воронеж, ВГУ - 2007

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины

ЭВМ, или цифровой компьютер (далее - просто компьютер) - это электронная машина, которая способна решать задачи, выполняя задан­ные команды.

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

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

Известно, что на практике Компьютер понимает на всякий язык программирования, а только определенный набор команд, которые он способен распознать и выполнить. Для организации работы программ, написанной не на языке, понятном компьютеру существуют два способа: трансляция (программы называются трансляторами) – это когда программа переводится с неизвестного языка на известный компьютеру язык; интерпретация (программы называются интерпретаторами) – это когда берется последовательно каждая команда неизвестного языка, заменяется командами известного компьютеру языка и тут же выполняется.

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

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

2. Уровни архитектуры современных уомпьютеров

Архитектура большинства современных ЭВМ состоит из двух и более уровней. Мы приведем некоторую достаточно распространенную их иерархию.

-1 - уровень физических устройств, на котором находятся транзисторы, которые являются примитивами для разработчиков компьютера;

0 - цифровой логический уровень - представляет собой аппаратное обеспечение компьютера. Его электронные схемы выполняют программы, написанные на языке уровня 1. Объекты 0 уровня называются вентилями. У каждого вентиля есть одно или несколько цифровых входных данных (сигналов, представ­ляющих 0 или 1). Вентиль вычисляет простые функции этих сигналов, такие как НЕ, И, ИЛИ. Каждый вентиль формируется из нескольких транзисторов. Несколько вентилей формируют 1 бит памяти, который может содержать 0 или 1. Биты памя­ти, объединенные в группы (по 16, 32 или 64), образуют регистры. Каж­дый регистр может содержать одно двоичное число определенного размера;

1 - микроархитектурный уровень. Здесь можно выделить совокупность нескольких регистров, которые представляют собой локальную память, а также схему АЛУ (арифметико-логическое устройство). АЛУ выполня­ет простые арифметические операции. Регистры вместе с АЛУ образуют тракт данных, по которому перемещаются данные. На некоторых ЭВМ работа тракта данных поддерживается особой програм­мой, которая называется микропрограммой. Микропрограмма - это интерпретатор для команд на уровне 2. Микропрограмма выбирает команды из памяти компьютера и выполняет их одну за другой, используя при этом тракт данных;

2 - уровеньархитектуры системы команд. Уровень, который поддерживает машинные команды каждого компьютера;

3 - уровнь операционной системы. Операционная система - это программа, работающая на 2-ом (иногда и на 1-ом) уровне, которая обеспечивает нормальное выполнение обычных прикладных программ. У третьего уровня есть существенные особенности: набор новых команд, называемых системными вызовами, другая организация памяти (виртуальная память), способность выполнять две и более программы одновременно, файловая система ввода-вывода и некоторые другие;

3.5 - уровньплатформо-независимых виртуальных машин. К нему относятся JVM (Java Virtual Machine) и Microsoft .NET Framework. Машины этого уровня предназначены для эффективного выполнения одних и тех же цифровых программ на различных платформах, что особенно актуально для WEB-приложений;

4 - уровень языков ассемблера - это первый из уровней, доступных для работы прикладных программистов. Главной особенностью языков этого уровня является то, что они символические, в отличие от двоичного характера языков нижних уровней. Начиная с четвертого уровня, языки содержат слова и сокращения, понятные человеку. Важное изменение также состоит в том, что команды уровней 2 и 3 обычно интерпретируются, а уровень 4 часто поддерживается трансляторами. Программа, которая выполняет такую трансляцию, называется ассемблером; (на обороте…)

3. Аппаратное и программное обеспечение. Роль микропрограммирования ОС

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

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

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

В 1951 году исследователь Кембриджского университета Морис Уилкс пред­ложил идею трехуровневого компьютера. Эта ЭВМ имела встроенный неизменяемый интерпретатор (микропрограмму), выполняющий команды верхнего уровня. Аппаратное же обеспечение теперь вместо программ уровня архитектуры команд выполняло только микропрограммы с ограниченным набором более мелких команд. В связи с этим требовалось мень­шее количество электронных схем, в то время - электронных ламп.

Микропрограммы разрастались, работали все медленнее, требовали большого объема памя­ти. В конце концов началась обратная тенденция. Исследователи осознали, что на современном этапе развития электроники с устранением микропрограммы резко сократится количество команд и компьютеры станут работать быстрее. Таким образом, в архитектуре некоторых современных компьютеров уровень микропрограммирования не используется.

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

4. Поколения ЭВМ. Типы компьютеров

Нулевое поколение - механические компьютеры (1642-1945). Эти машины работали на основе шестеренок и ручного привода. Они выполняли небольшое количество арифметических операций.

Первое поколение - компьютеры на электронных лампах (1945-1955). Наиболее известным их создателем является один из самых знаменитых математиков Джон фон Нейман. Его проект известен сейчас как фон-неймановская вычислительная машина. Ее архитектура в значительной мере используется и сейчас. Она содержит 4 основные части: память, арифметико-логическое устройство, устройство управления, устройства ввода-вывода.

Второе поколение - ЭВМ на транзисторах (1955-1965). Транзистор был изобретен сотрудниками Bell Laboratories Джоном Бардином, Уолтером Браттейном и Уильямом Шокли.

Третье поколение - ЭВМ на интегральных схемах (1965-1980). Изобретение кремниевой интегральной схемы в 1958 году (Роберт Нойс) позволило помещать десятки транзисторов на одной небольшой микросхеме. Такие компьютеры были меньшего размера, работали быстрее и стоили дешевле своих предшественников.

Четвертое поколение – компьютеры на сверхбольших интегральных схемахСБИС (1980 - …). Появление таких схем дало возможность размещать на одной плате сначала десятки тысяч, затем – сотни тысяч, и, наконец, миллионы транзисторов. Цены и размеры компьютеров уменьшились до такой степени, что их приобретение стало доступным не только фирмам, но и частным лицам. Наступила эра персональных компьютеров. Одной из важнейших тенденций, связанных с разработкой ЭВМ 4 поколения, является специализация, т.е. создание различных уровней архитектуры компьютера разными производителями.

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

Можно привести следующую приблизительную классификацию современных ЭВМ.

Тип

Порядок цен ($)

Сфера применения

“Одноразовые компьютеры”

1

Поздравительные открытки

Встроенные компьютеры

10

Часы, автомобили, приборы

Игровые компьютеры

100

Домашние компьютерные игры

Персональные компьютеры

1 000

Настольные компьютеры

Серверы

10 000

Сетевые серверы

Рабочие станции

100 000

Мини-суперкомпьютеры

Большие ЭВМ

1 000 000

Обр-ка пакетных данных в банках

Суперкомпьютеры

10 000 000

Предсказание погоды на длит. срок

(на обороте…)

5. Примеры семейств компьютеров: Pentium, UltraSPARC, picoJava

Pentium.

Эта линия производится фирмой IBM на основе процессоров фирмы Intel. Все микросхемы Intel теоретически совместимы со своими предшественниками вплоть до процессора 8086, т.е. Pentium II может выполнять программы, на­писанные для процессора 8086. Совместимость всегда была одним из главных требований при разработке новых компьютеров IBM, чтобы покупатели могли продол­жать работать со старым программным обеспечением и не тратить деньги на но­вое. Обратная сторона этой тенденции состоит в существенном усложнении архитектуры. Новые процессоры значительно сложнее, чем если бы они создавались заново без требования совместимости.

UltraSPARC.

Первая ЭВМ этой архитектуры была создана в 1981 г. аспирантом Стэнфордского университета Энди Бехтольсхаймом с целью переноса популярной тогда операционной системы UNIX с PDP-11 и VAX на персональные компьютеры.

В то время как предыдущие машины работали только с символьными и числовыми данными, UltraSPARC с самого начала был предназначен для работы с мультимедиа. Помимо 64-битной архитектуры, появились 23 новые команды, в том числе команды для упаковки и распаковки пикселов из 64-битных слов, масштабирования и вращения изобра­жений, перемещения блоков, а также для компрессии и декомпрессии видео в ре­альном времени.

UltraSPARC предназначался для web-серверов с десятками процессоров и большой физической памятью. Тем не менее некото­рые версии UltraSPARC могут использоваться и в ноутбуках.

picoJava.

В середине 90-х годов фирмой Sun Microsystems был создан язык программирования Java. Это объектно-ориентированный язык, основанный на C++, с усиленными ограничениями в целях безопасности. Основное его назначение - разработка двоичных программ, которые могут вызываться пользователями через Интернет и загружаться как часть web-страниц. Однако Java может применяться и при решении других прикладных задач.

Чтобы разрешить проблему совместимости (ведь в сети работают различные компьютеры), компания Sun разработала новую виртуальную машину JVM (Java Virtual Machine). Память у этой машины состоит из 32-битных слов, машина поддерживает 226 простых команд, но выполнение некоторых из них требует большого количества циклов обращения к памяти.

6. Общие функции и свойства процессоров. Архитектуры CISC и RISC

Центральный процессор (или просто процессор, если это не вызывает неоднозначностей) – главная компонента компьютера. Он выполняет программы, находящиеся в основной памяти. Программа состоит из отдельных команд. Процессор выбирает каждую команду из памяти, определяет ее тип и выполняет ее. Компоненты компьютера связаны друг с другом шиной. Она представляет собой набор параллельно соединенных проводников (проводов), по которым передаются данные и сигналы управления. Шины бывают внешними (связывают процессор с памятью и внешними устройствами) и внутренними (связывают элементы процессора).

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

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

Совокупность элементов процессора, по которым при выполнении программы перемещаются данные, принято называть трактом данных. Для процессора фон-неймановской архитектуры он состоит из регистров, АЛУ и нескольких соединяющих шин. Операнды (содержимое регистров или основной памяти) поступают во входные регистры АЛУ, над ними выполняется операция (сложение, вычитание, …), после чего результат помещается в выходной регистр АЛУ. Далее он может быть записан в регистр процессора или в память (обычно – на место одного из операндов). Этот процесс называется циклом тракта данных. Способы указания операндов в командах называются методами адресации.

Большинство команд можно разделить на два типа: “регистр-регистр” и “регистр-память” по признакам исходного расположения их операндов (методам адресации).

Центральный процессор выполняет типичную команду за несколько шагов:

  1. на основе счетчика команд выбирает очередную команду из памяти и помещает ее в регистр команд;

  2. меняет содержимое счетчика команд (чтобы он указывал на следующую команду в памяти);

  3. определяет тип выбранной команды;

  4. определяет местонахождение ее операндов;

  5. при необходимости переносит их в собственные регистры;

  6. выполняет операцию;

  7. при необходимости записывает результат в регистр или память;

переходит к шагу 1 для выполнения следующей команды.

7. Возможности параллельного выполнения программ

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

Параллелизм на уровне команд

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

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

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

Параллелизм на уровне процессоров

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

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

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

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

8. Основная память компьютера. Роль кэш-памяти

Память - это составная часть аппаратуры компьютера, предназначенная для хранения программ и данных. Для памяти еще используется термин “запоминающее устройство”. Основная память - это самое быстрое запоминающее устройство, в котором программы и данные хранятся временно, в период выполнения программ.

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

Некоторые компьютеры наряду с двоичной арифметикой используют также и десятичную (например, большие IBM). Для этого применяется так называемый двоично-десятичный код. В этом случае для хранения одного десятичного разряда используются 4 бита.

Смежные двоичные разряды памяти группируются в ячейки. Ячейки последовательно нумеруются с нуля и номер ячейки называется ее адресом. В последние годы подавляющее число производителей выпускает компьютеры с ячейками по 8 разрядов - байтами. Подряд расположенные байты объединяются в слова (обычно - по 2, 4 или 8 байтов). Адресом слова считается адрес его начального байта, который обычно должен быть кратен размеру слова.

Порядок байтов в слове может быть прямым (соответствует общему порядку байтов, например, SPARC или большие IBM) или обратным (PDP 11, Intel).

Физически современная основная память компьютера обычно имеет модульную структуру. Группа микросхем (8, 16, …штук) монтируется на одну печатную плату. Ранее такой блок изготавливался в виде SIMM (Single Inline Memory Module - модуль памяти с односторонним расположением выводов - контактов). Он содержал обычно 8 микросхем по 4 Мб каждая. На один компьютер устанавливалось до 4-х модулей. Затем появились DIMM (Dual Inline Memory Module - модуль памяти с двусторонним расположением выводом). Объем одного DIMM - 64 Mb и выше. В мобильных устройствах используется модуль DIMM меньшего размера, который называется SO-DIMM(Small OutLine DIMM).

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

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

9. Внешняя память компьютера: магнитные диски

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

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

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

С диском в компьютере связан контроллер - микросхема, которая им управляет.

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




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

  1. ЭКОНОМИЧЕСКАЯ ТЕОРИЯ ПОЛИТЭКОНОМИЯ

    Литература
    ... Архитектура ввода-вывода персональных ЭВМ IBM PC vdv-0691.zip Архитектура ... защита и автоматика параллельной линии с двухсторонним питанием и блоком мощности 200 МВт ... балансового отчета audit.zip Шпаргалкипокурсу аудита (PM5) [Шпаргалка] pda-0144.zip ...
  2. Около трех с половиной десятилетии минуло с тех пор

    Автореферат диссертации
    ... Е - студент подготовил шпаргалку. Введем знания о предметной ... АРХИТЕКТУРАЭВМ 2.1. О ПОНЯТИИ «АРХИТЕКТУРАЭВМ» Термин «архитектура» используется в популярной литературе по ... автора курсапо формированию ... адаптивное и двухстороннее взаимодействие, ...
  3. Информатика и информационные технологии

    Документ
    ... по созданию ЭВМ пятого поколения как традиционной (неймановской) архитектуры, так и по созданию и апробации перспективных архитектур ... ), «К» (Курсив), «Ч» (Подчёркнутый ... двухстороняя, ... Шпаргалкапо информатике. – М.: Окей–книга, 2007. – 40 с. Шпаргалкапо ...
  4. Основы информатики и компьютерных технологий

    Учебное пособие
    ... работ покурсам: « ... по созданию ЭВМ пятого поколения как традиционной (неймановской) архитектуры, так и по созданию и апробации перспективных архитектур ... или двухсторонняя, ... Шпаргалкапо информатике. – М.: Окей–книга, 2007. – 40 с. Шпаргалкапо ...
  5. База – қазақша рефераттар адрес г алматы ул сатпаева дом 76 кв 56 уг розыбакиева

    Анализ
    ... а п к а : Архитектура, Проектирование, Строительство\Расчетно-пояснительная ... 03 Оценка схем ЭВМ.doc 233 ... 05 Тестовые вопросы покурсу “Макроэкономика”.doc ... 3/07/06 Шпаргалкипо истории экономических учений ... параллельной линии с двухсторонним питанием, и ...

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