งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

MESI Protocals ตัวประมวลผลที่โดยทั่วไปให้ความต่อเนื่องแคช มีการติดต่อที่ทำให้สำเร็จ โดย MESI protocol และจะมีการที่จะพยามแสดงสถานะทั้ง 4 สถานะใน cache.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "MESI Protocals ตัวประมวลผลที่โดยทั่วไปให้ความต่อเนื่องแคช มีการติดต่อที่ทำให้สำเร็จ โดย MESI protocol และจะมีการที่จะพยามแสดงสถานะทั้ง 4 สถานะใน cache."— ใบสำเนางานนำเสนอ:

1 MESI Protocals ตัวประมวลผลที่โดยทั่วไปให้ความต่อเนื่องแคช มีการติดต่อที่ทำให้สำเร็จ โดย MESI protocol และจะมีการที่จะพยามแสดงสถานะทั้ง 4 สถานะใน cache ของการส่ง โดยมี 1. invalid เส้นแคชอันนี้ไม่อย่างมีผล 2. Exclusive แคชอันนี้มีสำเนาคนเดียวของข้อมูลโดยที่ ข้อมูลมีความถูกต้อง 3. Shared แคชมากกว่า 1 ที่มีการครอบครองสำเนานี้เอาไว้ มีการ copy ข้อมูลอย่างถูกต้อง 4. Modified มีการปรับปรุงแก้ไขเส้นทางในการส่ง การ copy ข้อมูลใช้การไม่ได้

2 Retry Processor พยายามที่จะหาตำแหน่งทางเข้า cache อันไหนที่มีการปรับปรุงแก้ไขที่มีการถูกบังคับและพยายามที่ส่งข้อมูลผ่านทาง bus ภายหลัง cache มีการถือครองทรัพยากรอยู่จะมีการเขียนข้อมูลกลับไปที่ข้อมูล

3 MESI Protocol นี่คือแผนภูมิของสถานะ diagram ของ MESI protocol คล้ายกับอุปกรณ์ของ PowerPC มีรูปภาพประกอบดังนี้

4 แนะนำ ในเอกสารอันนี้เรานำเสนอตัวจำลองความต่อเนื่องแคช MESI protocol [1] MESI protocol คือวิธีรักษาความต่อเนื่องของเนื้อหาหน่วยความจำแคชในระบบความจำที่มีลักษณะลำดับชั้น [2], [3] มันอยู่บนพื้นฐานบนที่เป็นไปได้ 4 สถานะของแคชบล็อก: Modified, Exclusive, Shared and Invalid. แต่ละสถานะที่ถูกเชื่อมต่อเป็น 1 ใน 4 สถานะเหล่านี้และช่วงต่อระหว่างมันให้คำจำกัดความ MESI protocol ปัจจุบันนี้ตัวประมวลผลส่วนใหญ่ ( Intel, AMD ) ใช้ protocol อันนี้หรือรุ่นของมัน การรู้ว่าตัวประมวลผลเหล่านี้รักษาความต่อเนื่องแคชอย่างไรสำคัญมากสำหรับนักเรียน ตัว

5 แนะนำ 2 จำลอง MESI คือเครื่องมือซอฟต์แวร์ที่ถูกดำเนินการในภาษา JAVA เราพัฒนามันโดยเฉพาะเพื่อสอนจุดมุ่งหมาย มันถูกตระหนักที่จะแสดงให้เห็นว่า MESI protocol ทำงานอย่างไรเพื่อรักษาความต่อเนื่องหน่วยความจำแคชในระบบคอมพิวเตอร์ซึ่งมีผู้ใช้งานหลายคนในเวลาเดียวกันสำหรับตัวประมวลผลเดียว ตัวจำลองอนุญาตเพื่อวางตำแหน่งจำนวนของระดับแคช, ยิ่งกว่านั้นสำหรับระดับแคชแต่ละผู้ใช้สามารถชี้ให้เห็นพารามิเตอร์หน่วยความจำแคชทั้งหมดเท่ากับความสามารถหน่วยความจำแคช, ขนาดเส้นแคช, associativity, นโยบายการแทนที่, จำนวนของคำต่อการเข้าถึงความจำ,นโยบายเขียน เป็นตัน นอกจากนี้ ผู้ใช้สามารถวางตำแหน่งสถิติของการเข้าถึงความจำเพื่อการศึกษาและแสดงว่าพวกเขาทำอย่างไร ( จำนวนของแคชที่พลาดและประเภทของมัน, จำนวนของการเข้าถึงความจำ, ถูกจุด เป็นต้น). โค้ดที่เลียนแบบถูกนำเข้าสู่โปรแกรมที่อ้างถึงลำดับหน่วยความจำ. ในเวลานั้นผู้ใช้ระบุว่าเมื่อใดที่มี Input/Output Interruptionหรือ DMA ถูกทำให้เกิดขึ้น [4],บล็อกความจำแรกของการประมวลผล Input/Output และจำนวนของคำที่เลื่อน [5]สุดท้าย ในเวลาการจำลอง, ผู้ใช้สามารถเรียนการเปลี่ยนแปลงเนื้อหาความจำและช่วงต่อระหว่าง MESI ทั้ง 4 สถานะ ส่วนต่างๆในเอกสารอันนี้ถูกจัดตั้งดังต่อไปนี้: ส่วนที่ 2 อธิบาย MESI protocol และการทำงานของมัน, ส่วนที่ 3 แสดงลักษณะเฉพาะที่สำคัญของตัวจำลอง MESI และการใช้งาน, ส่วนที่ 4 อธิบายผลการทดลองและแสดงอินเตอร์เฟสตัวจำลอง

