Article View: pl.comp.lang.asm
Article #227980386 i page protection podczas pobierania rozkazu
From: Kicer
Date: Sat, 03 Jul 2010 15:48
Date: Sat, 03 Jul 2010 15:48
38 lines
2743 bytes
2743 bytes
Witam mam dość nietypowe pytanie o starocia i386: może ktoś z grupowiczów orientuje się w jaki sposób (fizycznie) procesor dba o ochronę stronicowania podczas pobierania rozkazu? Bo jeśli chodzi o zapis/odczyt danych, jednostka wykonawcza EU zleca zadanie BIU i BIU może na bieżąco sprawdzić w TLB czy dana strona była już używana i jakie ma prawa dostępu i na tej podstawie może zwrócić wynik EU które ew wygeneruje wyjątek (a przynajmniej, na moją logikę tak to może działać). Jednakże jesli chodzi o pobieranie rozkazu to BIU musiało by przepropagować w jakiś sposób uprawnienia strony razem z danymi gromadzonymi w kolejce prefetch które potem trafilyby do dekodera, a z niego do kolejki rozkazów zdekodowanych i potem dopiero do EU które mogło by sprawdzić czy rozkaz został pobrany naruszając ochronę stronicowania. Myślałem własnie o takim programowaniu informacji ale wydaje mi sie to bardzo nieeleganckie. Biu nie może też odrazu poinformować EU o tym że przy pobieraniu rozkazów do kolejki prefetch została naruszona protekcja chociażby z powodu możliwości ze dane pobrane przez BIU nigdy nie zostaną zdekodowane ani wykonane np jesli wystąpi jmp i obydwie kolejki (rozkazów wstępnie pobranych oraz zdekodowanych) zostaną opróżnione. Inną opcją było by zapytanie przez EU jednostkę BIU (na poczatku wykonywania rozkazu) jakie uprawnienia ma dana strona z której pobrano rozkaz i na tej podstawie wygenerować ew wyjątek. Ale jeśli BIU już nie ma danej strony w TLB (afaik w 386 TLB jest wspólny dla stron z kodem i danymi), co może się zdażyć (np wykonanie instrukcji rep movs szybko wymieni zawartość TLB), to BIU musiałoby pobierać ponownie dane z Page Dir/Tables co imo jest obarczone dużym kosztem czasowym. Ktoś ma jakies przemyslenia na ten temat lub zajmował się tym? pozdrawiam -- Michał Walenciak Kicer86 at gmail dot com http://kicer.sileman.net.pl gg: 3729519
Technical Details
Message-ID:
<i0nm4j$p7s$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Kicer <a@B.c> Newsgroups: pl.comp.lang.asm Subject: 80386 i page protection podczas pobierania rozkazu Followup-To: pl.comp.lang.asm Date: Sat, 03 Jul 2010 17:48:35 +0200 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 38 Message-ID: <i0nm4j$p7s$1@inews.gazeta.pl> NNTP-Posting-Host: host-5db0eeee.sileman.net.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1278172115 25852 93.176.238.238 (3 Jul 2010 15:48:35 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Sat, 3 Jul 2010 15:48:35 +0000 (UTC) X-User: spaz86 User-Agent: KNode/4.4.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit