½ÇÁ¦¸ðµå¿¡¼´Â 20 bit address bus¸¦ »ç¿ëÇÏ¿© ÃÑ 1MBÀÇ ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, 16 bit register¸¦ »ç¿ëÇÑ´Ù. ·¹Áö½ºÅÍÀÇ Å©±â°¡ 16 bitÀ̱⠶§¹®¿¡, 20 bit ÁÖ¼Ò¸¦ ³ªÅ¸³»±â À§ÇØ segment register¶ó´Â °ÍÀ» µµÀÔÇÏ¿´´Ù. ÀÌ´Â 16 bit segment register¿Í 16 bit offsetÀ» Áßø½ÃÄѼ 20 bitÀÇ ÁÖ¼Ò¸¦ ¸¸µé¾î³»´Â °ÍÀÌ´Ù. ¸ðµç ¸Þ¸ð¸® Á¢±Ù¿¡´Â segment¿Í offsetÀÌ °°ÀÌ ÇÊ¿äÇϸç, ÇϳªÀÇ segment¸¦ »ç¿ëÇϸé 64K(0x10000)¸¸ÅÀÇ ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ½ÇÁ¦¸ðµå¿¡¼´Â °¡»ó ¸Þ¸ð¸®¶ó´Â °³³äÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸ç, segment¿Í offsetÀ¸·Î ¸¸µé¾îÁö´Â ÁÖ¼Ò´Â ¹Ù·Î ¹°¸®ÀûÀÎ ¸Þ¸ð¸® ÁÖ¼ÒÀÌ´Ù. ¶ÇÇÑ ÀÌ ¸ðµå¿¡¼ µ¿ÀÛÇÏ´Â ¸ðµç ÇÁ·Î±×·¥Àº ¸Þ¸ð¸®ÀÇ ¾î¶² ¿µ¿ªÀ̵çÁö ¸¾´ë·Î Á¢±ÙÇÒ ¼ö ÀÖÀ¸¸ç, cli (clear interrupt), sti (set interrupt)°°Àº ¸í·É¾î¸¦ Æ÷ÇÔÇÏ¿© ½ÇÁ¦¸ðµå¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸ðµç ¸í·É¾îµéÀ» ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
IBM-PC´Â 8086 CPU¸¦ ÀÌ¿ëÇÏ¿© ¸¸µé¾îÁ³´Âµ¥, À̰ÍÀÌ Ã³À½ µîÀåÇÏ´ø ´ç½Ã¿£ 1MBÀÇ ¸Þ¸ð¸®´Â »ó´çÈ÷ Å« °ÍÀ̾ú´Ù. ±×·¡¼ IBMÀº ¾ÕÀÇ 640KB(0 - 0x9ffff)¸¸À» ÇÁ·Î±×·¥ÀÌ »ç¿ëÇÒ ¼ö ÀÖ°Ô Çϰí, ³ª¸ÓÁö 384KB(0xa0000 - 0xfffff)´Â BIOS¿Í ISA ÀåÄ¡¿ëÀ¸·Î »ç¿ëÇÏ°Ô ÇÏ¿´´Âµ¥, ÀÌ´Â ½ÇÁ¦¸ðµå·Î µ¿ÀÛÇÏ´Â °¢Á¾ ÇÁ·Î±×·¥µéÀÌ 640KBÀÇ ¸Þ¸ð¸®¸¸À» »ç¿ëÇÒ ¼ö ¹Û¿¡ ¾ø´Â Á¦¾àÀ» ¸¸µé¾ú´Ù. ÀϹÝÀûÀ¸·Î ¸®´ª½º ºÎÆÃÀ» ÇÒ ¶§ »ç¿ëµÇ´Â LILOµµ ½ÇÁ¦¸ðµå·Î ½ÃÀÛÇÏ¿© ¸®´ª½º Ä¿³ÎÀ» ·ÎµåÇϱ⠶§¹®¿¡, ¸¶Âù°¡Áö·Î 640KBÀÇ Á¦¾àÀ» ¹Þ°Ô µÈ´Ù.

±×¸² 1-1. ½ÇÁ¦¸ðµå¿¡¼ÀÇ ¸Þ¸ð¸® º¯È¯°úÁ¤ (ÁÖ1)