6 MESI Protocol 2 MESI protocol อนุญาตเราให้รักษาความต่อเนื่องในระบบที่ถูกซ่อน มันอยู่บนพื้นฐาน 4 สถานะ ซึ่งบล็อกในหน่วยความจำแคชทำได้ สถานะทั้ง 4 ย่อเพื่อ MESI : modified, exclusive, shared and invalid. สถานะเหล่านี้ถูกอธิบายที่ข้างใต้: Invalid: มันคือสถานะที่ไม่ถูกต้อง, ข้อมูลที่คุณกำลังมองหาไม่อยู่ในแคช, หรือสำเนาที่อยู่ของข้อมูลเหล่านี้ไม่ถูกต้องเพราะว่าตัวประมวลผลอีกอันเปลี่ยนตำแหน่งความจำ Shared: การใช้ร่วมกันไม่มีการแก้ไข ตัวประมวลผลอันอีกสามารถมีข้อมูลที่หน่วยความจำแคชและสำเนาทั้งสองอยู่ในฉบับที่ปัจจุบันของตัวประมวลผลเหล่านั้น Exclusive: สถานะที่เฉพาะไม่มีการแก้ไข. นั่นคือ, แคชอันนี้เป็นอันเดียวที่มีข้อมูลบล็อกที่ถูกต้อง

7 MESI Protocol 2 Modified: ที่จริงแล้ว, มันคือสถานะที่มีการแก้ไขข้อมูลที่ผูกขาด. มันหมายความว่าแคชมีสำเนาอันเดียวที่ถูกต้องในระบบทั้งหมด เพื่ออธิบายสิ่งเหล่านี้มากขึ้น เราจึงนำเสนอรูปต่อไปนี้ : มีรูปภาพประกอบดังนี้

8 MESI Protocol 2 ถึงแม้ว่ารูปนี้จะชัดเจนมาก, นี่เป็นคำอธิบายย่อๆ: เริ่มต้น, เวลาที่แคชว่างและบล็อกของความจำถูกเขียนลงในแคชโดยตัวประมวลผล, บล็อกอันนี้มีสถานะที่เฉพาะเพราะไม่มีสำเนาของบล็อกอันนั้นในแคชเลย หลังจากนั้น, ถ้าบล็อกนี้ถูกเขียน, มันจะเปลี่ยนเป็นสถานะที่มีการแก้ไข เพราะบล็อกอยู่ได้แค่ 1 แคชเท่านั้นแต่มันได้ถูกแก้ไขและบล็อกซึ่งอยู่ในหน่วยความจำหลักก็แตกต่างกันด้วย.

