?

Log in

No account? Create an account
Во всех новых PIC32MZ есть TLB MMU. Кроме этого, их уже можно купить. - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Во всех новых PIC32MZ есть TLB MMU. Кроме этого, их уже можно купить. [Nov. 25th, 2013|11:36 pm]
Yuri Panchul
IMAG2988Господа! И на старуху бывает проруха. Несколько дней назад меня попутал коварный Вакуленко ramlamyammambam который заявил, что якобы в первых микроконтроллерах Microchip PIC32MZ, которые вышли неделю назад, якобы отсутствует TLB MMU. Я последние пару лет знал, что TLB в них есть, ибо сам принимал небольшое участие в разработке PIC32MZ: я сделал верификационную модель шин для интеграции процессорного ядра MIPS microAptiv UP в систему на кристалле Microchip PIC32MZ, и даже летал в Аризону общаться с командой PIC32MZ.

Кроме этого, в августе я был на Microchip Masters в Аризоне, а Вакуленко не был. А на Microchip Masters в Аризоне были лабы с TLB MMU. Т.е. я 100% знал, что TLB есть, но Вакуленко сказал, что "нет" так уверенно, что я ему механически поверил и написал об этом неделю назад в ЖЖ.

Так вот. TLB MMU есть! Кроме этого, Starter Kit с PIC32MZ можно купить уже сейчас в Microchip Direct, а к ней можно купить шикарную Multimedia Board:

Стартер кит: три кнопочки, три лампочки, отладочная консоль на PC и Ethernet:

http://www.microchipdirect.com/ProductSearch.aspx?Keywords=DM320006



Куча наворотов: графика, музыка, дополнительная память и т.д.:

http://www.microchipdirect.com/ProductSearch.aspx?Keywords=DM320005-2

IMAG2944

Теперь. Неделю назад у меня в ЖЖ также возникла дискуссия, зачем вообще нужен TLB. По этому поводу я решил выложить свои слайды про TLB из презентации, которую я скомпоновал для прошедшей в октябре конференции Microchip Masters Russia в Санкт-Петербурге. Вот один из 150 слайдов:




Слайды 86-112 моей презентации:



























































Как заметил alec_v, все слайды уже выхожены на сайте Гаммы / Микрочипа -

http://www.gamma.spb.ru/index.php/novosti-proizvoditelej/microchip/120-novoe-semejstvo-microchip-pic32mz-lidiruyushchie-kharakteristiki-na-rynke-32-bitnykh-mikrokontrollerov


Как вы оцениваете мой талант слайдосоставителя и педагога?

Выше среднего
6(50.0%)
Средний
1(8.3%)
Ниже среднего
0(0.0%)
А нет ли в этих слайдах сексизма и нарушения экспортного контроля?
4(33.3%)
Из-за бугра плюете?
1(8.3%)
LinkReply

Comments:
[User Picture]From: spamsink
2013-11-26 07:51 am (UTC)
А что, даже псевдо-LRU для команды tlbwr не нажили?
(Reply) (Thread)
[User Picture]From: ramlamyammambam
2013-11-26 08:23 am (UTC)
Архитектура оставляет это дело на усмотрение разработчика. В старших ядрах MIPS используется именно псевдо-LRU.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: archaicos
2013-11-26 08:01 am (UTC)
Позволяет адресовать бОльшую по размеру физическую память, чем доступно виртуальных адресов.

Тут имеется в виду именно то, что написано? Там не «физических адресов» должно быть? Вроде как обычно никто не желает ввязываться в схемы с сегментацией (и руками «двигать» окна, перегружать сегментные регистры и т.п.), предполагаемой этим предложением. И не надо ли тогда чтобы битов в PFN было побольше, чем в VPN?
(Reply) (Thread)
[User Picture]From: panchul
2013-11-26 05:53 pm (UTC)
Да, я имею в виду именно то, что написал. Некоторым людям хочется иметь 2GB (0x00000000-0x7fffffff) виртуальных адресов (стандартный mapping в MIPS32 user mode) и при этом 36-битный или 40-битный физический адрес. И да, тогда битов в PFN больше, чем в VPN (но честно говоря, я с 36+ битными физическими адресами никогда не разбирался, а в документацию лезть сейчас лень).

