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

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

примерах?

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

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

38 ответов

7 просмотров

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

Если процессор не обнаружит данные в кэше, он начнёт чтение по ОЗУ. Адреса он получает, делив на 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, чем один Дельфи

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

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

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
18
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Карта сайта