72 / 52 / 8
Регистрация: 13.11.2017
Сообщений: 383
1
CompModel

Окно кэш-памяти

13.08.2018, 13:57. Показов 4473. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Знающие CompModel, подскажите, пожалуйста, следующее. В окне Кэш-память снизу пишется "статистика" и идёт перечисление:
Общее число обращений
из них по записи
Число кэш-попаданий
из них по записи
Число обратных записей
Для выполнения лабораторной работы мне нужны число обратных записей и число сквозных записей. Но сквозных записей нет! Даже при изменении режима записи в параметрах кэш-памяти всё равно стоит "число обратных записей" Подскажите, где брать число сквозных записей?
Миниатюры
Окно кэш-памяти  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2018, 13:57
Ответы с готовыми решениями:

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

Очистка кэш памяти ПК
как написать программу, которая очищала бы кэш память

Как вставить дополнительное окно с записем в кэш
Всем привет, есть один пример, который очень заинтересовал. Помогите сделать так-же? При первом...

Сколько нужно кэш памяти 1-2 уровней ?
Всем привет, подскажите пожалуйста сколько нужно кэш памяти для работы в VISUAL C 2008. А то я...

19
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
13.08.2018, 16:19 2
Цитата Сообщение от eganator Посмотреть сообщение
Для выполнения лабораторной работы мне нужны число обратных записей и число сквозных записей.
блин кто и зачем вообще придумал эту "CompModel" - это-же полный трэш!
в документации кэш-памяти вообще нет понятия "Обратная запись", и если эта Model придумана для начинающих, то разработчику нужно руки оторвать, чтобы не вводил в заблуждения пионеров на начальном этапе обучения.

кэш имеет 3 политики записи, и среди них нет обратной:
1. WT - Write Through - сквозная, сразу перезаписывает изменённые страницы из кэша в память ОЗУ.
2. WB - Write Back - отложенная, сначала копятся в L3, потом запись.
3. WC - Write Combining - смесь обоих.

Термин обратная здесь полностью уводит читателя от реальности, т.к. подразумевает абсолютно другое. На самом деле это не обратная, а отложенная запись Write-Back.
3
328 / 81 / 2
Регистрация: 21.07.2018
Сообщений: 112
Записей в блоге: 1
13.08.2018, 19:37 3
Кто придумал, тот и назвал режимы.
Имеет право.
0
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
13.08.2018, 20:33 4
Цитата Сообщение от ОС Посмотреть сообщение
Кто придумал, тот и назвал режимы.
так если называешь, то нужно хотя-бы заглянуть в документацию,
а не переводить Write-Back дословно, как последний ламер

Добавлено через 3 минуты
что общего между обратной и отложенной записью?
куда она пишет обратно - с регистров обратно в регистры процессора чтоли?
1
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
16.08.2018, 11:02 5
Если ты представляешь себя процессором, то твоя запись в память через кеш отложенная. А автор Компмодели видимо представлял себя памятью. И для него запись из памяти в кеш это "туда". А из кеша в память "обратно".

Добавлено через 1 минуту
Цитата Сообщение от R71MT Посмотреть сообщение
куда она пишет обратно - с регистров обратно в регистры процессора чтоли?
Ну точно. Ты представляешь себя процессором.
1
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
16.08.2018, 14:32 6
Цитата Сообщение от Ethereal Посмотреть сообщение
А автор Компмодели видимо представлял себя памятью.
по большому счёту, мне по-барабану как он обозвал WB - я всё-равно никогда не пользовался этой моделью, правда открыл 1-раз чисто для интереса.

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

Если-же процессор изменит хоть 1-байт в загруженной кэш-линейке, то эта cache-line помечается как грязная, и её необходимо записать обратно в память для поддержки когерентности. Вот тут-то и применяют 'политики записи'. Если установлена сквозная запись, то изменённые кэш-линейки сбрасываются в ОЗУ сразу после их модификации - процессор прерывает свою работу, и запрашивает внешнюю шину для операции записи в память. Это явные тормоза, зато в ОЗУ всегда находятся достоверные данные.

Поэтому придумали 'отложенную запись', когда модифицированные строки не сразу перезаписываются обратно в ОЗУ, а копятся в кэше L3 - CPU продолжает выполнять текущую задачу, а когда освободится, тогда и запрашивает у контроллёра шины BIU операцию на запись в память. Скорость повышается, а когерентность падает.

