🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #2279

80386 i page protection podczas pobierania rozkazu

#2279
From: Kicer
Date: Sat, 03 Jul 2010 15:48
38 lines
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-mail

Show 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