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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

16 4.2.4 โครงแบบข้อมูลความจำ 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 protocol และจะมีการที่จะพยามแสดงสถานะทั้ง 4 สถานะใน cache ของการส่ง โดยมี

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


Ads by Google