procesor 16/32 bitowy

0

Mam taki problem czytajac artykul Wolverina z tej strony: http://colony.devtown.net/site/Kurs_pisania_OS_cz._II_-_tryb_chroniony.html

Otoz Wolverine pisze:

"0x03. Czym jest tryb chroniony?

Tryb chroniony poraz pierwszy pojawił się w procesorze 80286 (16 bitowy), jednak nas interesuje 80386 i wyżej które są 32 bitowe."

Moje pytanie jest: co to znaczy ze procesor jest 32 lub 16 bitowy ? Nie bardzo rozumiem od czego to zalezy ?

0

tzn., że posiada rejestry 16/32 bitowe. Np. 80286 posiadał 16 bitowe rejestry: AX, BX, CX, DX, SI, DI, IP itd., natomiast 80386 miał już 32 bitowe: EAX, EBX, ECX, EDX, ESI, EDI, EIP.

0

no dobra to <ort>powiec </ort>mi dlaczego dla programu bootloader uzywa on dyrektywy [bits 16] a dla programu jadra
juz dyrektywy [bits 32] ( byz moze to jest w ogole nie zwiazane z okresleniem "procesor 32/16 bitowy" ).

Nie bardzo rozumiem dlaczego najpierw procesor jest tak jakby w trybie 16 bitowym a pozniej w 32 ( Mam rozumiec ze samo przejscie do trybu chronionego do tego zmusza ? ).

Ogolnie wydaje mi sie jednak ze jest to zwiazane z tym jak procesor czyta instrukcje programu, jesli jest w tym trybie 16 bitowym to inaczej czyta
niz jakby byl w 32. Pytanie tylko skad wie w ktorym trybie jest ( jesli stanowi o tym samo przejscie do trybu chronionego to ok, ale to mi sie nie podoba bo przeciez windows dziala w trybie chronionym a mozna na nim wykonywac programy w ktorych kody sa jakby przeznaczone do czytania 16 bitowego ( czyzby tutaj bylo przejscie do virtual x86 ? ) )?

0

no dobra to ort! mi dlaczego dla programu bootloader uzywa on dyrektywy [bits 16] a dla programu jadra
juz dyrektywy [bits 32] ( byz moze to jest w ogole nie zwiazane z okresleniem "procesor 32/16 bitowy" ).

Bo BIOS jest 16 bitowy, do bootloadera skacza też w trybie 16 bitowym. Kernel jest najczęściej 32 bitowy, bo tak jest wygodniej (więcej pamięci itd)

Mam rozumiec ze samo przejscie do trybu chronionego do tego zmusza ?

Nie, tryb chroniony może być też 16 bitowy.

Ogolnie wydaje mi sie jednak ze jest to zwiazane z tym jak procesor czyta instrukcje programu, jesli jest w tym trybie 16 bitowym to inaczej czyta
niz jakby byl w 32.

Mhm, napisz sobie coś małego z dyrektowym [bits 16], a potem [bits 32] i porównaj.

czyzby tutaj bylo przejscie do virtual x86

O ile wiem Windows rzeczywiscie korzysta z trybu wirtualnego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1