(В MIPS64 это очевидно неактуально)
(Reply) (Parent) (Thread)
From: realurix
2013-11-26 09:24 am (UTC)
> меня попутал коварный Вакуленко
Вот и верь после этого Вакуленко...

> зачем вообще нужен TLB
А он нужен? Микроконтроллер - это не универсальная ЭВМ, а специализированная, решающая конкретную задачу управления железом. Там не нужны ни BSD, ни Microsoft. Вот двойной набор регистров и разделение памяти на два контекста - системный и пользовательский - это нужно. Прерывания отрабатывать с двумя наборами регистров и переключением контекстов получается гораздо быстрее.

Edited at 2013-11-26 09:31 am (UTC)
(Reply) (Thread)
[User Picture]From: archaicos
2013-11-26 10:27 am (UTC)
Лишняя память может оказаться не лишней.
(Reply) (Parent) (Thread) (Expand)
(Deleted comment)
[User Picture]From: panchul
2013-11-26 05:56 pm (UTC)
Только вчера я подарил все секреты Сколково лично госдеповскому Макфолу на его фейсбуке - см.



(Reply) (Parent) (Thread)
[User Picture]From: itman
2013-11-26 01:46 pm (UTC)
Дискуссия на тему: что такое TLB, или дискуссия на тему: TLB ненужное излишество?
(Reply) (Thread)
[User Picture]From: panchul
2013-11-26 06:08 pm (UTC)
Второе.
Но я также поместил слайды про TLB для тех людей, которым нужно узнать что это.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: _iga
2013-11-27 07:17 pm (UTC)
откуда процессор знает текущий ASID?
как он меняется?
(Reply) (Thread)
[User Picture]From: panchul
2013-11-27 07:47 pm (UTC)
О! Это я забыл сказать в презентации, спасибо, что подсказали.

Текущий ASID находится в регистре EntryHi системного сопроцессора 0 (Cop0). Том же регистре, который используется для записи новой записи в TLB.

Текущий ASID меняется командой MTC0, записывающей значение из регистра общего назначения в регистр системного сопроцессора. Это стоит делать при переключении контекста/задач в операционной системе (если например N задач все слинкованы так, чтобы загружаться с адреса 0).

Замечу, что для процессора ASID - абстракция. Процессор "не знает" о процессах операционной системы. Это для него некий абстрактный идентификатор, который нужно принимать во внимание.

Также замечу, что так как ASID 8-битный, то для любой "большой" операционной системы с более чем 256 процессами один и тот же ASID может использоваться для нескольких процессов. В этих случаях ASID нужно учитывать и при переключениях контекста между задачами с одним и тем же ASID выбрасывать из TLB все записи с этим ASID.

(Reply) (Parent) (Thread)
[User Picture]From: alec_v
2013-12-02 09:31 am (UTC)
Юрий, у вас чудесно получается делать слайды, только непонятно зачем, все это есть в книге "See MIPS Run". Мне кажется, лучше было бы спонсировать перевод всей книги на русский.

http://www.amazon.com/Second-Edition-Kaufmann-Computer-Architecture/dp/0120884216/ref=sr_1_1
(Reply) (Thread)
[User Picture]From: panchul
2013-12-02 04:39 pm (UTC)
Дык, я же написал на части слайдов, что картинки из See MIPS Run. Но вы как-то странно ставите вопрос. Книжка и слайды ортогональны. Слайды были нужны для презентации на Microchip Masters. Что, мне выйти перед товарищами и просто сказать "Читайте See MIPS Run и нашу документацию?"

Я уже два года уламываю весь поголовно маркетинг в MIPS, Microchip и Imagination спонсировать перевод и издание на русском двух-трех книг. Правда я считаю что более приоритетной является Harris & Harris. Маркетинг жмется тратить $30K-50K на перевод, издание и распостранение книги, говорит, что есть более высокоприоритетные задачи на международном рынке, размышляет про издание в складчину Imagination + Microchip и т.д. Мне это тягомотина надоела, тем более что я отношусь не к маркетингу, а к инжинирингу, и тем более, что это вообще скупердяйство какое-то.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: Ivan Dmitriev
2013-12-22 11:07 am (UTC)

Слайды хорошие

но меня ужасает, что вы сделались glasshole :P
(Reply) (Thread)
[User Picture]From: zscvvider
2014-01-05 09:41 pm (UTC)

:)

Камрад шарит в теме
(Reply) (Thread)