Изучение способов построения иерархической структуры памяти компьютеров

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

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

Теоретические сведения о кэше.

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

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

            Параметры кэша.

Первый параметр кэша - его размер. Нам хотелось, чтобы бы размер кэша был не слишком большим, а средняя стоимость бита информации была соизмерима со стоимостью бита оперативной памяти. При этом, полное среднее время доступа было близко к времени доступа кэша. Имеются несколько других доводов в сторону уменьшения размера кэша. С другой стороны, чем больший кэш, тем большее число логических элементов входит в схему адресации кэша. Результат был выбран компромиссным. Кэши стали строить большими, но немного медленнее, чем маленькие — даже когда применяется та же самая технология интегральных схем. Кроме того, их стали размещать в чипе на одной плате с ЦП. Размер кэша также ограничен доступным чипом и областью платы. Ряд исследований показали, что оптимальные размеры кэша должны быть между 1КБ и 512КБ. Невозможно достигнуть "оптимального" размера кэша, потому что эффективность кэша очень чувствительна к характеру рабочей нагрузки.

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.