Лекции 1 часть Баула (Лекции Баулы)

2019-04-28СтудИзба

Описание файла

Файл "Лекции 1 часть Баула" внутри архива находится в папке "Лекции Баулы". Документ из архива "Лекции Баулы", который расположен в категории "". Всё это находится в предмете "архитектура эвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Онлайн просмотр документа "Лекции 1 часть Баула"

Текст из документа "Лекции 1 часть Баула"

28


В. Г. Баула

Архитектура ЭВМ и

язык ассемблера

Часть 1

Москва 2001

1. Введение

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

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

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

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

  1. Внешний уровень. На этом уровне видит архитектуру автомобиля обычный пассажир. Он знает, что машина имеет колёса, кузов, сиденья, мотор и другие части. Он понимает, что для работы автомобиля в него надо заливать бензин, знает назначение дворников на ветровом стекле, ремней безопасности и т.д. И этого эму вполне достаточно, чтобы успешно пользоваться машиной, главное – правильно назвать водителю нужный адрес.

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

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

Не надо думать, что один уровень видения архитектуры хороший, а другой ­– плохой. Каждый из них необходим и достаточен для конкретного применения рассматриваемого объекта. Знать объект на более глубоком уровне часто бывает даже вредно, так как получить эти знания обычно достаточно трудно, и все усилия пропадут, если в дальнейшем эти знания не понадобятся.

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

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

  1. Конечные пользователи (пользователи-непрограммисты). Обычно это специалисты в конкретных предметных областях – физики, биологи, лингвисты, финансовые работники и т.д., либо люди, использующие компьютеры в сфере образования, досуга и развлечений (они имеют дело с обучающими программами, компьютерными играми и т.д.). В своей работе все они используют компьютер, снабжённый соответствующим, как говорят, прикладным программным обеспечением. Это различные базы данных, текстовые редакторы, пакеты прикладных программ, системы автоматического перевода, обучающие, игровые и музыкальные программы. Этим пользователям достаточно видеть архитектуру компьютеров на внешнем уровне, их абсолютное большинство, примерно 90% от общего числа. Вообще говоря, компьютеры разрабатываются и выпускаются для нужд этих пользователей.

  2. Прикладные программисты. Эти пользователи разрабатывают для конечных пользователей прикладное программное обеспечение. В своей работе они используют различные языки программирования высокого уровня (Паскаль, Фортран, Си, языки баз данных и т.д.) и соответствующие системы программирования (с этим понятием мы будем знакомиться в нашем курсе). Прикладным программистам достаточно видеть архитектуру компьютеров на концептуальном уровне. Можно примерно считать, что прикладных программистов примерно 8–9% от числа всех пользователей.

  3. Системные программисты. Это самая небольшая (порядка 1%) группа пользователей, которая видит архитектуру ЭВМ на внутреннем уровне. Основная деятельность системных программистов заключается в разработке системного программного обеспечения. Курс лекций по системному программному обеспечению будет у Вас в следующем семестре, пока достаточно знать, что сюда относятся и системы программирования – тот инструмент, с помощью которого прикладные программисты пишут свои программы для конечных пользователей.

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

Далее укажем те способы, с помощью которых мы будем описывать архитектуру компьютера в нашем курсе. Можно выделить следующие основные способы описания архитектуры ЭВМ.

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

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

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

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

  1. Сначала мы рассмотрим архитектуру некоторой абстрактной машина (машины фон Ней­мана).

  2. Далее мы изучим специальную учебную ЭВМ, которая по своей архитектуре близка к самым первым из выпускавшихся компьютеров.

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

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

Машина Фон Неймана

В 1946 Джон фон Нейман (с соавторами) описал архитектуру некоторого абстрактного вычисли­теля, который сейчас принято называть машиной фон Неймана [2]. Эта машина является абстрактной моделью ЭВМ, однако эта абстракция отличается от абстрактных исполнителей алгоритмов (например, машины Тьюринга). Если машину Тьюринга принципиально нельзя реализовать из-за входящей в её архитектуру бесконечной ленты, то машина фон Неймана не поддаётся реализации, так как многие детали в архитектуре этой машины не конкретизированы. В некотором смысле машина фон Неймана подобна абстрактным структурам данных, которые Вы изучали в предыдущем семестре. Для таких структур данных, как Вы помните, для их использования необходимо было произвести отображение на структуры данных хранения и реализовать соответствующие операции.

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

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

Память

Принцип линейности и однородности памяти. Память – линейная (упорядоченная) однородная последовательность некоторых элементов, называемых ячейками. В любую ячейку памяти другие устройства машины (по толстым стрелкам) могут записать и считать информацию, причём время чтения из любой ячейки и записи в неё одинаково (это и есть принцип однородности памяти). Такая память в современных компьютерах называется памятью с произвольным доступом (Random Access Memory, RAM). На практике многие ЭВМ могут иметь разные виды памяти, одни из которых поддерживают только чтение информации (Read Only Memory, ROM), другие могут допускать запись, но за большее время, чем в остальную память (это так называемая полупостоянная память).

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

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

Приведём типичные характеристики памяти современных ЭВМ.

  1. Объём памяти – десятки и сотни миллионов ячеек (обычно восьмиразрядных).

  2. Скорость работы памяти: время доступа (минимальная задержка на чтение слова) и время цикла (минимальная задержка на чтение из одной и той же ячейки двух слов) – порядка единиц и десятков наносекунд (1 секунда=109 наносекунд).

  3. Стоимость – не представляет интереса в рамках наших лекций.

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

Из этого принципа вытекает очевидное следствие – принцип хранимой программы. Этот принцип является очень важным, его суть состоит в том, что программа хранится в памяти вместе с числами, а значит может изменяться во время счёта этой программы. Говорят также, что программа может самомодифицироваться во время счёта. Заметим, что, когда фон Нейман писал свою работу, большинство тогдашних ЭВМ хранили программу в памяти одного вида, а числа – в памяти другого вида.

Устройство Управления

Как ясно из самого названия, устройство управления (УУ) управляет всеми остальными устройствами ЭВМ. Оно осуществляет это путём посылки управляющих сигналов, подчиняясь которым остальные устройства производят определённые действия, предписанные этими сигналами. Это устройство является единственным, от которого на рис. 1 отходят тонкие стрелки. Остальные устройства могут командовать только памятью, делая ей запросы на чтение и запись машинных слов.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее