169 похожих чатов

Есть оч подробное обьяснение как работает кэш процессора? Желательно на

примерах?

Из того что я понял, он копирует код выполнения с определенным размером (из памяти в кэш). И мы получаем возможность только читать данные, очень быстро и сразу из кэша?

Я вероятно оч сильно ошибаюсь. Но в инете так все сильно туманно обьясняют. Либо опыта не хватает понять

38 ответов

14 просмотров

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

Если процессор не обнаружит данные в кэше, он начнёт чтение по ОЗУ. Адреса он получает, делив на 4 без остатка. Если адрес не выравнен на 4 байта, ему придётся получать части отдельно, что скажется на скорости. Всё легко же

nano- Автор вопроса
Aiwan \ (•◡•) / _bot
потому что это особо и не описывается на каждом ша...

я хочу иметь представление, как это работает например на рисунках. Так сказать заполнить шаблон

nano
я хочу иметь представление, как это работает напри...

заполняй шкаф, тумбочка, стол, рука (хм, примерный аналог 4м кешам)

nano- Автор вопроса
Aiwan \ (•◡•) / _bot
заполняй шкаф, тумбочка, стол, рука (хм, примерны...

Попроще можно?)))) Может книжка есть, где этому выделена глава

nano
Попроще можно?)))) Может книжка есть, где этому вы...

Да что там сложного? Что тебе конкретно не понятно?

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

nano- Автор вопроса
Entusiast
Если процессор не обнаружит данные в кэше, он начн...

адрес имеется ввиду из регистра ip? Как и какие части он получает? из jmp или внутри регистра (если к не у обращаться)

nano
Попроще можно?)))) Может книжка есть, где этому вы...

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

nano- Автор вопроса
Aiwan \ (•◡•) / _bot
да конечно, вбиваем "кеш процессора объяснение" в ...

именно так я и получил первое представление. Просто вдруг есть источник или обьяснение, которое я мог получить тут быстрее

nano
именно так я и получил первое представление. Прост...

этот кеш это как теоретическая физика. знания есть, а применять напрямую ее нельзя.

nano- Автор вопроса
Aiwan \ (•◡•) / _bot
этот кеш это как теоретическая физика. знания есть...

Ты сам сказал, что косвенно можно. Что и делают компиляторы на режимах скорости. Например инструкции по типу nop,если я конечно правильно понимаю. Но как он определяет это мне не понятно

nano
Ты сам сказал, что косвенно можно. Что и делают ко...

они косвенно используют. нет вроде как инструкций , которыми программу можно сразу в кеше выполнять (по типу: это присвоить сюда, это скопировать, а потом вызвать вот то, которое возвратит вот это. полученое сравнить с тем то)

nano- Автор вопроса
Alexander Morozov
Могу привести такую аналогию. Сидит вахтёр. У кажд...

значит если пропускать нужных людей, то это будет иметь смысл на скорости, так?)

nano- Автор вопроса
Aiwan \ (•◡•) / _bot
они косвенно используют. нет вроде как инструкций ...

Инструкций нет, это я понял. Но правильно подать блюдо из инструкций и данных веть можно? Например правильно отсортировать или выравнить?

nano
Инструкций нет, это я понял. Но правильно подать б...

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

nano
Инструкций нет, это я понял. Но правильно подать б...

а если нет инструкций, то нет и офф. мануалов с той подробностью, которую ты спрашиваешь/ищешь у нас

nano
значит если пропускать нужных людей, то это будет ...

Пока поток невелик, люди, которые часто проходят получают сокращение времени прохода. Именно ради такого эффекта и организуют кеширование.

nano- Автор вопроса
Aiwan \ (•◡•) / _bot
это все что тебе необходимо знать. и ты вроде как ...

Так же говорят и про языки высокого уровня, однако я залез в ассемблер)). Вообщем я хотел получить представление по типу как обьяснят работу транзистора с входами и выходами или битов в виде рычажков. Так намного проще быстрей получить представление и понять работу, а после и находить возможность этим пользоваться.

Entusiast
screenshot Накалякал

И так. Во втором случае процессору придётся читать две части, а не сразу 4 байта. Суть в том, что процессор берёт адреса по границе 4 байта, так что если адрес не выравнен - он будет читать криво изначально и до конца

nano- Автор вопроса
Entusiast
screenshot Накалякал

вот, вот. Супер. Спасибо большое👍👍👍

nano
вот, вот. Супер. Спасибо большое👍👍👍

Вот тут тоже чуть-чуть написано (хотя мне не нравится там объяснение, но всё же можно почитать, для уверенности) https://wm-help.net/lib/b/book/193850104/20

Entusiast
Вот тут тоже чуть-чуть написано (хотя мне не нрави...

и как следствие чтоб это понять надо было учить не асм, а ЯВУ (делфи), которые сами оптимизируют данные )))

Aiwan \ (•◡•) / _bot
и как следствие чтоб это понять надо было учить не...

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

nano
Так же говорят и про языки высокого уровня, однако...

тебе в процессоростроение тогда идти и изучать все тонкости работы процессора. там и транзисторы и элементарные логические элементы/схемы, и модули, и части логики процессора

s54820
Как нельзя? А префетчи?

расскажи. вот где ты раньше был?

nano- Автор вопроса
Aiwan \ (•◡•) / _bot
https://t.me/ChatAssembler/98720 о чем я и говори...

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

Aiwan \ (•◡•) / _bot
расскажи. вот где ты раньше был?

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

nano- Автор вопроса
Entusiast
😂

не ну я загуглил, просто не сталкивался раньше. Поэтому спросил

s54820
Ну есть пачка инструкций PREFETCHx, которым ты даё...

За вами как всегда надо записывать :)👍👍

Aiwan \ (•◡•) / _bot
и как следствие чтоб это понять надо было учить не...

Ты код, который Дельфи генерирует видел? Лучше десять STL, чем один Дельфи

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Гляньте, че бывает: Сегодня по одному проекту одной вебстудии делал проект небольшой, на их хостинге. На Modx revo. В определенный момент , работая в админке, вдруг перестал р...
Artem
7
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Кто нибудь либу Zstandart использовал ? Это либа для сжатия от Цукерберга
Andrey Electron
9
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Карта сайта