9 MESI Protocol 2 ส่วนอีกด้านหนึ่ง, ถ้าบล็อกอยู่ในสถานะที่เฉพาะ, เมื่อ CPU พยายามที่จะอ่านมันและไม่พบบล็อกนั้น, มันจะพบบล็อกนั้นในหน่วยความจำหลักและดึงข้อมูลมันไปหน่วยความจำแคชนั้น จากนั้น, บล็อกนั้นจะอยู่ในแคชที่แตกต่างกัน 2 แคช ดังนั้นสถานะของมันจึงถูกใช้ร่วมกัน จากนั้น, ถ้า CPU ต้องการที่จะเขียนลงในบล็อกซึ่งสถานะถูกแก้ไขและมันไม่ได้อยู่ในแคชของมัน, บล็อกนี้จะถูก clear ออกไปจากแคชที่มันอยู่และถูกดึงข้อมูลลงในหน่วยความจำหลักเพราะมันเป็นสำเนาหมุนเวียนของบล็อกในระบบ ในกรณีนั้น, CPU เขียนลงบล็อกและมันถูกดึงลงหน่วยความจำแคชด้วยสถานะที่เฉพาะ, เพราะมันเป็นรุ่นล่าสุด. ถ้า CPU ต้องการอ่านบล็อกและหาบล็อกไม่พบในแคชของมัน, เพราะมีสำเนาเมื่อเร็วๆนี้มาก, ดังนั้นระบบจึง clear บล็อกจากที่มันอยู่แล้วดึงข้อมูลมันลงในหน่วยความจำหลัก จากนั้น, บล็อกจะถูกอ่านและสถานะใหม่จะเป็นสถานะที่ใช้ร่วมกันเพราะมี 2 สำเนาอยู่ในระบบ ทางเลือกอื่นคือ CPU เขียนลงในบล็อกที่ใช้ร่วมกัน, ในกรณีนี้บล็อกจะถูกเปลี่ยนจากสถานะนั้นไปเป็นสถานะที่เฉพาะ ดังนั้น, คุณต้องแน่ใจว่าหน่วยประมวลผลกำลังใช้ข้อมูลที่ถูกต้องในการทำงานของมัน เราไม่ต้องกังวล ถ้าหน่วยประมวลผลจะเปลี่ยนข้อมูลจากหน่วยความจำหลักและข้อมูลนั้นอยู่ในแคชของมัน ด้วย MESI protocol, หน่วยประมวลผลได้ข้อมูลที่มันต้องการทุก

10 แบบจำลอง MESI ตัวจำลอง MESI คือระบบซอฟต์แวร์เพื่อจุดมุ่งหมายที่เกี่ยวกับการศึกษาที่เลียนแบบการทำงานของโปรแกรมประยุกต์ซอฟต์แวร์ในระบบมัลติโพรเซสเซอร์ที่ถูกซ่อนและใช้ MESI protocol เพื่อรักษาความต่อเนื่องข้อมูล ตัวจำลองช่วยเหลือสำหรับผู้ใช้ในแนวหลายๆแนวทาง อันดับแรก, มันสามารถแก้ไขได้ด้วยการพึ่งพาความต้องการของคุณเพราะว่ามันมีพารามิเตอร์ที่สามารถแก้ไขได้มากมาย เพราะว่าเราสามารถเห็นในรูป, ตัวจำลองมี task barที่เป็นแบบฉบับที่การปฏิสัมพันธ์ทำง่ายกว่า ทางเลือกที่น่าสนใจที่สุดคือทางเลือก“Configuration”, เราสามารถแก้ไขพารามิเตอร์หน่วยความจำหลัก, พารามิเตอร์หน่วยความจำแคช, อย่างเช่นความจุความจำแคช, ขนาดเส้นแคช, the associativity, นโยบายการแทนที่, จำนวนของคำต่อการเข้าถึงความจำ, นโยบายการเขียน เป็นต้น นอกจากนี้ ผู้ใช้สามารถวางตำแหน่งสถิติของการเข้าถึงความจำเพื่อการศึกษาและแสดงว่าพวกเขาทำอย่างไร ( จำนวนของแคชที่พลาดและประเภทของมัน, จำนวนของการเข้าถึงความจำ, ถูกจุด เป็นต้น).

