3 ca-computer system structure

49
โโโโโโโโโโโโโโโโ โโโโโโโโโโโ Computer-System Structure สสสสสสสสสสสสสสสสสสสสสส Computer Architecture โโโโโโโ โโโโโโโ

description

 

Transcript of 3 ca-computer system structure

Page 1: 3 ca-computer system structure

โครงสร�างของระบบคอมพิ�วเตอร�Computer-System Structure

สถาปั�ตยกรรมคอมพิ�วเตอร�Computer Architecture

ว�เชษฐ์� พิลายมาศ

Page 2: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 2

ว�ตถุ�ประสงค�การเร�ยนร!�

เพิ��อทำ�าความเข�าใจเก!�ยวก"บโครงสร�างของระบบปัฏิ�บ"ต�การ โดยศึ&กษาถ&งโครงสร�างพิ�(นฐานของระบบคอมพิ�วเตอร� และโครงสร�างของระบบปัฏิ�บ"ต�การ

เพิ��อให้�ร, �เก!�ยวก"บสถาปั�ตยกรรมพิ�(นฐานของระบบคอมพิ�วเตอร� โครงสร�างสร�างห้น-วยร"บเข�า/ส-งออก โครงสร�างห้น-วยเก.บ ล�าด"บชั้"(นของห้น-วยเก.บ และการปั0องก"นระด"บฮาร�ดแวร� และสถาปั�ตยกรรมของระบบทำ"�วไปั

เพิ��อให้�ร, �เก!�ยวก"บโครงสร�างระบบปัฏิ�บ"ต�การ โปัรแกรมระบบ โครงสร�างระบบ และเคร��องเสม�อน

Page 3: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 3

Agenda

Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture

Page 4: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 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มห้น-วยความจ�าทำ!�จะเปั;นผ่,�คอยจ"ดจ"งห้วะ

Page 5: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 5

ภาพิทำ!� 2.1 ระบบคอมพิ�วเตอร�สม"ยให้ม-

Page 6: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 6

เม��อเปั=ดเคร��องห้ร�อร!บ,ต (reboot) จะม!โปัรแกรมเล.กๆ ถ,กโห้ลดเข�าห้น-วยความจ�าห้ล"กเพิ��อใชั้�ในการเร��มระบบ เร!ยกว-า โปัรแกรมปัล4กเคร��อง ห้ร�อโปัรแกรมบ,ต (bootstrap program)

เม��อ os ถ,กบรรจ4 (load) เข�ามาไว�ในห้น-วยความจ�าแล�วจ&งเร��มกระบวนการเร��มต�น (init process) ห้ร�อ UPP (Universal Progenitor Process) และพิร�อมทำ!�ทำ�างานโดยการรอคอยเห้ต4การณ์�บางอย-าง

เห้ต4การณ์�จะเก�ดข&(นโดยอาศึ"ยส"ญ่ญ่าณ์การข"ดจ"งห้วะ (interrupt) ซี&�งถ,กส-งมาโดยฮาร�ดแวร�ห้ร�อซีอฟต�แวร�

Computer-System Operation (cont.)

Page 7: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 7

หน�าที่�%ของการข�ดจั�งหวะCommon Functions of Interrupts

ฮาร�ดแวร�อ�นเทำอร�ร"พิทำ�จะถ,กส-งไปัย"งซี!พิ!ย,ผ่-านทำางบ"สระบบ ซีอฟต�แวร�อ�นเทำอร�ร"พิทำ�จะอาศึ"ยค�าส"�งปัฏิ�บ"ต�การพิ�เศึษทำ!�เร!ยกว-า

การเร!ยกระบบ (system call ห้ร�อ monitor call) การข"ดจ"งห้วะแต-ละชั้น�ดจะได�ร"บการตอบสนองด�วย service

routine ทำ!�เห้มาะสมก"บการข"ดจ"งห้วะน"(นๆ เม��อซี!พิ!ย,ถ,กข"ดจ"งห้วะม"นจะห้ย4ดทำ�างานชั้"�วคราวเพิ��อให้�อ4ปักรณ์�

ทำ�าการถ-ายข�อม,ลจนแล�วเสร.จ เพิ��อปั0องการส,ญ่เส!ยการข"ดจ"งห้วะ (lost interrupt) จากน"(น ซี!พิ!ย,จ&งจะกล"บไปัทำ�างานทำ!�ค�างอย,-ต-อไปั

OS จะร"กษาสถานะของซี!พิ!ย,ปั�จจ4บ"นไว�โดยเก.บเรจ�สเตอร�และต"วน"บโปัรแกรมขณ์ะน"(น (program counter)

Page 8: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 8

การข"ดจ"งห้วะจะส-งมอบการควบค4มไปัย"ง ร,ทำ!นบร�การข"ดจ"งห้วะ (interrupt service routine) ผ่-านทำาง อ�นเทำอร�ร"พิต�เว.กเตอร� (interrupt vector) ซี&�งบรรจ4ทำ!�อย,-ของร,ทำ!นบร�การทำ"(งห้มดไว�

สถาปั�ตยกรรมการข"ดจ"งห้วะจะต�องจ"ดเก.บทำ!�อย,-ของค�าส"�งทำ!�ถ,กข"ดจ"งห้วะ

แทำร.บ (Trap) ค�อการข"ดจ"งห้วะโดยซีอฟต�แวร�ทำ!�อาจเก�ดโดยข�อผ่�ดพิลาด ห้ร�อผ่,�ใชั้�ร�องขอ

ในฐานะน!( OS จ&งเปั;น interrupt driven.

Common Functions of Interrupts (cont.)

Page 9: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 9

ภาพิทำ!� 2.2 ชั้-วงเวลาของการข"ดจ"งห้วะส�าห้ร"บกระบวนการเด!ยวทำ!�ก�าล"งแสดงผ่ลล"พิธี�

Page 10: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 10

I/O Structure

ห้ล"งจาก i/o เร��มต�น , การควบค4มจะถ,กส-งกล"บไปัย"งโปัรแกรมผ่,�ใชั้�เม��อปัฏิ�บ"ต�การของ i/o ส�(นเสร.จลง (I/O completion) เทำ-าน"(น รอค�าส"�งว-างของซี!พิ!ย, (CPU idle) จนกว-าจะถ&งการ

ข"ดจ"งห้วะถ"ดไปั รอล,ปั (Wait loop) เพิ��อใชั้�ห้น-วยความจ�า อย-างน�อยการร�องขอ i/o ห้น&�งคร"(งเสร.จส�(นลงและไม-

ต�องทำ�างานต-อไปั

Page 11: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 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ปักรณ์� และแก�ไขรายการในตาราง รวมทำ"(งการข"ดจ"งห้วะ

Page 12: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 12

I/O Structure (cont.)

ว�ธี!ทำ!�ซี!พิ!ย,ต�องรอให้�การเสร.จส�(นไอ/โอ เส!ยก-อนน!( เร!ยกว-า ปัระสานเวลา ห้ร�อซี�งโครน"ส (synchronous)

ส-วนว�ธี!ทำ!�ตรงก"นข�ามเร!ยกว-า ไม-ปัระสานเวลา ห้ร�ออะซี�งโครน"ส (asynchronous )

ในกรณ์!ทำ!�เปั;นปัระสานเวลา ซี&�ง ซี!พิ!ย,ต�องรอให้�การเสร.จส�(นไอ/โอ น"(น ในระห้ว-างทำ!�ซี!พิ!ย,รอ จ�าเปั;นต�องม!ค�าส"�งพิ�เศึษ เร!ยกว-า ค�าส"�งรอ (wait instruction) ไปัเร��อยๆ จนกว-าจะได�ร"บการข"ดจ"งห้วะให้ม-

Page 13: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 13

Two I/O Methods

Synchronous Asynchronous

Page 14: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 14

Device-Status Table

Page 15: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 15

I/O Structure (cont.)

ในกรณ์!ของอะซี�งโครน"ส i/o จะเพิ��มปัระส�ทำธี�ภาพิของระบบ ในระห้ว-างทำ!� i/o ก�าล"ง

ทำ�างานอย,- ซี!พิ!ย,สามารถด�าเน�นการงานอ��น ห้ร�อเร��มทำ�า i/o ของอ4ปักรณ์�ต"วอ��นไปัพิร�อมๆ ก"นได�

แต-การเห้ล��อมการทำ�างานในล"กษณ์ะน!(ก.ย"งม!ข�อจ�าก"ดเน��องจากความแตกต-างก"นระห้ว-างความเร.วของ i/o ก"บซี!พิ!ย,ม!มาก

ต�องใชั้� DMA เข�ามาชั้-วย

Page 16: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 16

โครงสร�าง DMA(DMA Structure)

DMA (Direct Memory Access) จะใชั้�ในอ4ปักรณ์�ไอ/โอ ทำ!�ม!ความเร.วส,ง เชั้-น เทำปั ด�สก� เคร�อข-ายส��อสาร เปั;นต�น

ถ�าโปัรแกรมผ่,�ใชั้�ห้ร�อ OS ต�องการร"บ-ส-งข�อม,ล, OS จะห้า บ"ฟเฟอร�ทำ!�ต�องการ (บ"ฟเฟอร�ว-าง ส�าห้ร"บน�าเข�า,

บ"ฟเฟอร�เต.มส�าห้ร"บส-งออก) จากอาณ์าบร�เวณ์ของบ"ฟเฟอร� จากน"(น ต"วข"บอ4ปักรณ์�จะเซี.ตค-าเรจ�สเตอร�ของต"วควบค4ม

DMA เพิ��อระบ4ต�นทำาง ปัลายทำาง และขนาดทำ!�จะส-ง ห้ล"งจากน"(น DMA จะควบค4มและด�าเน�นการส-งข�อม,ลระห้ว-าง

i/o ก"บห้น-วยความจ�า ในระห้ว-างน"(น ซี!พิ!ย,ก.เปั;นอ�สระทำ!�ทำ�างานอย-างอ��นได� จนกระทำ"�ง

การส-งข�อม,ลเสร.จส�(น DMA จะส-งส"ญ่ญ่าณ์ข"ดจ"งห้วะซี!พิ!ย, อ!กคร"(งห้น&�ง

Page 17: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 17

simple DMA Structure

Page 18: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 18

MAR (memory address register)MDR (memory data register)CU (Control Unit)PC (Program Counter)IR (Instruction Register)

DMA Structure

Page 19: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 19

โครงสร�างของหน(วยเก)บ (Storage Structure)

โดยห้ล"กการแล�ว เราต�องการฝั�งโปัรแกรมและข�อม,ลไว�ภายในห้น-วยความจ�าห้ล"กอย-างถาวรตลอดเวลา แต-เปั;นไปัไม-ได�ด�วยสาเห้ต4ส�าค"ญ่ 2 ปัระการ ห้น-วยความจ�าห้ล"กม!ขนาดน�อยเก�นกว-าทำ!�จะสามารถเก.บโปัรแกรมและ

ข�อม,ลทำ!�ต�องการไว�ทำ" (งห้มดได� ห้น-วยความจ�าห้ล"กเปั;นอ4ปักรณ์�ปัระเภทำห้น-วยเก.บลบเล�อนได�

(volatile storage ) จ&งจ�าเปั;นต�องม!ห้น-วยเก.บรอง (secondary storage ) ทำ!�

สามารถเก.บโปัรแกรมและข�อม,ลปัร�มาณ์มากไว�ได�อย-างถาวร ปั�จจ"ยส�าค"ญ่ทำ!�ควรพิ�จารณ์าได�แก-

ความเร.ว ต�นทำ4น ขนาด การลบเล�อนได�

Page 20: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 20

จัานแม(เหล)ก (Magnetic Disk)

ความเร.วของด�สก�มาจาก 2 ส-วน transfer rate ค�ออ"ตราความเร.วทำ!�ใชั้�ในการส-งถ-าย

ข�อม,ลจากอ4ปักรณ์�ไปัย"งคอมพิ�วเตอร� ซี&�งม!ห้น-วยว"ดเปั;นเมกะบ�ตต-อว�นาทำ! (megabit per second)

positioning time ห้ร�อ random access time ซี&�งม!ห้น-วยว"ดเปั;นม�ลล�ว�นาทำ! (millisecond )ปัระกอบด�วย seek time เปั;นเวลาทำ!�ใชั้�ในการเคล��อนห้"วอ-านไปั

ย"งร-อง (track) ทำ!�ต�องการ -rotational latency เปั;นเวลาทำ!�ใชั้�ในการค�น

ห้าเซีกเตอร�ทำ!�ต�องการ

Page 21: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 21

Moving-Head Disk Mechanism

Page 22: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 22

ล+าด�บช�,นของหน(วยเก)บStorage Hierarchy

Page 23: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 23

Caching

ใชั้�เปั;นห้น-วยความจ�าความเร.วส,งในการเก.บข�อม,ลทำ!�ม"กถ,กเร!ยกใชั้�งานบ-อย

จ�าเปั;นต�องม!นโยบายการจ"ดการแคชั้/แทำนทำ!�แคชั้ (cache management/replacement policy)

แคชั้ถ,กน�าไปัใชั้�ในห้น-วยเก.บห้ลายระด"บ อาจม!ปั�ญ่ห้าการปัร"บค-าข�อม,ลในแคชั้แต-ละระด"บไม-ถ,กต�องได� เร!ยกว-า การเกาะกล4-มและความต�องก"น (Coherency and Consistency)

Page 24: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 24

Cache Structure

Page 25: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 25

Migration of A From Disk to Register

ปั�ญ่ห้าการเกาะกล4-มและความต�องก"น (Coherency and Consistency) ทำ!�ข�อม,ลในแคชั้แต-ละระด"บไม-สอดคล�องก"น

Page 26: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 26

การป-องก�นระด�บฮาร�ดแวร�Hardware Protection

Dual-Mode Operation I/O Protection Memory Protection CPU Protection

Page 27: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 27

การด+าเน�นการโหมดค!(ก�น (Dual-Mode Operation)

เพิ��อปัระก"นความถ,กต�องของการปัฏิ�บ"ต�การและทำ4กโปัรแกรม ตลอดทำ"(งข�อม,ลของโปัรแกรมเห้ล-าน"(นจากการร4กรานของโปัรแกรมผ่�ดปักต� การปักปั0องน!(ม!ความจ�าเปั;นต�องใชั้� โห้มด (modes) ในการปัฏิ�บ"ต�การ ได�แก- โห้มดผ่,�ใชั้� (user mode) โห้มดมอน�เตอร� (monitor mode)

ทำ"(งสองโห้มดจะใชั้�ฮาร�ดแวร�เข�ามาชั้-วย โดยก�าห้นด mode bit ให้� monitor (0) และ user (1)

ทำ�าให้�ปัฏิ�บ"ต�การก"บค�าส"�งบางอย-างจะสามารถทำ�าได�ด�วยเฉพิาะในฐานะของระบบปัฏิ�บ"ต�การเทำ-าน"(น และบางค�าส"�งจะทำ�าได�ในฐานะของผ่,�ใชั้�

Page 28: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 28

Dual-Mode Operation (cont.)

การออกแบบระบบปัฏิ�บ"ต�การโดยปั0องก"นค�าส"�งระด"บเคร��องทำ!�อาจเปั;นอ"นตรายอย-างเชั้-นค�าส"�งจ�าพิวก ค�าส"�งอภ�ส�ทำธี�A (privileged instructions)

โดยก�าห้นดให้�ฮาร�ดแวร�จะยอมร"บค�าส"�งปัระเภทำอภ�ส�ทำธี�Aจากการปัฏิ�บ"ต�การใน monitor mode เทำ-าน"(น

ถ�าม!ความพิยายามทำ!�จะเร!ยกใชั้�ค�าส"�งเห้ล-าน!(จาก user mode, ฮาร�ดแวร�จะถ�อว-าเปั;นการกระทำ�าทำ!�ผ่�ดปักต�และจะ trap ไปัย"งระบบปัฏิ�บ"ต�การทำ"นทำ!

Page 29: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 29

การป-องก�น i/o (I/O Protection)

ก�าห้นดให้�ทำ4กค�าส"�งเก!�ยวก"บ i/o เปั;นค�าส"�งอภ�ส�ทำธี�A

ต�องปัระก"นว-าโปัรแกรมผ่,�ใชั้�จะไม-ได�ร"บอน4ญ่าตให้�ควบค4มคอมพิ�วเตอร�ในฐานะโห้มดมอน�เตอร�ได�

Page 30: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 30

Use of A System Call to Perform I/O

Page 31: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 31

การป-องกนหน(วยความจั+า (Memory Protection)

ต�องปักปั0อง interrupt vector (ตารางทำ!�เก.บต"วชั้!(ไปัย"ง interrupt service) ไม-ให้�ถ,กแก�ไขค-าได�โดยโปัรแกรมผ่,�ใชั้�

และปักปั0องร,ทำ!นบร�การข"ดจ"งห้วะ (interrupt service routine ) ในระบบปัฏิ�บ"ต�การไม-ให้�ถ,กแก�ไขได�

จ4ดม4-งห้มายก.เพิ��อปั0องก"นการร4กล�(าระบบปัฏิ�บ"ต�การจากโปัรแกรมผ่,�ใชั้� และปั0องก"นโปัรแกรมผ่,�ใชั้�จากการร4กล�(าของผ่,�ใชั้�คนอ��นทำ"(งโดยเจตนาและไม-เจตนา

Page 32: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 32

Memory Protection (cont.)

ทำ�าได�โดยจ"ดสรรห้น-วยความจ�าออกเปั;นส-วนๆ โดยย�นยอมให้�โปัรแกรมผ่,�ใชั้�เข�าถ&งได�เฉพิาะพิ�(นทำ!�ของตนเองทำ!�ได�ร"บอน4ญ่าตเทำ-าน"(น ด�วยการใชั้� เรจ�สเตอร�

2 ต"ว base register เก.บค-าเร��มต�นของห้มายเลขต�าแห้น-ง

ห้น-วยความจ�าทำ!�ยอมให้�ใชั้�งานได� limit register เก.บค-าขนาดของพิ�(นทำ!�ห้น-วยความทำ!�จะ

ยอมให้�ใชั้�ได� พิ�(นทำ!�ของห้น-วยความจ�าอาจแบ-งออกเปั;นส-วนห้ล"กๆ

ได�แก- ส-วนของระบบปัฏิ�บ"ต�การ และ ส-วนของผ่,�ใชั้�

Page 33: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 33

Use of A Base and Limit Register

Page 34: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 34

Memory Protection (cont.)

โดยทำ!� ซี!พิ!ย, จะก�าห้นดห้มายเลขพิ�(นทำ!�ห้น-วยความจ�าทำ"(งห้มดไว�ใน เรจ�สเตอร� ด�วย monitor mode

ถ�าม!ความพิยายามทำ!�จะใชั้� monitor mode เพิ��อเข�าถ&ง monitor memory ห้ร�อร4กล�(าพิ�(นทำ!�ของผ่,�ใชั้�คนอ��น ก.จะเก�ด trap ไปัย"งระบบปัฏิ�บ"ต�การ

base และ limit registers ต�องถ,กก�าห้นดค-าได�โดยระบบปัฏิ�บ"ต�การเทำ-าน"(นโดยการใชั้�ค�าส"�งพิ�เศึษปัระเภทำอภ�ส�ทำธี�A (special privileged instruction) ซี&�งทำ�าได�เฉพิาะใน monitor mode เทำ-าน"(น

Page 35: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 35

Hardware Address Protection

Page 36: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 36

การป-องก�นซี�พิ�ย! (CPU Protection)

โดยทำ!�เราจะต�องปักปั0องโปัรแกรมผ่,�ใชั้�ไม-ให้�ต�ดบ-วงอย,-ในว"งวนไม-ร, �จบ (infinite loop) และไม-ยอมส-งค�นการควบค4มให้�แก-ระบบปัฏิ�บ"ต�การ ว�ธี!การน!(เราจะใชั้� timer ซี&�งเปั;นฮาร�ดแวร� เข�ามาชั้-วย

timer สามารถต"(งค-าการข"ดจ"งห้วะคอมพิ�วเตอร�ตามเวลาทำ!�ก�าห้นด ซี&�งอาจเปั;นเวลาคงทำ!�ห้ร�อแปัรเปัล!�ยนก.ได�

โดยจะถ,กใชั้�อ"ตราทำ!�คงทำ!�ของนาฬิ�กาและต"วน"บ (counter) ซี&�งระบบปัฏิ�บ"ต�การจะเปั;นผ่,�ต" (งค-าต"วน"บ

Page 37: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 37

สถุาป0ตยกรรมของระบบที่�%วไป(General System Architecture)

Computer system utilization น�าไปัส,- ระบบห้ลายโปัรแกรม (multiprogramming) ระบบแบ-งเวลา (time sharing) ทำ!�ย�นยอมให้�

ทำร"พิยากรของระบบสามารถถ,กใชั้�งานได�จากห้ลายโปัรแกรมและห้ลาย process

การแบ-งสรร (sharing) ได�น�าไปัส,- การปัร"บเปัล!�ยนสถาปั�ตยกรรมพิ�(นฐานของ

คอมพิ�วเตอร�ทำ!�ย�นยอมให้� os สามารถด,แลการควบค4ม (control) อย,-เห้น�อระบบคอมพิ�วเตอร� และ i/o

Page 38: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 38

General System Architecture(cont.)

การด,แลการควบค4มโดยอาศึ"ย dual mode user mode monitor mode

โครงสร�างน!(สน"บสน4นห้ล"กการของค�าส"�งอภ�ส�ทำธี�A (privileged instructions) ทำ!�สามารถถ,กกระทำ�าได�เฉพิาะ monitor mode

Page 39: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 39

General System Architecture(cont.)

ค�าส"�งอภ�ส�ทำธี�A (privileged instructions) I/O instructions ค�าส"�งเก!�ยวก"บการแก�ไขค-าเรจ�สเตอร�ส�าห้ร"บจ"ดการ

ห้น-วยความจ�า และ timer ค�าส"�งห้ย4ด (halt instruction) ค�าส"�งเก!�ยวก"บการเปั=ด/ปั=ดระบบการข"ดจ"งห้วะ ค�าส"�งในการเปัล!�ยนจาก user mode เปั;น

monitor mode รวมทำ"(งการเปัล!�ยนค-า mode bit ของฮาร�ดแวร�

Page 40: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 40

โครงสร�างระบบ(system structure)

โครงสร�างอย-างง-าย (simple structure) โครงสร�างแบบล�าด"บชั้"(น (layered

approach)

Page 41: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 41

โครงสร�างอย(างง(าย(simple structure)

โปัรแกรมผ่,�ใชั้�จ&งสามารถเข�าถ&ง เร!ยกใชั้� และครอบครองทำร"พิยากรระบบได�อย-างอ�สระ และโดยสมบ,รณ์� โดยไม-จ�าเปั;นต�องร�องขอผ่-าน monitor mode

Page 42: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 42

ภาพิทำ!� 2.12 โครงสร�างแบบล�าด"บชั้"(นของ MS-DOS

Page 43: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 43

ภาพิทำ!� 12.3 โครงสร�างระบบย,น�กซี�

Page 44: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 44

โครงสร�างแบบล+าด�บช�,น (layered approach)

การออกแบบในล"กษณ์ะล�าด"บชั้"(นเปั;นส-วนๆห้ร�อ modularity ระด"บล-างเปั;นระด"บทำ!�ใกล�ชั้�ดก"บระด"บของฮาร�ดแวร� (layer 0)

ข&(นไปัจนถ&งระด"บบนส4ด (lever N) เปั;นระด"บของส-วนต�ดต-อผ่,�ใชั้� (user interface)

ค4ณ์ล"กษณ์ะทำ!�ด!ของระบบแบบล�าด"บชั้"(น (layered approach) ความเปั;นห้น-วย (modularity) ทำ!�อ�สระต-อก"น แต-ละห้น-วยม!ห้น�าทำ!�เฉพิาะตามล�าด"บชั้"(น ชั้"(นล-างจะจ"ดห้าบร�การทำ!�เห้มาะสมให้�ชั้" (นบน การสร�าง แก�ไข ตรวจห้าความผ่�ดพิลาดเปั;นเร��องไม-ยาก สามารถควบค4มและจ�าก"ดความผ่�ดพิลาดในแต-ละระด"บ ย4-งยากมากในการออกแบบห้น�าทำ!�ให้�สมบ,รณ์�ได�ในแต-ละระด"บ

Page 45: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 45

ภาพิทำ!� 12.4 โครงสร�างแบบล�าด"บชั้"(นของระบบปัฏิ�บ"ต�การ

Page 46: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 46

เคร2%องเสม2อน (virtual machines)

สามารถจ�าลองสภาพิแวดล�อมการทำ�างานของเคร��องห้น&�งให้�สามารถปัฏิ�บ"ต�การบนโครงสร�างพิ�(นฐานของอ!กเคร��องห้น&�งได�โดยทำ!�โปัรแกรมผ่,�ใชั้� ห้ร�อโปัรแกรมปัระย4กต�เสม�อนว-าก�าล"งปัฏิ�บ"ต�การอย,-บนเคร��องเด�ม

จ�าลองทำร"พิยากรเชั้�งกายภาพิของระบบให้�สามารถถ,กใชั้�ร-วมก"นได�แบบเสม�อน เชั้-น ซี!พิ!ย,, ระบบสพิ,ลล�ง, ระบบแฟ0ม, ด�สก� และอ4ปักรณ์�ไอ/โอ เปั;นต�น

การจ�าลอง monitor mode แบบเสม�อน

Page 47: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 47

ภาพิทำ!� 12.5 แบบจ�าลองระบบ (a) ไม-ม!เคร��องเสม�อน (b) เคร��องเสม�อน

Page 48: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 48

virtual machines(cont.)

ข�อด� ผ่,�ใชั้�สามารถเล�อกใชั้�เคร��องแบบเสม�อนเพิ��อทำ!�จะได�ห้ลาย

สภาพิแวดล�อม เคร��องเสม�อนแต-ละเคร��องจะม!ความเปั;นเอกเทำศึอย-าง

สมบ,รณ์�และได�ร"บการปักปั0อง สามารถทำ�าการทำดลอง ว�จ"ยและพิ"ฒนาระบบปัฏิ�บ"ต�การ

ให้ม-ๆ และโปัรแกรมปัระย4กต�ได�ห้ลายแพิลตฟอร�มโดยไม-จ�าเปั;นต�องทำดลองปัฏิ�บ"ต�การก"บเคร��องจร�งๆทำ4กชั้น�ด

 ข�อด�อย ค�าส"�งจ�าลองห้ลายชั้น�ดอาจใชั้�เวลานานในการปัฏิ�บ"ต�การก

ว-าบนเคร��องจร�งๆ ได� ระบบ I/O เสม�อนอาจใชั้�เวลานานข&(นในการปัฏิ�บ"ต�การ

เน��องจากระบบ spooling

Page 49: 3 ca-computer system structure

ว�เชษฐ์� พิลายมาศ | โครงสร�างระบบและสถาปั�ตยกรรมคอมพิ�วเตอร� | โครงสร�างของระบบคอมพิ�วเตอร� | 49