SlideShare a Scribd company logo
1 of 99
Download to read offline
ระบบหน่วยความจําระบบหนวยความจา
(M U it S t )(Memory Unit System)
ิ ั ัอ.นคินทร พัฒนชัย
Overview
1 Organization of the memory unit1. Organization of the memory unit
2. Cache memory concept
3. Virtual memory mechanism
4 Secondary storage4. Secondary storage
2
1. Organization of the memory unit
ภาพที่ 1 แสดงความสัมพันธ์ของหน่วยความจํา
3
1. Organization of the memory unit
หน่วยความจํา (Memory Unit) ทําหน้าที่เก็บข้อมูลหรือคําสั่งที่ส่งมาจาก( y ) ู
หน่วยรับข้อมูลเพื่อเตรียมส่งไปประมวลผลยังหน่วยประมวลผลกลาง
และเก็บผลลัพธ์ที่ได้มาจากการประมวลผลแล้วเพื่อเตรียมส่งไปยังหน่วยและเกบผลลพธทไดมาจากการประมวลผลแลวเพอเตรยมสงไปยงหนวย
แสดงผล เป็นหน่วยจัดเก็บข้อมูลที่ทํางานได้รวดเร็วที่สุด ซึ่งสามารถ
ํ ั ใ ้ ไ ้ ป ืจําแนกตามลักษณะการใช้งานได้ 2 ประเภท คือ
1. หน่วยความจําหลัก (Main Memory Unit)
2. หน่วยความจํารอง (Second Memory Unit)
4
1.1 หน่วยความจําหลัก (Main Memory Unit)
เป็นอุปกรณ์ที่ใช้ในการจดจําข้อมูล และโปรแกรมต่าง ๆ ที่อยู่ระหว่างการุ ู ๆ ู
ประมวลผลของคอมพิวเตอร์ บางครั้งอาจเรียกว่า หน่วยเก็บข้อมูลหลัก
(Primary storage) สามารถแบ่งออกได้เป็น 2 ประเภท คือ(Primary storage) สามารถแบงออกไดเปน 2 ประเภท คอ
1. หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory -
ROM)
2. หน่วยความจําหลักแบบแก้ไขได้ (Random Access Memory - RAM)( y )
5
หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM)
เป็นหน่วยความจําแบบสารกึ่งตัวนําชั่วคราวชนิดอ่านได้อย่างเดียว
y y
ใช้เป็นสื่อบันทึกในคอมพิวเตอร์ เพราะไม่สามารถบันทึกซํ้าได้(อย่าง
ง่ายๆ) เป็นความจําที่ซอฟต์แวร์หรือข้อมลอย่แล้ว และพร้อมที่จะนํามางายๆ) เปนความจาทซอฟตแวรหรอขอมูลอยูแลว และพรอมทจะนามา
ต่อกับ microprocessor ได้โดยตรง หน่วยความจําประเภทนี้แม้ไม่มี
ไฟ ี้ ่ ่ ้ ็ ไ ่ ไป ่ ํ ( )ไฟเลียงตออยูข้อมูลก็จะไมหายไปจากนวยความจํา (non-volatile)
โดยทั่วไปจะใช้เก็บข้อมูลที่ไม่ต้องมีการแก้ไขอีกแล้วเช่น เก็บ
โปรแกรมไบออส (Basic Input output System : BIOS) หรือเฟิร์มแวร์ ที่
ควบคมการทํางานของคอมพิวเตอร์ใช้เก็บโปรแกรมการทํางานสําหรับควบคุมการทางานของคอมพวเตอรใชเกบโปรแกรมการทางานสาหรบ
เครื่องคิดเลขใช้เก็บโปรแกรมของคอมพิวเตอร์ที่ทํางานเฉพาะด้าน เช่น
ในรถยนต์ที่ใช้ระบบคอมพิวเตอร์ควบคมวงจร ควบคมในเครื่องซักผ้าในรถยนตทใชระบบคอมพวเตอรควบคุมวงจร ควบคุมในเครองซกผา
เป็นต้น 6
หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM)
นอกจากนี้ ในปัจจบันยังมีรอมที่เป็นชิปพิเศษแบบต่าง ๆ อีก คือ
y y
นอกจากน ในปจจุบนยงมรอมทเปนชปพเศษแบบตาง ๆ อก คอ
 PROM ( Programmable Read-Only Memory)
เป็นหน่วยความจําแบบ ROM ที่สามารถบันทึกด้วยเครื่องบันทึก
พิเศษได้หนึ่งครั้ง จากนั้นจะลบหรือแก้ไข้ไม่ได้พเศษไดหนงครง จากนนจะลบหรอแกไขไมได
 EPROM(Erasable PROM)
็ ่เป็นหน่วยความจํา ROM ที่ใช้แสงอัลตราไวโอเลตในการเขียนข้อมูล
สามารถนําออกจากคอมพิวเตอร์ไปลบโดยใช้เครื่องมือพิเศษและ
บันทึกข้อมูลใหม่ได้
7
หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM)
 EEPROM (Electrically Erasable PROM)
y y
 EEPROM (Electrically Erasable PROM)
จะเป็นเทคโนโลยีซึ่งรวมเอาข้อดีของรอมและแรมเข้าด้วยกัน กล่าวคือ
่ ้จะเป็นชิปที่ใช้ไฟฟ้าในการหล่อเลี้ยง (non-volatile) สามารถเขียน แก้ไข หรือ
ลบข้อมูลที่เก็บไว้ได้ด้วยโปรแกรมพิเศษ โดยไม่ต้องถอดออกจากเครื่อง
่คอมพิวเตอร์เลย ทําให้เปรียบเสมือนหน่วยเก็บข้อมูลสํารองที่มีความเร็วสูง
อย่างไรก็ตาม หน่วยความจําชนิดนี้จะมีข้อด้อยอยู่2 ประการเมื่อเทียบกับ
็ ่ ่ ่หน่วยเก็บข้อมูลสํารอง นั่นคือราคาที่สูงและมีความจุข้อมูลตํ่ากว่ามาก ทําให้
การใช้งานยังจํากัดอยู่กับงานที่ต้องการความเร็วสูง และเก็บข้อมูลไม่มากนัก
่ตังอย่างของหน่วยความจําแบบ EEPROM ที่รู้จักกันดีคือ หน่วยความจําแบบ
แฟลช (Flash memory) ซึ่งนิยมนํามาใช้เก็บ BIOS ในเครื่องรุ่นใหม่ ๆ
8
หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM)y y
ภาพที่ 2 แสดง Read Only Memory - ROM
9
y y
หน่วยความจําหลักแบบแก้ไขได้(Random Access Memory - RAM)
เป็นหน่วยความจําหลัก ที่ใช้ในระบบคอมพิวเตอร์ยุคปัจจุบัน
้
y
หน่วยความจําชนิดนี้ อนุญาตให้เขียนและอ่านข้อมูลได้ในตําแหน่งต่างๆ
อย่างอิสระ และรวดเร็วพอสมควร ซึ่งต่างจากสื่อเก็บข้อมูลชนิดอื่นๆู
อย่างเทป หรือดิสก์ ที่มีข้อจํากัดในการอ่านและเขียนข้อมูล ที่ต้องทํา
ตามลําดับก่อนหลังตามที่จัดเก็บไว้ในสื่อ หรือมีข้อกําจัดแบบรอม ที่
อนุญาตให้อ่านเพียงอย่างเดียว
ข้อมลในแรม อาจเป็นโปรแกรมที่กําลังทํางาน หรือข้อมลที่ใช้ในขอมูลในแรม อาจเปนโปรแกรมทกาลงทางาน หรอขอมูลทใชใน
การประมวลผล ของโปรแกรมที่กําลังทํางานอยู่ ข้อมูลในแรมจะหายไป
ทันที เมื่อระบบคอมพิวเตอร์ถกปิดลง เนื่องจากหน่วยความจําชนิดนี้ จะทนท เมอระบบคอมพวเตอรถูกปดลง เนองจากหนวยความจาชนดน จะ
เก็บข้อมูลได้เฉพาะเวลาที่มีกระแสไฟฟ้าหล่อเลี้ยงเท่านั้น
10
หน่วยความจําหลักแบบแก้ไขได้(Random Access Memory - RAM)
 Module ของ RAM
