Главная » Просмотр файлов » Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)

Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801), страница 20

Файл №1160801 Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)) 20 страницаТ. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801) страница 202019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)

Кзш позволяет компьютеру работать так, как если бы скорость оперативной памяти была такой же, как скорость центрального процессора. Даже такой небольшой объем кэша, как 32 Кбайт, позволяет увеличить эффективность работы процессора до 95 Ж, то есть поч~и до такого уровня, как если бы скорость оперативной памяти совпадала со скоростью центрального процессора. Операционная среда. Операционная среда компьютера обычно состоит из набора внешних запоминаюших устройств н устройств ввода-вывода. Эти устройства являются средством связи компьютера с внешним миром, и любое общение с компьютером возможно лишь через его операционную среду. Между различнымии типами внешних устройств, составляющих его операционную среду, су|цествуют аппаратные различия, обусловленные различным их назначением или скоростью доступа к ним.

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

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

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

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

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

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

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

Обычно считается, что машинный язык — это язык низкого уровня с простыми форматами команд и операциями типа «сложить два числа» и «загру- 72 Глава 2. Влияние машинной архитектуры вить в регистр содержимое области памяти». Но в действительности машинный язык не должен быть непременно языком низкого уровня. Можно выбрать любой язык (напрнмер, РОКТВАХ или МВ) и точно определить набор структур данных и алгоритмов, которые залают правила выполнения любой программы, написанной на этом языке.

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

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

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

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

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

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

Список файлов книги

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