Главная » Просмотр файлов » В.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование»

В.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование» (1119512), страница 16

Файл №1119512 В.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование» (В.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование») 16 страницаВ.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование» (1119512) страница 162019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

При увеличении количества кэша растет цена (причем заметнобыстрее, чем его количество) и сильно возрастает тепловая мощность системы в целом,так что если разместить кэш и CPU близко друг к другу, то охладить такую системубудет крайне затруднительно; если же разнести кэш и процессор на значительноерасстояние – возникнут большие проблемы с обменом данными между ними (на короткиерасстояния обмениваться информацией много проще).Лекции по ЭВМ. Конспект. Лектор В.Д. Валединский.Группа 208, 3 семестр, 2002 год53Итак, кэш-памяти мало и ее надо как-то эффективно использовать.

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

Вся память делится на страницы размером с кэш (кстраничной организации виртуальной памяти это отношения не имеет). При этом длякаждого элемента кэша записывается номер страницы в памяти, где он лежит, а смещениеэлемента от начала страницы полагается равным смещению от начала кэша.012345678901234567890123456789кэш01234567890123456789ОЗУВ этом примере кэш имеет размер 10 элементов, память – 40 элементов (что заэлементы – см. чуть дальше) и разбита на 4 страницы.

Элементу 0 в кэш-памятисоответствует нулевой элемент нулевой страницы, элементу 1 – первый элемент второйтаблицы (физический адрес получается 2*10+1=21 – смещение страницы от начала памятиплюс смещение элемента от начала страницы), элементу 2 – второй элемент первойстраницы и т.д.Такой способ организации кэша имеет то преимущество, что затраты на хранениеадресов страниц памяти минимальны (по сравнению с хранением полных адресов), апроверка на наличие запрошенного элемента в кэш-памяти очень проста (здесь необходимосделать маленькое лирическое отступление: всюду, где речь заходит о страницах,подразумевается, что размер страницы – степень двойки, а номер страницы получаетсяиз полного адреса простым «проведением границы» в двоичной записи адреса: началоадреса – номер страницы, окончание – смещение от ее начала, в частности, размер кэшаобязан быть степенью двойки, почему у Athlon кэш 384kb – см.

далее) – по запрошенномуадресу выделяем смещение и номер страницы, смотрим в кэш-памяти по тому же смещениюи проверяем – совпадают ли номера страниц запрошенного элемента и лежащего в кэше.Столь же просты стратегии чтения/записи элементов в целом. Если процессору нужнообратиться по адресу памяти x, то он вначале проверяет, не лежит ли уже элемент с такимадресом в кэше. Если лежит – считывает данные из кэша. Если нет – то считывает данные изпамяти и перезаписывает их в кэш (возможно, на место уже лежавших здесь данных). Ксожалению, в такой простоте кроется и главный недостаток такого отображения – а что,если нам надо часто обращаться к элементам памяти, лежащим по одинаковым смещениямот начала страниц памяти? Тогда эти данные будут постоянно заменять друг друга в кэше ивыигрыш от него будет незначительным – все равно большая часть обращений будет коперативной памяти.

Другая ситуация – когда часть кэш-памяти просто не используется изза того, что нет данных, лежащих в памяти по таким смещениям. К счастью, такое вреальной жизни бывает редко – обычно обрабатываемые процессором данные лежатдостаточно «компактно» и в кэш-памяти распределяются равномерно.Все, о чем мы сейчас говорили, касалось только чтения данных. Что делать, когдапроцессору требуется наоборот, записать данные? Здесь возможны 2 стратегии – перваязаключается в том, чтобы сразу обновлять данные в ОЗУ, куда был запрос и, еслизапрошенный адрес лежал в кэше, еще обновлять и кэш. Способ никак не используетпреимуществ кэш-памяти, зато очень прост. Второй вариант – при попытке записи данных впамять, смотреть, есть ли они в кэше.

Если есть – то обновлять только кэш, в память данныепока не сохранять (отложенная запись), если нет – записать данные в кэш, в память, опятьже, ничего не сохранять. При этом для всех элементов кэша нужно вести специальныйЛекции по ЭВМ. Конспект. Лектор В.Д. Валединский.Группа 208, 3 семестр, 2002 год54признак – сохранено ли значение из кэша в памяти, или это значение требуется обновить.При попытке заменить элемент кэша на другой если элемент требуется обновить в памяти,то вначале будет произведена эта операция, и лишь затем элемент будет перезаписан.