ื ั
y
2 Module คือ SIMM กับ DIMM
1. SIMM หรือ Single In-line Memory Module
่ ้ ้โดยที่ Module ชนิดนี้ จะรองรับ data path 32 bit โดยทั้งสองด้านของ circuit
board จะให้สัญญาณ เดียวกัน
2. DIMM หรือ Dual In-line Memory Module
โดย Module นี้เพิ่งจะกําเนิดมาไม่นานนัก มี data path ถึง 64 บิต โดยทั้งสอง
ด้านของ circuited board จะให้สัญญาณที่ต่างกัน ตั้งแต่ CPU ตระกูล Pentium
เป็นต้นมา ได้มีการออกแบบให้ใช้งานกับ data path ที่มากว่า 32 bit
เพราะฉะนั้น เราจึงพบว่าเวลาจะใส่ SIMM RAM บน slot RAM จะต้องใส่เป็นคู่
ใส่โดด ๆ แผง เดียวไม่ได้
Memory Module ปัจจุบันมีอยู่ 3 รูปแบบคือ 30-pin, 72-pin, 168-pin, 184-pin, 240-pin
11
หน่วยความจําหลักแบบแก้ไขได้(Random Access Memory - RAM)y
ภาพที่ 3 แสดง Random Access Memory - RAM
12
y
ภาพที่ 4 แสดง Random Access Memory - RAM
13
y
ชนิดและความแตกต่างของ RAM
1. Dynamic Random Access Memory (DRAM) DRAM จะทําการเก็บข้อมูลใน
ตัวเก็บประจุ (Capaciter) ซึ่งจําเป็นต้องมีการ refresh เพื่อ เก็บข้อมูล ให้คงอยู่โดย
การ refresh นี้ทําให้เกิดการหน่วงเวลาขึ้นในการเข้าถึงข้อมูล และก็เนื่องจากที่มัน
ต้อง refresh ตัวเองอยู่ตลอดเวลานี้เองจึงเป็นเหตุให้ได้ชื่อว่า Dynamic RAM
2. Staic Random Access Memory (SRAM) จะต่างจาก DRAM ตรงที่ว่า DRAMy ( )
ต้องทําการ refresh ข้อมูลอยู่ตลอดเวลา แต่ในขณะที่ SRAM จะเก็บข้อมูล นั้น ๆ
ไว้ และจําไม่ทําการ refresh โดยอัตโนมัติ ซึ่งมันจะทําการ refresh ก็ต่อเมื่อ สั่งให้
มัน refresh เท่านั้น ซึ่งข้อดีของมันก็คือความเร็ว ซึ่งเร็วกว่า DRAM ปกติมาก แต่ก็
ด้วยราคาที่สูงว่ามาก จึงเป็นข้อด้อยของมันู
14
ชนิดและความแตกต่างของ RAM
3. Fast Page Mode DRAM (FPM DRAM) FPM นั้น ก็เหมือนกับ DRAM
เพียงแต่ว่า มันลดช่วงการหน่วงเวลาขณะเข้าถึงข้อมูลลง ทําให้ มันมีความเร็วใน
การเข้าถึงข้อมูล สูงกว่า DRAM ปกติ ซึ่งโดยที่สัญญาณนาฬิกาในการเข้าถึงข้อมูล
จะเป็น 6-3-3-3 (Latency เริ่มต้นที่ 3 clock พร้อมด้วย 3 clock สําหรับการเข้าถึง
page) และสําหรับ ระบบแบบ 32 bit จะมีอัตราการส่งถ่ายข้อมูลสูงสุด 100 MB
ต่อวินาที ส่วนระบบแบบ 64 bit จะมีอัตรา การส่งถ่ายข้อมูลที่ 200 MB ต่อวินาที
เช่นกัน ปัจจุบันนี้ RAM ชนิดนี้แทบจะหมดไปจากตลาดแล้วแต่ ยังคงมีให้เห็น
บ้าง และมักมีราคา ที่ค่อนข้างแพงเมื่อเที่ยบกับ RAM รุ่นใหม่ ๆ เนื่องจากที่ว่า
ปริมาณใน ท้องตลาดมีน้อยมาก ทั้ง ๆ ที่ยังมีคนต้องการใช้แรมชนิดนี้อยู่
15
ชนิดและความแตกต่างของ RAM
4. Extended-Data Output (EDO) DRAM หรือเรียกอีกชื่อหนึ่งก็คือ Hyper-Page
่ ้ ่ ่ ่Mode DRAM ซึงพัฒนาขึ้นอีกระดับหนึง โดยการทีมันจะอ้างอิง ตําแหน่งทีอ่าน
ข้อมูล จากครั้งก่อนไว้ด้วย ปกติแล้วการดึงข้อมูลจาก RAM ณ ตําแหน่งใด ๆ มักจะ
ดึงข้อมล ณ ตําแหน่งที่อย่ใกล้ ๆ จากการดึงก่อนหน้านี้ เพราะฉะนั้น ถ้ามีการอ้งอิงดงขอมูล ณ ตาแหนงทอยูใกล ๆ จากการดงกอนหนาน เพราะฉะนน ถามการององ
ณตําแหน่งเก่าไว้ก่อน ก็จะทําให้ เสียเวลาในการเข้าถึงตําแหน่งน้อยลง และอีกทั้งมัน
ยังลดช่วงเวลาของ CAS latency ลงด้วย และด้วย ความสามารถนี้ ทําให้การเข้าถึงยงลดชวงเวลาของ CAS latency ลงดวย และดวย ความสามารถน ทาใหการเขาถง
ข้อมูลดีขึ้นกว่าเดิมกว่า 40% เลยทีเดียว และมีความสามารถโดยรวมสูงกว่า FPM กว่า
15% EDO จะทํางานได้ดีที่ 66 MHzด้วย timming 5-2-2-2 และก็ยังทํางานได้ดีเช่นกัน
่ ้ ้ ่แม้จะใช้งานที่ 83 MHz ด้วย Timming นี้และหากว่า chip EDO นี้ มีความเร็วที่สูงมาก
พอ (มากว่า 50ns) มันจะ สามารถใช้งานได้ ณ 100 MHz ที่ Tomming 6-3-3-3 ได้
่ ส ั ส่ ่ ้ ส ส DRAM ิ ี้ ่ ี่ 264 MB ่ ิ ีอยางสบาย อตราการสงถายขอมูลสูงสุด ของ DRAM ชนดนอยูท 264 MB ตอวนาท
EDO RAM ในปัจจุบันนี้ไม่เป็นที่นิยมใช้แล้ว
16
ชนิดและความแตกต่างของ RAM
5. Burst EDO (BEDO) DRAM
BEDO ได้เพิ่มความสามารถขึ้นมาจาก EDO เดิม คือ Burst Mode โดยหลังจากที่มัน
ได้ address ที่ ต้องการ adress แรกแล้วมันก็จะทําการ generate อีก 3 address ขึ้นg
ทันที ภายใน 1 สํญญาณนาฬิกา ดังนั้น จึงตัดช่วงเวลาในการรับ adress ต่อไป
เพราะฉะนั้น Timming ของมันจึงเป็น 5-1-1-1 ณ 66 MHz BEDO ไม่เป็นที่g
แพร่หลาย และได้รับความนิยมเพียงระยะเวลาสั้น ๆ เนื่องจากว่าทาง Intel ตัดสินใจ
ใช้ SDRAM แทน EDO และไม่ได่ใช้ BEDO เป็นส่วนประกอบในการพัฒนา
chipset ของตน ทําให้บริษัทผู้ผลิต ต่าง ๆ หันมาพัฒนา SDRAM แทน
17
ชนิดและความแตกต่างของ RAM
6. Synchronous DRAM (SDRAM) SDRAM
่จะต่างจาก DRAM เดิมตรงที่มันจะทํางานสอดคล้งกับสัญญาณนาฬิกา สําหรับ
DRAM เดิมจะ ทราบตําแหน่งที่อ่าน ก็ต่อเมื่อเกิดทั้ง RAS และCAS ขึ้น แล้วจึงทําการ
ไปอ่านข้อมลโดยมีช่วงเวลาในการ เข้าถึงข้อมล ตามที่เรามักจะได้เห็นบนตัว chip ของไปอานขอมูลโดยมชวงเวลาในการ เขาถงขอมูล ตามทเรามกจะไดเหนบนตว chip ของ
ตัว RAM เลย เช่น -50, -60, -80 โดย -50 หมายถึง ช่วงเวลาเข้าถึง ใช้เวลา 50 นาโน
วินาทีเป็นต้น แต่ว่า SDRAM จะใช้สัญญาณนาฬิกาเป็นตัวกําหนดการ ทํางานโดยจะใช้
ี่ ั ป็ ั ํ ั ิ ึ้ ื่ ัความถีของสัญญาณเป็นตัวระบุ SDRAM จะทํางานตามสัญญาณนาฬิกาขาขึนเพือรอรับ
ตําแหน่งข้อมูล ที่ต้องการให้มันอ่าน แล้วจากนั้นมันก็จะไปค้นหาให้ และให้ผลลัพธ์
ออกมาหลังจากได้รับ ตําแหน่งแล้ว เท่ากับค่าของ CAS เช่น CAS 2 ก็คือ หลังจากรับ
ตําแหน่งที่อ่านแล้วมันจะให้ผลลัพธ์ออกมา ภายใน 2 ลูกของสัญญาณนาฬิกา SDRAM
จะมี Timming เป็น 5-1-1-1 ซึ่งแน่ มันเร็วพอ ๆ กันกับ BEDO RAM เลยที่เดียว แต่ว่า
มันสามารถทํางานได้ ณ 100 MH หรือมากว่า และมีอัตราการส่งถ่าย ข้อมลสงสดที่มนสามารถทางานได ณ 100 MHz หรอมากวา และมอตราการสงถาย ขอมูลสูงสุดท
528 MB ต่อวินาที
18
ชนิดและความแตกต่างของ RAM
7. DDR SDRAM (หรือ SDRAM II)( )
DDR RAM นี้แยกออกมาจาก SDRAM โดยจุดที่ต่างกันหลัก ๆ ของทั้ง
สองชนิดนี้คือ DDR SDRAM นี้สามารถที่จะใช้งานได้ทั้งขาขึ้น และขาลงสองชนดนคอ DDR SDRAM นสามารถทจะใชงานไดทงขาขน และขาลง
ขแงสัญญาณนาฬิกาเพื่องส่งถ่ายข้อมูล นั่นก็ทําให้อัตราส่งถ่าย เพิ่มขึ้นได้
ึ ึ่ ้ ึถึงเท่าตัว ซึงมีอัตราการส่งถ่ายข้อมูลสูสุดถึง 1 G ต่อวินาทีเลยทีเดียว
19
ชนิดและความแตกต่างของ RAM
8. Rambus DRAM (RDRAM)
่ ็ ่ ่ ้ ้ชื่อของ RAMBUS เป็นเครื่องหมายการค้าของบริษัท RAMBUS Inc. ซึ่งตั้งมาตั้งแต่ยุค
80 แล้ว เพราะฉะนั้นชื่อนี้ ก็ไม่ได้เป็นชื่อที่ ใหม่อะไรนัก โดยปัจจุบันได้เอาหลักการ
ของ RAMBUS มาพัฒนาใหม่ โดยการลด pin รวม static buffer และทําการปรับแต่งของ RAMBUS มาพฒนาใหม โดยการลด pin รวม static buffer และทาการปรบแตง
ทาง interface ใหม่ DRAM ชนิดนี้ จะสามารถ ทํางานได้ทั้งขอบขาขึ้น และลงของ
สัญญาณนาฬิกา และเพียงช่องสัญญาณเดียว ของหน่วยความจํา แบบ RAMBUS นี้ มี
่ ป็ ่ ้ ี ่ ่ ัPerformance มากกว่าเป็น 3 เท่า จาก SDRAM 100 MHz แล้ว และเพียงแค่ช่อง สัญญาณ
เดียวนี้ก็มีอัตราการส่งถ่ายข้องมูลสูงถึง 1.6 G ต่อวินาที ถึงแม้ว่าเวลาในการเข้าถึงข้อมูล
แบบ สุ่มของ RAM ชนิดนี้จะช้า แต่การเข้าถึงข้อมูลแบบต่อเนื่องจะเร็วมาก ๆ ซึ่งกาว่าุ ู ๆ
RDRAM นี้มีการพัฒนา Interface และมี PCB (Printed Circuit Board) ที่ดี ๆ แล้วละก็
รวมถึง Controller ของ Interface ให้ สามารถใช้งานได้ถึง 2 ช่องสัญญาณแล้วมันจะมี
อัตราการส่งถ่ายข้อมลเพิ่มเป็น 3 2 G ต่อวินาที และหากว่าสามารถใช้ได้ถึง 4อตราการสงถายขอมูลเพมเปน 3.2 G ตอวนาท และหากวาสามารถใชไดถง 4
ช่องสัญญาณก็จะสามารถเพิ่มไปถึง 6.4 G ต่อวินาที
20
ชนิดและความแตกต่างของ RAM
9. Synchronous Graphic RAM (SGRAM)
้ ็SGRAM นี้ก็แยกออกมาจาก SDRAM เช่นกันโดยมันถูกปรับแต่งมาสําหรับงานด้าน
Graphics เป็นพิเศษแต่โดยโครงสร้างของ Hardware แล้ว แทยไม่มีอะไรต่างจาก
SDRAM เลย เราจะเห็นจากบาง Graphic Card ที่เป็นร่นเดียวกัน แต่ใช้SDRAM ก็มีSDRAM เลย เราจะเหนจากบาง Graphic Card ทเปนรุนเดยวกน แตใช SDRAM กม
SGRAM ก็มี เช่น Matrox G200 แต่จุดที่ต่างกัน ก็คือ ฟังก์ชัน ที่ใช้โดย Page Register
ซึ่ง SG สามารถทําการเขียนข้อมูลได้หลาย ๆ ตําแหน่ง ในสัญญาณนาฬิกาเดียว ในจุดนี้
ํ ใ ้ ็ ใ ํ ไ ้ ็ ั ี ่ทําให้ความเร็วในการแสดงผล และ Clear Screen ทําได้เร็วมาก และยังสามารถ เขียนแค่
บาง bit ในการ word ได้(คือไม่ต้องเขียนข้อมูลใหม่ทั้งหมดเขียนเพียงข้อมูลที่
เปลี่ยนแปลง เท่านั้น) โดยใช้bitmask ในการเลือก bit ที่จะเขียนใหม่สําหรับงานโดย)
ปกติแล้ว SGRAM แทบจะไม่ ให้ผลที่ต่างจาก SDRAM เลย มันเหมาะกับงานด้าน
Graphics มากกว่า เพราะความสามารถที่ แสดงผลเร็วและ Clear Screen ได้เร็วมันจึง
เหมาะกับใช้บน G hi C d มากกว่า ที่จะใช้บน S tเหมาะกบใชบน Graphics Card มากกวา ทจะใชบน System
21
ชนิดและความแตกต่างของ RAM
10. Video RAM (VRAM)
VRAM ชื่อก็บอกแล้วว่าทํางานเกี่ยวกกับ Video เพราะมันถูกออกแบบมาใช้บน Dispaly Card โดย
VRAM นี้ก็มีพื้นฐานมาจาก DRAM เช่นกัน แต่ที่ทําให้มันต่างกันก็ด้วยกลไกการทํางานบางอย่าง
่ ่ ้ ้ที่เพิ่มเข้ามา โดยที่ VRAM นั้น จะมี serial port พิเศษเพิ่มขึ้นมาอีก 1หรือ 2 port ทําให้เรามองว่ามัน
เป็น RAM แบบ พอร์ทคู่ (Dual-Port) หรือ ไตรพอร์ท (Triple-Port) Parallel Port ซึ่งเป็น Standard
I f ั ใ ้ใ ิ ่ ั H P ื่ สั่ ใ ้ ํ f h ึ้Interface ของมน จะถูกใชในการตดตอกบ Host Processor เพอสงการให ทาการ refresh ภาพขนมา
ใหม่ และ Seral Port ที่เพิ่มขึ้นมา จะใช้ในการส่งข้อมูลภาพออกสู่ Display
11 Wi d RAM (WRAM)11. Windowns RAM (WRAM)
WRAM นี้ ดู ๆ ไปล้วเหมือนกับว่า ถูกพัฒนาโดย Matrox เพราะแทบจะเป็นผู้เดียวที่ใช้RAM ชนิด
นี้ บน Graphics Card ของตน (card ตระกล Millenium และ Millenium II แต่ไม่รวม Milleniumน บน Graphics Card ของตน (card ตระกูล Millenium และ Millenium II แตไมรวม Millenium
G200 ซึ่งเป็น ซึ่งใช้SGRAM ) แต่ในปัจจุบันก็เห็นมีของ Number 9 ที่ใช้WRAM เช่นกัน ในรุ่น
Number 9 Revolutuon IV ที่ใช้WRAM 8M บน Crad WRAM นี้โดยรวมแล้วก็เหมือน ๆ กับ
VRAM จะต่างกันก็ตรงที่ มันรองรับ Bandwith ที่สูงกว่า อีกทั้งยังใช้ระบบ Double-Buffer อีกด้วย
จึงทําให้มันเร็วกว่า VRAM อีกมากทีเดียว
22
Memory Unit
Memory celln bits
ss
er
bit 0
bit 1
0
1
2
yaddre
ister
decode
2
3
4
Memory
regi
ddress
M
A
bit n - 1 2n-1
0 1 2 m - 1
Memory data register m bits
23
Memory Capacity
 2n x 2 x m
 n address bits = 2n addresses
 m data bits
 m is the “width” of the data path m is the width of the data path
 Typical values:
n: 16, 17, 18, 19, 20, 21, 22, etc.
m: 8, 16, 32, 64m: 8, 16, 32, 64
24
Memory Capacity
 จํานวนไบท์ที่ จานวนไบทท
สามารถจัดเก็บได้
 1 KB = 1,024 Bytes
หน่วยจัดเก็บ จํานวนไบท์
(bytes)
ตัวย่อ
, y
 1 MB = 1,024 KB
 1 GB = 1 024 MB
Kilobyte KB 1 thousand
 1 GB = 1,024 MB
 1 TB = 1,024 GB
Megabyte
Gigabyte
MB
GB
1 million
1 billion 1 PB = 1,024 TB Gigabyte
Terabyte TB
GB 1 billion
1 trillion
Petabyte PB 1 quadrillion
25
QuestionQ
 Q: How many bits of memory are contained in a memoryy y y
unit with 512KB of memory?
A: 512 = 29, K = 210, B = byte = 8 = 23
29 x 210 x 23 = 222 = 4,194,304
26
Question
 Q: How many bits of memory are contained in a
Q
Q y y
memory unit with 2MB of memory?
A: 2 = 21, M = 220, B = byte = 8 = 23
21 x 220 x 23 = 224 = 16,777,216, ,
27
QuestionQ
Q: A system with a memory capacity of 128 GB has four 32
MB memory modules installed. The rest of the memory is
unused. How much memory space is available for future
i ? (Gi i d i l i b )expansion? (Give your answer in decimal in megabytes.)
A: 128 GB – 4 x 32 MB
= 27 x 210 MB - 22 x 25 MB
= (217 – 27) MB
= (131,072 – 128) MB
= 130,944 MB
28
QuestionQ
 Draw a memory map for a system with a capacity of 2 GB.
Assume the system has three 32 MB memory modules residing
consecutively at the bottom of memory. Illustrate the size of each
block in MB and the starting and ending address of each block of
memory in hexadecimal.
29
7FFFFFFF
Memory Map
Answer
7FFFFFFF
1,952 MB
empty
06000000231 bytes = 2
empty
06000000
05FFFFFF
04000000
03
y
GB “capacity”
32 MB RAM
03FFFFFF
02000000
01FFFFFF
32 MB RAMNote:
2 GB = 2,048 MB 01FFFFFF
00000000
32 MB RAM
,
30
Cache Memory
31
ประเด็นสําคัญ (Cache memory concept)
 ในระดับโครงสร้างลําดับชั้นของหน่วยความจํา ถ้ามองลงมาส่ระดับล่างพบ ในระดบโครงสรางลาดบชนของหนวยความจา ถามองลงมาสูระดบลางพบ
หน่วยความจําที่มีมูลค่าราคาต่อบิตตํ่าลงมาเรื่อยๆ มีขนาดหน่วยความจํา
เพิ่มขึ้น แต่ใช้ระยะเวลาในการอ่านหรือบันทึกข้อมลสงขึ้นเพมขน แตใชระยะเวลาในการอานหรอบนทกขอมูลสูงขน
 ในความเป็นจริงเราไม่สามารถใช้หน่วยความจําระดับบนได้อย่างเดียวเพราะมี
ส ส่ ใ ่ ึ ใ ้ ่ ํ ั ้ ใ ้ ่ ํราคาสูงสวนใหญจงใชหนวยความจาระดบบนนอย และใชหนวยความจา
ระดับล่างมากขึ้น เพื่อให้เกิดความสมดุลระหว่างประสิทธิภาพและราคา
โ ั่ ไป ่ ้ ิ ้ ใ ่ ั โ โป ์ โดยทัวไปตําแหน่งการอ้างอิงข้อมูลในหน่วยความจําหลักโดยโปรเซสเซอร์
นั้นมักจะเป็นตําแหน่งเดิม ดังนั้นหน่วยความจํา cache จะคัดลอกข้อมูลใน
่ ํ ั ึ่ ้ ไ ้ ั ป็ ่ ี ้ ่หน่วยความจําหลัก ซึงถ้า Cache ได้รับการออกแบบเป็นอย่างดีแล้วเวลาส่วน
ใหญ่โปรเซสเซอร์ก็จะเรียกใช้ข้อมูลที่อยู่ใน Cache เป็นส่วนมาก
32
คณลักษณะของหน่วยความจําุณ ณ
ตารางลักษณะของหน่วยความจําตารางลกษณะของหนวยความจา
33
คณลักษณะของหน่วยความจํา
 Location : สถานที่ที่หน่วยความจําอยู่
หน่วยความจําภายในเครื่องคอมพิวเตอร์ (I t l M ) เช่น R i t M i
ุณ ณ
- หนวยความจาภายในเครองคอมพวเตอร (Internal Memory) เชน Register, Main
memory, Cache
External (secondary) : ติดต่อโดยผ่านหน่วยควบคม I/O เช่น Hard disk Floppy- External (secondary) : ตดตอโดยผานหนวยควบคุม I/O เชน Hard disk, Floppy
disk (FFD)
 Capacit หน่วยความจําภายใน ใช้หน่วยเป็น Bit หรือ W d Capacity : หนวยความจาภายใน ใชหนวยเปน Bit หรอ Word
- Word size เป็นขนาดของหน่วยความจํา 1 word มีขนาด 8, 16 หรือ 32 bit
โ ั่ ไป ่ ํ ิ ป็ b- โดยทวไปหนวยความจาภายนอก นยมแสดงความจุเปน byte
 Unit of transfer : หน่วยในการถ่ายเทข้อมูล
้ ้ สําหรับหน่วยความจําภายใน จะเท่ากับจํานวนสายสัญญาณข้อมูลเข้าและออกจาก
หน่วยความจํา ซึ่งจะมีขนาดเท่ากับความยาวของ word อาจจะมีขนาดใหญ่กว่าก็ได้
34
คุณลักษณะของหน่วยความจํา
 Word หมายถึง หน่วยโครงสร้างโดยธรรมชาติของหน่วยความจํา โดยปกติ
่ ั ํ ิ ี่ใ ้ใ ่ ั ใ ้ป็ขนาดของ word จะเทากบจํานวนบิตทีใช้ในการแสดงคาตัวเลข และใช้เป็น
ความยาวของคําสั่ง
ึ ่ ็ ่ ่ Addressable units หมายถึง หน่วยที่เล็กที่สุดที่สามารถอ้างอิงได้ บาง
ระบบใช้หน่วยเป็น word ในขณะที่หลายระบบใช้หน่วยเป็นไบต์ ความสัมพันธ์
่ระหว่างจํานวนบิตของตําแหน่งที่อยู่ (A) และจํานวนหน่วยความจําอ้างอิงได้
ทั้งหมด (N) คือ 2A = N เสมอ
 Unit of transfer หมายถึง จํานวนบิตที่อ่านมาจาก หรือบันทึกลงสู่
หน่วยความจําในแต่ละครั้ง หน่วยในการถ่ายเทข้อมูลไม่จําเป็นจะต้องเท่ากับู
word หรือหน่วยอ้างอิงที่เล็กที่สุด
35
คุณลักษณะของหน่วยความจํา
 Access method เป็นวิธีการเข้าถึง Memory ด้วยวิธีต่างๆ
ื ิ ี ้ ึ ่ ี ั1. Sequential access หรือวิธีการเข้าถึงหน่วยความจําแบบเรียงลําดับ
หน่วยความจํามีโครงสร้างประกอบด้วยหน่วยต่างๆ เรียกว่า ระเบียน การเข้า
ไป ่ ื ั ึ ้ ้ ี ั ้ ี่ ั ่ ี่ไปอ่าน หรือบันทึกข้อมูลจะต้องกระทําเรียงลําดับ ข้อมูลเกียวกับตําแหน่งที
อยู่ถูกนํามาใช้ในการแยกตําแหน่งแต่ละระเบียนออกจากกัน และช่วยใน
่ ้ ่ ป ่ ็กระบวนการอ่านข้อมูล เช่น เทปแม่เหล็ก (Magnetic Tape)
2. Direct access หรือเข้าถึงแบบตรง กระบวนการอ่านหรือบันทึกข้อมูลใช้
่ ่กลไกเหมือนกัน แตกต่างเฉพาะทิศทางที่ส่งข้อมูล จะเปลี่ยนตําแหน่ง
ปัจจุบันไปเป็นตําแหน่งที่ต้องการ ทําให้ระยะเวลาที่ใช้ในการเข้าถึง
้ ์หน่วยความจําแต่ละครั้งอาจจะแตกต่างกัน เช่น ดิสก์
36
คุณลักษณะของหน่วยความจํา
 Access method เป็นวิธีการเข้าถึง Memory ด้วยวิธีต่างๆ
3. Random access หรือการเข้าถึงหน่วยความจําแบบไม่มีลําดับ ระยะเวลา
ในการเข้าถึงเป็นอิสระ จากลําดับการเข้าถึงก่อนหน้านี้ และใช้ระยะเวลา
เท่ากันเสมอ ดังนั้นจึงสามารถเลือกตําแหน่งใดๆ ในหน่วยความจําโดย
ไม่ต้องเรียงลําดับใด และสามารถเข้าถึงตําแหน่งนั้นได้โดยตรง เช่น
Main Memory
4. Associative หรือความเกี่ยวข้อง จัดว่าเป็นการเข้าถึงหน่วยความจําแบบ
random access อย่างหนึ่งที่มีการเปรียบเทียบข้อมูลบิตจํานวนหนี่ง กับ
word ที่เป็นตัวเลือกจํานวนหนึ่ง เพื่อค้นหาตําแหน่งที่สอดคล้องกัน เช่น
Cache Memory
37
คุณลักษณะของหน่วยความจํา
 Performance วิธีการวัดประสิทธิภาพ
A i สํ ั R d ี่ใ ้ใ ่ ื- Access time : สาหรบ Random access memory ระยะเวลาทใชในการอานหรอ
บันทึกข้อมูล คือระยะเวลานับตั้งแต่ที่ตําแหน่งข้อมูลได้ถูกส่งมาถึงหน่วยความจํา
ั่ ้ ไ ้ ั ึ ื ้ ี่ ส่ ั ใ ้ สํ ัจนกระทงขอมูลไดถูกบนทก หรอพรอมทจะถูกสงกลบมาให สาหรบ
หน่วยความจําแบบอื่น จะหมายถึงระยะเวลาเคลื่อนย้ายกลไกในการอ่านหรือบันทึก
ข้อมลไปยังตําแหน่งข้อมลที่ต้องการขอมูลไปยงตาแหนงขอมูลทตองการ
- Memory cycle time : ใช้สําหรับ Random access memory ประกอบด้วยระยะเวลา
ใ ้ ึ ่ ํ ั ื่ ี่ ํ ป็ ้ ใ ้ ึ ี่ในการเข้าถึงหน่วยความจํารวมกับระยะเวลาอืนๆ ทีจําเป็นต้องใช้จนถึงเวลาทีจะ
เกิดการอ่านหรือบันทึกข้อมูลในครั้งต่อไป ระยะเวลาอื่นๆ เช่น ระยะเวลาที่รอให้
ั ่ ้ ่ ี ใ ้ ั ิ ไป ป็ ้สัญญาณต่างๆ เข้าสู่สถานะเสถียร, ระยะเวลารอให้สัญญาณเดิมหายไป เป็นต้น
38
คุณลักษณะของหน่วยความจํา
 Performance วิธีการวัดประสิทธิภาพ
้ ้ ื- Transfer rate : อัตราการถ่ายเทข้อมูลเข้าหรือออกจากหน่วยความจํา สําหรับ
Random access memory ระยะเวลานี้เท่ากับ 1/(cycle time) สําหรับ
่ ี่ไ ่ใ ่ ี้ ่หน่วยความจําทีไม่ใช่ Random access memory ระยะเวลานีเท่ากับ
TN = TA + N/R
TN = ระยะเวลาโดยเฉลี่ยในการอ่านหรือบันทึกข้อมูล N บิต
TA = ระยะเวลาการเข้าถึงข้อมูลโดยเฉลี่ยA ู
N = จํานวนบิตข้อมูล
R = อัตราการถ่ายเทข้อมล มีหน่วยเป็น บิตต่อวินาทีR อตราการถายเทขอมูล มหนวยเปน บตตอวนาท
39
คุณลักษณะของหน่วยความจํา
 Physical type แบ่งออกตามลักษณะทางกายภาพ
่ ิ ิ ั ์ หน่วยความจําชนิดเซมิคอนดักเตอร์ (Semiconductor memory)
 หน่วยความจําแบบผิวฉาบด้วยสารแม่เหล็ก (Magnetic Surface memory)
 การใช้ดิสก์และเทป
 การใช้อุปกรณ์ออฟติกและแม็กนีโตออพติก (Optic and Magneto-optic)ุ
40
คุณลักษณะของหน่วยความจํา
 คุณสมบัติทางกายภาพ
 ่ ํ ี่ ป็ ไ ่ ี ้ ี่ ั ึ ่ใ ั ี หน่วยความจําทีเป็นแบบไม่ถาวร (volatile) จะสูญเสียข้อมูลทีบันทึกอยู่ในทันที
ที่ถูกตัดพลังงานไฟฟ้า
่ ็ หน่วยความจําที่เป็นแบบถาวร (non-volatile) จะสามารถบันทึกข้อมูลไว้ได้
ตลอดเวลา ไม่ว่าจะมีพลังงานไฟฟ้าป้อนเข้าสู่อุปกรณ์หรือไม่ก็ตาม
 ตัวอย่าง
 อปกรณ์หน่วยความจําแบบผิวฉาบด้วยสารแม่เหล็ก เป็นแบบถาวรอุปกรณหนวยความจาแบบผวฉาบดวยสารแมเหลก เปนแบบถาวร
 เซมิคอนดักเตอร์ เป็นแบบถาวรและไม่ถาวร ขึ้นอยู่กับวัตถุประสงค์ในการผลิต
 ่ ํ ป bl ROM หนวยความจาประเภท nonerasable = ROM
 หน่วยความจําประเภท erasable = RAM
41
โครงสร้างลําดับชั้นของหน่วยความจํา
 องค์ประกอบที่สําคัญ 3 ประการคือ ราคา, ปริมาณ, เวลาการเข้าถึงหน่วยความจํา
ั ั ์ ์ป ความสัมพันธ์ของ 3 องค์ประกอบ
1. การเพิ่มความเร็วในการเข้าถึงข้อมูล จะทําให้หน่วยความจํามีราคาสูงขึ้น
2. ปริมาณหน่วยความจําเพิ่มขึ้น จะทําให้ราคาต่อหน่วยลดลง
3. ปริมาณหน่วยความจําเพิ่มขึ้น จะทําให้เสียเวลาในการเข้าถึงหน่วยความจํา
มากขึ้น
42
Memory Hierarchy - Diagram
1.มีราคาต่อบิตตํ่าลง
ีป ิ ึ้2.มีปริมาณมากขึน
3.ใช้เวลาในการเข้าถึงข้อมูลนานขึ้น
4.มีการติดต่อกับโปรเซสเซอร์ลดลง
43โครงสร้างลําดับชั้นของหน่วยความจํา
โครงสร้างลําดับชั้นของหน่วยความจํา
 การเรียงลําดับหน่วยความจําจากเร็วไปช้า
1. Registers
2. L1 Cache
3. L2 Cache
4 L3 Cache4. L3 Cache
5. Main memory จําพวก Ram , Rom
6 Di k h ระหว่าง i กับ M ti di k ควรมี Di k6. Disk cache - ระหวาง main memory กบ Magnetic disk ควรม Disk
cache เพื่อที่จะทํางานเร็วขึ้น
7. Disk
8. Optical
9. Tape
44
โครงสร้างลําดับชั้นของหน่วยความจํา
 Disk cache เป็นหน่วยความจําอีกระดับหนึ่งที่แทรกระหว่างหน่วยความจํา
่ ่หลัก กับหน่วยความจําภายนอก โดยที่ส่วนหนึ่งของหน่วยความจําหลักจะถูก
แบ่งออกมา เพื่อใช้เป็นบัฟเฟอร์ สําหรับเก็บข้อมูลที่จะส่งไปเก็บในดิสก์ หรือ
์ ่ ็ ่ ่ถูกส่งมาจากดิสก์เพื่อนํามาเก็บไว้ในหน่วยความจําหลัก เพื่อเพิ่มประสิทธิภาพ
ในการใช้งานดิสก์ได้ใน 2 ทาง คือ
1. การบันทึกข้อมูลลงดิสก์แบบเป็นกลุ่ม แทนที่จะบันทึกข้อมูลลงดิสก์คราวละจํานวน
น้อยๆ ข้อมูลเหล่านี้จะถูกเก็บรวมสะสมกันไว้จนเมื่อมีปริมาณมากพอ จึงจะทําการ
ั ึ ้ ใ ี ั ป็ ํ ิ ี ี้ ่ ิ่ ป ิ ิบนทกข้อมูลในคราวเดยวกนเปนจานวนมาก วธนจะชวยเพมประสทธภาพของการ
ใช้ดิสก์ และลดการทํางานของโปรเซสเซอร์ให้น้อยลง
2 ข้อมลบางส่วนที่ถกบันทึกลงดิสก์ อาจจะถกเรียกใช้ในทันที ก่อนที่ข้อมลนั้นจะถก2. ขอมูลบางสวนทถูกบนทกลงดสก อาจจะถูกเรยกใชในทนท กอนทขอมูลนนจะถูก
บันทึกลงในดิสก์จริงๆ ในกรณีนี้ข้อมูลจะถูกส่งไปยังผู้เรียกใช้ได้อย่างรวดเร็วมาก
เพราะเป็นการอ่านข้อมูลในบัฟเฟอร์ แทนที่จะอ่านจากดิสก์
45
Cache Memory
 แคชระดับที่ 1 (L1 Cache) เป็นแคชขนาดเล็ก 32-128 KB อยู่ไกล้กับซีพียูที่สุด
 แคชระดับที่ 2 (L2 Cache) จะมีขนาดใหญ่ 512 KB-4MB เน้นเก็บข้อมูลที่ดึงมา
่จากแรมของครื่องคอมพิวเตอร์ แคช L2 จะแบ่งรูปแปปเป็น 2 แบบ lnclusive
คือ จะมีพื้นที่ส่วนหนึ่งของแคช L2 เสียไปเพื่อเก็บแคช L1 อีกแบบ
้ ่เป็น Exclusive คือ แคช L2 จะไม่ถูกกัน พื้นที่ให้ L1 จึงใช้งานแคช L2 ได้เต็ม
พื้นที่
 ซีพียูบางรุ่นยังเพิ่มแคชระดับที่ 3 (L3 Cache) สําหรับคั่นกลางระหว่างแคช L2
กับแรมของเครื่องโดยแคช L3 จะมีขนาดใหญ่ 2-8 MB นิยมออกแบบให้อยู่ติด
กับบัสชองซีพียูเพื่อให้เก็บข้อมูลจากแรมของคอมพิวเตอร์ และช่วยให้ซีพียูนํา
แคช L2 ไปเก็บข้อมูลส่วนอื่นได้มากขึ้น
Cache Memory
 หน่วยความจํา cache สร้างขึ้นมาด้วยวัตถุประสงค์ที่จะให้เป็นหน่วยความจําที่
ทํางานได้เร็วที่สด มีขนาดใหญ่ที่สด ราคาไม่แพงทางานไดเรวทสุด มขนาดใหญทสุด ราคาไมแพง
 เนื่องจาก Main memory ตามปกติจะมีความเร็วตํ่ากว่า CPU อยู่มาก ดังนั้นหากใช้
ั ี ํ ใ ้ ิ ์ ํ ไ ้ ้เฉพาะ Register กับ RAM จะมีผลทําให้คอมพิวเตอร์ทํางานได้ช้า
CPU
Cache
Block
Main memory
Word BlockWord
Mapping function
Address
47
Cache Memory
 หน่วยความจํา Cache จะเก็บสําเนาของข้อมูลบางส่วนในหน่วยความจําหลักเอาไว้
เมื่อโปรเซสเซอร์ต้องการอ่านข้อมลจํานวนหนึ่ง ord ในหน่วยความจํา ข้อมลจะเมอโปรเซสเซอรตองการอานขอมูลจานวนหนง word ในหนวยความจา ขอมูลจะ
ถูกตรวจสอบว่ามีอยู่ใน cache หรือไม่
 ้ ี ( h hi ) ่ ํ ้ ใ h ไปใ ้ ถา ม (cache hit) อยูจะนาขอมูลใน cache ไปใช
 ถ้า ไม่มี (cache miss) จะทําการคัดลอกสําเนาข้อมูลหนึ่งบล็อก จาก
่ ํ ั ั ้ ึ ํ ี่ ้ ่ ่ ไปใ ้หน่วยความจําหลักมายัง cache แล้วจึงนํา word ทีต้องการส่งต่อไปให้
โปรเซสเซอร์ในภายหลัง
้ ่ ้ การอ้างอิงในพื้นที่เดียวกัน จะทําให้การอ้างอิงข้อมูลในหน่วยความจําครั้งต่อๆ ไป
เป็นการอ้างอิงที่เดิม หรือที่ตําแหน่งใกล้เคียงจุดเดิม ดังนั้นการคัดลอกข้อมูลหนึ่ง
บล็อกจากหน่วยความจําหลักมายัง cache จะสามารถถูกนํามาใช้งานได้ในระยะ
หนึ่ง ก่อนที่จะมีการคัดลอกข้อมูลในครั้งต่อไป
48
Cache Memory
 ถ้า มี (hit) อยู่จะนําข้อมูลใน cache ไปใช้
้ ไ ่ ี ( ) ํ ั ํ ้ ึ่ ็ ่ ํ ถ้า ไม่มี (miss) จะทําการคัดลอกสําเนาข้อมูลหนึงบล็อก จากหน่วยความจํา
The performance of cache memory is frequently measured in
terms of a quantity called hit ratio
 Hit ratio = hit / (hit+miss)( )
Cache Memory
•หน่วยความจําหลักประกอบด้วยบล็อกที่เก็บข้อมูล
ขนาด K-word จํานวนหนึ่ง นั่นคือจํานวนบล็อก (M)ขนาด K word จานวนหนง นนคอจานวนบลอก (M)
เท่ากับ
M = 2n/k
• ส่วน cache ประกอบด้วยช่องสัญญาณ C ช่อง แต่ละ
ช่องมีขนาด k words และจํานวนช่องสายสัญญาณนั้น
น้อยกว่าจํานวนบล็อกในหน่วยความจําหลักนอยกวาจานวนบลอกในหนวยความจาหลก
C << M
• ช่องสัญญาณแต่ละช่องจึงไม่ได้ถกกําหนดไว้เป็นการญญ ู
เฉพาะสําหรับบล็อกใด ทําให้ช่องสัญญาณแต่ละช่อง
จะต้องมีป้ายบอกให้ทราบว่า ข้อมูลในนั้นนํามาจาก
ข้อมูลบล็อกใด โดยปกติป้ายมักจะประกอบด้วย
ตําแหน่งที่อยู่ของข้อมูลในหน่วยความจําหลัก
โครงสร้างของหน่วยความจํา cache
50
และหน่วยความจําหลัก
Cache Memory
กระบวนการอ่านข้อมูล
โป ์ ้ ํ ่ ี่ ่ ้ ี่โปรเซสเซอรสร้างตําแหนงทีอยูของข้อมูลที
ต้องการอ่าน เรียกว่า RA ถ้าข้อมูล word นั้นมีอยู่ใน
่ ้ ็ ํ ่ โป ์ ํcache อยูแล้ว กจะถูกนําสงโปรเซสเซอรทําการ
ประมวลผลต่อไป มิฉะนั้นบล็อกในหน่วยความจํา
ั ี่ ี ้ d ี้ ่ ็ ั ํ ้หลกทมข้อมูล word นอยูกจะถูกคดลอกสําเนาเข้า
มาใส่ใน cache และถูกนําส่งโปรเซสเซอร์ต่อไป
51การอ่านข้อมูลจากหน่วยความจํา cache
Cache Memory
usSystembuS
52โครงสร้างหน่วยความจํา cache โดยทั่วไป
Cache Memory
 Cache เชื่อมต่อกับโปรเซสเซอร์ผ่านสายสัญญาณข้อมูล สายบอก
ํ ่ ี่ ่ ํตําแหน่งทีอยู่ และสายควบคุมการทํางาน
 สายสัญญาณข้อมูลและสายบอกตําแหน่งที่อยู่จะเชื่อมต่อเข้ากับบัฟเฟอร์ู ู
ซึ่งเชื่อมต่อเข้ากับสายบัสหลักของระบบที่นําไปสู่หน่วยความจําหลัก
 หากค้นหาข้อมลที่ต้องการใน cache (cache hit) บัฟเฟอร์สําหรับข้อมลและหากคนหาขอมูลทตองการใน cache (cache hit) บฟเฟอรสาหรบขอมูลและ
ตําแหน่งข้อมูลจะถูกสั่งไม่ให้ทํางาน (disable) และการสื่อสารจะเกิดขึ้นระหว่าง
โปรเซสเซอร์กับ cache โดยไม่มีการใช้บัสหลักโปรเซสเซอรกบ cache โดยไมมการใชบสหลก
 หากไม่สามารถค้นหาข้อมูลที่ต้องการใน cache ได้(cache miss) ตําแหน่งข้อมูล
ที่ต้องการจะถกส่งเข้าไปในบัสหลัก ข้อมลในหน่วยความจําหลักจะถกส่งมาที่ทตองการจะถูกสงเขาไปในบสหลก ขอมูลในหนวยความจาหลกจะถูกสงมาท
บัฟเฟอร์ และจากบัฟเฟอร์ส่งไปยังโปรเซสเซอร์ และส่งไปเก็บไว้ใน cache
53
Cache operation
 อัตราการที่ CPU สามารถพบ word ที่ต้องการพบใน Cache เรียกว่า Hit Rate
หรือ Cache Hitหรอ Cache Hit
 อัตราการที่ CPU ไม่สามารถพบเรียกว่า Miss Rate หรือ Cache Miss
 ดังนั้นคอมพิวเตอร์ที่ออกแบบระบบ Cache ดีก็จะทําให้มี Hit Rate สง มีผลทําให้ ดงนนคอมพวเตอรทออกแบบระบบ Cache ดกจะทาใหม Hit Rate สูง มผลทาให
คอมพิวเตอร์สามารถทํางานได้เร็วขึ้น
 ถ้าใช้C h ขนาดเล็ก ราคาก็จะถกและความเร็วสงกว่า แต่จะได้อัตรา C h hit ถาใช Cache ขนาดเลก ราคากจะถูกและความเรวสูงกวา แตจะไดอตรา Cache hit
ตํ่า
้ ใ ้ ใ ่ ไ ้ ั ่ ้ ถ้าใช้Cache ขนาดใหญ่จะได้อัตรา Cache hit สูงแต่วงจรจะช้าและราคาแพง
54
หน่วยความจําเสมือนหนวยความจาเสมอน
(Vi t l )(Virtual memory )
หน่วยความจําเสมือน (Virtual Memory)
หน่วยความจําเสมือน (Virtual Memory) เป็นวิธีการที่สามารถให้กระบวนการทํางาน
ได้แม้จะไม่ได้อยู่ในหน่วยความจําหลักทั้งตัวก็ตาม
 ข้อดีหลักของวิธีนี้ที่เห็นได้ชัด คือ โปรแกรมของผู้ใช้อาจมีขนาดใหญ่กว่าู ญ
หน่วยความจําจริงก็ได้วิธีนี้สร้างหน่วยความจําทางตรรกะให้ดูเสมือนเป็นแถว
ลําดับ (Array) ขนาดใหญ่ โดยแยกภาพที่ผู้ใช้มองเห็นหน่วยความจําออกจากy ญ ู
ลักษณะจริงของฮาร์ดแวร์ ทําให้ผู้เขียนโปรแกรมสามารถเขียนโปรแกรมได้อย่าง
อิสระไม่ต้องกังวลถึงขนาดของหน่วยความจําอีกต่อไป
 ข้อเสีย การสร้างหน่วยความจําเสมือนไม่ใช่ของง่าย และอาจทําให้ประสิทธิผล
ของระบบลดลงได้อย่างมาก ถ้าไม่รอบคอบพอของระบบลดลงไดอยางมาก ถาไมรอบคอบพอ
56
หน่วยความจําเสมือน (Virtual Memory)
ความเป็นมา (Background)
ถ้าเราตรวจดูโปรแกรมทั่วไปจะพบว่า หลายส่วนของโปรแกรมไม่จําเป็นต้องใช้เช่น
 มักมีส่วนของโปรแกรมสําหรับจัดการข้อผิดพลาดพิเศษ หรือไม่ปกติรวมอย่ด้วยมกมสวนของโปรแกรมสาหรบจดการขอผดพลาดพเศษ หรอไมปกตรวมอยูดวย
เนื่องจากข้อผิดพลาดนี้เกิดได้ยาก ดังนั้นโปรแกรมส่วนนี้จึงแทบจะไม่เคยได้ใช้เลย
 โครงสร้างข้อมล เช่น แถวลําดับ (array) , ตารางหรือแถวคอย ส่วนใหญ่จะมีการกันเนื้อโครงสรางขอมูล เชน แถวลาดบ (array) , ตารางหรอแถวคอย สวนใหญจะมการกนเนอ
ที่ไว้ขนาดใหญ่กว่าที่ใช้จริง เช่น อาจประกาศแถวลําดับเป็น 100 x 100 ทั้ง ๆ ที่ปกติจะ
ใช้เพียง 10 x 10 ตารางสัญลักษณ์ในตัวแปรภาษา assembly อาจเผื่อไว้สําหรับตัวแปรถึง
3000 ตัว แต่โปรแกรมภาษา assembly ส่วนใหญ่ใช้ตัวแปรไม่เกิน 200 ตัวเท่านั้น
 โปรแกรมย่อย คุณสมบัติหรือ หน้าที่บางอย่างของโปรแกรมอาจใช้น้อย
57
หน่วยความจําเสมือน (Virtual Memory)
มีเพียงบางส่วนอย่ในหน่วยความจําหลัก มีประโยชน์หลายประการดังนี้มเพยงบางสวนอยูในหนวยความจาหลก มประโยชนหลายประการดงน
•ขนาดของโปรแกรมไม่ได้ถูกจํากัดด้วยขนาดของหน่วยความจําหลัก ผู้เขียน
โปรแกรมอาจเขียนโปรแกรมที่ใช้หน่วยความจําเสมือนซึ่งมีขนาดใหญ่มาก ๆ ได้ทําโปรแกรมอาจเขยนโปรแกรมทใชหนวยความจาเสมอนซงมขนาดใหญมาก ๆ ได ทา
ให้การเขียนโปรแกรมง่ายขึ้น
•ผ้ใช้แต่ละคนจะใช้หน่วยความจําจริงสําหรับโปรแกรมของตนลดลง ดังนั้นเราผูใชแตละคนจะใชหนวยความจาจรงสาหรบโปรแกรมของตนลดลง ดงนนเรา
สามารถเพิ่มจํานวนผู้ใช้หรือกระบวนการได้มากขึ้นในระบบ ซึ่งจะช่วยให้
ประสิทธิผลการใช้งานหน่วยประมวลผลกลางดีขึ้น และมีอัตรางานเสร็จสงขึ้นด้วยประสทธผลการใชงานหนวยประมวลผลกลางดขน และมอตรางานเสรจสูงขนดวย
•การบรรจุโปรแกรมลงหน่วยความจําทําได้เร็วขึ้น (เนื่องจากอ่านเข้ามาเพียง
บางส่วน) การย้ายโปรแกรมผ้ใช้เข้า-ออก ไปพักชั่วคราว ก็ทําได้เร็วขึ้น เช่นกัน ทําให้บางสวน) การยายโปรแกรมผูใช เขา ออก ไปพกชวคราว กทาไดเรวขน เชนกน ทาให
ผู้ใช้ทํางานได้เร็วขึ้นกว่าเดิม
58***เป็นประโยชน์ทั้งต่อระบบเอง และผู้ใช้แต่ละคน
หน่วยความจําเสมือน (Virtual Memory)
่ ื ใ ่ ่ ่
59
แผนภาพแสดงหน่วยความจําเสมือนมีขนาดใหญ่กว่าหน่วยความจําทางกายภาพ
การแปลงแอดเดรส (Address Mapping)
• เนื่องจากขนาดของโปรแกรมมีขนาดใหญ่กว่าขนาดของหน่วยความจํา ดังนั้นจึง
ต้องมีการอ้างอิงแอดเดรสระหว่างแอดเดรสของหน่วยความจําจริงกับแอดเดรสตองมการอางองแอดเดรสระหวางแอดเดรสของหนวยความจาจรงกบแอดเดรส
ของโปรแกรม
ิ ื ึ ใ• แอดเดรสจริง (Real Address หรือ Physical Address) หมายถึงแอดเดรสใน
หน่วยความจําจริงเท่านั้น
่• แอดเดรสเสมือน (Virtual Address หรือ Logical Address) หมายถึงแอดเดรสที่
โปรแกรมอ้างถึง
• ดังนั้นจึงต้องมีกลไกการแปลงแอดเดรสจากแอดเดรสเสมือนให้เป็นแอดเดรสจริง
ณ.ตําแหน่งที่โปรแกรมส่วนนั้นถูกวางลงไป ซึ่งเราเรียกว่าการแปลงแอดเดรสู
60
การแปลงแอดเดรส (Address Mapping)
ตําแหน่งที่
ต่อเนื่องกัน
การแปลงแอดเดรส
่ ํ ื
หน่วยความจําจริง
หน่วยความจําเสมือน
61
Virtual Address
Real Address
การแปลงแอดเดรส (Address Mapping)
• เทคนิคการแปลงแอดเดรสมีอยู่หลายวิธี แต่วิธีที่นิยมใช้กันอย่างแพร่หลายคือ
d i dd t l ti (DAT)dynamic address translation (DAT)
• วิธีการที่จะจัดการหน่วยความจําจริงให้สามารถทํางานโปรแกรมที่มีขนาดใหญ่ จะใช้
ั ่ โป ป็ ่ ่ ่ ี ่ ็หลักการแบ่งโปรแกรมออกเป็นส่วนย่อย ๆ หลาย ๆ ส่วนเรียกว่าบล็อก (Block)
• ขนาดของบล็อกแบ่งออกเป็น 2 แบบคือทุกบล็อกมีขนาดเท่ากัน หรือบล็อกมีขนาดไม่
้เท่ากัน ดังนั้นระบบหน่วยความจําเสมือนจึงแบ่งได้เป็น 2 แบบ
• หน่วยความจําเสมือนระบบหน้า (Paging system)
• หน่วยความจําเสมือนระบบเซกเมนต์(Segment system)
62
หน่วยความจําเสมือนระบบหน้า (Paging system)
• เป็นการจัดแบ่งโปรแกรมออกเป็นบล็อกที่มีขนาดเท่า ๆ กันทุกบล็อก โดยจะเรียก
บล็อกแต่ละบล็อกว่าหน้า (Page)
• ตัวอย่างการทํางานในระบบหน้าตวอยางการทางานในระบบหนา
– ระบบมีหน่วยความจําขนาด 100 Kbyte = 100,000 Byte = 105 Byte
– ต้องการรันโปรแกรมที่มีขนาด 1000 Kbyte = 1 000 000 Byte = 106 Byte– ตองการรนโปรแกรมทมขนาด 1000 Kbyte 1,000,000 Byte 10 Byte
โปรแกรมขนาด หน่วยความจําขนาด
1000 KByte 100 Kbyte
63
หน่วยความจําเสมือนระบบหน้า (Paging system)
• สมมุติ OS แบ่งโปรแกรมออกเป็นหน้าย่อย โดยที่แต่ละหน้า (Page) มีขนาด 1 Kbyte
= 1,000 Byte = 103 Byte
• ดังนั้นโปรแกรมจะถกแบ่งออกเป็น 1000 หน้า (1000 Page) ดังรปดงนนโปรแกรมจะถูกแบงออกเปน 1000 หนา (1000 Page) ดงรูป
แอดเดรสภายในหน้า
้ ี่
0 0 0 0 0 0
Displacement
เลขหน้า
P N b
หน้าท 000
หน้าที่ 001
0 0 0 9 9 9
0 0 1 0 0 0
0 0 1 9 9 9
Page Number
หน้าที่ 002
0 0 2 0 0 0
0 0 2 9 9 9 แอดเดรสเสมือน
แอดเดรสเริ่มต้นของหน้าหน้าที่ 998
9 9 8 0 0 0
9 9 8 9 9 9
9 9 9 0 0 0
แอดเดรสสุดท้ายของหน้าหน้าที่ 999
9 9 9 0 0 0
9 9 9 9 9 9 64
หน่วยความจําเสมือนระบบหน้า (Paging system)
• จากรูปเราสามารถแบ่งแอดเดรสเสมือนออกเป็น 2 ส่วนู
– ส่วนแรกจะเป็นค่าที่บ่งบอกหมายเลขหน้า
ส่ ี่ 2 ป็ ่ ี่ ่ ่ ส ใ ้ ั้ ึ่ ี ื่ ี ่ ีส– สวนท 2 จะเปนคาทบงบอกคาแอดเดรสภายในหนานน ๆ ซงมชอเรยกวาดส
เพลซเมนต์(Displacement)
่ ่• ตัวอย่างเช่น แอดเดรสเสมือนที 243765 มีความหมายว่าอยู่ในหน้าที 243
และมีดีสเพลสเมนต์เป็น 765
หมายเลขหน้า ดิสเพลซเมนต์
แอดเดรสเสมือน
65
หน่วยความจําเสมือนระบบหน้า (Paging system)
• สําหรับในหน่วยความจําจริง OS จะแบ่งออกเป็นหน้าย่อยเหมือนกัน โดยที่แต่ละหน้า
ี ่ ั ้ ่ ํ ื ื 3(Page) มีขนาดเท่ากับหน้าของหน่วยความจําเสมือนคือ 1 Kbyte = 1,000 Byte = 103
Byte
้• ดังนั้นหน่วยความจําจะถูกแบ่งออกเป็น 100 หน้า (100 Page) ดังรูป
แอดเดรสภายในหน้า
้ ี่ 00
0 0 0 0 0
Displacement
เลขหน้า
P N b
หนาท 00
หน้าที่ 01
0 0 9 9 9
0 1 0 0 0
0 1 9 9 9
Page Number
หน้าที่ 02
0 2 0 0 0
0 2 9 9 9 แอดเดรสเสมือน
แอดเดรสเริ่มต้นของหน้าหน้าที่ 98
9 8 0 0 0
9 8 9 9 9
9 9 0 0 0
แอดเดรสสุดท้ายของหน้าหน้าที่ 99
9 9 0 0 0
9 9 9 9 9 66
หน่วยความจําเสมือนระบบหน้า (Paging system)
• โปรแกรมของผู้ใช้ไม่ว่าจะมีขนาดใหญ่เท่าใด จะต้องถูกเก็บอยู่ในหน่วยความจํารอง
ึ่ โ ่ ไ ้ ่ ิ ์ ื่ ีซึงโดยส่วนมากได้แก่ ดิสก์ เนืองจากมีความจุสูง
• เมื่อผู้ใช้สั่งรันโปรแกรม OS จะโหลดเอาโปรแกรมจากดิสก์เข้าไปในหน่วยความจํา
้ ่ ้ ่ครั้งละ 1 หน้า นั่นคือ 1 หน้าในโปรแกรมก็จะเข้าไปใช้เนื้อที่ในหน่วยความจํา 1 หน้า
เช่นกัน
• เมื่อโปรแกรมหนึ่งครอบครองหน้าใดในหน่วยความจําแล้ว โปรแกรมอื่นจะใช้หน้า
นั้นอีกไม่ได้
• โปรแกรมจะครอบครองหน่วยความจําจริงเป็นจํานวนเต็มของหน้า
• ดังนั้นต้องมีวิธีการแปลงแอดเดรสจากแอดเดรสเสมือนเป็นแอดเดรสจริง• ดงนนตองมวธการแปลงแอดเดรสจากแอดเดรสเสมอนเปนแอดเดรสจรง
67
การแปลงแอดเดรสในระบบหน้า
• OS จะสร้างตารางไว้สําหรับโปรเซส ตารางนี้เรียกว่า ตารางหน้า (Page
table)
• สมมติว่าหน่วยความจําเสมือนมีขนาด 1000 หน้า และหน่วยความจําจริงมีสมมุตวาหนวยความจาเสมอนมขนาด 1000 หนา และหนวยความจาจรงม
ขนาด 100 หน้า
้ ็ ี ่ ไ ้ ่ ่ ี่• ตารางหน้าก็จะมีขนาด 1000 ช่อง ได้แก่ช่องที 000-999
• ช่องที่ 000 สําหรับหน้าที่ 000
• ช่องที่ 001 สําหรับหน้าที่ 001
• ในตารางหน้าจะมี 3 คอลัมภ์• ในตารางหนาจะม 3 คอลมภ
68
การแปลงแอดเดรสในระบบหน้า
• คอลัมภ์ที่ 1 จะบอกแอดเดรสของหน้านั้น ๆ ที่อยู่ในดิสก์
• คอลัมภ์ที่ 2 จะบอกว่าหน้านั้น ๆ อยู่ในหน่วยความจําจริงหรือไม่
• ถ้าค่าเป็น 0 หมายถึง หน้านั้นไม่ได้อย่ในหน่วยความจําจริงถาคาเปน 0 หมายถง หนานนไมไดอยูในหนวยความจาจรง
• ถ้าค่าเป็น 1 หมายถึง หน้านั้นอยู่ในหน่วยความจําจริง
ั ์ ี่ ึ ิ่ ้ ้ ใ ่ ิ ื• คอลัมภ์ที 3 จะบอกถึงแอดเดรสเริมต้นของหน้าในหน่วยความจําจริง คือหมายเลข
หน้าในหน่วยความจําจริงตามด้วยดิสเพรสเมนต์ที่ 000
69
การแปลงแอดเดรสในระบบหน้า
หมายเลขหน้า แอดเดรสในดิสก์ 0/1 แอดเดรสในหน่วยความจําจริง
001
002
003
998
Page Table
999
g
70
การแปลงแอดเดรสในระบบหน้า
• ถ้าต้องการทราบว่าแอดเดรสเสมือน 123983 ไปอยู่ณ. ตําแหน่งใดในหน่วยความจํา
จริง OS จะนําเอาแอดเดรสเสมือนมาหาค่าหมายเลขหน้าและดิสเพลซเมนต์จรง OS จะนาเอาแอดเดรสเสมอนมาหาคาหมายเลขหนาและดสเพลซเมนต
• ในกรณีนี้ หมายเลขหน้าคือ 123 และดิสเพลซเมนต์คือ 983
่ ่ ้• OS จะตรวจสอบที่ตารางหน้าในช่องที่ 123 ถ้าหน้านี้อยู่ในหน่วยความจําจริงแล้ว
คอลัมน์ที่ 2 ในตารางหน้าช่องที่ 123 จะมีค่าเป็น 1
• จากนั้น OS จะอ่านค่าในคอลัมน์ที่ 3 ของตารางหน้าเพื่อหาแอดเดรสเริ่มต้นของหน้า
ในหน่วยความจําจริง
• แล้วนําเอาค่าในคอลัมน์ที่ 3 มารวมกับดิสเพรสเมนต์จะได้แอดเดรสในหน่วยความจํา
จริงที่ตรงกับแอดเดรสเสมือนจรงทตรงกบแอดเดรสเสมอน
71
หน้า หน้า 123 ของหน่วยความจําเสมือน
122
123
อยู่ในหน้า 54 ของหน่วยความจําจริง
แอดเดรสเสมือน123
124 123983
แอดเดรสเสมอน
123 983
้ ์
หน่วยความจําจริง
่ ํ ื หมายเลขหน้า ดิสเพลซเมนต์หน่วยความจําเสมือน
000
001
+
123 5146789 1 54000 54983
้ตารางหน้า
72
การแปลงแอดเดรสในระบบหน้า
• กรณีที่หน้า 123 ไม่อยู่ในหน่วยความจําจริง คอลัมภ์ที่ 2 ในตารางหน้าช่อง
ที่ 123 จะมีค่าเป็น 0
• OS จะอ่านค่าคอลัมภ์ที่ 1 ซึ่งเป็นแอดเดรสในดิสก์ จากนั้น OS ก็จะไปอ่าน• OS จะอานคาคอลมภท 1 ซงเปนแอดเดรสในดสก จากนน OS กจะไปอาน
ข้อมูลจากดิสก์ที่แอดเดรสดังกล่าวมา 1 หน้า ( 1 Kbyte )
่ ่• OS จะไปหาหน้าที่ว่างในหน่วยความจําจริง แล้วนําข้อมูลที่อ่านมาจากดิสก์
ไปวางไว้ในหน่วยความจําจริงในหน้าที่หามาได้
• OS จะทําการแก้ไขข้อมูลในตารางหน้าช่องที่ 123 โดยเปลี่ยนค่าคอลัมภ์ที่ 2
ป็ 1 ใส่ ่ ้ ี่ ไ ้ ่ ํ ิ ั ํ ่เปน 1 และใสคา หนาทหามาไดของหนวยความจาจรงบวกกบตาแหนง
เริ่มต้น (000) ของดิสเพรสเมนต์ลงในคอลัมภ์ที่ 3 ของตารางหน้า
73
แอดเดรสเสมือน
123 983
000
123 983 001
123 5146789 0123 5146789 0
ไปอ่านข้อมูลในแอดเดรส
514689 ในดิสก์
ตารางหน้า
514689 ในดสก
โหลดลง
000
001
หน่วยความจําจริง
00
001
123 5146789 1
01
02
03000123 5146789
03983
03000
หน่วยความจําจริง
ตารางหน้า 74
การแปลงแอดเดรสในระบบหน้า
• กรณีถ้าไม่มีหน้าว่างในหน่วยความจําจริง OS ต้องเลือกเอาหน้าหนึ่งออก
จากหน่วยความจําจริง
• หน้าใดจะถกเลือกออก OS จะมีวิธีการที่เรียกว่า การสับเปลี่ยนหน้า (Page• หนาใดจะถูกเลอกออก OS จะมวธการทเรยกวา การสบเปลยนหนา (Page
Replacement)
่• หน้าที่ถูกเลือกออก OS จะทําการบันทึกข้อมูลและสถานะปัจจุบันของหน้า
นั้นกลับลงในดิสก์ ณ.ตําแหน่งแอดเดรสของดิสก์ตามตารางหน้า จากนั้นจึง
โหลดหน้าใหม่ทับลงไป
• ้ไ ้ ใ ้ ั้ ้ ี่ ี ั ้ ี่โ• แกไขขอมูลในตารางหนาของทงของหนาทถูกเขยนทบและหนาทโหลด
เข้าไปใหม่
75
หน่วยความจําเสมือนระบบเซกเมนต์ (Segment System)
• มีลักษณะการทํางานคล้ายกับระบบหน้า (Page System) ต่างกันตรงที่ขนาด
ของบล็อกไม่จําเป็นต้องเท่ากัน
• ตารางเซกเมนต์(Segment table) จะมีคอลัมน์มากกว่าตารางหน้าอย่ 1• ตารางเซกเมนต (Segment table) จะมคอลมนมากกวาตารางหนาอยู1
คอลัมน์ใช้เก็บขนาดของเซกเมนต์นั้นไว้เพื่อให้ OS ทราบว่าแต่ละ
์ ี ่ ใเซกเมนต์มีขนาดเท่าใด
• การอ่านหรือเขียนข้อมูลจากหน่วยความจํารองและการหาเนื้อที่ในู
หน่วยความจําจริงจะกระทําตามขนาดของเซกเมนต์เช่นถ้าเซกเมนต์มี
ขนาด 5 Kbyte การโหลดจากดิสก์ต้องโหลดข้อมลขึ้นมา 5 Kbyte ในขนาด 5 Kbyte การโหลดจากดสกตองโหลดขอมูลขนมา 5 Kbyte ใน
ขณะเดียวกันก็ต้องหาเนื้อที่ว่างในหน่วยความจําที่มีขนาด 5 Kbyte ด้วย
่ ัเชนกน
76
หน่วยความจําเสมือนระบบเซกเมนต์ (Segment System)
หมายเลขหน้า แอดเดรสในดิสก์ 0/1 แอดเดรสในหน่วยความจําจริงขนาด
001
002
003
998
Segment Table
999
S g
77
การสับเปลี่ยนหน้า (Page Replacement)
การสับเปลี่ยนหน้ามีวิธีการ 5 วิธีดังนี้
1. การสับเปลี่ยนหน้าแบบสุ่ม (Random)
2 สั ป ี่ ้ ่ ่ (Fi i Fi FIFO)2. การสบเปลยนหนาแบบมากอนออกกอน (First in First out :FIFO)
3. การสับเปลี่ยนหน้าแบบหน้าที่ถูกใช้น้อยที่สุดออกก่อน (Not frequently used
:NFU)
4. การสับเปลี่ยนหน้าแบบหน้าใดที่ไม่ถูกใช้นานที่สุดออกก่อน (Least recently
used :LRU)
5. การสับเปลี่ยนหน้าแบบหน้าใดไม่ได้ถูกใช้งานออกก่อน (Not recently usedู ( y
:NUR)
78
หน่วยความจําสํารองหนวยความจาสารอง
(S d t )(Secondary storage)
79
อุปกรณ์หน่วยความจําสํารอง
 ในระบบคอมพิวเตอร์โดยมากจะมีส่วนประกอบของอุปกรณ์
หน่วยความจําสํารองเช่น
 แผ่นบันทึก (Floppy disk หรือ Diskette) แผนบนทก (Floppy disk หรอ Diskette)
 ฮาร์ดดิสก์ (Hard Disk)
ออปติคัลดิสก์ (Optical disk)
80
1. แผ่นบันทึก (floppy disk หรือ diskette)ppy
 เป็นสื่อหน่วยความจําที่เคลื่อนย้ายได้ง่ายเปนสอหนวยความจาทเคลอนยายไดงาย
 โดยปกติใช้บันทึกและถ่ายโอนข้อมูลไฟล์ที่มีขนาดเล็ก เช่น ไฟล์ประมวลผลคํา
ไฟล์แผ่นตารางทําการ หรือไฟล์ชนิดอื่นๆไฟลแผนตารางทาการ หรอไฟลชนดอนๆ
 ฟล็อปปี้ ดิสก์ไดรฟ์ (FDD)
- ใช้บันทึกข้อมูลหรือโปรแกรม
- จะทําการค้นคืนข้อมลโดยการอ่านประจ- จะทาการคนคนขอมูลโดยการอานประจุ
แม่เหล็กไฟฟ้าบนผิวหน้าดิสก์
้ ั้ ี ิ ็ ่ ฟ ็ ิ ิ ิ ์- บางครงอาจเรยกดสเกตวาเฟลกซเบลดสก
และฟล็อปปี้
81
ดิสเก็ตแบบดั้งเดิม
 แบบที่ใช้กันโดยทั่วไปคือ 2HD มาจากคําว่า “สองหน้า ความหนาแน่นสูง”
 คุณลักษณะ
บานเปิด (Shutter)บานเปด (Shutter)
ฉลาก (Labels)
่ ป้ ั ีช่องป้องกันการเขียน (Write-protection notch)
แทร็ค (Tracks)
เซ็กเตอร์ (Sectors)
82
ดิสเก็ตความจุสูง
 บางครั้งเรียกว่า ดิสเก็ตแบบกล่องแข็ง
 ต้องใช้ดิสก์ไดรฟ์ชนิดพิเศษในการอ่าน
 ตัวอย่างที่นิยมใช้งานกันอย่างแพร่หลายเช่น ซิปดิสก์ ตวอยางทนยมใชงานกนอยางแพรหลายเชน ซปดสก
มีความจุ 100 เมกะไบต์, 250 เมกะไบต์หรือ 750 เมกะไบต์
่นิยมใช้บันทึกไฟล์มัลติมีเดีย ไฟล์ฐานข้อมูล และไฟล์ที่มีขนาด
ใหญ่ญ
83
2. ฮาร์ดดิสก์ (Hard disk)
 ใช้แผ่นโลหะหนาวางซ้อนกัน เรียกว่า แพลตเตอร์
 สามารถบันทึกและค้นคืนได้เร็วกว่าดิสเก็ต
 มีความจสงุ ู
 มีโอกาสเสียหายได้ง่ายกว่า
 ์ ิส ์ ่ ป็ 3 ิ ไ ้ ่ ฮารดดสกแบงออกเปน 3 ชนดไดแก
 ฮาร์ดดิสก์ภายใน
 ฮาร์ดดิสก์กล่อง ฮารดดสกกลอง
 ฮาร์ดดิสก์อัดแน่น
 การเพิ่มประสิทธิภาพของฮาร์ดดิสก์ การเพมประสทธภาพของฮารดดสก
84
สิ่งที่อาจทําให้หัวอ่านเขียนขัดข้อง
 หัวอ่านเขียนขัดข้อง ทําให้เกิดความเสียหายร้ายแรงต่อฮาร์ดดิสก์
ย้อนกลับ 85
ฮาร์ดดิสก์ภายใน
 ติดตั้งภายในหน่วยระบบ ตดตงภายในหนวยระบบ
 หรือเรียกอีกอย่างว่า ฮาร์ดดิสก์ยึดติด
 โดยมากถูกกําหนดให้เป็นไดรฟ์ ซี (C drive)
 มีข้อดีกว่าดิสเก็ตดังนี้
ความจุ
ความเร็วในการเข้าถึงข้อมูลู
ย้อนกลับ 86
ฮาร์ดดิสก์กล่อง
 สามารถถอดออกและเคลื่อนย้ายได้ง่าย
 ใช้เพื่อเสริมการทํางานของฮาร์ดดิสก์ภายใน
ฮาร์ดดิสก์กล่อง
พีซีการ์ดฮาร์ดดิสก์ย้อนกลับ 87
ฮาร์ดดิสก์อัดแน่น
 สามารถถอดเคลื่อนย้ายได้ สามารถถอดเคลอนยายได
 ใช้เก็บข้อมูลที่มีปริมาณมากู
 นิยมใช้ในเมนเฟรมคอมพิวเตอร์
 นิยมใช้กับธนาคารและบริษัทบัตรเครดิต
ย้อนกลับ
88
การเพิ่มประสิทธิภาพของฮาร์ดดิสก์
์การแคชดิสก์
ชดจานบันทึกอิสระเสริมซ้อน (RAID)ชุดจานบนทกอสระเสรมซอน (RAID)
การบีบอัดและคลายการบีบอัดไฟล์
ั ึ ิ ิ ้ชุดจานบันทึกอิสระเสริมซ้อน
ย้อนกลับ
89
89
3. ออปติคัลดิสก์ (Optical disk)p
 สามารถเก็บข้อมูลได้มากกว่า 17 กิกะไบต์ู
 มี 3 ประเภท
1 คอมแพ็คดิสก์ หรือ ซีดี (CD)1. คอมแพคดสก หรอ ซด (CD)
2. ดีวีดี (DVD)
3 ไฮเดฟ3. ไฮเดฟ
90
58210401207 งาน 1 ss
58210401207 งาน 1 ss
58210401207 งาน 1 ss
58210401207 งาน 1 ss
58210401207 งาน 1 ss
58210401207 งาน 1 ss
58210401207 งาน 1 ss
58210401207 งาน 1 ss
58210401207 งาน 1 ss

More Related Content

What's hot

อุปกรณ์พื้นฐานคอมพิวเตอร์
อุปกรณ์พื้นฐานคอมพิวเตอร์อุปกรณ์พื้นฐานคอมพิวเตอร์
อุปกรณ์พื้นฐานคอมพิวเตอร์
Bo Yez
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
NaluemonPcy
 
5508183 (patavee)csc100
5508183 (patavee)csc1005508183 (patavee)csc100
5508183 (patavee)csc100
maximic1
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Ammarirat
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Ammarirat
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Jirayu Pansagul
 

What's hot (8)

อุปกรณ์พื้นฐานคอมพิวเตอร์
อุปกรณ์พื้นฐานคอมพิวเตอร์อุปกรณ์พื้นฐานคอมพิวเตอร์
อุปกรณ์พื้นฐานคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
งานโฟม
งานโฟมงานโฟม
งานโฟม
 
5508183 (patavee)csc100
5508183 (patavee)csc1005508183 (patavee)csc100
5508183 (patavee)csc100
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
คอมพิวเตอร์พื้นฐาน
คอมพิวเตอร์พื้นฐานคอมพิวเตอร์พื้นฐาน
คอมพิวเตอร์พื้นฐาน
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 

Similar to 58210401207 งาน 1 ss

หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
okbeer
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
okbeer
 
บทที่ 3 หน่วยการทำงานที่สำคัญ
บทที่ 3 หน่วยการทำงานที่สำคัญบทที่ 3 หน่วยการทำงานที่สำคัญ
บทที่ 3 หน่วยการทำงานที่สำคัญ
Arrat Krupeach
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
NaluemonPcy
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
gotchagon
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Ammarirat
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Ammarirat
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Ammarirat
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Ammarirat
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Ammarirat
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Jirayu Pansagul
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
Ammarirat
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
gotchagon
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
Paveenut
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
gotchagon
 
หน่วยประมวลผล11
หน่วยประมวลผล11หน่วยประมวลผล11
หน่วยประมวลผล11
Suphattra
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
gotchagon
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
Paveenut
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
Paveenut
 
หน่วยประมวลผล
หน่วยประมวลผลหน่วยประมวลผล
หน่วยประมวลผล
Suphattra
 

Similar to 58210401207 งาน 1 ss (20)

หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์ยีตส์
 
บทที่ 3 หน่วยการทำงานที่สำคัญ
บทที่ 3 หน่วยการทำงานที่สำคัญบทที่ 3 หน่วยการทำงานที่สำคัญ
บทที่ 3 หน่วยการทำงานที่สำคัญ
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
 
หน่วยประมวลผล11
หน่วยประมวลผล11หน่วยประมวลผล11
หน่วยประมวลผล11
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
 
หน่วยประมวลผล2
หน่วยประมวลผล2หน่วยประมวลผล2
หน่วยประมวลผล2
 
หน่วยประมวลผล
หน่วยประมวลผลหน่วยประมวลผล
หน่วยประมวลผล
 

58210401207 งาน 1 ss

  • 1. ระบบหน่วยความจําระบบหนวยความจา (M U it S t )(Memory Unit System) ิ ั ัอ.นคินทร พัฒนชัย
  • 2. Overview 1 Organization of the memory unit1. Organization of the memory unit 2. Cache memory concept 3. Virtual memory mechanism 4 Secondary storage4. Secondary storage 2
  • 3. 1. Organization of the memory unit ภาพที่ 1 แสดงความสัมพันธ์ของหน่วยความจํา 3
  • 4. 1. Organization of the memory unit หน่วยความจํา (Memory Unit) ทําหน้าที่เก็บข้อมูลหรือคําสั่งที่ส่งมาจาก( y ) ู หน่วยรับข้อมูลเพื่อเตรียมส่งไปประมวลผลยังหน่วยประมวลผลกลาง และเก็บผลลัพธ์ที่ได้มาจากการประมวลผลแล้วเพื่อเตรียมส่งไปยังหน่วยและเกบผลลพธทไดมาจากการประมวลผลแลวเพอเตรยมสงไปยงหนวย แสดงผล เป็นหน่วยจัดเก็บข้อมูลที่ทํางานได้รวดเร็วที่สุด ซึ่งสามารถ ํ ั ใ ้ ไ ้ ป ืจําแนกตามลักษณะการใช้งานได้ 2 ประเภท คือ 1. หน่วยความจําหลัก (Main Memory Unit) 2. หน่วยความจํารอง (Second Memory Unit) 4
  • 5. 1.1 หน่วยความจําหลัก (Main Memory Unit) เป็นอุปกรณ์ที่ใช้ในการจดจําข้อมูล และโปรแกรมต่าง ๆ ที่อยู่ระหว่างการุ ู ๆ ู ประมวลผลของคอมพิวเตอร์ บางครั้งอาจเรียกว่า หน่วยเก็บข้อมูลหลัก (Primary storage) สามารถแบ่งออกได้เป็น 2 ประเภท คือ(Primary storage) สามารถแบงออกไดเปน 2 ประเภท คอ 1. หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM) 2. หน่วยความจําหลักแบบแก้ไขได้ (Random Access Memory - RAM)( y ) 5
  • 6. หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM) เป็นหน่วยความจําแบบสารกึ่งตัวนําชั่วคราวชนิดอ่านได้อย่างเดียว y y ใช้เป็นสื่อบันทึกในคอมพิวเตอร์ เพราะไม่สามารถบันทึกซํ้าได้(อย่าง ง่ายๆ) เป็นความจําที่ซอฟต์แวร์หรือข้อมลอย่แล้ว และพร้อมที่จะนํามางายๆ) เปนความจาทซอฟตแวรหรอขอมูลอยูแลว และพรอมทจะนามา ต่อกับ microprocessor ได้โดยตรง หน่วยความจําประเภทนี้แม้ไม่มี ไฟ ี้ ่ ่ ้ ็ ไ ่ ไป ่ ํ ( )ไฟเลียงตออยูข้อมูลก็จะไมหายไปจากนวยความจํา (non-volatile) โดยทั่วไปจะใช้เก็บข้อมูลที่ไม่ต้องมีการแก้ไขอีกแล้วเช่น เก็บ โปรแกรมไบออส (Basic Input output System : BIOS) หรือเฟิร์มแวร์ ที่ ควบคมการทํางานของคอมพิวเตอร์ใช้เก็บโปรแกรมการทํางานสําหรับควบคุมการทางานของคอมพวเตอรใชเกบโปรแกรมการทางานสาหรบ เครื่องคิดเลขใช้เก็บโปรแกรมของคอมพิวเตอร์ที่ทํางานเฉพาะด้าน เช่น ในรถยนต์ที่ใช้ระบบคอมพิวเตอร์ควบคมวงจร ควบคมในเครื่องซักผ้าในรถยนตทใชระบบคอมพวเตอรควบคุมวงจร ควบคุมในเครองซกผา เป็นต้น 6
  • 7. หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM) นอกจากนี้ ในปัจจบันยังมีรอมที่เป็นชิปพิเศษแบบต่าง ๆ อีก คือ y y นอกจากน ในปจจุบนยงมรอมทเปนชปพเศษแบบตาง ๆ อก คอ  PROM ( Programmable Read-Only Memory) เป็นหน่วยความจําแบบ ROM ที่สามารถบันทึกด้วยเครื่องบันทึก พิเศษได้หนึ่งครั้ง จากนั้นจะลบหรือแก้ไข้ไม่ได้พเศษไดหนงครง จากนนจะลบหรอแกไขไมได  EPROM(Erasable PROM) ็ ่เป็นหน่วยความจํา ROM ที่ใช้แสงอัลตราไวโอเลตในการเขียนข้อมูล สามารถนําออกจากคอมพิวเตอร์ไปลบโดยใช้เครื่องมือพิเศษและ บันทึกข้อมูลใหม่ได้ 7
  • 8. หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM)  EEPROM (Electrically Erasable PROM) y y  EEPROM (Electrically Erasable PROM) จะเป็นเทคโนโลยีซึ่งรวมเอาข้อดีของรอมและแรมเข้าด้วยกัน กล่าวคือ ่ ้จะเป็นชิปที่ใช้ไฟฟ้าในการหล่อเลี้ยง (non-volatile) สามารถเขียน แก้ไข หรือ ลบข้อมูลที่เก็บไว้ได้ด้วยโปรแกรมพิเศษ โดยไม่ต้องถอดออกจากเครื่อง ่คอมพิวเตอร์เลย ทําให้เปรียบเสมือนหน่วยเก็บข้อมูลสํารองที่มีความเร็วสูง อย่างไรก็ตาม หน่วยความจําชนิดนี้จะมีข้อด้อยอยู่2 ประการเมื่อเทียบกับ ็ ่ ่ ่หน่วยเก็บข้อมูลสํารอง นั่นคือราคาที่สูงและมีความจุข้อมูลตํ่ากว่ามาก ทําให้ การใช้งานยังจํากัดอยู่กับงานที่ต้องการความเร็วสูง และเก็บข้อมูลไม่มากนัก ่ตังอย่างของหน่วยความจําแบบ EEPROM ที่รู้จักกันดีคือ หน่วยความจําแบบ แฟลช (Flash memory) ซึ่งนิยมนํามาใช้เก็บ BIOS ในเครื่องรุ่นใหม่ ๆ 8
  • 9. หน่วยความจําหลักแบบอ่านได้อย่างเดียว (Read Only Memory - ROM)y y ภาพที่ 2 แสดง Read Only Memory - ROM 9 y y
  • 10. หน่วยความจําหลักแบบแก้ไขได้(Random Access Memory - RAM) เป็นหน่วยความจําหลัก ที่ใช้ในระบบคอมพิวเตอร์ยุคปัจจุบัน ้ y หน่วยความจําชนิดนี้ อนุญาตให้เขียนและอ่านข้อมูลได้ในตําแหน่งต่างๆ อย่างอิสระ และรวดเร็วพอสมควร ซึ่งต่างจากสื่อเก็บข้อมูลชนิดอื่นๆู อย่างเทป หรือดิสก์ ที่มีข้อจํากัดในการอ่านและเขียนข้อมูล ที่ต้องทํา ตามลําดับก่อนหลังตามที่จัดเก็บไว้ในสื่อ หรือมีข้อกําจัดแบบรอม ที่ อนุญาตให้อ่านเพียงอย่างเดียว ข้อมลในแรม อาจเป็นโปรแกรมที่กําลังทํางาน หรือข้อมลที่ใช้ในขอมูลในแรม อาจเปนโปรแกรมทกาลงทางาน หรอขอมูลทใชใน การประมวลผล ของโปรแกรมที่กําลังทํางานอยู่ ข้อมูลในแรมจะหายไป ทันที เมื่อระบบคอมพิวเตอร์ถกปิดลง เนื่องจากหน่วยความจําชนิดนี้ จะทนท เมอระบบคอมพวเตอรถูกปดลง เนองจากหนวยความจาชนดน จะ เก็บข้อมูลได้เฉพาะเวลาที่มีกระแสไฟฟ้าหล่อเลี้ยงเท่านั้น 10
  • 11. หน่วยความจําหลักแบบแก้ไขได้(Random Access Memory - RAM)  Module ของ RAM ื ั y 2 Module คือ SIMM กับ DIMM 1. SIMM หรือ Single In-line Memory Module ่ ้ ้โดยที่ Module ชนิดนี้ จะรองรับ data path 32 bit โดยทั้งสองด้านของ circuit board จะให้สัญญาณ เดียวกัน 2. DIMM หรือ Dual In-line Memory Module โดย Module นี้เพิ่งจะกําเนิดมาไม่นานนัก มี data path ถึง 64 บิต โดยทั้งสอง ด้านของ circuited board จะให้สัญญาณที่ต่างกัน ตั้งแต่ CPU ตระกูล Pentium เป็นต้นมา ได้มีการออกแบบให้ใช้งานกับ data path ที่มากว่า 32 bit เพราะฉะนั้น เราจึงพบว่าเวลาจะใส่ SIMM RAM บน slot RAM จะต้องใส่เป็นคู่ ใส่โดด ๆ แผง เดียวไม่ได้ Memory Module ปัจจุบันมีอยู่ 3 รูปแบบคือ 30-pin, 72-pin, 168-pin, 184-pin, 240-pin 11
  • 12. หน่วยความจําหลักแบบแก้ไขได้(Random Access Memory - RAM)y ภาพที่ 3 แสดง Random Access Memory - RAM 12 y
  • 13. ภาพที่ 4 แสดง Random Access Memory - RAM 13 y
  • 14. ชนิดและความแตกต่างของ RAM 1. Dynamic Random Access Memory (DRAM) DRAM จะทําการเก็บข้อมูลใน ตัวเก็บประจุ (Capaciter) ซึ่งจําเป็นต้องมีการ refresh เพื่อ เก็บข้อมูล ให้คงอยู่โดย การ refresh นี้ทําให้เกิดการหน่วงเวลาขึ้นในการเข้าถึงข้อมูล และก็เนื่องจากที่มัน ต้อง refresh ตัวเองอยู่ตลอดเวลานี้เองจึงเป็นเหตุให้ได้ชื่อว่า Dynamic RAM 2. Staic Random Access Memory (SRAM) จะต่างจาก DRAM ตรงที่ว่า DRAMy ( ) ต้องทําการ refresh ข้อมูลอยู่ตลอดเวลา แต่ในขณะที่ SRAM จะเก็บข้อมูล นั้น ๆ ไว้ และจําไม่ทําการ refresh โดยอัตโนมัติ ซึ่งมันจะทําการ refresh ก็ต่อเมื่อ สั่งให้ มัน refresh เท่านั้น ซึ่งข้อดีของมันก็คือความเร็ว ซึ่งเร็วกว่า DRAM ปกติมาก แต่ก็ ด้วยราคาที่สูงว่ามาก จึงเป็นข้อด้อยของมันู 14
  • 15. ชนิดและความแตกต่างของ RAM 3. Fast Page Mode DRAM (FPM DRAM) FPM นั้น ก็เหมือนกับ DRAM เพียงแต่ว่า มันลดช่วงการหน่วงเวลาขณะเข้าถึงข้อมูลลง ทําให้ มันมีความเร็วใน การเข้าถึงข้อมูล สูงกว่า DRAM ปกติ ซึ่งโดยที่สัญญาณนาฬิกาในการเข้าถึงข้อมูล จะเป็น 6-3-3-3 (Latency เริ่มต้นที่ 3 clock พร้อมด้วย 3 clock สําหรับการเข้าถึง page) และสําหรับ ระบบแบบ 32 bit จะมีอัตราการส่งถ่ายข้อมูลสูงสุด 100 MB ต่อวินาที ส่วนระบบแบบ 64 bit จะมีอัตรา การส่งถ่ายข้อมูลที่ 200 MB ต่อวินาที เช่นกัน ปัจจุบันนี้ RAM ชนิดนี้แทบจะหมดไปจากตลาดแล้วแต่ ยังคงมีให้เห็น บ้าง และมักมีราคา ที่ค่อนข้างแพงเมื่อเที่ยบกับ RAM รุ่นใหม่ ๆ เนื่องจากที่ว่า ปริมาณใน ท้องตลาดมีน้อยมาก ทั้ง ๆ ที่ยังมีคนต้องการใช้แรมชนิดนี้อยู่ 15
  • 16. ชนิดและความแตกต่างของ RAM 4. Extended-Data Output (EDO) DRAM หรือเรียกอีกชื่อหนึ่งก็คือ Hyper-Page ่ ้ ่ ่ ่Mode DRAM ซึงพัฒนาขึ้นอีกระดับหนึง โดยการทีมันจะอ้างอิง ตําแหน่งทีอ่าน ข้อมูล จากครั้งก่อนไว้ด้วย ปกติแล้วการดึงข้อมูลจาก RAM ณ ตําแหน่งใด ๆ มักจะ ดึงข้อมล ณ ตําแหน่งที่อย่ใกล้ ๆ จากการดึงก่อนหน้านี้ เพราะฉะนั้น ถ้ามีการอ้งอิงดงขอมูล ณ ตาแหนงทอยูใกล ๆ จากการดงกอนหนาน เพราะฉะนน ถามการององ ณตําแหน่งเก่าไว้ก่อน ก็จะทําให้ เสียเวลาในการเข้าถึงตําแหน่งน้อยลง และอีกทั้งมัน ยังลดช่วงเวลาของ CAS latency ลงด้วย และด้วย ความสามารถนี้ ทําให้การเข้าถึงยงลดชวงเวลาของ CAS latency ลงดวย และดวย ความสามารถน ทาใหการเขาถง ข้อมูลดีขึ้นกว่าเดิมกว่า 40% เลยทีเดียว และมีความสามารถโดยรวมสูงกว่า FPM กว่า 15% EDO จะทํางานได้ดีที่ 66 MHzด้วย timming 5-2-2-2 และก็ยังทํางานได้ดีเช่นกัน ่ ้ ้ ่แม้จะใช้งานที่ 83 MHz ด้วย Timming นี้และหากว่า chip EDO นี้ มีความเร็วที่สูงมาก พอ (มากว่า 50ns) มันจะ สามารถใช้งานได้ ณ 100 MHz ที่ Tomming 6-3-3-3 ได้ ่ ส ั ส่ ่ ้ ส ส DRAM ิ ี้ ่ ี่ 264 MB ่ ิ ีอยางสบาย อตราการสงถายขอมูลสูงสุด ของ DRAM ชนดนอยูท 264 MB ตอวนาท EDO RAM ในปัจจุบันนี้ไม่เป็นที่นิยมใช้แล้ว 16
  • 17. ชนิดและความแตกต่างของ RAM 5. Burst EDO (BEDO) DRAM BEDO ได้เพิ่มความสามารถขึ้นมาจาก EDO เดิม คือ Burst Mode โดยหลังจากที่มัน ได้ address ที่ ต้องการ adress แรกแล้วมันก็จะทําการ generate อีก 3 address ขึ้นg ทันที ภายใน 1 สํญญาณนาฬิกา ดังนั้น จึงตัดช่วงเวลาในการรับ adress ต่อไป เพราะฉะนั้น Timming ของมันจึงเป็น 5-1-1-1 ณ 66 MHz BEDO ไม่เป็นที่g แพร่หลาย และได้รับความนิยมเพียงระยะเวลาสั้น ๆ เนื่องจากว่าทาง Intel ตัดสินใจ ใช้ SDRAM แทน EDO และไม่ได่ใช้ BEDO เป็นส่วนประกอบในการพัฒนา chipset ของตน ทําให้บริษัทผู้ผลิต ต่าง ๆ หันมาพัฒนา SDRAM แทน 17
  • 18. ชนิดและความแตกต่างของ RAM 6. Synchronous DRAM (SDRAM) SDRAM ่จะต่างจาก DRAM เดิมตรงที่มันจะทํางานสอดคล้งกับสัญญาณนาฬิกา สําหรับ DRAM เดิมจะ ทราบตําแหน่งที่อ่าน ก็ต่อเมื่อเกิดทั้ง RAS และCAS ขึ้น แล้วจึงทําการ ไปอ่านข้อมลโดยมีช่วงเวลาในการ เข้าถึงข้อมล ตามที่เรามักจะได้เห็นบนตัว chip ของไปอานขอมูลโดยมชวงเวลาในการ เขาถงขอมูล ตามทเรามกจะไดเหนบนตว chip ของ ตัว RAM เลย เช่น -50, -60, -80 โดย -50 หมายถึง ช่วงเวลาเข้าถึง ใช้เวลา 50 นาโน วินาทีเป็นต้น แต่ว่า SDRAM จะใช้สัญญาณนาฬิกาเป็นตัวกําหนดการ ทํางานโดยจะใช้ ี่ ั ป็ ั ํ ั ิ ึ้ ื่ ัความถีของสัญญาณเป็นตัวระบุ SDRAM จะทํางานตามสัญญาณนาฬิกาขาขึนเพือรอรับ ตําแหน่งข้อมูล ที่ต้องการให้มันอ่าน แล้วจากนั้นมันก็จะไปค้นหาให้ และให้ผลลัพธ์ ออกมาหลังจากได้รับ ตําแหน่งแล้ว เท่ากับค่าของ CAS เช่น CAS 2 ก็คือ หลังจากรับ ตําแหน่งที่อ่านแล้วมันจะให้ผลลัพธ์ออกมา ภายใน 2 ลูกของสัญญาณนาฬิกา SDRAM จะมี Timming เป็น 5-1-1-1 ซึ่งแน่ มันเร็วพอ ๆ กันกับ BEDO RAM เลยที่เดียว แต่ว่า มันสามารถทํางานได้ ณ 100 MH หรือมากว่า และมีอัตราการส่งถ่าย ข้อมลสงสดที่มนสามารถทางานได ณ 100 MHz หรอมากวา และมอตราการสงถาย ขอมูลสูงสุดท 528 MB ต่อวินาที 18
  • 19. ชนิดและความแตกต่างของ RAM 7. DDR SDRAM (หรือ SDRAM II)( ) DDR RAM นี้แยกออกมาจาก SDRAM โดยจุดที่ต่างกันหลัก ๆ ของทั้ง สองชนิดนี้คือ DDR SDRAM นี้สามารถที่จะใช้งานได้ทั้งขาขึ้น และขาลงสองชนดนคอ DDR SDRAM นสามารถทจะใชงานไดทงขาขน และขาลง ขแงสัญญาณนาฬิกาเพื่องส่งถ่ายข้อมูล นั่นก็ทําให้อัตราส่งถ่าย เพิ่มขึ้นได้ ึ ึ่ ้ ึถึงเท่าตัว ซึงมีอัตราการส่งถ่ายข้อมูลสูสุดถึง 1 G ต่อวินาทีเลยทีเดียว 19
  • 20. ชนิดและความแตกต่างของ RAM 8. Rambus DRAM (RDRAM) ่ ็ ่ ่ ้ ้ชื่อของ RAMBUS เป็นเครื่องหมายการค้าของบริษัท RAMBUS Inc. ซึ่งตั้งมาตั้งแต่ยุค 80 แล้ว เพราะฉะนั้นชื่อนี้ ก็ไม่ได้เป็นชื่อที่ ใหม่อะไรนัก โดยปัจจุบันได้เอาหลักการ ของ RAMBUS มาพัฒนาใหม่ โดยการลด pin รวม static buffer และทําการปรับแต่งของ RAMBUS มาพฒนาใหม โดยการลด pin รวม static buffer และทาการปรบแตง ทาง interface ใหม่ DRAM ชนิดนี้ จะสามารถ ทํางานได้ทั้งขอบขาขึ้น และลงของ สัญญาณนาฬิกา และเพียงช่องสัญญาณเดียว ของหน่วยความจํา แบบ RAMBUS นี้ มี ่ ป็ ่ ้ ี ่ ่ ัPerformance มากกว่าเป็น 3 เท่า จาก SDRAM 100 MHz แล้ว และเพียงแค่ช่อง สัญญาณ เดียวนี้ก็มีอัตราการส่งถ่ายข้องมูลสูงถึง 1.6 G ต่อวินาที ถึงแม้ว่าเวลาในการเข้าถึงข้อมูล แบบ สุ่มของ RAM ชนิดนี้จะช้า แต่การเข้าถึงข้อมูลแบบต่อเนื่องจะเร็วมาก ๆ ซึ่งกาว่าุ ู ๆ RDRAM นี้มีการพัฒนา Interface และมี PCB (Printed Circuit Board) ที่ดี ๆ แล้วละก็ รวมถึง Controller ของ Interface ให้ สามารถใช้งานได้ถึง 2 ช่องสัญญาณแล้วมันจะมี อัตราการส่งถ่ายข้อมลเพิ่มเป็น 3 2 G ต่อวินาที และหากว่าสามารถใช้ได้ถึง 4อตราการสงถายขอมูลเพมเปน 3.2 G ตอวนาท และหากวาสามารถใชไดถง 4 ช่องสัญญาณก็จะสามารถเพิ่มไปถึง 6.4 G ต่อวินาที 20
  • 21. ชนิดและความแตกต่างของ RAM 9. Synchronous Graphic RAM (SGRAM) ้ ็SGRAM นี้ก็แยกออกมาจาก SDRAM เช่นกันโดยมันถูกปรับแต่งมาสําหรับงานด้าน Graphics เป็นพิเศษแต่โดยโครงสร้างของ Hardware แล้ว แทยไม่มีอะไรต่างจาก SDRAM เลย เราจะเห็นจากบาง Graphic Card ที่เป็นร่นเดียวกัน แต่ใช้SDRAM ก็มีSDRAM เลย เราจะเหนจากบาง Graphic Card ทเปนรุนเดยวกน แตใช SDRAM กม SGRAM ก็มี เช่น Matrox G200 แต่จุดที่ต่างกัน ก็คือ ฟังก์ชัน ที่ใช้โดย Page Register ซึ่ง SG สามารถทําการเขียนข้อมูลได้หลาย ๆ ตําแหน่ง ในสัญญาณนาฬิกาเดียว ในจุดนี้ ํ ใ ้ ็ ใ ํ ไ ้ ็ ั ี ่ทําให้ความเร็วในการแสดงผล และ Clear Screen ทําได้เร็วมาก และยังสามารถ เขียนแค่ บาง bit ในการ word ได้(คือไม่ต้องเขียนข้อมูลใหม่ทั้งหมดเขียนเพียงข้อมูลที่ เปลี่ยนแปลง เท่านั้น) โดยใช้bitmask ในการเลือก bit ที่จะเขียนใหม่สําหรับงานโดย) ปกติแล้ว SGRAM แทบจะไม่ ให้ผลที่ต่างจาก SDRAM เลย มันเหมาะกับงานด้าน Graphics มากกว่า เพราะความสามารถที่ แสดงผลเร็วและ Clear Screen ได้เร็วมันจึง เหมาะกับใช้บน G hi C d มากกว่า ที่จะใช้บน S tเหมาะกบใชบน Graphics Card มากกวา ทจะใชบน System 21
  • 22. ชนิดและความแตกต่างของ RAM 10. Video RAM (VRAM) VRAM ชื่อก็บอกแล้วว่าทํางานเกี่ยวกกับ Video เพราะมันถูกออกแบบมาใช้บน Dispaly Card โดย VRAM นี้ก็มีพื้นฐานมาจาก DRAM เช่นกัน แต่ที่ทําให้มันต่างกันก็ด้วยกลไกการทํางานบางอย่าง ่ ่ ้ ้ที่เพิ่มเข้ามา โดยที่ VRAM นั้น จะมี serial port พิเศษเพิ่มขึ้นมาอีก 1หรือ 2 port ทําให้เรามองว่ามัน เป็น RAM แบบ พอร์ทคู่ (Dual-Port) หรือ ไตรพอร์ท (Triple-Port) Parallel Port ซึ่งเป็น Standard I f ั ใ ้ใ ิ ่ ั H P ื่ สั่ ใ ้ ํ f h ึ้Interface ของมน จะถูกใชในการตดตอกบ Host Processor เพอสงการให ทาการ refresh ภาพขนมา ใหม่ และ Seral Port ที่เพิ่มขึ้นมา จะใช้ในการส่งข้อมูลภาพออกสู่ Display 11 Wi d RAM (WRAM)11. Windowns RAM (WRAM) WRAM นี้ ดู ๆ ไปล้วเหมือนกับว่า ถูกพัฒนาโดย Matrox เพราะแทบจะเป็นผู้เดียวที่ใช้RAM ชนิด นี้ บน Graphics Card ของตน (card ตระกล Millenium และ Millenium II แต่ไม่รวม Milleniumน บน Graphics Card ของตน (card ตระกูล Millenium และ Millenium II แตไมรวม Millenium G200 ซึ่งเป็น ซึ่งใช้SGRAM ) แต่ในปัจจุบันก็เห็นมีของ Number 9 ที่ใช้WRAM เช่นกัน ในรุ่น Number 9 Revolutuon IV ที่ใช้WRAM 8M บน Crad WRAM นี้โดยรวมแล้วก็เหมือน ๆ กับ VRAM จะต่างกันก็ตรงที่ มันรองรับ Bandwith ที่สูงกว่า อีกทั้งยังใช้ระบบ Double-Buffer อีกด้วย จึงทําให้มันเร็วกว่า VRAM อีกมากทีเดียว 22
  • 23. Memory Unit Memory celln bits ss er bit 0 bit 1 0 1 2 yaddre ister decode 2 3 4 Memory regi ddress M A bit n - 1 2n-1 0 1 2 m - 1 Memory data register m bits 23
  • 24. Memory Capacity  2n x 2 x m  n address bits = 2n addresses  m data bits  m is the “width” of the data path m is the width of the data path  Typical values: n: 16, 17, 18, 19, 20, 21, 22, etc. m: 8, 16, 32, 64m: 8, 16, 32, 64 24
  • 25. Memory Capacity  จํานวนไบท์ที่ จานวนไบทท สามารถจัดเก็บได้  1 KB = 1,024 Bytes หน่วยจัดเก็บ จํานวนไบท์ (bytes) ตัวย่อ , y  1 MB = 1,024 KB  1 GB = 1 024 MB Kilobyte KB 1 thousand  1 GB = 1,024 MB  1 TB = 1,024 GB Megabyte Gigabyte MB GB 1 million 1 billion 1 PB = 1,024 TB Gigabyte Terabyte TB GB 1 billion 1 trillion Petabyte PB 1 quadrillion 25
  • 26. QuestionQ  Q: How many bits of memory are contained in a memoryy y y unit with 512KB of memory? A: 512 = 29, K = 210, B = byte = 8 = 23 29 x 210 x 23 = 222 = 4,194,304 26
  • 27. Question  Q: How many bits of memory are contained in a Q Q y y memory unit with 2MB of memory? A: 2 = 21, M = 220, B = byte = 8 = 23 21 x 220 x 23 = 224 = 16,777,216, , 27
  • 28. QuestionQ Q: A system with a memory capacity of 128 GB has four 32 MB memory modules installed. The rest of the memory is unused. How much memory space is available for future i ? (Gi i d i l i b )expansion? (Give your answer in decimal in megabytes.) A: 128 GB – 4 x 32 MB = 27 x 210 MB - 22 x 25 MB = (217 – 27) MB = (131,072 – 128) MB = 130,944 MB 28
  • 29. QuestionQ  Draw a memory map for a system with a capacity of 2 GB. Assume the system has three 32 MB memory modules residing consecutively at the bottom of memory. Illustrate the size of each block in MB and the starting and ending address of each block of memory in hexadecimal. 29
  • 30. 7FFFFFFF Memory Map Answer 7FFFFFFF 1,952 MB empty 06000000231 bytes = 2 empty 06000000 05FFFFFF 04000000 03 y GB “capacity” 32 MB RAM 03FFFFFF 02000000 01FFFFFF 32 MB RAMNote: 2 GB = 2,048 MB 01FFFFFF 00000000 32 MB RAM , 30
  • 32. ประเด็นสําคัญ (Cache memory concept)  ในระดับโครงสร้างลําดับชั้นของหน่วยความจํา ถ้ามองลงมาส่ระดับล่างพบ ในระดบโครงสรางลาดบชนของหนวยความจา ถามองลงมาสูระดบลางพบ หน่วยความจําที่มีมูลค่าราคาต่อบิตตํ่าลงมาเรื่อยๆ มีขนาดหน่วยความจํา เพิ่มขึ้น แต่ใช้ระยะเวลาในการอ่านหรือบันทึกข้อมลสงขึ้นเพมขน แตใชระยะเวลาในการอานหรอบนทกขอมูลสูงขน  ในความเป็นจริงเราไม่สามารถใช้หน่วยความจําระดับบนได้อย่างเดียวเพราะมี ส ส่ ใ ่ ึ ใ ้ ่ ํ ั ้ ใ ้ ่ ํราคาสูงสวนใหญจงใชหนวยความจาระดบบนนอย และใชหนวยความจา ระดับล่างมากขึ้น เพื่อให้เกิดความสมดุลระหว่างประสิทธิภาพและราคา โ ั่ ไป ่ ้ ิ ้ ใ ่ ั โ โป ์ โดยทัวไปตําแหน่งการอ้างอิงข้อมูลในหน่วยความจําหลักโดยโปรเซสเซอร์ นั้นมักจะเป็นตําแหน่งเดิม ดังนั้นหน่วยความจํา cache จะคัดลอกข้อมูลใน ่ ํ ั ึ่ ้ ไ ้ ั ป็ ่ ี ้ ่หน่วยความจําหลัก ซึงถ้า Cache ได้รับการออกแบบเป็นอย่างดีแล้วเวลาส่วน ใหญ่โปรเซสเซอร์ก็จะเรียกใช้ข้อมูลที่อยู่ใน Cache เป็นส่วนมาก 32
  • 34. คณลักษณะของหน่วยความจํา  Location : สถานที่ที่หน่วยความจําอยู่ หน่วยความจําภายในเครื่องคอมพิวเตอร์ (I t l M ) เช่น R i t M i ุณ ณ - หนวยความจาภายในเครองคอมพวเตอร (Internal Memory) เชน Register, Main memory, Cache External (secondary) : ติดต่อโดยผ่านหน่วยควบคม I/O เช่น Hard disk Floppy- External (secondary) : ตดตอโดยผานหนวยควบคุม I/O เชน Hard disk, Floppy disk (FFD)  Capacit หน่วยความจําภายใน ใช้หน่วยเป็น Bit หรือ W d Capacity : หนวยความจาภายใน ใชหนวยเปน Bit หรอ Word - Word size เป็นขนาดของหน่วยความจํา 1 word มีขนาด 8, 16 หรือ 32 bit โ ั่ ไป ่ ํ ิ ป็ b- โดยทวไปหนวยความจาภายนอก นยมแสดงความจุเปน byte  Unit of transfer : หน่วยในการถ่ายเทข้อมูล ้ ้ สําหรับหน่วยความจําภายใน จะเท่ากับจํานวนสายสัญญาณข้อมูลเข้าและออกจาก หน่วยความจํา ซึ่งจะมีขนาดเท่ากับความยาวของ word อาจจะมีขนาดใหญ่กว่าก็ได้ 34
  • 35. คุณลักษณะของหน่วยความจํา  Word หมายถึง หน่วยโครงสร้างโดยธรรมชาติของหน่วยความจํา โดยปกติ ่ ั ํ ิ ี่ใ ้ใ ่ ั ใ ้ป็ขนาดของ word จะเทากบจํานวนบิตทีใช้ในการแสดงคาตัวเลข และใช้เป็น ความยาวของคําสั่ง ึ ่ ็ ่ ่ Addressable units หมายถึง หน่วยที่เล็กที่สุดที่สามารถอ้างอิงได้ บาง ระบบใช้หน่วยเป็น word ในขณะที่หลายระบบใช้หน่วยเป็นไบต์ ความสัมพันธ์ ่ระหว่างจํานวนบิตของตําแหน่งที่อยู่ (A) และจํานวนหน่วยความจําอ้างอิงได้ ทั้งหมด (N) คือ 2A = N เสมอ  Unit of transfer หมายถึง จํานวนบิตที่อ่านมาจาก หรือบันทึกลงสู่ หน่วยความจําในแต่ละครั้ง หน่วยในการถ่ายเทข้อมูลไม่จําเป็นจะต้องเท่ากับู word หรือหน่วยอ้างอิงที่เล็กที่สุด 35
  • 36. คุณลักษณะของหน่วยความจํา  Access method เป็นวิธีการเข้าถึง Memory ด้วยวิธีต่างๆ ื ิ ี ้ ึ ่ ี ั1. Sequential access หรือวิธีการเข้าถึงหน่วยความจําแบบเรียงลําดับ หน่วยความจํามีโครงสร้างประกอบด้วยหน่วยต่างๆ เรียกว่า ระเบียน การเข้า ไป ่ ื ั ึ ้ ้ ี ั ้ ี่ ั ่ ี่ไปอ่าน หรือบันทึกข้อมูลจะต้องกระทําเรียงลําดับ ข้อมูลเกียวกับตําแหน่งที อยู่ถูกนํามาใช้ในการแยกตําแหน่งแต่ละระเบียนออกจากกัน และช่วยใน ่ ้ ่ ป ่ ็กระบวนการอ่านข้อมูล เช่น เทปแม่เหล็ก (Magnetic Tape) 2. Direct access หรือเข้าถึงแบบตรง กระบวนการอ่านหรือบันทึกข้อมูลใช้ ่ ่กลไกเหมือนกัน แตกต่างเฉพาะทิศทางที่ส่งข้อมูล จะเปลี่ยนตําแหน่ง ปัจจุบันไปเป็นตําแหน่งที่ต้องการ ทําให้ระยะเวลาที่ใช้ในการเข้าถึง ้ ์หน่วยความจําแต่ละครั้งอาจจะแตกต่างกัน เช่น ดิสก์ 36
  • 37. คุณลักษณะของหน่วยความจํา  Access method เป็นวิธีการเข้าถึง Memory ด้วยวิธีต่างๆ 3. Random access หรือการเข้าถึงหน่วยความจําแบบไม่มีลําดับ ระยะเวลา ในการเข้าถึงเป็นอิสระ จากลําดับการเข้าถึงก่อนหน้านี้ และใช้ระยะเวลา เท่ากันเสมอ ดังนั้นจึงสามารถเลือกตําแหน่งใดๆ ในหน่วยความจําโดย ไม่ต้องเรียงลําดับใด และสามารถเข้าถึงตําแหน่งนั้นได้โดยตรง เช่น Main Memory 4. Associative หรือความเกี่ยวข้อง จัดว่าเป็นการเข้าถึงหน่วยความจําแบบ random access อย่างหนึ่งที่มีการเปรียบเทียบข้อมูลบิตจํานวนหนี่ง กับ word ที่เป็นตัวเลือกจํานวนหนึ่ง เพื่อค้นหาตําแหน่งที่สอดคล้องกัน เช่น Cache Memory 37
  • 38. คุณลักษณะของหน่วยความจํา  Performance วิธีการวัดประสิทธิภาพ A i สํ ั R d ี่ใ ้ใ ่ ื- Access time : สาหรบ Random access memory ระยะเวลาทใชในการอานหรอ บันทึกข้อมูล คือระยะเวลานับตั้งแต่ที่ตําแหน่งข้อมูลได้ถูกส่งมาถึงหน่วยความจํา ั่ ้ ไ ้ ั ึ ื ้ ี่ ส่ ั ใ ้ สํ ัจนกระทงขอมูลไดถูกบนทก หรอพรอมทจะถูกสงกลบมาให สาหรบ หน่วยความจําแบบอื่น จะหมายถึงระยะเวลาเคลื่อนย้ายกลไกในการอ่านหรือบันทึก ข้อมลไปยังตําแหน่งข้อมลที่ต้องการขอมูลไปยงตาแหนงขอมูลทตองการ - Memory cycle time : ใช้สําหรับ Random access memory ประกอบด้วยระยะเวลา ใ ้ ึ ่ ํ ั ื่ ี่ ํ ป็ ้ ใ ้ ึ ี่ในการเข้าถึงหน่วยความจํารวมกับระยะเวลาอืนๆ ทีจําเป็นต้องใช้จนถึงเวลาทีจะ เกิดการอ่านหรือบันทึกข้อมูลในครั้งต่อไป ระยะเวลาอื่นๆ เช่น ระยะเวลาที่รอให้ ั ่ ้ ่ ี ใ ้ ั ิ ไป ป็ ้สัญญาณต่างๆ เข้าสู่สถานะเสถียร, ระยะเวลารอให้สัญญาณเดิมหายไป เป็นต้น 38
  • 39. คุณลักษณะของหน่วยความจํา  Performance วิธีการวัดประสิทธิภาพ ้ ้ ื- Transfer rate : อัตราการถ่ายเทข้อมูลเข้าหรือออกจากหน่วยความจํา สําหรับ Random access memory ระยะเวลานี้เท่ากับ 1/(cycle time) สําหรับ ่ ี่ไ ่ใ ่ ี้ ่หน่วยความจําทีไม่ใช่ Random access memory ระยะเวลานีเท่ากับ TN = TA + N/R TN = ระยะเวลาโดยเฉลี่ยในการอ่านหรือบันทึกข้อมูล N บิต TA = ระยะเวลาการเข้าถึงข้อมูลโดยเฉลี่ยA ู N = จํานวนบิตข้อมูล R = อัตราการถ่ายเทข้อมล มีหน่วยเป็น บิตต่อวินาทีR อตราการถายเทขอมูล มหนวยเปน บตตอวนาท 39
  • 40. คุณลักษณะของหน่วยความจํา  Physical type แบ่งออกตามลักษณะทางกายภาพ ่ ิ ิ ั ์ หน่วยความจําชนิดเซมิคอนดักเตอร์ (Semiconductor memory)  หน่วยความจําแบบผิวฉาบด้วยสารแม่เหล็ก (Magnetic Surface memory)  การใช้ดิสก์และเทป  การใช้อุปกรณ์ออฟติกและแม็กนีโตออพติก (Optic and Magneto-optic)ุ 40
  • 41. คุณลักษณะของหน่วยความจํา  คุณสมบัติทางกายภาพ  ่ ํ ี่ ป็ ไ ่ ี ้ ี่ ั ึ ่ใ ั ี หน่วยความจําทีเป็นแบบไม่ถาวร (volatile) จะสูญเสียข้อมูลทีบันทึกอยู่ในทันที ที่ถูกตัดพลังงานไฟฟ้า ่ ็ หน่วยความจําที่เป็นแบบถาวร (non-volatile) จะสามารถบันทึกข้อมูลไว้ได้ ตลอดเวลา ไม่ว่าจะมีพลังงานไฟฟ้าป้อนเข้าสู่อุปกรณ์หรือไม่ก็ตาม  ตัวอย่าง  อปกรณ์หน่วยความจําแบบผิวฉาบด้วยสารแม่เหล็ก เป็นแบบถาวรอุปกรณหนวยความจาแบบผวฉาบดวยสารแมเหลก เปนแบบถาวร  เซมิคอนดักเตอร์ เป็นแบบถาวรและไม่ถาวร ขึ้นอยู่กับวัตถุประสงค์ในการผลิต  ่ ํ ป bl ROM หนวยความจาประเภท nonerasable = ROM  หน่วยความจําประเภท erasable = RAM 41
  • 42. โครงสร้างลําดับชั้นของหน่วยความจํา  องค์ประกอบที่สําคัญ 3 ประการคือ ราคา, ปริมาณ, เวลาการเข้าถึงหน่วยความจํา ั ั ์ ์ป ความสัมพันธ์ของ 3 องค์ประกอบ 1. การเพิ่มความเร็วในการเข้าถึงข้อมูล จะทําให้หน่วยความจํามีราคาสูงขึ้น 2. ปริมาณหน่วยความจําเพิ่มขึ้น จะทําให้ราคาต่อหน่วยลดลง 3. ปริมาณหน่วยความจําเพิ่มขึ้น จะทําให้เสียเวลาในการเข้าถึงหน่วยความจํา มากขึ้น 42
  • 43. Memory Hierarchy - Diagram 1.มีราคาต่อบิตตํ่าลง ีป ิ ึ้2.มีปริมาณมากขึน 3.ใช้เวลาในการเข้าถึงข้อมูลนานขึ้น 4.มีการติดต่อกับโปรเซสเซอร์ลดลง 43โครงสร้างลําดับชั้นของหน่วยความจํา
  • 44. โครงสร้างลําดับชั้นของหน่วยความจํา  การเรียงลําดับหน่วยความจําจากเร็วไปช้า 1. Registers 2. L1 Cache 3. L2 Cache 4 L3 Cache4. L3 Cache 5. Main memory จําพวก Ram , Rom 6 Di k h ระหว่าง i กับ M ti di k ควรมี Di k6. Disk cache - ระหวาง main memory กบ Magnetic disk ควรม Disk cache เพื่อที่จะทํางานเร็วขึ้น 7. Disk 8. Optical 9. Tape 44
  • 45. โครงสร้างลําดับชั้นของหน่วยความจํา  Disk cache เป็นหน่วยความจําอีกระดับหนึ่งที่แทรกระหว่างหน่วยความจํา ่ ่หลัก กับหน่วยความจําภายนอก โดยที่ส่วนหนึ่งของหน่วยความจําหลักจะถูก แบ่งออกมา เพื่อใช้เป็นบัฟเฟอร์ สําหรับเก็บข้อมูลที่จะส่งไปเก็บในดิสก์ หรือ ์ ่ ็ ่ ่ถูกส่งมาจากดิสก์เพื่อนํามาเก็บไว้ในหน่วยความจําหลัก เพื่อเพิ่มประสิทธิภาพ ในการใช้งานดิสก์ได้ใน 2 ทาง คือ 1. การบันทึกข้อมูลลงดิสก์แบบเป็นกลุ่ม แทนที่จะบันทึกข้อมูลลงดิสก์คราวละจํานวน น้อยๆ ข้อมูลเหล่านี้จะถูกเก็บรวมสะสมกันไว้จนเมื่อมีปริมาณมากพอ จึงจะทําการ ั ึ ้ ใ ี ั ป็ ํ ิ ี ี้ ่ ิ่ ป ิ ิบนทกข้อมูลในคราวเดยวกนเปนจานวนมาก วธนจะชวยเพมประสทธภาพของการ ใช้ดิสก์ และลดการทํางานของโปรเซสเซอร์ให้น้อยลง 2 ข้อมลบางส่วนที่ถกบันทึกลงดิสก์ อาจจะถกเรียกใช้ในทันที ก่อนที่ข้อมลนั้นจะถก2. ขอมูลบางสวนทถูกบนทกลงดสก อาจจะถูกเรยกใชในทนท กอนทขอมูลนนจะถูก บันทึกลงในดิสก์จริงๆ ในกรณีนี้ข้อมูลจะถูกส่งไปยังผู้เรียกใช้ได้อย่างรวดเร็วมาก เพราะเป็นการอ่านข้อมูลในบัฟเฟอร์ แทนที่จะอ่านจากดิสก์ 45
  • 46. Cache Memory  แคชระดับที่ 1 (L1 Cache) เป็นแคชขนาดเล็ก 32-128 KB อยู่ไกล้กับซีพียูที่สุด  แคชระดับที่ 2 (L2 Cache) จะมีขนาดใหญ่ 512 KB-4MB เน้นเก็บข้อมูลที่ดึงมา ่จากแรมของครื่องคอมพิวเตอร์ แคช L2 จะแบ่งรูปแปปเป็น 2 แบบ lnclusive คือ จะมีพื้นที่ส่วนหนึ่งของแคช L2 เสียไปเพื่อเก็บแคช L1 อีกแบบ ้ ่เป็น Exclusive คือ แคช L2 จะไม่ถูกกัน พื้นที่ให้ L1 จึงใช้งานแคช L2 ได้เต็ม พื้นที่  ซีพียูบางรุ่นยังเพิ่มแคชระดับที่ 3 (L3 Cache) สําหรับคั่นกลางระหว่างแคช L2 กับแรมของเครื่องโดยแคช L3 จะมีขนาดใหญ่ 2-8 MB นิยมออกแบบให้อยู่ติด กับบัสชองซีพียูเพื่อให้เก็บข้อมูลจากแรมของคอมพิวเตอร์ และช่วยให้ซีพียูนํา แคช L2 ไปเก็บข้อมูลส่วนอื่นได้มากขึ้น
  • 47. Cache Memory  หน่วยความจํา cache สร้างขึ้นมาด้วยวัตถุประสงค์ที่จะให้เป็นหน่วยความจําที่ ทํางานได้เร็วที่สด มีขนาดใหญ่ที่สด ราคาไม่แพงทางานไดเรวทสุด มขนาดใหญทสุด ราคาไมแพง  เนื่องจาก Main memory ตามปกติจะมีความเร็วตํ่ากว่า CPU อยู่มาก ดังนั้นหากใช้ ั ี ํ ใ ้ ิ ์ ํ ไ ้ ้เฉพาะ Register กับ RAM จะมีผลทําให้คอมพิวเตอร์ทํางานได้ช้า CPU Cache Block Main memory Word BlockWord Mapping function Address 47
  • 48. Cache Memory  หน่วยความจํา Cache จะเก็บสําเนาของข้อมูลบางส่วนในหน่วยความจําหลักเอาไว้ เมื่อโปรเซสเซอร์ต้องการอ่านข้อมลจํานวนหนึ่ง ord ในหน่วยความจํา ข้อมลจะเมอโปรเซสเซอรตองการอานขอมูลจานวนหนง word ในหนวยความจา ขอมูลจะ ถูกตรวจสอบว่ามีอยู่ใน cache หรือไม่  ้ ี ( h hi ) ่ ํ ้ ใ h ไปใ ้ ถา ม (cache hit) อยูจะนาขอมูลใน cache ไปใช  ถ้า ไม่มี (cache miss) จะทําการคัดลอกสําเนาข้อมูลหนึ่งบล็อก จาก ่ ํ ั ั ้ ึ ํ ี่ ้ ่ ่ ไปใ ้หน่วยความจําหลักมายัง cache แล้วจึงนํา word ทีต้องการส่งต่อไปให้ โปรเซสเซอร์ในภายหลัง ้ ่ ้ การอ้างอิงในพื้นที่เดียวกัน จะทําให้การอ้างอิงข้อมูลในหน่วยความจําครั้งต่อๆ ไป เป็นการอ้างอิงที่เดิม หรือที่ตําแหน่งใกล้เคียงจุดเดิม ดังนั้นการคัดลอกข้อมูลหนึ่ง บล็อกจากหน่วยความจําหลักมายัง cache จะสามารถถูกนํามาใช้งานได้ในระยะ หนึ่ง ก่อนที่จะมีการคัดลอกข้อมูลในครั้งต่อไป 48
  • 49. Cache Memory  ถ้า มี (hit) อยู่จะนําข้อมูลใน cache ไปใช้ ้ ไ ่ ี ( ) ํ ั ํ ้ ึ่ ็ ่ ํ ถ้า ไม่มี (miss) จะทําการคัดลอกสําเนาข้อมูลหนึงบล็อก จากหน่วยความจํา The performance of cache memory is frequently measured in terms of a quantity called hit ratio  Hit ratio = hit / (hit+miss)( )
  • 50. Cache Memory •หน่วยความจําหลักประกอบด้วยบล็อกที่เก็บข้อมูล ขนาด K-word จํานวนหนึ่ง นั่นคือจํานวนบล็อก (M)ขนาด K word จานวนหนง นนคอจานวนบลอก (M) เท่ากับ M = 2n/k • ส่วน cache ประกอบด้วยช่องสัญญาณ C ช่อง แต่ละ ช่องมีขนาด k words และจํานวนช่องสายสัญญาณนั้น น้อยกว่าจํานวนบล็อกในหน่วยความจําหลักนอยกวาจานวนบลอกในหนวยความจาหลก C << M • ช่องสัญญาณแต่ละช่องจึงไม่ได้ถกกําหนดไว้เป็นการญญ ู เฉพาะสําหรับบล็อกใด ทําให้ช่องสัญญาณแต่ละช่อง จะต้องมีป้ายบอกให้ทราบว่า ข้อมูลในนั้นนํามาจาก ข้อมูลบล็อกใด โดยปกติป้ายมักจะประกอบด้วย ตําแหน่งที่อยู่ของข้อมูลในหน่วยความจําหลัก โครงสร้างของหน่วยความจํา cache 50 และหน่วยความจําหลัก
  • 51. Cache Memory กระบวนการอ่านข้อมูล โป ์ ้ ํ ่ ี่ ่ ้ ี่โปรเซสเซอรสร้างตําแหนงทีอยูของข้อมูลที ต้องการอ่าน เรียกว่า RA ถ้าข้อมูล word นั้นมีอยู่ใน ่ ้ ็ ํ ่ โป ์ ํcache อยูแล้ว กจะถูกนําสงโปรเซสเซอรทําการ ประมวลผลต่อไป มิฉะนั้นบล็อกในหน่วยความจํา ั ี่ ี ้ d ี้ ่ ็ ั ํ ้หลกทมข้อมูล word นอยูกจะถูกคดลอกสําเนาเข้า มาใส่ใน cache และถูกนําส่งโปรเซสเซอร์ต่อไป 51การอ่านข้อมูลจากหน่วยความจํา cache
  • 53. Cache Memory  Cache เชื่อมต่อกับโปรเซสเซอร์ผ่านสายสัญญาณข้อมูล สายบอก ํ ่ ี่ ่ ํตําแหน่งทีอยู่ และสายควบคุมการทํางาน  สายสัญญาณข้อมูลและสายบอกตําแหน่งที่อยู่จะเชื่อมต่อเข้ากับบัฟเฟอร์ู ู ซึ่งเชื่อมต่อเข้ากับสายบัสหลักของระบบที่นําไปสู่หน่วยความจําหลัก  หากค้นหาข้อมลที่ต้องการใน cache (cache hit) บัฟเฟอร์สําหรับข้อมลและหากคนหาขอมูลทตองการใน cache (cache hit) บฟเฟอรสาหรบขอมูลและ ตําแหน่งข้อมูลจะถูกสั่งไม่ให้ทํางาน (disable) และการสื่อสารจะเกิดขึ้นระหว่าง โปรเซสเซอร์กับ cache โดยไม่มีการใช้บัสหลักโปรเซสเซอรกบ cache โดยไมมการใชบสหลก  หากไม่สามารถค้นหาข้อมูลที่ต้องการใน cache ได้(cache miss) ตําแหน่งข้อมูล ที่ต้องการจะถกส่งเข้าไปในบัสหลัก ข้อมลในหน่วยความจําหลักจะถกส่งมาที่ทตองการจะถูกสงเขาไปในบสหลก ขอมูลในหนวยความจาหลกจะถูกสงมาท บัฟเฟอร์ และจากบัฟเฟอร์ส่งไปยังโปรเซสเซอร์ และส่งไปเก็บไว้ใน cache 53
  • 54. Cache operation  อัตราการที่ CPU สามารถพบ word ที่ต้องการพบใน Cache เรียกว่า Hit Rate หรือ Cache Hitหรอ Cache Hit  อัตราการที่ CPU ไม่สามารถพบเรียกว่า Miss Rate หรือ Cache Miss  ดังนั้นคอมพิวเตอร์ที่ออกแบบระบบ Cache ดีก็จะทําให้มี Hit Rate สง มีผลทําให้ ดงนนคอมพวเตอรทออกแบบระบบ Cache ดกจะทาใหม Hit Rate สูง มผลทาให คอมพิวเตอร์สามารถทํางานได้เร็วขึ้น  ถ้าใช้C h ขนาดเล็ก ราคาก็จะถกและความเร็วสงกว่า แต่จะได้อัตรา C h hit ถาใช Cache ขนาดเลก ราคากจะถูกและความเรวสูงกวา แตจะไดอตรา Cache hit ตํ่า ้ ใ ้ ใ ่ ไ ้ ั ่ ้ ถ้าใช้Cache ขนาดใหญ่จะได้อัตรา Cache hit สูงแต่วงจรจะช้าและราคาแพง 54
  • 56. หน่วยความจําเสมือน (Virtual Memory) หน่วยความจําเสมือน (Virtual Memory) เป็นวิธีการที่สามารถให้กระบวนการทํางาน ได้แม้จะไม่ได้อยู่ในหน่วยความจําหลักทั้งตัวก็ตาม  ข้อดีหลักของวิธีนี้ที่เห็นได้ชัด คือ โปรแกรมของผู้ใช้อาจมีขนาดใหญ่กว่าู ญ หน่วยความจําจริงก็ได้วิธีนี้สร้างหน่วยความจําทางตรรกะให้ดูเสมือนเป็นแถว ลําดับ (Array) ขนาดใหญ่ โดยแยกภาพที่ผู้ใช้มองเห็นหน่วยความจําออกจากy ญ ู ลักษณะจริงของฮาร์ดแวร์ ทําให้ผู้เขียนโปรแกรมสามารถเขียนโปรแกรมได้อย่าง อิสระไม่ต้องกังวลถึงขนาดของหน่วยความจําอีกต่อไป  ข้อเสีย การสร้างหน่วยความจําเสมือนไม่ใช่ของง่าย และอาจทําให้ประสิทธิผล ของระบบลดลงได้อย่างมาก ถ้าไม่รอบคอบพอของระบบลดลงไดอยางมาก ถาไมรอบคอบพอ 56
  • 57. หน่วยความจําเสมือน (Virtual Memory) ความเป็นมา (Background) ถ้าเราตรวจดูโปรแกรมทั่วไปจะพบว่า หลายส่วนของโปรแกรมไม่จําเป็นต้องใช้เช่น  มักมีส่วนของโปรแกรมสําหรับจัดการข้อผิดพลาดพิเศษ หรือไม่ปกติรวมอย่ด้วยมกมสวนของโปรแกรมสาหรบจดการขอผดพลาดพเศษ หรอไมปกตรวมอยูดวย เนื่องจากข้อผิดพลาดนี้เกิดได้ยาก ดังนั้นโปรแกรมส่วนนี้จึงแทบจะไม่เคยได้ใช้เลย  โครงสร้างข้อมล เช่น แถวลําดับ (array) , ตารางหรือแถวคอย ส่วนใหญ่จะมีการกันเนื้อโครงสรางขอมูล เชน แถวลาดบ (array) , ตารางหรอแถวคอย สวนใหญจะมการกนเนอ ที่ไว้ขนาดใหญ่กว่าที่ใช้จริง เช่น อาจประกาศแถวลําดับเป็น 100 x 100 ทั้ง ๆ ที่ปกติจะ ใช้เพียง 10 x 10 ตารางสัญลักษณ์ในตัวแปรภาษา assembly อาจเผื่อไว้สําหรับตัวแปรถึง 3000 ตัว แต่โปรแกรมภาษา assembly ส่วนใหญ่ใช้ตัวแปรไม่เกิน 200 ตัวเท่านั้น  โปรแกรมย่อย คุณสมบัติหรือ หน้าที่บางอย่างของโปรแกรมอาจใช้น้อย 57
  • 58. หน่วยความจําเสมือน (Virtual Memory) มีเพียงบางส่วนอย่ในหน่วยความจําหลัก มีประโยชน์หลายประการดังนี้มเพยงบางสวนอยูในหนวยความจาหลก มประโยชนหลายประการดงน •ขนาดของโปรแกรมไม่ได้ถูกจํากัดด้วยขนาดของหน่วยความจําหลัก ผู้เขียน โปรแกรมอาจเขียนโปรแกรมที่ใช้หน่วยความจําเสมือนซึ่งมีขนาดใหญ่มาก ๆ ได้ทําโปรแกรมอาจเขยนโปรแกรมทใชหนวยความจาเสมอนซงมขนาดใหญมาก ๆ ได ทา ให้การเขียนโปรแกรมง่ายขึ้น •ผ้ใช้แต่ละคนจะใช้หน่วยความจําจริงสําหรับโปรแกรมของตนลดลง ดังนั้นเราผูใชแตละคนจะใชหนวยความจาจรงสาหรบโปรแกรมของตนลดลง ดงนนเรา สามารถเพิ่มจํานวนผู้ใช้หรือกระบวนการได้มากขึ้นในระบบ ซึ่งจะช่วยให้ ประสิทธิผลการใช้งานหน่วยประมวลผลกลางดีขึ้น และมีอัตรางานเสร็จสงขึ้นด้วยประสทธผลการใชงานหนวยประมวลผลกลางดขน และมอตรางานเสรจสูงขนดวย •การบรรจุโปรแกรมลงหน่วยความจําทําได้เร็วขึ้น (เนื่องจากอ่านเข้ามาเพียง บางส่วน) การย้ายโปรแกรมผ้ใช้เข้า-ออก ไปพักชั่วคราว ก็ทําได้เร็วขึ้น เช่นกัน ทําให้บางสวน) การยายโปรแกรมผูใช เขา ออก ไปพกชวคราว กทาไดเรวขน เชนกน ทาให ผู้ใช้ทํางานได้เร็วขึ้นกว่าเดิม 58***เป็นประโยชน์ทั้งต่อระบบเอง และผู้ใช้แต่ละคน
  • 59. หน่วยความจําเสมือน (Virtual Memory) ่ ื ใ ่ ่ ่ 59 แผนภาพแสดงหน่วยความจําเสมือนมีขนาดใหญ่กว่าหน่วยความจําทางกายภาพ
  • 60. การแปลงแอดเดรส (Address Mapping) • เนื่องจากขนาดของโปรแกรมมีขนาดใหญ่กว่าขนาดของหน่วยความจํา ดังนั้นจึง ต้องมีการอ้างอิงแอดเดรสระหว่างแอดเดรสของหน่วยความจําจริงกับแอดเดรสตองมการอางองแอดเดรสระหวางแอดเดรสของหนวยความจาจรงกบแอดเดรส ของโปรแกรม ิ ื ึ ใ• แอดเดรสจริง (Real Address หรือ Physical Address) หมายถึงแอดเดรสใน หน่วยความจําจริงเท่านั้น ่• แอดเดรสเสมือน (Virtual Address หรือ Logical Address) หมายถึงแอดเดรสที่ โปรแกรมอ้างถึง • ดังนั้นจึงต้องมีกลไกการแปลงแอดเดรสจากแอดเดรสเสมือนให้เป็นแอดเดรสจริง ณ.ตําแหน่งที่โปรแกรมส่วนนั้นถูกวางลงไป ซึ่งเราเรียกว่าการแปลงแอดเดรสู 60
  • 61. การแปลงแอดเดรส (Address Mapping) ตําแหน่งที่ ต่อเนื่องกัน การแปลงแอดเดรส ่ ํ ื หน่วยความจําจริง หน่วยความจําเสมือน 61 Virtual Address Real Address
  • 62. การแปลงแอดเดรส (Address Mapping) • เทคนิคการแปลงแอดเดรสมีอยู่หลายวิธี แต่วิธีที่นิยมใช้กันอย่างแพร่หลายคือ d i dd t l ti (DAT)dynamic address translation (DAT) • วิธีการที่จะจัดการหน่วยความจําจริงให้สามารถทํางานโปรแกรมที่มีขนาดใหญ่ จะใช้ ั ่ โป ป็ ่ ่ ่ ี ่ ็หลักการแบ่งโปรแกรมออกเป็นส่วนย่อย ๆ หลาย ๆ ส่วนเรียกว่าบล็อก (Block) • ขนาดของบล็อกแบ่งออกเป็น 2 แบบคือทุกบล็อกมีขนาดเท่ากัน หรือบล็อกมีขนาดไม่ ้เท่ากัน ดังนั้นระบบหน่วยความจําเสมือนจึงแบ่งได้เป็น 2 แบบ • หน่วยความจําเสมือนระบบหน้า (Paging system) • หน่วยความจําเสมือนระบบเซกเมนต์(Segment system) 62
  • 63. หน่วยความจําเสมือนระบบหน้า (Paging system) • เป็นการจัดแบ่งโปรแกรมออกเป็นบล็อกที่มีขนาดเท่า ๆ กันทุกบล็อก โดยจะเรียก บล็อกแต่ละบล็อกว่าหน้า (Page) • ตัวอย่างการทํางานในระบบหน้าตวอยางการทางานในระบบหนา – ระบบมีหน่วยความจําขนาด 100 Kbyte = 100,000 Byte = 105 Byte – ต้องการรันโปรแกรมที่มีขนาด 1000 Kbyte = 1 000 000 Byte = 106 Byte– ตองการรนโปรแกรมทมขนาด 1000 Kbyte 1,000,000 Byte 10 Byte โปรแกรมขนาด หน่วยความจําขนาด 1000 KByte 100 Kbyte 63
  • 64. หน่วยความจําเสมือนระบบหน้า (Paging system) • สมมุติ OS แบ่งโปรแกรมออกเป็นหน้าย่อย โดยที่แต่ละหน้า (Page) มีขนาด 1 Kbyte = 1,000 Byte = 103 Byte • ดังนั้นโปรแกรมจะถกแบ่งออกเป็น 1000 หน้า (1000 Page) ดังรปดงนนโปรแกรมจะถูกแบงออกเปน 1000 หนา (1000 Page) ดงรูป แอดเดรสภายในหน้า ้ ี่ 0 0 0 0 0 0 Displacement เลขหน้า P N b หน้าท 000 หน้าที่ 001 0 0 0 9 9 9 0 0 1 0 0 0 0 0 1 9 9 9 Page Number หน้าที่ 002 0 0 2 0 0 0 0 0 2 9 9 9 แอดเดรสเสมือน แอดเดรสเริ่มต้นของหน้าหน้าที่ 998 9 9 8 0 0 0 9 9 8 9 9 9 9 9 9 0 0 0 แอดเดรสสุดท้ายของหน้าหน้าที่ 999 9 9 9 0 0 0 9 9 9 9 9 9 64
  • 65. หน่วยความจําเสมือนระบบหน้า (Paging system) • จากรูปเราสามารถแบ่งแอดเดรสเสมือนออกเป็น 2 ส่วนู – ส่วนแรกจะเป็นค่าที่บ่งบอกหมายเลขหน้า ส่ ี่ 2 ป็ ่ ี่ ่ ่ ส ใ ้ ั้ ึ่ ี ื่ ี ่ ีส– สวนท 2 จะเปนคาทบงบอกคาแอดเดรสภายในหนานน ๆ ซงมชอเรยกวาดส เพลซเมนต์(Displacement) ่ ่• ตัวอย่างเช่น แอดเดรสเสมือนที 243765 มีความหมายว่าอยู่ในหน้าที 243 และมีดีสเพลสเมนต์เป็น 765 หมายเลขหน้า ดิสเพลซเมนต์ แอดเดรสเสมือน 65
  • 66. หน่วยความจําเสมือนระบบหน้า (Paging system) • สําหรับในหน่วยความจําจริง OS จะแบ่งออกเป็นหน้าย่อยเหมือนกัน โดยที่แต่ละหน้า ี ่ ั ้ ่ ํ ื ื 3(Page) มีขนาดเท่ากับหน้าของหน่วยความจําเสมือนคือ 1 Kbyte = 1,000 Byte = 103 Byte ้• ดังนั้นหน่วยความจําจะถูกแบ่งออกเป็น 100 หน้า (100 Page) ดังรูป แอดเดรสภายในหน้า ้ ี่ 00 0 0 0 0 0 Displacement เลขหน้า P N b หนาท 00 หน้าที่ 01 0 0 9 9 9 0 1 0 0 0 0 1 9 9 9 Page Number หน้าที่ 02 0 2 0 0 0 0 2 9 9 9 แอดเดรสเสมือน แอดเดรสเริ่มต้นของหน้าหน้าที่ 98 9 8 0 0 0 9 8 9 9 9 9 9 0 0 0 แอดเดรสสุดท้ายของหน้าหน้าที่ 99 9 9 0 0 0 9 9 9 9 9 66
  • 67. หน่วยความจําเสมือนระบบหน้า (Paging system) • โปรแกรมของผู้ใช้ไม่ว่าจะมีขนาดใหญ่เท่าใด จะต้องถูกเก็บอยู่ในหน่วยความจํารอง ึ่ โ ่ ไ ้ ่ ิ ์ ื่ ีซึงโดยส่วนมากได้แก่ ดิสก์ เนืองจากมีความจุสูง • เมื่อผู้ใช้สั่งรันโปรแกรม OS จะโหลดเอาโปรแกรมจากดิสก์เข้าไปในหน่วยความจํา ้ ่ ้ ่ครั้งละ 1 หน้า นั่นคือ 1 หน้าในโปรแกรมก็จะเข้าไปใช้เนื้อที่ในหน่วยความจํา 1 หน้า เช่นกัน • เมื่อโปรแกรมหนึ่งครอบครองหน้าใดในหน่วยความจําแล้ว โปรแกรมอื่นจะใช้หน้า นั้นอีกไม่ได้ • โปรแกรมจะครอบครองหน่วยความจําจริงเป็นจํานวนเต็มของหน้า • ดังนั้นต้องมีวิธีการแปลงแอดเดรสจากแอดเดรสเสมือนเป็นแอดเดรสจริง• ดงนนตองมวธการแปลงแอดเดรสจากแอดเดรสเสมอนเปนแอดเดรสจรง 67
  • 68. การแปลงแอดเดรสในระบบหน้า • OS จะสร้างตารางไว้สําหรับโปรเซส ตารางนี้เรียกว่า ตารางหน้า (Page table) • สมมติว่าหน่วยความจําเสมือนมีขนาด 1000 หน้า และหน่วยความจําจริงมีสมมุตวาหนวยความจาเสมอนมขนาด 1000 หนา และหนวยความจาจรงม ขนาด 100 หน้า ้ ็ ี ่ ไ ้ ่ ่ ี่• ตารางหน้าก็จะมีขนาด 1000 ช่อง ได้แก่ช่องที 000-999 • ช่องที่ 000 สําหรับหน้าที่ 000 • ช่องที่ 001 สําหรับหน้าที่ 001 • ในตารางหน้าจะมี 3 คอลัมภ์• ในตารางหนาจะม 3 คอลมภ 68
  • 69. การแปลงแอดเดรสในระบบหน้า • คอลัมภ์ที่ 1 จะบอกแอดเดรสของหน้านั้น ๆ ที่อยู่ในดิสก์ • คอลัมภ์ที่ 2 จะบอกว่าหน้านั้น ๆ อยู่ในหน่วยความจําจริงหรือไม่ • ถ้าค่าเป็น 0 หมายถึง หน้านั้นไม่ได้อย่ในหน่วยความจําจริงถาคาเปน 0 หมายถง หนานนไมไดอยูในหนวยความจาจรง • ถ้าค่าเป็น 1 หมายถึง หน้านั้นอยู่ในหน่วยความจําจริง ั ์ ี่ ึ ิ่ ้ ้ ใ ่ ิ ื• คอลัมภ์ที 3 จะบอกถึงแอดเดรสเริมต้นของหน้าในหน่วยความจําจริง คือหมายเลข หน้าในหน่วยความจําจริงตามด้วยดิสเพรสเมนต์ที่ 000 69
  • 70. การแปลงแอดเดรสในระบบหน้า หมายเลขหน้า แอดเดรสในดิสก์ 0/1 แอดเดรสในหน่วยความจําจริง 001 002 003 998 Page Table 999 g 70
  • 71. การแปลงแอดเดรสในระบบหน้า • ถ้าต้องการทราบว่าแอดเดรสเสมือน 123983 ไปอยู่ณ. ตําแหน่งใดในหน่วยความจํา จริง OS จะนําเอาแอดเดรสเสมือนมาหาค่าหมายเลขหน้าและดิสเพลซเมนต์จรง OS จะนาเอาแอดเดรสเสมอนมาหาคาหมายเลขหนาและดสเพลซเมนต • ในกรณีนี้ หมายเลขหน้าคือ 123 และดิสเพลซเมนต์คือ 983 ่ ่ ้• OS จะตรวจสอบที่ตารางหน้าในช่องที่ 123 ถ้าหน้านี้อยู่ในหน่วยความจําจริงแล้ว คอลัมน์ที่ 2 ในตารางหน้าช่องที่ 123 จะมีค่าเป็น 1 • จากนั้น OS จะอ่านค่าในคอลัมน์ที่ 3 ของตารางหน้าเพื่อหาแอดเดรสเริ่มต้นของหน้า ในหน่วยความจําจริง • แล้วนําเอาค่าในคอลัมน์ที่ 3 มารวมกับดิสเพรสเมนต์จะได้แอดเดรสในหน่วยความจํา จริงที่ตรงกับแอดเดรสเสมือนจรงทตรงกบแอดเดรสเสมอน 71
  • 72. หน้า หน้า 123 ของหน่วยความจําเสมือน 122 123 อยู่ในหน้า 54 ของหน่วยความจําจริง แอดเดรสเสมือน123 124 123983 แอดเดรสเสมอน 123 983 ้ ์ หน่วยความจําจริง ่ ํ ื หมายเลขหน้า ดิสเพลซเมนต์หน่วยความจําเสมือน 000 001 + 123 5146789 1 54000 54983 ้ตารางหน้า 72
  • 73. การแปลงแอดเดรสในระบบหน้า • กรณีที่หน้า 123 ไม่อยู่ในหน่วยความจําจริง คอลัมภ์ที่ 2 ในตารางหน้าช่อง ที่ 123 จะมีค่าเป็น 0 • OS จะอ่านค่าคอลัมภ์ที่ 1 ซึ่งเป็นแอดเดรสในดิสก์ จากนั้น OS ก็จะไปอ่าน• OS จะอานคาคอลมภท 1 ซงเปนแอดเดรสในดสก จากนน OS กจะไปอาน ข้อมูลจากดิสก์ที่แอดเดรสดังกล่าวมา 1 หน้า ( 1 Kbyte ) ่ ่• OS จะไปหาหน้าที่ว่างในหน่วยความจําจริง แล้วนําข้อมูลที่อ่านมาจากดิสก์ ไปวางไว้ในหน่วยความจําจริงในหน้าที่หามาได้ • OS จะทําการแก้ไขข้อมูลในตารางหน้าช่องที่ 123 โดยเปลี่ยนค่าคอลัมภ์ที่ 2 ป็ 1 ใส่ ่ ้ ี่ ไ ้ ่ ํ ิ ั ํ ่เปน 1 และใสคา หนาทหามาไดของหนวยความจาจรงบวกกบตาแหนง เริ่มต้น (000) ของดิสเพรสเมนต์ลงในคอลัมภ์ที่ 3 ของตารางหน้า 73
  • 74. แอดเดรสเสมือน 123 983 000 123 983 001 123 5146789 0123 5146789 0 ไปอ่านข้อมูลในแอดเดรส 514689 ในดิสก์ ตารางหน้า 514689 ในดสก โหลดลง 000 001 หน่วยความจําจริง 00 001 123 5146789 1 01 02 03000123 5146789 03983 03000 หน่วยความจําจริง ตารางหน้า 74
  • 75. การแปลงแอดเดรสในระบบหน้า • กรณีถ้าไม่มีหน้าว่างในหน่วยความจําจริง OS ต้องเลือกเอาหน้าหนึ่งออก จากหน่วยความจําจริง • หน้าใดจะถกเลือกออก OS จะมีวิธีการที่เรียกว่า การสับเปลี่ยนหน้า (Page• หนาใดจะถูกเลอกออก OS จะมวธการทเรยกวา การสบเปลยนหนา (Page Replacement) ่• หน้าที่ถูกเลือกออก OS จะทําการบันทึกข้อมูลและสถานะปัจจุบันของหน้า นั้นกลับลงในดิสก์ ณ.ตําแหน่งแอดเดรสของดิสก์ตามตารางหน้า จากนั้นจึง โหลดหน้าใหม่ทับลงไป • ้ไ ้ ใ ้ ั้ ้ ี่ ี ั ้ ี่โ• แกไขขอมูลในตารางหนาของทงของหนาทถูกเขยนทบและหนาทโหลด เข้าไปใหม่ 75
  • 76. หน่วยความจําเสมือนระบบเซกเมนต์ (Segment System) • มีลักษณะการทํางานคล้ายกับระบบหน้า (Page System) ต่างกันตรงที่ขนาด ของบล็อกไม่จําเป็นต้องเท่ากัน • ตารางเซกเมนต์(Segment table) จะมีคอลัมน์มากกว่าตารางหน้าอย่ 1• ตารางเซกเมนต (Segment table) จะมคอลมนมากกวาตารางหนาอยู1 คอลัมน์ใช้เก็บขนาดของเซกเมนต์นั้นไว้เพื่อให้ OS ทราบว่าแต่ละ ์ ี ่ ใเซกเมนต์มีขนาดเท่าใด • การอ่านหรือเขียนข้อมูลจากหน่วยความจํารองและการหาเนื้อที่ในู หน่วยความจําจริงจะกระทําตามขนาดของเซกเมนต์เช่นถ้าเซกเมนต์มี ขนาด 5 Kbyte การโหลดจากดิสก์ต้องโหลดข้อมลขึ้นมา 5 Kbyte ในขนาด 5 Kbyte การโหลดจากดสกตองโหลดขอมูลขนมา 5 Kbyte ใน ขณะเดียวกันก็ต้องหาเนื้อที่ว่างในหน่วยความจําที่มีขนาด 5 Kbyte ด้วย ่ ัเชนกน 76
  • 77. หน่วยความจําเสมือนระบบเซกเมนต์ (Segment System) หมายเลขหน้า แอดเดรสในดิสก์ 0/1 แอดเดรสในหน่วยความจําจริงขนาด 001 002 003 998 Segment Table 999 S g 77
  • 78. การสับเปลี่ยนหน้า (Page Replacement) การสับเปลี่ยนหน้ามีวิธีการ 5 วิธีดังนี้ 1. การสับเปลี่ยนหน้าแบบสุ่ม (Random) 2 สั ป ี่ ้ ่ ่ (Fi i Fi FIFO)2. การสบเปลยนหนาแบบมากอนออกกอน (First in First out :FIFO) 3. การสับเปลี่ยนหน้าแบบหน้าที่ถูกใช้น้อยที่สุดออกก่อน (Not frequently used :NFU) 4. การสับเปลี่ยนหน้าแบบหน้าใดที่ไม่ถูกใช้นานที่สุดออกก่อน (Least recently used :LRU) 5. การสับเปลี่ยนหน้าแบบหน้าใดไม่ได้ถูกใช้งานออกก่อน (Not recently usedู ( y :NUR) 78
  • 81. 1. แผ่นบันทึก (floppy disk หรือ diskette)ppy  เป็นสื่อหน่วยความจําที่เคลื่อนย้ายได้ง่ายเปนสอหนวยความจาทเคลอนยายไดงาย  โดยปกติใช้บันทึกและถ่ายโอนข้อมูลไฟล์ที่มีขนาดเล็ก เช่น ไฟล์ประมวลผลคํา ไฟล์แผ่นตารางทําการ หรือไฟล์ชนิดอื่นๆไฟลแผนตารางทาการ หรอไฟลชนดอนๆ  ฟล็อปปี้ ดิสก์ไดรฟ์ (FDD) - ใช้บันทึกข้อมูลหรือโปรแกรม - จะทําการค้นคืนข้อมลโดยการอ่านประจ- จะทาการคนคนขอมูลโดยการอานประจุ แม่เหล็กไฟฟ้าบนผิวหน้าดิสก์ ้ ั้ ี ิ ็ ่ ฟ ็ ิ ิ ิ ์- บางครงอาจเรยกดสเกตวาเฟลกซเบลดสก และฟล็อปปี้ 81
  • 82. ดิสเก็ตแบบดั้งเดิม  แบบที่ใช้กันโดยทั่วไปคือ 2HD มาจากคําว่า “สองหน้า ความหนาแน่นสูง”  คุณลักษณะ บานเปิด (Shutter)บานเปด (Shutter) ฉลาก (Labels) ่ ป้ ั ีช่องป้องกันการเขียน (Write-protection notch) แทร็ค (Tracks) เซ็กเตอร์ (Sectors) 82
  • 83. ดิสเก็ตความจุสูง  บางครั้งเรียกว่า ดิสเก็ตแบบกล่องแข็ง  ต้องใช้ดิสก์ไดรฟ์ชนิดพิเศษในการอ่าน  ตัวอย่างที่นิยมใช้งานกันอย่างแพร่หลายเช่น ซิปดิสก์ ตวอยางทนยมใชงานกนอยางแพรหลายเชน ซปดสก มีความจุ 100 เมกะไบต์, 250 เมกะไบต์หรือ 750 เมกะไบต์ ่นิยมใช้บันทึกไฟล์มัลติมีเดีย ไฟล์ฐานข้อมูล และไฟล์ที่มีขนาด ใหญ่ญ 83
  • 84. 2. ฮาร์ดดิสก์ (Hard disk)  ใช้แผ่นโลหะหนาวางซ้อนกัน เรียกว่า แพลตเตอร์  สามารถบันทึกและค้นคืนได้เร็วกว่าดิสเก็ต  มีความจสงุ ู  มีโอกาสเสียหายได้ง่ายกว่า  ์ ิส ์ ่ ป็ 3 ิ ไ ้ ่ ฮารดดสกแบงออกเปน 3 ชนดไดแก  ฮาร์ดดิสก์ภายใน  ฮาร์ดดิสก์กล่อง ฮารดดสกกลอง  ฮาร์ดดิสก์อัดแน่น  การเพิ่มประสิทธิภาพของฮาร์ดดิสก์ การเพมประสทธภาพของฮารดดสก 84
  • 86. ฮาร์ดดิสก์ภายใน  ติดตั้งภายในหน่วยระบบ ตดตงภายในหนวยระบบ  หรือเรียกอีกอย่างว่า ฮาร์ดดิสก์ยึดติด  โดยมากถูกกําหนดให้เป็นไดรฟ์ ซี (C drive)  มีข้อดีกว่าดิสเก็ตดังนี้ ความจุ ความเร็วในการเข้าถึงข้อมูลู ย้อนกลับ 86
  • 88. ฮาร์ดดิสก์อัดแน่น  สามารถถอดเคลื่อนย้ายได้ สามารถถอดเคลอนยายได  ใช้เก็บข้อมูลที่มีปริมาณมากู  นิยมใช้ในเมนเฟรมคอมพิวเตอร์  นิยมใช้กับธนาคารและบริษัทบัตรเครดิต ย้อนกลับ 88
  • 90. 3. ออปติคัลดิสก์ (Optical disk)p  สามารถเก็บข้อมูลได้มากกว่า 17 กิกะไบต์ู  มี 3 ประเภท 1 คอมแพ็คดิสก์ หรือ ซีดี (CD)1. คอมแพคดสก หรอ ซด (CD) 2. ดีวีดี (DVD) 3 ไฮเดฟ3. ไฮเดฟ 90