11 แบบจำลอง MESI ทางเลือกที่น่าสนใจมากอีกทางคือทางเลือก I/O, ซึ่งอนุญาตให้คุณนำเข้าสู่สัญญาณ I/O เข้าสู่ตัวจำลองและคุณสามารถบอกมันเมื่อต้องการให้ทำงาน นอกจากนี้, แบบจำลองให้ทางเลือกการสร้างภาพนามธรรม, คุณสามารถเห็นสถิติทั้งหมดที่ตัวจำลองทำสอดคล้องกับโค้ดที่ถูกเลียนแบบ เวลา นอกจากนั้น, คุณสามารถเห็นเนื้อหาของหน่วยความจำหลัก, เนื้อหา I/O และภาพกราฟิกที่ถูกตัวจำลองทำ นี่คือเครื่องมือที่ดีเยี่ยมเพื่อการศึกษาหาความรู้ เพราะว่ามันสร้างสถิติที่มีประโยชน์ขึ้นมากมายนั่นสามารถอธิบายโดยนักเรียนยิ่งกว่านั้นมันทำการศึกษาด้วย protocol ที่ง่ายกว่า ยิ่งกว่านั้น, ตัวจำลองมีแนวทางที่ทำงาน2แนวทาง ทางแรกคือสิ่งที่ปกติ, คุณใส่กุญแจการเริ่มต้นและการจำลองเริ่มต้น, อย่างไรก็ตามมีแนวทางอีกที่ในนั้นคุณสามารถหยุดตัวจำลองเมื่อไหร่ที่คุณอยากให้หยุดก็ได้ยิ่งกว่านั้นคุณสามารถเข้าใจระบบที่กำลังทำงานตอนนี้ เหตุผลอีกอันคือเครื่องมือที่ยิ่งใหญ่เพื่อสอนคืออินเตอร์เฟส ตัวจำลองมีอินเตอร์เฟสที่ธรรมดามากและชัดเจนซึ่งทำมันการใช้ง่ายมาก เพราะว่าเราสามารถเห็นในรูป, ตัวจำลองมี 4 สถานะที่ถูกชี้ที่ส่วนล่างของจอ เมื่อโค้ดทำงาน, สถานะเปลี่ยนสีของมันและนักเรียนสามารถเห็นสถานะที่กำลังทำงานแต่ละเวลา ถ้าทางเลือกทางนี้ถูกใช้โดยแนวทางที่ทำงานต่างกัน, มันทำตัวจำลองนำไปใช้ประโยชน์ได้การเรียนรู้ protocol มาก

12 แบบจำลอง MESI สรุป, ผลลัพธ์คือสถิติและพวกเขาสามารถอธิบายโดยคนที่มีความรู้ทางเทคนิค ดังนั้นตัวจำลองสามารถถูกคนมีความรู้เทคนิคใช้หรือนักเรียนที่เรียนด้านการประยุกต์ใช้ โค้ดถูกใส่ลงตัวจำลองในฐานะลำดับการสอบถาม ตัวจำลองมีทางเลือกที่อนุญาตคุณนำเข้าสู่สัญญาณ Input/Output และมันจะปรากฏโดยการใส่โค้ดซึ่งกำลังถูกจำลอง มีรูปภาพประกอบดังนี้

13 Experimental results 4.1 โครงแบบข้อมูลความจำ
4.1 โครงแบบข้อมูลความจำ เรากำลังเรียนคำตอบที่ตัวจำลองให้เราเนื่องจากการลงสู่โค้ดของซอฟต์แวร์ที่เป็นจริง ซอฟต์แวร์อันนี้ประกอบด้วยเมตริกซ์การคูณ เรากำลังวางตำแหน่งตัวจำลองโดยหน่วยความจำหลักแตกต่างของ 3 หน่วยและแคชพารามิเตอร์ : 1. Block size: 8; cache size: 1kb; replace: LRU; Mapping: Associative by groups: 8; Unified. 2. Block size: 4; cache size: 1kb; replace: random; Mapping: Direct; Mixed. 3. Block size: 8; cache size: 4kb; replace: LRU; Mapping: Associative by groups: 8; Unified. เราใช้ 1 หรือ 2 โครงแบบในแต่ละระดับของหน่วยความจำแคช

14 Experimental results 4.2 ผลลัพธ์
4.2 ผลลัพธ์ โครงแบบข้อมูลความจำ 1 ใน Level 1: โครงแบบอันนี้มีการแสดงแม่นยำ 91 เปอร์เซ็นต์ แม้ว่ามันคือโครงแบบที่ธรรมดามาก, มันมีอัตราอุบัติเหตุที่ต่ำมาก เพราะว่าการแทนบล็อกไม่จำเป็น, ซึ่งเป็น 1 สาเหตุข้อบกพร่องที่สำคัญ มันพึ่งพาการแทนที่ที่ถูกเลือกเพราะว่าคุณสามารถแทนบล็อกที่กำลังจะถูกอ่านทันที มีรูปภาพประกอบดังนี้