Крометого, CPU при таком подходе может обновлять данные в ОЗУ «самостоятельно», в то время,пока к ОЗУ нет обращений выполняемой программы, и память все равно простаивает.Задержки программы при записи в память при отложенной записи окажутся минимальными.Методика отложенной записи может применяться во всех 3х рассматриваемых здесьотображениях.2. Ассоциативное отображениеДругой подход состоит в том, чтобы не делить память на страницы, а для каждогоэлемента кэша хранить полный адрес его в памяти.

Такой способ лишен всех недостатковпрямого отображения – кэш может использоваться на 100%, нет проблем с конфликтамиадресов, но ассоциативный кэш более сложен и дорог по сравнению с прямым (например,поиск адреса в кэше превращается в довольно сложную задачу). В остальном работапроходит так же, как и с прямым отображением – при любом обращении к памятизапрошенные/записанные данные окажутся в кэше. При этом изменяется только стратегиязагрузки данных в кэш – ведь теперь все элементы равноценны и неясно, на место какогоэлемента класть новый элемент. Здесь применяют две стратегии – первая состоит в том,чтобы складывать данные в кэш, «двигаясь по кругу» - вначале по смещению 0, затем – по 1,затем – по 2, и так далее до конца кэша, дойдя до конца – возвращаемся к началу и т.д.Вторая – в том, чтобы класть элемент на случайно выбранное место.

Обе стратегииосновываются на том, что если мы и заместим «нужный» элемент, то только один раз,повторного замещения происходить уже не будет (в среднем, конечно – и здесь будутситуации, когда подряд будут замещаться нужные элементы, хотя и реже, чем в прямомотображении) а элемент скоро будет возвращен в кэш (т.е. в кэше все время будутоказываться наиболее часто используемые элементы в памяти).Несмотря на все сложности, ассоциативный кэш работает быстрее, поэтомусовременные процессоры (например, от AMD, по крайней мере, в статье о K8 (Hammer)упоминалось, что эти процессоры будут использовать полностью ассоциативный кэш)используют полностью ассоциативную кэш-памятьАльтернативный способ – частично ассоциативная память, своеобразный гибрид обоихсхем.

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

Получается, вроде бы обычное прямое отображение, нокэш может содержать несколько элементов с одинаковым смещением.Лекции по ЭВМ. Конспект. Лектор В.Д. Валединский.Группа 208, 3 семестр, 2002 год55памятькэшстр 2данныестр 0данныесмещение 0стр 1данныесмещение 1стр 0данныестр 3данные012012012012смещение 2И напоследок – что же является элементами кэша. Поскольку на каждый элемент кэшаприходятся «накладные расходы» по запоминанию его адреса, то эти элементы довольновелики, чтобы эти расходы были незначительны по сравнению с объемом кэша. Всовременных процессорах элементами кэша являются т.н.

строки – блоки памяти по 32байта (вспоминаем: любая страница, пусть даже и элемент кэша для удобства работыимеет размер – степень двойки, это позволяет делить адреса просто разделяя первыенесколько бит и последние – в данном случае, 27 первых бит адреса задают адрес строки,5 последних – смещение от начала строки) и при обращении к какому-то адресу вначалевыделяется адрес строки и смещение от начала строки, для адреса строки применяются всеописанные выше операции (поиск элемента в кэше, его загрузка в кэш и т.д.), а затем, когдаэлемент в кэш получен, запрошенные данные выделяются из строки по смещению.3.3. Основные принципы работы операционной системыГлавная задача операционной системы (далее – ОС) – обеспечение взаимодействияпрограммного обеспечения (ПО) с внешними устройствами.

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

Но контроллер уже «стандартизован» - при поступлении на негосигнала от устройства он выставляет у себя специальный флаг готовности, который можетзатем проверить любое устройство, подключенное к общей шине, после чего посылает наспециальное устройство – контроллер прерываний специальный сигнал запроса прерыванияIRQn (Interrupt ReQuest). Контроллер в свою очередь решает, обработать прерываниенемедленно или отложить обработку (если в данный момент обрабатывается прерывание сбольшим приоритетом).

Затем контроллер спрашивает процессор, может ли он обработатьпрерывание. Если процессор обработать прерывание может, то он запрашивает уконтроллера номер вектора прерывания. Вектор прерывания – просто адрес в памятиспециальной программы – обработчика прерывания, задача которого – отреагировать напроизошедшее внешнее событие (например, если поступило прерывание от клавиатуры –прочитать из нее код нажатой клавиши, записать его в системный буфер ОС, откуда егоЛекции по ЭВМ. Конспект.

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

Список файлов лекций

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