Слайд 1Лекция №2
по курсу
«Проектирование и архитектура вычислительных систем»
Москва, 2020
Слайд 2Иерархия памяти
Регистры, расположены прямо в процессоре.
• Кэш память для хранения
часто используемых
фрагментов памяти.
• Основная оперативная память.
• Дисковая память.
• Память на
магнитных лентах (стриммеры).
• В старых ЭВМ активно использовались перфоленты
и перфокарты.
Слайд 3Кэш-память
Кэш-память содержит копии наиболее часто
используемых участков основной памяти и строится
на
быстрой статической памяти.
Кэшируются не отдельные слова, а линейки
из последовательности байтов
основной
памяти (скажем, в архитектуре x86 длина
линейки составляет 64 байта).
Кэш-память является своеобразной hash-таблицей, где hash образуется из адреса основной памяти отбрасыванием нескольких младших битов. • Линейка, на которую адрес попал, переносится в начало списка, а линейки, на которые долго не было попадания, выбрасываются из спис
Слайд 4Принципы работы основной памяти
Принципы работы основной памяти
Статическая память на
триггерах, быстрая, но дорогая.
Динамическая память на конденсаторах, медленнее, чем
статическая, но и значительно дешевле. Поскольку идеальных диэлектриков не бывает, заряд с конденсатора постепенно стекает, поэтому нужно регулярно делать чтение и перезапись (refresh),что еще больше ее замедляет
Слайд 5Характеристики основной памяти
Характеристики основной памяти
• Latency – задержка. Если 20
лет назад память
была медленнее процессора в 3 – 4 раза,
то
сегодня – в 15-20 раз
• Cycle time – длительность такта.
(Модуль 1, Урок «Цифровая логика»)
Слайд 6Характеристики основной памяти
Bandwidth – пропускная способность, т.е. ширина
шины доступа процессор-память.
Пример:
первые IBM PС XT базировались
на микропроцессоре i8086, процессор и шина
16-ти
разрядные. Когда перешли на i8088 с 16-ти разрядным
процессором, но c 8-ми разрядной шиной, в несколько
раз уменьшили цену персонального компьютера.
Слайд 7Виртуальная память
Virtualis (лат.) означает «возможный», объект, который
не существует, но может
возникнуть.
• Страница – фрагмент оперативной памяти
фиксированного размера (скажем, 2 Кб).
•
Математический адрес – пара (N, D), где N – номер
страницы, D – смещение нужного адреса от начала
страницы.
Слайд 8Таблица страниц
Таблица страниц – таблица, входом которой является
номер страницы,
а содержимым – адрес страницы
в оперативной памяти, если она находится
в этой
памяти, или информация о ее месте на диске, если этой
страницы нет в памяти.
Слайд 9Главный принцип виртуальной памяти
Главный принцип виртуальной память –
использование прямых
физических адресов
запрещено, только относительные математические.
Математический адрес – пара: номер
страницы и
смещение внутри страницы.
Физический адрес – настоящий адрес
внутри оперативной памяти.
Перед каждым использованием математического
адреса для обращения к памяти его нужно
преобразовать в физический адрес.
По номеру страницы обращаемся к содержимому
таблицы страниц.
Слайд 10Реализация виртуальной памяти
Перед каждым использованием математического
адреса для обращения к
памяти его нужно
преобразовать в физический адрес.
По номеру страницы обращаемся к
содержимому
таблицы страниц.
Если страница присутствует в памяти, то просто
добавляем к ее адресу начала смещение, если же
нет – то вызывается процедура операционной системы
по подкачке нужной страницы.
Если свободной памяти для этой страницы нет,
то приходится откачивать несколько страниц на диск.
Слайд 11Способы ускорения
виртуальной памяти
Если нужной страницы не оказалось в оперативной
памяти, говорить
о быстродействии не приходится.
Оказывается, при работе любой программы быстро
формируется рабочее
множество страниц, к которым
осуществляется 90-95% обращений.
Слайд 12Способы ускорения
виртуальной памяти
Но даже, если страница находится в памяти,
преобразование математического
адреса
в физический адрес сильно замедляет работу.
• TLB (Translation lookaside buffer)
– специализированная
кэш-память, где находятся адреса часто используемых
страниц
Слайд 13Обработка ошибок в памяти
Ошибки можно компенсировать только избыточной
информацией.
Самый простой способ
– к каждому байту информации
добавить бит четности, если сумма по
модулю 2 всех
битов, включая дополнительный, равна 0, все в порядке,
этот способ помогает только фиксировать ошибку,
но никак не помогает в ее исправлении.
Слайд 18Основы ввода-вывода
- Канал – специализированный процессор, отвечающий
за обмен данными с
определенным устройством.
- Блок данных – порция данных фиксированного
размера.
- Запись –
единица обработки данных, обычно
блок состоит из многих записей
Как уже говорилось, центральный процессор
запускает операцию обмена, выполняя команду
SIO с параметром – номером канала, после чего
центральный процессор и канал работают параллельно
Слайд 19Буферизация
Пусть есть большой файл, который нужно
последовательно обработать.
Чтобы не терять время
на чтение блока, можно
отвести два или больше буферов, тогда задержка
будет
только на чтение первого блока файла,
затем прочитанный буфер обрабатывается,
а следующие параллельно с этим читаются.
Нужно управлять размером и количеством буферов,
чтобы время обработки одного буфера было примерно
равно времени его чтения, тогда центральный
процессор будет постоянно загружен.
Слайд 20Буферизация
Ввод/вывод по прерыванию – канал по завершении
операции вызывает прерывание центрального
процессора,
во время обработки которого запускается
следующая операция обмена, этот способ более
эффективен.
Слайд 21Абстракция
Критически важный принцип управления
сложностью системы – абстракция,
подразумевающая исключение из
рассмотрения тех
элементов, которые в
данном конкретном случае несущественны
Слайд 22Принципы разработки электронных систем