Это в общих чертах.. но как-видно, сам термин 'обратная запись' здесь даже по смыслу не подходит. С таким-же успехом обратной можно назвать и сквозную запись, т.к. она тоже пишет обратно в ОЗУ. Ошибки подобного рода со-стороны разработчиков не простительны, тем-более что софт выставляется как учебное пособие для новичков.
2
Модератор
2121 / 991 / 169
Регистрация: 23.07.2018
Сообщений: 3,331
Записей в блоге: 3
16.08.2018, 15:02 7
Это пособие, очевидно, не для изучения текущего состояния x86-64.
0
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
16.08.2018, 19:30 8
Цитата Сообщение от politoto Посмотреть сообщение
не для изучения текущего состояния x86-64.
..тогда зачем вообще упоминать в этом пособии кэш (который кстати впервые появился только в i386)
и причём тут 64-бит? кроме тебя вроде никто о нём не говорит..
1
328 / 81 / 2
Регистрация: 21.07.2018
Сообщений: 112
Записей в блоге: 1
16.08.2018, 22:11 9
Цитата Сообщение от R71MT Посмотреть сообщение
..тогда зачем вообще упоминать в этом пособии кэш (который кстати впервые появился только в i386)
Раньше вообще не было??
Неужели IBM не придумала ничего подобного для своих "больших" ЭВМ?
Когда у них было примерно столько же памяти, она была наверно на ещё более тормозных core.
Или Вы не о том?
0
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
17.08.2018, 06:52 10
Цитата Сообщение от ОС Посмотреть сообщение
Раньше вообще не было??
в сегменте рынка - не было.
кэш стал необходим, когда частота CPU начала превышать частоту ОЗУ. Пока они работали на одинаковых частотах, кэш был не нужен. Потом, по частоте CPU вырвалась вперёд и память стала узким местом в архитектуре - пришлось добавить кусочек шустрого кэш. Поэтому у 16-битных процессоров (все до i386) кэша не было ни в каком виде.

Добавлено через 5 минут
Код
16-битные процессоры
------------------------
• i8086 - 1978 год. Первый процессор для PC-XT.
Режим работы: Real Mode.
Регистры: 16-бит| шина данных: 16| шина адреса: 20| частота: 10 Мгц.
Память: 1 Мб, сегментная| непересекающихся сегментов: 16.

• 80286 - 1982 год. Первый процессор для PC-АT.
Режим работы: Real Mode \ Protected Mode.
Регистры: 16-бит| шина данных: 16| шина адреса: 24| частота: 20 Мгц.
Память: 16 Мб, сегментная. Введена расширенная память EMS.

32-битные процессоры
------------------------
• 80386 - 1985 год. Первый 32-разрядный процессор.
Режим работы: Real Mode \ Protected Mode \ Virtual Mode.
Регистры: 32-бит| шина данных: 32| шина адреса: 32| частота: 40 Мгц.
Память: 4 Гб, виртуальная. Добавлена внешняя кэш-память. 

• 80486 - 1989 год. Первый процессор со-встроенным FPU.
Режим работы: Real Mode \ Protected Mode \ Virtual Mode.
Регистры: 32-бит| шина данных: 32| шина адреса: 32| частота: 133 Мгц.
Память: 4 Гб, виртуальная.
Добавлена внутреняя кэш-память первого уровня, и конвейер. 

• Pentium (80586) - 1993 год. Шина данных расширена до 64-бит
Режим работы: Real Mode \ Protected Mode \ Virtual Mode.
Регистры: 32-бит| шина данных: 64| шина адреса: 32| частота: 166\200 Мгц.
Память: 4 Гб, виртуальная. Внутренний кэш 16k.
Имеет 3 модуля для обработки команд, спекулятивное выполнение команд, два конвейера. 

• Pentium Pro - 1995 год. Процессор с 2-мя кэшами.
Режим работы: Real Mode \ Protected Mode \ Virtual Mode.
Регистры: 32-бит| шина данных: 64| шина адреса: 36| частота: 180\200 Мгц.
Память: 68 Гб, виртуальная. Внутренний кэш второго уровня 1М.
3
Модератор
2121 / 991 / 169
Регистрация: 23.07.2018
Сообщений: 3,331
Записей в блоге: 3
17.08.2018, 09:05 11
http://gunkies.org/wiki/VAX-11/780
1978 год
VAX-11
от 2 до 64МB памяти
Cache: 8KB

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

Ясно, что отложенная запись - чуть более понятное название, чем Write Back, и, намного более удачное, чем "обратная запись".

Но, пока мы тут занимаемся лингвистическим умничаньем,
знатоки на вопрос так и не ответили...
1
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
17.08.2018, 09:19 12
Цитата Сообщение от politoto Посмотреть сообщение
VAX-11
это вообще из другой оперы
Цитата Сообщение от politoto Посмотреть сообщение
на вопрос так и не ответили.
удали эту компмодель со-своего компа, и никогда о ней не вспоминай
лучше скачать нормальный отладчик и изучать процессор по нему.
1
Модератор
2121 / 991 / 169
Регистрация: 23.07.2018
Сообщений: 3,331
Записей в блоге: 3
17.08.2018, 09:22 13
нормальный отладчик не позволяет, например, придумать свою команду и реализовать её на уровне микрокоманд
0
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
17.08.2018, 10:00 14
politoto, изучай на здоровье,
просто ты спросил мнение - я тебе ответил
1
Модератор
2121 / 991 / 169
Регистрация: 23.07.2018
Сообщений: 3,331
Записей в блоге: 3
17.08.2018, 10:51 15
R71MT, вопрос изначально задал eganator.
Вот ему-то никак наши рассуждения не помогли.
0
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
17.08.2018, 13:39 16
Цитата Сообщение от politoto Посмотреть сообщение
вопрос изначально задал eganator.
ты уж определись как-нибудь,
ато встреваешь в тему, а потом - мол "я тут ни при чём"
1
328 / 81 / 2
Регистрация: 21.07.2018
Сообщений: 112
Записей в блоге: 1
17.08.2018, 18:16 17
Лучший ответ Сообщение было отмечено eganator как решение