15 Experimental results 4.2.2 โครงแบบข้อมูลความจำ 2 ใน Level 1:
โครงแบบอันนี้มีการแสดงแม่นยำ 84 เปอร์เซ็นต์ แม้ว่าความจำมีขนาดที่เหมือนกับโครงแบบก่อนหน้า, สิ่งนี้ผิดพลาดกว่าหลาย ผลลัพธ์คือ : Block size : เหตุผลที่สำคัญคือสิ่งนี้ เพราะโครงแบบก่อนหน้า, แต่ละความผิดพลาด, ระบบดึงข้อมูล 8 หน้าต่อบล็อก; ปัจจุบัน, เมื่อข้อผิดพลาดปรากฏ, ระบบจะดึงข้อมูล 4 หน้าต่อ แต่ละบล็อก Replacement policy : นโยบายแบบสุ่มถูกใช้, นโยบายที่มีประสิทธิภาพที่สุดคือ LRU Distribution : โครงแบบอันนี้ถูกผสม, ดังนั้นมีที่ผิดพลาดมากกว่าในสิ่งที่ถูกรวมกัน, เพราะว่าโครงแบบที่ถูกผสม, ในแต่ละความผิดพลาด, ระบบดึงข้อมูลบล็อกของข้อมูลหรือคำสั่ง ส่วนอีกด้านหนึ่ง, ข้อมูลและวิธีใช้ทุ่มเทโดยโครงแบบที่ถูกรวมกันระบบ

16 Experimental results โครงแบบข้อมูลความจำ 3 ใน Level 2 และ โครงแบบข้อมูลความจำ 2 ใน Level 1: โครงแบบอันนี้มีการแสดงแม่นยำ 84 เปอร์เซ็นต์ในระดับ 1 ของแคชและในระดับ2 43 เปอร์เซ็นต์ ระดับ1เคยพลาดที่ระบบใกล้ระดับ2 7ครั้ง ระดับ 2 มีขนาดกลุ่มที่ใหญ่กว่าสิ่งแรก โดยผิดพลาดของระดับ 2 แต่ละระบบโดยคำที่มากกว่าเวลาที่อย่างได้ระดับทุ่มเท 1 ผิดพลาด ดังนั้นมันดูเหมือนว่ากว่าพบคำในอย่างได้ระดับ 2

17 สรุป ซอฟต์แวร์ที่ถูกแสดงคือเครื่องมือที่เหมาะมากที่ชี้อาชีพหน่วยความจำแคชจากการสอบถามความจำระหว่างกระทำการของโปรแกรม มันถูกชี้ให้เห็นเป็นพิเศษเพื่อสอนแนวคิดหน่วยความจำแคชอย่างความสามารถขนาดเส้นแคช associativity นโยบายแทนที่ ยิ่งกว่านั้นเราสามารถสอนแนวคิดอื่นชอบ interruption input/output และ interruption เหล่านี้กำหนดการโอนย้ายของข้อมูลอย่างไร(โดยการประยุกต์มัน) ที่กรณีเหล่านี้เราสอนความต่อเนื่องความจำ MESI protocol โดยแสดงความแตกต่างของสถานะของ protocol เราแสดงผลที่ทดลองหลายๆอันเพื่อยกตัวอย่างที่เราเพิ่งบรรยาย

18 อ้างอิง [1] Jimenez Maturana, F.J.; Simulador de memoria cache con aplicación del protocolo de coherencia MESI. Escuela Politécnica Superior. Universidad de Córdoba. Spain [2] Hamacher, C; Vranesic, Z; Zaky, S. Organization of Computers. Translated by Anguita López, A; Ortega Lopera, J; Pelayo Valle, F.J; Rojas Ruiz, I; Prieto Campos, B. Revised technical of Prieto Espinosa, A. 5ª ed. Madrid. McGraw- Hill/Interamericana of Spain S.A p. ISBN: [3] Tanembaum, Andrew S. Organización de Computadores. Un enfoque estructurado. 3ª Ed. Prentice Hall pp [4] Stalling, W. Computer Architecture. 5ª Ed. Prentice-Hall p. ISBN: [5] Patterson, David A; Hennessy, John L. Structures and Design of Computers. Interficie circuitería/programación. Edition Spain. Editorial Reverté, S.A. p. ISBN:


ดาวน์โหลด ppt MESI Protocals ตัวประมวลผลที่โดยทั่วไปให้ความต่อเนื่องแคช มีการติดต่อที่ทำให้สำเร็จ โดย MESI protocol และจะมีการที่จะพยามแสดงสถานะทั้ง 4 สถานะใน cache.

งานนำเสนอที่คล้ายกัน


Ads by Google