โครงสร�างของระบบคอมพิ�วเตอร�Computer-System Structure
สถาปั�ตยกรรมคอมพิ�วเตอร�Computer Architecture
ว�เชษฐ์� พิลายมาศ
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 2
ว�ตถุ�ประสงค�การเร�ยนร!�
เพิ��อทำ�าความเข�าใจเก!�ยวก"บโครงสร�างของระบบปัฏิ�บ"ต�การ โดยศึ&กษาถ&งโครงสร�างพิ�(นฐานของระบบคอมพิ�วเตอร� และโครงสร�างของระบบปัฏิ�บ"ต�การ
เพิ��อให้�ร, �เก!�ยวก"บสถาปั�ตยกรรมพิ�(นฐานของระบบคอมพิ�วเตอร� โครงสร�างสร�างห้น-วยร"บเข�า/ส-งออก โครงสร�างห้น-วยเก.บ ล�าด"บชั้"(นของห้น-วยเก.บ และการปั0องก"นระด"บฮาร�ดแวร� และสถาปั�ตยกรรมของระบบทำ"�วไปั
เพิ��อให้�ร, �เก!�ยวก"บโครงสร�างระบบปัฏิ�บ"ต�การ โปัรแกรมระบบ โครงสร�างระบบ และเคร��องเสม�อน
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 3
Agenda
Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 4
ปฏิ�บ�ต�การของระบบคอมพิ�วเตอร�(computer-system operation)
ระบบคอมพิ�วเตอร�ขนาดให้ญ่-ปั�จจ4บ"นปัระกอบด�วย ซี!พิ!ย, และกล4-มของต"วควบค4มอ4ปักรณ์� (device controller) ซี&�งเชั้��อมต-อเพิ��อเข�าถ&งห้น-วยความจ�าผ่-านทำางบ"สระบบ (system bus)
อ4ปักรณ์�แต-ละชั้น�ดจะม!ต"วควบค4มอ4ปักรณ์�เฉพิาะแยกจากก"น โดยม! local buffer
ซี!พิ!ย,และต"วควบค4มอ4ปักรณ์�ทำ"(งห้มดสามารถทำ�างานไปัพิร�อมๆ ก"นได� ซี!พิ!ย,จะย�ายข�อม,ลเข�า/ออกระห้ว-างห้น-วยความจ�าห้ล"กก"บ local
buffer ต"วควบค4มอ4ปักรณ์�จะบอกซี!พิ!ย,ว-าอ4ปักรณ์�ทำ�างานเสร.จแล�วห้ร�อย"ง
โดยว�ธี!ข"ดจ"งห้วะ (interrupt) เพิ��อปัระก"นว-าล�าด"บการเข�าถ&งห้น-วยความจ�าน!(เปั;นไปัอย-างถ,กต�อง
จะเปั;นห้น�าทำ!�ของต"วควบค4มห้น-วยความจ�าทำ!�จะเปั;นผ่,�คอยจ"ดจ"งห้วะ
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 5
ภาพิทำ!� 2.1 ระบบคอมพิ�วเตอร�สม"ยให้ม-
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 6
เม��อเปั=ดเคร��องห้ร�อร!บ,ต (reboot) จะม!โปัรแกรมเล.กๆ ถ,กโห้ลดเข�าห้น-วยความจ�าห้ล"กเพิ��อใชั้�ในการเร��มระบบ เร!ยกว-า โปัรแกรมปัล4กเคร��อง ห้ร�อโปัรแกรมบ,ต (bootstrap program)
เม��อ os ถ,กบรรจ4 (load) เข�ามาไว�ในห้น-วยความจ�าแล�วจ&งเร��มกระบวนการเร��มต�น (init process) ห้ร�อ UPP (Universal Progenitor Process) และพิร�อมทำ!�ทำ�างานโดยการรอคอยเห้ต4การณ์�บางอย-าง
เห้ต4การณ์�จะเก�ดข&(นโดยอาศึ"ยส"ญ่ญ่าณ์การข"ดจ"งห้วะ (interrupt) ซี&�งถ,กส-งมาโดยฮาร�ดแวร�ห้ร�อซีอฟต�แวร�
Computer-System Operation (cont.)
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 7
หน�าที่�%ของการข�ดจั�งหวะCommon Functions of Interrupts
ฮาร�ดแวร�อ�นเทำอร�ร"พิทำ�จะถ,กส-งไปัย"งซี!พิ!ย,ผ่-านทำางบ"สระบบ ซีอฟต�แวร�อ�นเทำอร�ร"พิทำ�จะอาศึ"ยค�าส"�งปัฏิ�บ"ต�การพิ�เศึษทำ!�เร!ยกว-า
การเร!ยกระบบ (system call ห้ร�อ monitor call) การข"ดจ"งห้วะแต-ละชั้น�ดจะได�ร"บการตอบสนองด�วย service
routine ทำ!�เห้มาะสมก"บการข"ดจ"งห้วะน"(นๆ เม��อซี!พิ!ย,ถ,กข"ดจ"งห้วะม"นจะห้ย4ดทำ�างานชั้"�วคราวเพิ��อให้�อ4ปักรณ์�
ทำ�าการถ-ายข�อม,ลจนแล�วเสร.จ เพิ��อปั0องการส,ญ่เส!ยการข"ดจ"งห้วะ (lost interrupt) จากน"(น ซี!พิ!ย,จ&งจะกล"บไปัทำ�างานทำ!�ค�างอย,-ต-อไปั
OS จะร"กษาสถานะของซี!พิ!ย,ปั�จจ4บ"นไว�โดยเก.บเรจ�สเตอร�และต"วน"บโปัรแกรมขณ์ะน"(น (program counter)
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 8
การข"ดจ"งห้วะจะส-งมอบการควบค4มไปัย"ง ร,ทำ!นบร�การข"ดจ"งห้วะ (interrupt service routine) ผ่-านทำาง อ�นเทำอร�ร"พิต�เว.กเตอร� (interrupt vector) ซี&�งบรรจ4ทำ!�อย,-ของร,ทำ!นบร�การทำ"(งห้มดไว�
สถาปั�ตยกรรมการข"ดจ"งห้วะจะต�องจ"ดเก.บทำ!�อย,-ของค�าส"�งทำ!�ถ,กข"ดจ"งห้วะ
แทำร.บ (Trap) ค�อการข"ดจ"งห้วะโดยซีอฟต�แวร�ทำ!�อาจเก�ดโดยข�อผ่�ดพิลาด ห้ร�อผ่,�ใชั้�ร�องขอ
ในฐานะน!( OS จ&งเปั;น interrupt driven.
Common Functions of Interrupts (cont.)
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 9
ภาพิทำ!� 2.2 ชั้-วงเวลาของการข"ดจ"งห้วะส�าห้ร"บกระบวนการเด!ยวทำ!�ก�าล"งแสดงผ่ลล"พิธี�
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 10
I/O Structure
ห้ล"งจาก i/o เร��มต�น , การควบค4มจะถ,กส-งกล"บไปัย"งโปัรแกรมผ่,�ใชั้�เม��อปัฏิ�บ"ต�การของ i/o ส�(นเสร.จลง (I/O completion) เทำ-าน"(น รอค�าส"�งว-างของซี!พิ!ย, (CPU idle) จนกว-าจะถ&งการ
ข"ดจ"งห้วะถ"ดไปั รอล,ปั (Wait loop) เพิ��อใชั้�ห้น-วยความจ�า อย-างน�อยการร�องขอ i/o ห้น&�งคร"(งเสร.จส�(นลงและไม-
ต�องทำ�างานต-อไปั
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 11
I/O Structure (cont.)
ห้ล"ง i/o เร��มต�น , การควบค4มจะถ,กส-งกล"บไปัย"งโปัรแกรมผ่,�ใชั้�โดยปัราศึจากการรอให้� i/o ปัฏิ�บ"ต�การเสร.จส�(น (I/O completion) การเร!ยกระบบ (System call) – การร�องขอไปัย"ง
OS เพิ��อขอให้�ผ่,�ใชั้�รอจนกว-าปัฏิ�บ"ต�การของ i/o จะเสร.จส�(น
ตารางสถานะอ4ปักรณ์� (Device-status table) บรรจ4รายการเก!�ยวก"บการขอใชั้�อ4ปักรณ์� เชั้-น ชั้น�ด ทำ!�อย,- และสถานะ เปั;นต�น
OS จะสร�างด"ชั้น!ชั้!(ไปัย"งตารางอ4ปักรณ์� i/o เพิ��อด,สถานะของอ4ปักรณ์� และแก�ไขรายการในตาราง รวมทำ"(งการข"ดจ"งห้วะ
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 12
I/O Structure (cont.)
ว�ธี!ทำ!�ซี!พิ!ย,ต�องรอให้�การเสร.จส�(นไอ/โอ เส!ยก-อนน!( เร!ยกว-า ปัระสานเวลา ห้ร�อซี�งโครน"ส (synchronous)
ส-วนว�ธี!ทำ!�ตรงก"นข�ามเร!ยกว-า ไม-ปัระสานเวลา ห้ร�ออะซี�งโครน"ส (asynchronous )
ในกรณ์!ทำ!�เปั;นปัระสานเวลา ซี&�ง ซี!พิ!ย,ต�องรอให้�การเสร.จส�(นไอ/โอ น"(น ในระห้ว-างทำ!�ซี!พิ!ย,รอ จ�าเปั;นต�องม!ค�าส"�งพิ�เศึษ เร!ยกว-า ค�าส"�งรอ (wait instruction) ไปัเร��อยๆ จนกว-าจะได�ร"บการข"ดจ"งห้วะให้ม-
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 13
Two I/O Methods
Synchronous Asynchronous
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 14
Device-Status Table
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 15
I/O Structure (cont.)
ในกรณ์!ของอะซี�งโครน"ส i/o จะเพิ��มปัระส�ทำธี�ภาพิของระบบ ในระห้ว-างทำ!� i/o ก�าล"ง
ทำ�างานอย,- ซี!พิ!ย,สามารถด�าเน�นการงานอ��น ห้ร�อเร��มทำ�า i/o ของอ4ปักรณ์�ต"วอ��นไปัพิร�อมๆ ก"นได�
แต-การเห้ล��อมการทำ�างานในล"กษณ์ะน!(ก.ย"งม!ข�อจ�าก"ดเน��องจากความแตกต-างก"นระห้ว-างความเร.วของ i/o ก"บซี!พิ!ย,ม!มาก
ต�องใชั้� DMA เข�ามาชั้-วย
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 16
โครงสร�าง DMA(DMA Structure)
DMA (Direct Memory Access) จะใชั้�ในอ4ปักรณ์�ไอ/โอ ทำ!�ม!ความเร.วส,ง เชั้-น เทำปั ด�สก� เคร�อข-ายส��อสาร เปั;นต�น
ถ�าโปัรแกรมผ่,�ใชั้�ห้ร�อ OS ต�องการร"บ-ส-งข�อม,ล, OS จะห้า บ"ฟเฟอร�ทำ!�ต�องการ (บ"ฟเฟอร�ว-าง ส�าห้ร"บน�าเข�า,
บ"ฟเฟอร�เต.มส�าห้ร"บส-งออก) จากอาณ์าบร�เวณ์ของบ"ฟเฟอร� จากน"(น ต"วข"บอ4ปักรณ์�จะเซี.ตค-าเรจ�สเตอร�ของต"วควบค4ม
DMA เพิ��อระบ4ต�นทำาง ปัลายทำาง และขนาดทำ!�จะส-ง ห้ล"งจากน"(น DMA จะควบค4มและด�าเน�นการส-งข�อม,ลระห้ว-าง
i/o ก"บห้น-วยความจ�า ในระห้ว-างน"(น ซี!พิ!ย,ก.เปั;นอ�สระทำ!�ทำ�างานอย-างอ��นได� จนกระทำ"�ง
การส-งข�อม,ลเสร.จส�(น DMA จะส-งส"ญ่ญ่าณ์ข"ดจ"งห้วะซี!พิ!ย, อ!กคร"(งห้น&�ง
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 17
simple DMA Structure
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 18
MAR (memory address register)MDR (memory data register)CU (Control Unit)PC (Program Counter)IR (Instruction Register)
DMA Structure
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 19
โครงสร�างของหน(วยเก)บ (Storage Structure)
โดยห้ล"กการแล�ว เราต�องการฝั�งโปัรแกรมและข�อม,ลไว�ภายในห้น-วยความจ�าห้ล"กอย-างถาวรตลอดเวลา แต-เปั;นไปัไม-ได�ด�วยสาเห้ต4ส�าค"ญ่ 2 ปัระการ ห้น-วยความจ�าห้ล"กม!ขนาดน�อยเก�นกว-าทำ!�จะสามารถเก.บโปัรแกรมและ
ข�อม,ลทำ!�ต�องการไว�ทำ" (งห้มดได� ห้น-วยความจ�าห้ล"กเปั;นอ4ปักรณ์�ปัระเภทำห้น-วยเก.บลบเล�อนได�
(volatile storage ) จ&งจ�าเปั;นต�องม!ห้น-วยเก.บรอง (secondary storage ) ทำ!�
สามารถเก.บโปัรแกรมและข�อม,ลปัร�มาณ์มากไว�ได�อย-างถาวร ปั�จจ"ยส�าค"ญ่ทำ!�ควรพิ�จารณ์าได�แก-
ความเร.ว ต�นทำ4น ขนาด การลบเล�อนได�
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 20
จัานแม(เหล)ก (Magnetic Disk)
ความเร.วของด�สก�มาจาก 2 ส-วน transfer rate ค�ออ"ตราความเร.วทำ!�ใชั้�ในการส-งถ-าย
ข�อม,ลจากอ4ปักรณ์�ไปัย"งคอมพิ�วเตอร� ซี&�งม!ห้น-วยว"ดเปั;นเมกะบ�ตต-อว�นาทำ! (megabit per second)
positioning time ห้ร�อ random access time ซี&�งม!ห้น-วยว"ดเปั;นม�ลล�ว�นาทำ! (millisecond )ปัระกอบด�วย seek time เปั;นเวลาทำ!�ใชั้�ในการเคล��อนห้"วอ-านไปั
ย"งร-อง (track) ทำ!�ต�องการ -rotational latency เปั;นเวลาทำ!�ใชั้�ในการค�น
ห้าเซีกเตอร�ทำ!�ต�องการ
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 21
Moving-Head Disk Mechanism
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 22
ล+าด�บช�,นของหน(วยเก)บStorage Hierarchy
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 23
Caching
ใชั้�เปั;นห้น-วยความจ�าความเร.วส,งในการเก.บข�อม,ลทำ!�ม"กถ,กเร!ยกใชั้�งานบ-อย
จ�าเปั;นต�องม!นโยบายการจ"ดการแคชั้/แทำนทำ!�แคชั้ (cache management/replacement policy)
แคชั้ถ,กน�าไปัใชั้�ในห้น-วยเก.บห้ลายระด"บ อาจม!ปั�ญ่ห้าการปัร"บค-าข�อม,ลในแคชั้แต-ละระด"บไม-ถ,กต�องได� เร!ยกว-า การเกาะกล4-มและความต�องก"น (Coherency and Consistency)
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 24
Cache Structure
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 25
Migration of A From Disk to Register
ปั�ญ่ห้าการเกาะกล4-มและความต�องก"น (Coherency and Consistency) ทำ!�ข�อม,ลในแคชั้แต-ละระด"บไม-สอดคล�องก"น
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 26
การป-องก�นระด�บฮาร�ดแวร�Hardware Protection
Dual-Mode Operation I/O Protection Memory Protection CPU Protection
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 27
การด+าเน�นการโหมดค!(ก�น (Dual-Mode Operation)
เพิ��อปัระก"นความถ,กต�องของการปัฏิ�บ"ต�การและทำ4กโปัรแกรม ตลอดทำ"(งข�อม,ลของโปัรแกรมเห้ล-าน"(นจากการร4กรานของโปัรแกรมผ่�ดปักต� การปักปั0องน!(ม!ความจ�าเปั;นต�องใชั้� โห้มด (modes) ในการปัฏิ�บ"ต�การ ได�แก- โห้มดผ่,�ใชั้� (user mode) โห้มดมอน�เตอร� (monitor mode)
ทำ"(งสองโห้มดจะใชั้�ฮาร�ดแวร�เข�ามาชั้-วย โดยก�าห้นด mode bit ให้� monitor (0) และ user (1)
ทำ�าให้�ปัฏิ�บ"ต�การก"บค�าส"�งบางอย-างจะสามารถทำ�าได�ด�วยเฉพิาะในฐานะของระบบปัฏิ�บ"ต�การเทำ-าน"(น และบางค�าส"�งจะทำ�าได�ในฐานะของผ่,�ใชั้�
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 28
Dual-Mode Operation (cont.)
การออกแบบระบบปัฏิ�บ"ต�การโดยปั0องก"นค�าส"�งระด"บเคร��องทำ!�อาจเปั;นอ"นตรายอย-างเชั้-นค�าส"�งจ�าพิวก ค�าส"�งอภ�ส�ทำธี�A (privileged instructions)
โดยก�าห้นดให้�ฮาร�ดแวร�จะยอมร"บค�าส"�งปัระเภทำอภ�ส�ทำธี�Aจากการปัฏิ�บ"ต�การใน monitor mode เทำ-าน"(น
ถ�าม!ความพิยายามทำ!�จะเร!ยกใชั้�ค�าส"�งเห้ล-าน!(จาก user mode, ฮาร�ดแวร�จะถ�อว-าเปั;นการกระทำ�าทำ!�ผ่�ดปักต�และจะ trap ไปัย"งระบบปัฏิ�บ"ต�การทำ"นทำ!
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 29
การป-องก�น i/o (I/O Protection)
ก�าห้นดให้�ทำ4กค�าส"�งเก!�ยวก"บ i/o เปั;นค�าส"�งอภ�ส�ทำธี�A
ต�องปัระก"นว-าโปัรแกรมผ่,�ใชั้�จะไม-ได�ร"บอน4ญ่าตให้�ควบค4มคอมพิ�วเตอร�ในฐานะโห้มดมอน�เตอร�ได�
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 30
Use of A System Call to Perform I/O
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 31
การป-องกนหน(วยความจั+า (Memory Protection)
ต�องปักปั0อง interrupt vector (ตารางทำ!�เก.บต"วชั้!(ไปัย"ง interrupt service) ไม-ให้�ถ,กแก�ไขค-าได�โดยโปัรแกรมผ่,�ใชั้�
และปักปั0องร,ทำ!นบร�การข"ดจ"งห้วะ (interrupt service routine ) ในระบบปัฏิ�บ"ต�การไม-ให้�ถ,กแก�ไขได�
จ4ดม4-งห้มายก.เพิ��อปั0องก"นการร4กล�(าระบบปัฏิ�บ"ต�การจากโปัรแกรมผ่,�ใชั้� และปั0องก"นโปัรแกรมผ่,�ใชั้�จากการร4กล�(าของผ่,�ใชั้�คนอ��นทำ"(งโดยเจตนาและไม-เจตนา
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 32
Memory Protection (cont.)
ทำ�าได�โดยจ"ดสรรห้น-วยความจ�าออกเปั;นส-วนๆ โดยย�นยอมให้�โปัรแกรมผ่,�ใชั้�เข�าถ&งได�เฉพิาะพิ�(นทำ!�ของตนเองทำ!�ได�ร"บอน4ญ่าตเทำ-าน"(น ด�วยการใชั้� เรจ�สเตอร�
2 ต"ว base register เก.บค-าเร��มต�นของห้มายเลขต�าแห้น-ง
ห้น-วยความจ�าทำ!�ยอมให้�ใชั้�งานได� limit register เก.บค-าขนาดของพิ�(นทำ!�ห้น-วยความทำ!�จะ
ยอมให้�ใชั้�ได� พิ�(นทำ!�ของห้น-วยความจ�าอาจแบ-งออกเปั;นส-วนห้ล"กๆ
ได�แก- ส-วนของระบบปัฏิ�บ"ต�การ และ ส-วนของผ่,�ใชั้�
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 33
Use of A Base and Limit Register
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 34
Memory Protection (cont.)
โดยทำ!� ซี!พิ!ย, จะก�าห้นดห้มายเลขพิ�(นทำ!�ห้น-วยความจ�าทำ"(งห้มดไว�ใน เรจ�สเตอร� ด�วย monitor mode
ถ�าม!ความพิยายามทำ!�จะใชั้� monitor mode เพิ��อเข�าถ&ง monitor memory ห้ร�อร4กล�(าพิ�(นทำ!�ของผ่,�ใชั้�คนอ��น ก.จะเก�ด trap ไปัย"งระบบปัฏิ�บ"ต�การ
base และ limit registers ต�องถ,กก�าห้นดค-าได�โดยระบบปัฏิ�บ"ต�การเทำ-าน"(นโดยการใชั้�ค�าส"�งพิ�เศึษปัระเภทำอภ�ส�ทำธี�A (special privileged instruction) ซี&�งทำ�าได�เฉพิาะใน monitor mode เทำ-าน"(น
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 35
Hardware Address Protection
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 36
การป-องก�นซี�พิ�ย! (CPU Protection)
โดยทำ!�เราจะต�องปักปั0องโปัรแกรมผ่,�ใชั้�ไม-ให้�ต�ดบ-วงอย,-ในว"งวนไม-ร, �จบ (infinite loop) และไม-ยอมส-งค�นการควบค4มให้�แก-ระบบปัฏิ�บ"ต�การ ว�ธี!การน!(เราจะใชั้� timer ซี&�งเปั;นฮาร�ดแวร� เข�ามาชั้-วย
timer สามารถต"(งค-าการข"ดจ"งห้วะคอมพิ�วเตอร�ตามเวลาทำ!�ก�าห้นด ซี&�งอาจเปั;นเวลาคงทำ!�ห้ร�อแปัรเปัล!�ยนก.ได�
โดยจะถ,กใชั้�อ"ตราทำ!�คงทำ!�ของนาฬิ�กาและต"วน"บ (counter) ซี&�งระบบปัฏิ�บ"ต�การจะเปั;นผ่,�ต" (งค-าต"วน"บ
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 37
สถุาป0ตยกรรมของระบบที่�%วไป(General System Architecture)
Computer system utilization น�าไปัส,- ระบบห้ลายโปัรแกรม (multiprogramming) ระบบแบ-งเวลา (time sharing) ทำ!�ย�นยอมให้�
ทำร"พิยากรของระบบสามารถถ,กใชั้�งานได�จากห้ลายโปัรแกรมและห้ลาย process
การแบ-งสรร (sharing) ได�น�าไปัส,- การปัร"บเปัล!�ยนสถาปั�ตยกรรมพิ�(นฐานของ
คอมพิ�วเตอร�ทำ!�ย�นยอมให้� os สามารถด,แลการควบค4ม (control) อย,-เห้น�อระบบคอมพิ�วเตอร� และ i/o
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 38
General System Architecture(cont.)
การด,แลการควบค4มโดยอาศึ"ย dual mode user mode monitor mode
โครงสร�างน!(สน"บสน4นห้ล"กการของค�าส"�งอภ�ส�ทำธี�A (privileged instructions) ทำ!�สามารถถ,กกระทำ�าได�เฉพิาะ monitor mode
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 39
General System Architecture(cont.)
ค�าส"�งอภ�ส�ทำธี�A (privileged instructions) I/O instructions ค�าส"�งเก!�ยวก"บการแก�ไขค-าเรจ�สเตอร�ส�าห้ร"บจ"ดการ
ห้น-วยความจ�า และ timer ค�าส"�งห้ย4ด (halt instruction) ค�าส"�งเก!�ยวก"บการเปั=ด/ปั=ดระบบการข"ดจ"งห้วะ ค�าส"�งในการเปัล!�ยนจาก user mode เปั;น
monitor mode รวมทำ"(งการเปัล!�ยนค-า mode bit ของฮาร�ดแวร�
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 40
โครงสร�างระบบ(system structure)
โครงสร�างอย-างง-าย (simple structure) โครงสร�างแบบล�าด"บชั้"(น (layered
approach)
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 41
โครงสร�างอย(างง(าย(simple structure)
โปัรแกรมผ่,�ใชั้�จ&งสามารถเข�าถ&ง เร!ยกใชั้� และครอบครองทำร"พิยากรระบบได�อย-างอ�สระ และโดยสมบ,รณ์� โดยไม-จ�าเปั;นต�องร�องขอผ่-าน monitor mode
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 42
ภาพิทำ!� 2.12 โครงสร�างแบบล�าด"บชั้"(นของ MS-DOS
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 43
ภาพิทำ!� 12.3 โครงสร�างระบบย,น�กซี�
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 44
โครงสร�างแบบล+าด�บช�,น (layered approach)
การออกแบบในล"กษณ์ะล�าด"บชั้"(นเปั;นส-วนๆห้ร�อ modularity ระด"บล-างเปั;นระด"บทำ!�ใกล�ชั้�ดก"บระด"บของฮาร�ดแวร� (layer 0)
ข&(นไปัจนถ&งระด"บบนส4ด (lever N) เปั;นระด"บของส-วนต�ดต-อผ่,�ใชั้� (user interface)
ค4ณ์ล"กษณ์ะทำ!�ด!ของระบบแบบล�าด"บชั้"(น (layered approach) ความเปั;นห้น-วย (modularity) ทำ!�อ�สระต-อก"น แต-ละห้น-วยม!ห้น�าทำ!�เฉพิาะตามล�าด"บชั้"(น ชั้"(นล-างจะจ"ดห้าบร�การทำ!�เห้มาะสมให้�ชั้" (นบน การสร�าง แก�ไข ตรวจห้าความผ่�ดพิลาดเปั;นเร��องไม-ยาก สามารถควบค4มและจ�าก"ดความผ่�ดพิลาดในแต-ละระด"บ ย4-งยากมากในการออกแบบห้น�าทำ!�ให้�สมบ,รณ์�ได�ในแต-ละระด"บ
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 45
ภาพิทำ!� 12.4 โครงสร�างแบบล�าด"บชั้"(นของระบบปัฏิ�บ"ต�การ
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 46
เคร2%องเสม2อน (virtual machines)
สามารถจ�าลองสภาพิแวดล�อมการทำ�างานของเคร��องห้น&�งให้�สามารถปัฏิ�บ"ต�การบนโครงสร�างพิ�(นฐานของอ!กเคร��องห้น&�งได�โดยทำ!�โปัรแกรมผ่,�ใชั้� ห้ร�อโปัรแกรมปัระย4กต�เสม�อนว-าก�าล"งปัฏิ�บ"ต�การอย,-บนเคร��องเด�ม
จ�าลองทำร"พิยากรเชั้�งกายภาพิของระบบให้�สามารถถ,กใชั้�ร-วมก"นได�แบบเสม�อน เชั้-น ซี!พิ!ย,, ระบบสพิ,ลล�ง, ระบบแฟ0ม, ด�สก� และอ4ปักรณ์�ไอ/โอ เปั;นต�น
การจ�าลอง monitor mode แบบเสม�อน
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 47
ภาพิทำ!� 12.5 แบบจ�าลองระบบ (a) ไม-ม!เคร��องเสม�อน (b) เคร��องเสม�อน
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 48
virtual machines(cont.)
ข�อด� ผ่,�ใชั้�สามารถเล�อกใชั้�เคร��องแบบเสม�อนเพิ��อทำ!�จะได�ห้ลาย
สภาพิแวดล�อม เคร��องเสม�อนแต-ละเคร��องจะม!ความเปั;นเอกเทำศึอย-าง
สมบ,รณ์�และได�ร"บการปักปั0อง สามารถทำ�าการทำดลอง ว�จ"ยและพิ"ฒนาระบบปัฏิ�บ"ต�การ
ให้ม-ๆ และโปัรแกรมปัระย4กต�ได�ห้ลายแพิลตฟอร�มโดยไม-จ�าเปั;นต�องทำดลองปัฏิ�บ"ต�การก"บเคร��องจร�งๆทำ4กชั้น�ด
ข�อด�อย ค�าส"�งจ�าลองห้ลายชั้น�ดอาจใชั้�เวลานานในการปัฏิ�บ"ต�การก
ว-าบนเคร��องจร�งๆ ได� ระบบ I/O เสม�อนอาจใชั้�เวลานานข&(นในการปัฏิ�บ"ต�การ
เน��องจากระบบ spooling
ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 49