±×¸² 1-2. ½ÇÁ¦¸ðµå¿¡¼ÀÇ ¸Þ¸ð¸® °è»ê¹æ¹ý (ÁÖ2)
ÀÌ·± Á¦ÇÑÀ» ¾ø¾Ö°í ¿ÏÀüÇÑ 32 bit address space¿Í 32 bit register setÀ» Á¦°øÇÏ´Â 80386ÀÌ µîÀåÇÏ¿´°í, ÀÌÈÄ¿¡ ¿î¿µÃ¼Á¦µéÀº 80386¿¡¼ Á¦°øÇÏ´Â º¸È£¸ðµåÀÇ ±â´ÉÀ» Ȱ¿ëÇÏ°Ô µÇ¾ú´Ù. º¸È£¸ðµå¿¡¼´Â CPU°¡ Á¦°øÇÏ´Â ¸ðµç ±â´É°ú ¸í·É¾îµéÀ» Ȱ¿ëÇÒ ¼ö ÀÖ´Ù. º¸È£¸ðµå¿¡¼´Â privilege levelÀ̶ó´Â °ÍÀÌ µîÀåÇϴµ¥, ÀÌ´Â ÇÁ·Î¼¼¼¸¦ Ȱ¿ëÇÒ ¼ö ÀÖ´Â ±ÇÇÑÁ¤µµ¸¦ ¸»ÇÑ´Ù. ÀÌ´Â 0ºÎÅÍ 3±îÁö Àִµ¥, 0ÀÌ ¸ðµç ÀÏÀ» ÇÒ ¼ö ÀÖ´Â ¸ðµå·Î ÀϹÝÀûÀÎ ¿î¿µÃ¼Á¦ ±¸Çö¿¡¼ Ä¿³Î¸ðµå°¡ ÀÌ »óÅÂÀ̸ç, 3Àº ÀÀ¿ëÇÁ·Î±×·¥Ã³·³ »ç¿ëÀÚ ±ÇÇÑÀÇ ½ÇÇà»óŸ¦ ³ªÅ¸³½´Ù. ÀÌ privilege levelÀ» ÅëÇÏ¿© Ä¿³Î¸ðµå/»ç¿ëÀÚ¸ðµå¸¦ ±¸ÇöÇÏ°Ô µÈ´Ù. º¸È£¸ðµå¿¡¼´Â 32 bit address bus¸¦ ÅëÇÏ¿© 4GBÀÇ ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ¸Þ¸ð¸® º¸È£±â´É°ú, ÆäÀÌ¡(paging) ¸ÞÄ¿´ÏÁò µîÀ» ÅëÇØ °¡»ó ¸Þ¸ð¸®¸¦ È¿À²ÀûÀ¸·Î ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ÀÎÅÍ·´Æ®³ª ¿¹¿Üó¸®, task switching µîµµ ¸ðµÎ º¸È£¸ðµå¿¡¼ Áö¿øÇÏ´Â ±â´ÉÀ» Ȱ¿ëÇÑ´Ù.

±×¸² 2-1. º¸È£¸ðµå ·¹Áö½ºÅÍ¿Í ÀڷᱸÁ¶ (ÁÖ3)

±×¸² 4-1. º¸È£¸ðµå¿¡¼ÀÇ ¸Þ¸ð¸® º¯È¯°úÁ¤ (ÁÖ4)
segment´Â segment descriptor¶ó´Â °ÍÀ¸·Î Á¤Àǰ¡ µÈ´Ù. ¿©±â¿¡´Â segmentÀÇ base address¿Í segment limit (Å©±â), ±×¸®°í DPL (descriptor privilege level)À» ºñ·ÔÇÑ Á¤º¸°¡ µé¾î°£´Ù. (¿©±â¿¡ º¸¸é segment typeÀ̶ó´Â °ÍÀÌ ÀÖ´Ù. À̰ÍÀº ÀÌ descriptor°¡ ³ªÅ¸³»´Â °ÍÀÌ ¹«¾ùÀÎÁö¸¦ ¸»ÇÏ´Â °ÍÀÌ´Ù. segment´Â ÀϹÝÀûÀÎ code/data/stackÀÏ ¼öµµ ÀÖ°í, µÚ¿¡ ³ª¿À´Â TSS Àϼöµµ, gateÀÏ ¼öµµ Àִµ¥ ÀÌ typeÀ» °¡Áö°í ¹«¾ùÀ» °¡¸®Å°´Â descriptorÀÎÁö ±¸º°ÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ¿¡ µû¶ó descriptorÀÇ ±¸Á¶°¡ ´Þ¶óÁø´Ù.) segment descriptor tableÀº À̵é segment descriptor¸¦ ¸ð¾ÆµÎ°í ÀÖ´Â °ÍÀ» ¸»Çϴµ¥, ¿©±â¿¡´Â ½Ã½ºÅÛ Àüü¿¡ ´ëÇÑ descriptor tableÀÎ GDT (global descriptor table)°ú ÇÁ·Î¼¼½º¸¶´Ù °³º°ÀûÀ¸·Î Á¤ÀÇÇϰí ÀÖ´Â LDT (local descriptor table)ÀÌ ÀÖ´Ù. À̵éÀº ¸ðµÎ ¸Þ¸ð¸® »ó¿¡ Á¸ÀçÇÏ°Ô µÇ´Âµ¥, GDTÀÇ À§Ä¡´Â GDTR (GDT register)°¡ °¡¸®Å°°í ÀÖ´Ù. LDTÀÇ À§Ä¡´Â LDTR (LDT register)°¡ °¡¸®Å°°í Àִµ¥ ÀÌ LDTRÀº ¿ø·¡ GDT¿¡ ÀÖ´Â ÇÑ segment descriptor¸¦ °¡¸®Å°°í ÀÖ´Â selectorÀÌ´Ù. Áï GDT¿¡´Â ½Ã½ºÅÛ¿¡ ÀÖ´Â ¸ðµç LDT¿¡ ´ëÇÑ segment descriptor°¡ µé¾îÀÖÀ¸¸ç, LDTRÀº ÀÌ Áß ÇöÀç ÇÁ·Î¼¼½ºÀÇ LDT¿¡ ´ëÇÑ segment descriptor¸¦ °¡¸®Å°´Â selectorÀÌ´Ù.
16 bitÀÎ selector¿¡´Â ÀÌ descriptor table¿¡¼ÀÇ index °ª°ú, À̰ÍÀÌ À̰ÍÀÌ GDT¿¡¼ÀÇ indexÀÎÁö, LDT¿¡¼ÀÇ indexÀÎÁö¸¦ ³ªÅ¸³»´Â TI (table indicator), ±ÇÇÑÀ» ³ªÅ¸³»´Â RPL (requestor privilege level)ÀÌ µé¾îÀÖ´Ù. ÀÌ TI¿Í index¸¦ °¡Áö°í ÇØ´çÇÏ´Â table¿¡¼ segment descriptor¸¦ ã¾Æ¼ base address¸¦ ±¸ÇÏ°Ô µÈ´Ù. ÀÌ °ª¿¡ offsetÀ» ÇÕÇϸé ÁöÁ¤ÇÑ selector¿Í offset¿¡ ÇØ´çÇÏ´Â linear address°¡ ¸¸µé¾îÁö°Ô µÈ´Ù.

±×¸² 4-2. Selector (ÁÖ5)

±×¸² 4-3. Segment Descriptor (ÁÖ6)

±×¸² 4-4. descriptor table ÂüÁ¶ (ÁÖ7)

±×¸² 4-5. °¡»óÁÖ¼Ò¿¡¼ ¼±ÇüÁÖ¼Ò·ÎÀÇ º¯È¯ (ÁÖ8)
ÀÌ·¸°Ô segmentationÀ» °ÅÃÄ ³ª¿Â linear address´Â paging ¸ÞÄ¿´ÏÁòÀ» ÅëÇÏ¿© physical address·Î º¯È¯ÀÌ µÈ´Ù. pagingÀº ¿äÁòÀÇ ¿î¿µÃ¼Á¦¿¡¼ ¸ðµÎ ±¸ÇöÇϰí ÀÖ´Â pagingÀ» Áö¿øÇϱâ À§ÇÑ °ÍÀÌ´Ù. À̸¦ ÀÌ¿ëÇÏ¿© ½ÇÁ¦·Î Çϵå¿þ¾îÀûÀ¸·Î ÀÖ´Â ¸Þ¸ð¸®º¸´Ù ¸¹Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ¸Þ¸ð¸®¸¦ È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, swappingÀ» ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ¸Þ¸ð¸®´Â 4KB ´ÜÀ§ÀÇ page·Î Âɰ³Áö¸ç, À̵éÀº page directory¿Í page table·Î ü°èȵȴÙ. °¢ pageµéÀÇ ½ÃÀÛ À§Ä¡´Â page table entry¿¡ ±â·ÏÀÌ µÇ¸ç, °¢ page tableµéÀÇ À§Ä¡´Â page directory entry¿¡ µé¾îÀÖ´Ù. page directoryÀÇ ½ÃÀÛ À§Ä¡´Â control registerÁßÀÇ ÇϳªÀÎ CR3ÀÌ °¡Áö°í ÀÖ´Ù. ¾Õ¿¡¼ ³Ñ¾î¿Â linear address´Â page directory¿¡¼ÀÇ index, page table¿¡¼ÀÇ index, offset ¼¼°¡Áö·Î Âɰ³Áö¸ç, À̵é tableµéÀ» Â÷·Ê·Î µû¶ó°¡¼ ½ÇÁ¦ pageÀÇ ÁÖ¼Ò¸¦ ¾ò°í, ¿©±â¿¡ offsetÀ» ´õÇÔÀ¸·Î½á ½ÇÁ¦ physical address°¡ ³ª¿À°Ô µÈ´Ù.

±×¸² 4-6. ¼±ÇüÁÖ¼Ò¿¡¼ ¹°¸®ÁÖ¼Ò·ÎÀÇ º¯È¯ (ÁÖ9)
ÀÌ·¸°Ô °¡»óÁÖ¼Ò°¡ ¹°¸®ÁÖ¼Ò·Î º¯È¯µÇ´Â °úÁ¤À» Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°´Ù.

±×¸² 4-7. °¡»óÁÖ¼Ò¿¡¼ ¹°¸®ÁÖ¼Ò·ÎÀÇ º¯È¯ (ÁÖ10)

±×¸² 5-1. Task Register (ÁÖ11)
task switchingÀ» ÇÏ´Â ¹æ¹ýÀ¸·Î ¿ì¼± callÀ̳ª jmp ¸í·É¿¡ ÀüȯÇÒ TSS selector¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÌ ÀÖ´Ù. ÀÌ·¸°Ô Çϸé ÇÁ·Î¼¼¼´Â ÇöÀç »óŸ¦ ÇöÀç TSS¿¡ ÀúÀåÀ» Çϰí, »õ·Î¿î taskÀÇ TSS·Î »óŸ¦ ¸ðµÎ ¹Ù²ÛÈÄ, »õ·Î¿î task¸¦ ½ÇÇàÇÑ´Ù.
task gate´Â task switchingÀ» ÀÏÀ¸Å°´Â Ưº°ÇÑ descriptor·Î¼ LDT³ª IDT (Interrupt Descriptor Table)¿¡ µé¾î°¡´Â descriptorÀÌ´Ù. ¿©±â¿¡´Â TSS descriptor¿¡ ´ëÇÑ selector°¡ µé¾îÀÖ´Ù. task gate´Â interrupt³ª trapÀÌ ¹ß»ýÇÏ¿´À» ¶§ task switchingÀÌ ÀϾ°Ô ÇÏ´Â °Íó·³ °£Á¢ÀûÀ¸·Î task switchingÀÌ ÀϾ°Ô Çϰųª, ƯÁ¤ÇÑ taskµéÀÌ TSS¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ »ç¿ëÇÑ´Ù. ¾ÕÀÇ °æ¿ì¿¡¼Ã³·³ callÀ̳ª jmp¿¡ task gateÀÇ selector¸¦ ÁöÁ¤À» ÇØÁÖ¸é ¿©±â¼ °¡¸®Å°´Â TSS·Î task switchingÀÌ ÀϾÙ. ¶ÇÇÑ task gate°¡ IDT¿¡ ÀÖÀ» ¶§ ÇØ´çÇÏ´Â interrupt°¡ ¹ß»ýÇϸé ÀÌ task gate¸¦ ÅëÇÏ¿© ÇØ´çÇÏ´Â TSS·Î task switchingÀÌ ÀϾ°Ô µÈ´Ù.

±×¸² 5-1. Task Gate (ÁÖ12)

±×¸² 6-1. Interrupt Gate¿Í Trap Gate (ÁÖ13)

±×¸² 6-2. Interrupt ¹ß»ý½Ã Task Gate (ÁÖ14)

±×¸² 7-1. Call Gate (ÁÖ15)
ÁÖ1) Real-Mode Memory Management¿¡¼ °¡Á®¿È
ÁÖ2) Real-Mode Memory Management¿¡¼ °¡Á®¿È
ÁÖ3) Intel Architecture Software Developer's Manual Volume 3 Figure 2-1
ÁÖ4) Protected-Mode Memory Management¿¡¼ °¡Á®¿È
ÁÖ5) Protected-Mode Memory Management¿¡¼ °¡Á®¿È
ÁÖ6) Protected-Mode Memory Management¿¡¼ °¡Á®¿È
ÁÖ7) Protected-Mode Memory Management¿¡¼ °¡Á®¿È
ÁÖ8) Protected-Mode Memory Management¿¡¼ °¡Á®¿È
ÁÖ9) Protected-Mode Memory Management¿¡¼ °¡Á®¿È
ÁÖ10) Pentium Processor Family Developer's Guide Volume 3 Figure 11-16
ÁÖ11) Pentium Processor Family Developer's Guide Volume 3 Figure 13-3
ÁÖ12) Pentium Processor Family Developer's Guide Volume 3 Figure 13-5
ÁÖ13) Pentium Processor Family Developer's Guide Volume 3 Figure 14-3
ÁÖ14) Pentium Processor Family Developer's Guide Volume 3 Figure 14-5
ÁÖ15) Pentium Processor Family Developer's Guide Volume 3 Figure 12-6