Решение

Я не играл с CompModel, но попробую помочь. Кто знает лучше поправит.
Цитата Сообщение от eganator Посмотреть сообщение
Общее число обращений
из них по записи

Для выполнения лабораторной работы мне нужны ... число сквозных записей. Но сквозных записей нет! Даже при изменении режима записи в параметрах кэш-памяти всё равно стоит "число обратных записей" Подскажите, где брать число сквозных записей?
В режиме сквозной записи любая попытка записать в память должна писать и туда, и туда.
Значит сквозных записей столько, сколько обращений по записи было в этом режиме.
Так получается?
1
Эксперт Hardware
Эксперт Hardware
6116 / 2358 / 392
Регистрация: 29.07.2014
Сообщений: 3,118
Записей в блоге: 4
17.08.2018, 20:54 18
Цитата Сообщение от ОС Посмотреть сообщение
должна писать и туда, и туда. Так получается?
если под 'и туда, и туда' имеется в виду кэш и память, то всё верно.
Это и есть поддержка коггерентности, когда в любой момент времени данные и в кэш и в памяти одинаковы. Если программа работает с устройствами, то может получится так, что устройство обратится за данными к памяти, а эти данные изменил процессор и не скинул изменённый вариант обратно в память - получится глюк, и устройство считает не корректные данные. Поэтому проц должен сразу перезаписать 'глязную' строку в ОЗУ, при этом оставив их и у себя в кэш.

А вообще, здесь нужно уточнить, о каком вообще процессоре идёт речь?
К примеру, если CPU имеет многоуровневый кэш L1-2-3, то каждый уровень может придерживаться своей политики записи. Узнать политику своего проца можно в программе по сбору инфы 'PC-Wizard', вот что она нарыла о кэше моего процессора:
Код
 [Cache and TLB]
  L1-Data:            Write-Through,  32   KBytes  (сквозная)
  L1-Instruction:     Write-Through,  32   KBytes
  L2-Unified:         Write-Through,  256  KBytes
  L3-Unified:         Write-Back,     2048 KBytes  (отложенная)

  TLB Instruction:    2Mb/4Mb Pages,  8  entries
  TLB Data:           4 Kb Pages,     64 entries
Кэш организован так, что записать из L1 сразу в память не получится - там нет обходных путей, поэтому данные проходят через все уровни кэша. Как показывает отчёт, грязная строка не задерживается в L1, а политикой WT сразу отправляется в L2, ..и тот её сразу отфутболивает в L3, где строка уже тормозится по Write-Back.

Если окунуться в детали, то WB устроен следующим образом..
Модифицированная строка помечается флагом Dirty (грязная). Когда периферийное устройство обращается к памяти, кэш-контроллёр проверяет - находится-ли соответствующий адрес в кэш-памяти и если да, то по флагу определяет: грязная она или нет? Грязные ячейки выгружаются в ОЗУ, а их флаг устанавливается в состояние Clear (чисто). То есть строки выгружаются из кэша только по требованию, что сводит на нет бессмысленные обращения на запись в память.
3
72 / 52 / 8
Регистрация: 13.11.2017
Сообщений: 383
18.08.2018, 12:51  [ТС] 19
ОС, Спасибо. Я за это время немного почитал в интернете. То есть число сквозных записей будет равно общему числу обращений по записи, а не числу кэш-попаданий по записи?
1
328 / 81 / 2
Регистрация: 21.07.2018
Сообщений: 112
Записей в блоге: 1
18.08.2018, 14:06 20
Выходит так.
Кэш попадание на запись будет, если пишем по адресу, который уже в кэше.
Если кэш пустой или не попали, то можно не считывать старое из памяти, а сразу писать новое в кэш и в память.

Сквозная запись будет, и когда попали, и когда не попали.
1
18.08.2018, 14:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2018, 14:06
Помогаю со студенческими работами здесь

Моделирование работы кэш памяти, Not recently Used
Добрый день! Написал программу - модель кэша. Кэш состоит из групп. Группа состоит из...

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

Загружаются ли в кэш данные из оперативной памяти при использовании арифметики указателей
Привет Операции с массивами работают быстрее если использовать индексацию указателей, чем при...

Наиболее эффективный алгоритм замещения для кэш-памяти большего объёма
Добрый день, интересует такой вопрос: Какой алгоритм замещения будет наиболее эффективным если...

Определить наличие кэш памяти процессора и его параметров (ассемблерные вставки)
Необходимо определить наличие кэш памяти процессора и его параметров с ассемблерными вставками. Из...

Samsung NP530U3C-A08RU Как проверить работает ли сейчас SSD-диск в качестве кэш-памяти?
После всяческих манипуляций с ноутбуком samsung np530u3c-a08ru и удалением/форматированием SSD...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru