การจัดระเบียบหน่วยความจำในคอมพิวเตอร์ การจัดระเบียบหน่วยความจำทางกายภาพและตรรกะในระบบคอมพิวเตอร์

การจัดระเบียบหน่วยความจำในเครื่องคอมพิวเตอร์

วัตถุประสงค์ พารามิเตอร์หลัก และ

การจำแนกประเภทของหน่วยความจำ

อุปกรณ์หน่วยความจำ (อุปกรณ์จัดเก็บข้อมูล) VM ได้รับการออกแบบมาเพื่อบันทึกจัดเก็บและอ่านข้อมูลที่นำเสนอในรูปแบบดิจิทัล /2,3/ อุปกรณ์หน่วยความจำ เช่น โปรเซสเซอร์ ทำงานกับข้อมูลสองประเภท - โปรแกรมและข้อมูล ดังนั้นคุณลักษณะของหน่วยความจำจึงกำหนดประสิทธิภาพและฟังก์ชันการทำงานของ VM เป็นส่วนใหญ่

อุปกรณ์หน่วยความจำทำงานในสองโหมด - การเข้าถึงหน่วยความจำและ พื้นที่จัดเก็บ- ในโหมดการเข้าถึงหน่วยความจำ ข้อมูลจะถูกเขียนหรืออ่านจากหน่วยความจำ หากไม่ได้เข้าถึงหน่วยความจำ หน่วยความจำจะเข้าสู่โหมดที่เก็บข้อมูล

พารามิเตอร์หลักที่กำหนดลักษณะของอุปกรณ์หน่วยความจำ ได้แก่ ความจุข้อมูล (ปริมาตร) ประสิทธิภาพ การใช้พลังงาน และต้นทุน /2,5,8/

ความจุข้อมูล (ปริมาตร)อุปกรณ์หน่วยความจำถูกกำหนดโดยจำนวนข้อมูลสูงสุดที่จัดเก็บและวัดเป็นไบต์, KB, MB, GB และ TB

1 KB = 2 10 ไบต์; 1MB = 2 20 ไบต์; 1GB = 2,30 ไบต์ และ 1TB = 2,40 ไบต์

ประสิทธิภาพของหน่วยความจำนั้นมีลักษณะเฉพาะด้วยพารามิเตอร์หลักดังต่อไปนี้:

เวลาสุ่มตัวอย่าง (เข้าถึง) t V,ช่วงเวลาที่กำหนดระหว่างช่วงเวลาของสัญญาณสุ่มตัวอย่าง (จุดเริ่มต้นของรอบการอ่าน) และการรับข้อมูลการอ่านที่เอาต์พุตหน่วยความจำ

ระยะเวลาของวงจรการไหลเวียน t Cซึ่งกำหนดโดยช่วงเวลาที่อนุญาตขั้นต่ำระหว่างการเข้าถึงหน่วยความจำที่ต่อเนื่องกัน เมื่อพิจารณาว่าการเข้าถึงหน่วยความจำหมายถึงการเขียนหรือการอ่าน บางครั้งมันก็ถูกแบ่งออก ระยะเวลาของรอบการอ่าน t C.CHT- และ ระยะเวลารอบการบันทึก t Ts.ZPสำหรับประเภทของหน่วยความจำที่ความยาวของวงจรต่างกัน เช่น ที C.CHT. ≠ เสื้อ Ts.ZP .

โดยทั่วไป วงจรการเข้าถึงประกอบด้วยระยะการดึงข้อมูล (การเข้าถึง) และระยะการสร้างหน่วยความจำใหม่ (การกู้คืน) ดังนั้น เสื้อ C > เสื้อ V.

ความเร็วหน่วยความจำยังแสดงลักษณะเฉพาะด้วยอัตราการถ่ายโอนของข้อมูลที่เขียนหรืออ่านและวัดเป็น MB/วินาที

การใช้พลังงานสำหรับหน่วยความจำหลายประเภทในโหมดการเข้าถึงจะสูงกว่าในโหมดที่จัดเก็บข้อมูลอย่างมาก หน่วยความจำแบบไม่ลบเลือนในโหมดจัดเก็บข้อมูลไม่สิ้นเปลืองไฟฟ้าเลย แต่หน่วยความจำหลายประเภท เช่น หน่วยความจำไดนามิกอิเล็กทรอนิกส์ จำเป็นต้องมีวงจรการสร้างใหม่ในโหมดการจัดเก็บข้อมูล ดังนั้นการใช้พลังงานในโหมดนี้จึงเทียบได้กับการใช้พลังงานในโหมดการเข้าถึง

หากต้องการเปรียบเทียบหน่วยความจำประเภทต่างๆ จะสะดวกในการใช้พลังงานและต้นทุนของอุปกรณ์หน่วยความจำที่ลดลงเหลือเซลล์เดียว (เช่น เฉพาะ)

พารามิเตอร์หน่วยความจำที่สำคัญก็คือ ความกว้างบัสข้อมูลหน่วยความจำกำหนดจำนวนไบต์ที่สามารถอ่านหรือเขียนพร้อมกันได้

อุปกรณ์หน่วยความจำ VM สามารถจำแนกได้ตามเกณฑ์ต่าง ๆ : ตามหลักการทางกายภาพของการทำงาน, ตามวัตถุประสงค์การใช้งาน, ตามวิธีการขององค์กร, ความต้องการแหล่งจ่ายไฟในโหมดจัดเก็บข้อมูล ฯลฯ

ตามหลักการทำงานทางกายภาพ หน่วยความจำแบ่งออกเป็นอิเล็กทรอนิกส์ แม่เหล็ก ออปติคอล แม่เหล็ก-ออปติคอล

หน่วยความจำอิเล็กทรอนิกส์ดำเนินการกับองค์ประกอบเซมิคอนดักเตอร์และนำไปใช้ในรูปแบบของ LSI หน่วยความจำอิเล็กทรอนิกส์แบ่งออกเป็น คงที่และ พลวัต.

ในหน่วยความจำแบบคงที่ LSI ทริกเกอร์แบบคงที่บนทรานซิสเตอร์แบบไบโพลาร์หรือแบบสนามจะถูกใช้เป็นเซลล์หน่วยความจำพื้นฐาน ดังที่ทราบกันดีว่าจำนวนสถานะเสถียรของทริกเกอร์คือสองซึ่งทำให้สามารถใช้เพื่อจัดเก็บหน่วยข้อมูลได้เล็กน้อย เซลล์หน่วยความจำสำหรับจัดเก็บไบต์และคำใช้ฟลิปฟล็อป 8 และ 16 ตามลำดับ

ในหน่วยความจำไดนามิก LSI ตัวเก็บประจุไฟฟ้าจะถูกใช้เป็นเซลล์หน่วยความจำพื้นฐาน การมีอยู่ของประจุสอดคล้องกับการจัดเก็บตรรกะ "1" การไม่มีประจุ - กับการจัดเก็บตรรกะ "0" ความจุระหว่างอิเล็กโทรดของทรานซิสเตอร์ MOS หรือตัวเก็บประจุ MOS ที่สร้างขึ้นเป็นพิเศษในคริสตัล LSI จะถูกใช้เป็นตัวเก็บประจุ ส่วนของแผนภาพบล็อกของหน่วยความจำแบบไดนามิกที่มีสองเซลล์ 1 และ 2 แสดงในรูปที่ 6.1

เซลล์หน่วยความจำพื้นฐานแต่ละเซลล์ประกอบด้วยตัวเก็บประจุ MOS C (หนึ่งในสิบของ pF) และสวิตช์ทรานซิสเตอร์ T ที่เชื่อมต่อตัวเก็บประจุนี้กับบัสข้อมูล ประตูของสวิตช์ MOS ของทรานซิสเตอร์เชื่อมต่อกับเอาต์พุตที่สอดคล้องกันของตัวถอดรหัสที่อยู่ เมื่อเลือกเซลล์แล้ว สวิตช์ T จะเปิดขึ้นและเชื่อมต่อตัวเก็บประจุ C เข้ากับบัสข้อมูล นอกจากนี้ ขึ้นอยู่กับประเภทของคำสั่ง: เขียน (WR) หรืออ่าน (RD) ข้อมูลอินพุตจะถูกเขียน (DI) หรือข้อมูลเอาต์พุตถูกอ่าน (DO) ผ่านแอมพลิฟายเออร์ที่เกี่ยวข้อง

หน่วยความจำแบบไดนามิกเมื่อเปรียบเทียบกับหน่วยความจำแบบคงที่นั้นง่ายกว่ามาก ราคาถูกกว่าและให้การบูรณาการในระดับที่สูงมาก เช่น ความจุจำเพาะที่สูงขึ้น แต่เมื่อเทียบกับหน่วยความจำแบบไดนามิกแบบคงที่ มันจะช้ากว่าและต้องมีการสร้างข้อมูลใหม่ (ฟื้นฟู) เป็นระยะในเซลล์ระดับประถมศึกษา กล่าวอีกนัยหนึ่งจำเป็นต้องคืนค่าประจุของตัวเก็บประจุ C เป็นระยะ ๆ ซึ่งจะคายประจุเองเมื่อเวลาผ่านไปเช่น ข้อมูล "สูญหาย" ในการดำเนินการนี้ ข้อมูลจะถูกอ่านจากเซลล์หน่วยความจำทุก ๆ สองสามมิลลิวินาที (มิลลิวินาที) จากนั้นข้อมูลจะถูกเขียนใหม่ ซึ่งช่วยให้สามารถกู้คืนประจุบนตัวเก็บประจุ C ที่เก็บข้อมูลได้ ความจำเป็นในการจัดระเบียบวงจรการรีเฟรชเป็นระยะทำให้เกิดหน่วยความจำแบบไดนามิก การจัดการค่อนข้างซับซ้อนมากขึ้น

สำหรับโมดูลหน่วยความจำอิเล็กทรอนิกส์ทั่วไป เวลาในการเข้าถึง โทรทัศน์มีตั้งแต่หน่วยจนถึงสิบนาโนวินาที ( nsec) และความจุข้อมูลเป็นสิบ - ร้อย MB

หน่วยความจำอิเล็กทรอนิกส์แบบคงที่และไดนามิกคือ ระเหย, เช่น. เมื่อปิดแหล่งจ่ายไฟ ข้อมูลในเซลล์จะไม่ถูกบันทึก นอกจากนี้ยังมี ไม่ระเหยหน่วยความจำอิเล็กทรอนิกส์ - อุปกรณ์หน่วยความจำแบบอ่านอย่างเดียว (ROM) ข้อมูลที่สามารถอ่านได้ระหว่างการทำงานของ VM เท่านั้น เซลล์หน่วยความจำ ROM จะกล่าวถึงด้านล่าง

หน่วยความจำแม่เหล็กขึ้นอยู่กับการมีอยู่ของวัสดุแม่เหล็กจำนวนหนึ่ง (เช่น เหล็กออกไซด์) ของสถานะแม่เหล็กคงเหลือสองสถานะที่เสถียรของเครื่องหมายตรงข้าม วัสดุแม่เหล็กดังกล่าวมีลักษณะเป็นวงฮิสเทรีซิสเป็นรูปสี่เหลี่ยมผืนผ้า ข = ฉ(ส)และจากนั้นชั้นแม่เหล็กที่ใช้งานได้ก็ถูกสร้างขึ้นมาใช้กับพื้นผิวของสื่อเคลื่อนที่ต่างๆ - ดิสก์แม่เหล็ก ในการเขียนและอ่านข้อมูล จะใช้หัวแม่เหล็กซึ่งเป็นขดลวดเหนี่ยวนำขนาดเล็กพันบนแกนแม่เหล็กที่มีช่องว่าง เมื่อทำการบันทึก หัวแม่เหล็กจะดึงดูดส่วนของชั้นแม่เหล็กที่ผ่านใต้ช่องว่างการทำงานในทิศทางที่กำหนดโดยทิศทางของกระแสที่ไหล เมื่ออ่าน พื้นที่แม่เหล็กของพื้นผิวจะเคลื่อนผ่านใกล้กับหัวอ่านแบบอินดักทีฟและเหนี่ยวนำให้เกิดพัลส์แรงเคลื่อนไฟฟ้าเข้าไป อุปกรณ์หน่วยความจำที่ใช้หลักการนี้มีต้นทุนการจัดเก็บข้อมูลที่เฉพาะเจาะจงต่ำมาก และไม่ลบเลือน แต่เนื่องจากเป็นระบบเครื่องกลไฟฟ้า จึงด้อยกว่าหน่วยความจำอิเล็กทรอนิกส์อย่างมากในแง่ของความเร็ว ความน่าเชื่อถือ และการใช้พลังงาน สำหรับ HDD อัตราการถ่ายโอนข้อมูลสูงถึงหลายสิบ MB/วินาที และความจุข้อมูลสูงถึงหลายร้อย GB



ใน หน่วยความจำแบบออปติคัลในการจัดเก็บข้อมูล จะใช้การเปลี่ยนแปลงคุณสมบัติทางแสง (ส่วนใหญ่เป็นระดับการสะท้อน) ของพื้นผิวสื่อ สื่อแสงทำในรูปแบบของดิสก์ (Compact Disk - CD) ซึ่งเป็นชั้นสะท้อนแสง (เคลือบโลหะ) ซึ่งเคลือบด้วยชั้นสีย้อมอินทรีย์ เมื่อทำการบันทึก ลำแสงเลเซอร์จะถูกปรับตามกระแสของบิตที่บันทึกไว้ และทำให้เกิดรูในชั้นสีย้อมในบางจุดในแทร็ก เนื่องจากความแตกต่างในค่าสัมประสิทธิ์การสะท้อนของหลุมและพื้นที่ที่ไม่ไหม้ของพื้นผิวในระหว่างการอ่าน การปรับความสว่างของลำแสงสะท้อนจึงเกิดขึ้น ซึ่งเข้ารหัสข้อมูลที่อ่านจากซีดี ออปติคัลซีดีดิสก์หลายประเภทถูกผลิตขึ้น: CD-ROM (หน่วยความจำแบบอ่านอย่างเดียว) - อนุญาตให้อ่านเฉพาะข้อมูลที่บันทึกด้วยวิธีเมทริกซ์, CD-R (บันทึกได้) - อนุญาตให้เขียนลงดิสก์อย่างน้อยหนึ่งครั้งและอ่านซ้ำ, CD- RW (เขียนซ้ำได้) - อนุญาตให้เขียนซ้ำลงดิสก์ (และแน่นอนคือการอ่าน) ออปติคัลดิสก์มีราคาถูกและมีความจุข้อมูลจำนวนมาก (สูงสุดหนึ่ง GB) ไม่ลบเลือนและเปลี่ยนได้ง่าย แต่ในแง่ของความเร็ว ความน่าเชื่อถือ และการใช้พลังงาน เช่น ดิสก์แม่เหล็ก ดิสก์เหล่านี้ด้อยกว่าหน่วยความจำอิเล็กทรอนิกส์อย่างมาก

ตามวัตถุประสงค์การใช้งาน อุปกรณ์หน่วยความจำสามารถจำแนกได้เป็นหน่วยความจำเข้าถึงโดยสุ่ม (SRAM) หน่วยความจำเข้าถึงโดยสุ่ม (RAM) หน่วยความจำแบบอ่านอย่างเดียว (ROM) และอุปกรณ์จัดเก็บข้อมูลภายนอก (ESM)

แกะมีไว้สำหรับจัดเก็บโปรแกรม (ระบบแอปพลิเคชัน) และข้อมูลที่ใช้โดยตรงโดย CPU ในเวลาปัจจุบัน ระยะเวลาของรอบการอ่านและเขียนสำหรับ RAM มักจะเท่ากัน โดยทั่วไปแล้ว หน่วยความจำแบบไดนามิกที่มีขนาดไม่เกินสองสาม GB จะใช้เป็น RAM ขึ้นอยู่กับวัตถุประสงค์และขอบเขตของ MS

สแรมหรือ ข้อมูลที่ถูกเก็บไว้- นี่คือหน่วยความจำความเร็วสูงขนาดเล็กซึ่งมีรอบการเข้าถึง t T น้อยกว่าระยะเวลาของรอบเครื่องของโปรเซสเซอร์ ดังนั้น เมื่อเข้าถึงหน่วยความจำแคช จึงไม่จำเป็นที่จะต้องแนะนำรอบการรอของโปรเซสเซอร์เข้าสู่รอบการเข้าถึงหน่วยความจำของเครื่อง หน่วยความจำแคชเป็นหน่วยความจำบัฟเฟอร์ระหว่าง RAM และ CPU และทำงานบนหน่วยความจำแบบคงที่ แคชเก็บสำเนาของบล็อก (หน้า) ของโปรแกรมและข้อมูลจากพื้นที่ RAM ที่ถูกเข้าถึงครั้งล่าสุด รวมถึงไดเร็กทอรี - รายการความโต้ตอบปัจจุบันกับพื้นที่ RAM แต่ละครั้งที่มีการเข้าถึง RAM ตัวควบคุมแคชไดเรกทอรีจะตรวจสอบเพื่อดูว่ามีสำเนาที่ถูกต้องของบล็อก (เพจ) ที่ร้องขอในแคชหรือไม่ หากมีสำเนาอยู่ที่นั่นก็เป็นเช่นนั้น การเข้าชมแคชและเข้าถึงได้เฉพาะหน่วยความจำแคชสำหรับข้อมูลหรือรหัส หากไม่มีสำเนาที่ถูกต้องก็เป็นเช่นนั้น แคชพลาดและบล็อกที่ต้องการ (หน้า) จาก RAM จะถูกเขียนลงในแคชและการเขียนจะถูกสร้างขึ้นแทนที่บล็อก (หน้า) ที่เกี่ยวข้องน้อยที่สุดที่ถูกลบออกจากแคชใน RAM ก่อนหน้านี้เช่น บล็อกข้อมูลจำนวนการเข้าถึงที่น้อยที่สุด เนื่องจากคุณสมบัติพื้นฐานที่มีอยู่ในโปรแกรมและข้อมูล เช่น เชิงพื้นที่และ สถานที่ชั่วคราว/2,7,13/ จำนวนการเข้าชมแคชนั้นมากกว่าจำนวนแคชที่พลาดหลายเท่าถึงแม้จะมีขนาดหน่วยความจำแคชขนาดเล็ก (หน่วย - สิบ KB) ดังนั้นการใช้หน่วยความจำแคชจึงช่วยปรับปรุงประสิทธิภาพของ VM ได้อย่างมาก โดยทั่วไปแล้ว แคชจะถูกนำไปใช้ตามรูปแบบสามระดับ: แคชหลัก (แคช L1) ที่มีความจุหลายสิบ KB และแคชรอง (แคช L2) ที่มีความจุหลายร้อย KB ซึ่งอยู่ใน MP crystal ซึ่งเป็นแคชระดับที่สาม (L3 Cache) มีการติดตั้งหน่วย MB บนเมนบอร์ดหรือในอาคาร MP

รอมเป็นหน่วยความจำอิเล็กทรอนิกส์แบบไม่ลบเลือนที่ใช้เก็บข้อมูลที่ไม่เปลี่ยนรูปหรือแทบไม่มีการเปลี่ยนแปลงระหว่างการทำงานของ VM: ซอฟต์แวร์ระบบ (BIOS) ซอฟต์แวร์แอปพลิเคชันสำหรับ VM แบบฝังและออนบอร์ด ชุดตาราง พารามิเตอร์การกำหนดค่าต่างๆ ระบบ ฯลฯ โหมดการทำงานหลักของ ROM คือการอ่าน ซึ่งก่อให้เกิดชื่อสามัญอีกชื่อหนึ่งสำหรับ ROM หน่วยความจำดังกล่าว (หน่วยความจำแบบอ่านอย่างเดียว) การเขียนข้อมูลลง ROM หรือที่เรียกว่าการเขียนโปรแกรม มักจะยากกว่ามากและต้องใช้เวลาและพลังงานมากกว่าการอ่าน

วีซูได้รับการออกแบบมาเพื่อการจัดเก็บข้อมูลที่มีโครงสร้างเฉพาะจำนวนมากแบบไม่ลบเลือน: ไฟล์, ฐานข้อมูล, ไฟล์เก็บถาวร คุณลักษณะเฉพาะของหน่วยความจำภายนอกคืออุปกรณ์ทำงานในบล็อกข้อมูล ไม่ใช่ไบต์หรือคำตามที่ RAM อนุญาต นอกจากนี้ โปรเซสเซอร์สามารถเข้าถึง VRAM ผ่านทาง RAM เท่านั้น ดิสก์ไดรฟ์ (HDD, CD) มักจะใช้เป็น VRAM ซึ่งช่วยให้จัดเก็บข้อมูลได้หลายร้อย GB

หน่วยความจำอิเล็กทรอนิกส์บัฟเฟอร์รวมอยู่ในตัวควบคุมอุปกรณ์ภายนอกต่างๆ ที่ช่วยแก้ปัญหาการแสดงและการป้อนข้อมูล งานการสื่อสาร การแปลงสัญญาณ ฯลฯ การมีหน่วยความจำบัฟเฟอร์ช่วยให้คุณสามารถประสานอัตราการถ่ายโอนข้อมูลที่แตกต่างกันอย่างมากของบัสระบบและอุปกรณ์ภายนอก ลดเวลาที่อุปกรณ์ภายนอกแต่ละเครื่องใช้บัสระบบ และเพิ่มประสิทธิภาพ VM

วิธีการจัดระเบียบหน่วยความจำถูกกำหนดโดยวิธีการวางและค้นหาข้อมูลในหน่วยความจำ ตามคุณลักษณะนี้ จะแยกแยะระหว่างการจัดระเบียบที่อยู่ การเชื่อมโยง และหน่วยความจำสแต็ก

ใน หน่วยความจำที่อยู่เพื่อเข้าถึงเซลล์หน่วยความจำที่ใช้ ที่อยู่ซึ่งหมายถึงรหัสของหมายเลขเซลล์หน่วยความจำ การจัดระเบียบที่อยู่ของหน่วยความจำช่วยให้คุณเข้าถึงเซลล์หน่วยความจำตามที่อยู่ในลำดับใดก็ได้ และระยะเวลาของวงจรการเข้าถึงจะเท่ากันสำหรับทุกเซลล์ โดยไม่คำนึงถึงที่อยู่ ดังนั้นคำว่า “หน่วยความจำเข้าถึงโดยสุ่ม” หรือ RAM (Random Access Memory) จึงถูกนำมาใช้เพื่อตั้งชื่อหน่วยความจำดังกล่าวด้วย ตัวอย่างเช่น RAM และ ROM มีการจัดระเบียบหน่วยความจำที่สามารถระบุตำแหน่งได้

ใน หน่วยความจำเชื่อมโยงข้อมูล (AMU) ไม่ได้ค้นหาตามที่อยู่ของเซลล์หน่วยความจำ แต่ค้นหาตามเนื้อหาหรือบางส่วน ในกรณีทั่วไป การร้องขอไปยังหน่วยความจำแบบเชื่อมโยงจะดำเนินการโดยการระบุรายการบิตที่ควรใช้เพื่อค้นหาเซลล์หน่วยความจำ และโดยการระบุเนื้อหาของบิตที่จัดสรร รายการบิตที่จะค้นหาระบุไว้ ลงทะเบียนหน้ากากรีจิสเตอร์นี้มีความกว้างบิตเท่ากับเซลล์หน่วยความจำของ RAM และมีเฉพาะในบิตที่กำลังค้นหาเท่านั้น ใน บริบทการลงทะเบียนมีการระบุเนื้อหาของบิตเหล่านี้ และความลึกบิตเท่ากับความกว้างบิตของรีจิสเตอร์มาสก์

หากพบเซลล์ที่มีเลขศูนย์และเซลล์รวมกัน ACU จะสร้างการตอบสนองเชิงบวกโดยระบุที่อยู่ของเซลล์ที่พบ จากนั้น ที่อยู่จะถูกถ่ายโอนไปยังตัวถอดรหัสที่อยู่ และสามารถอ่านเนื้อหาทั้งหมดของเซลล์ดังกล่าวหรือเขียนเนื้อหาใหม่ลงไปได้ มิฉะนั้น ACU จะสร้างการตอบสนองเชิงลบต่อคำขอ

การค้นหาข้อมูลตามบริบทใน RAM จะดำเนินการพร้อมกันในเซลล์หน่วยความจำทั้งหมด ดังนั้น RAM จึงเร็วกว่า RAM หลายเท่า แต่ก็มีราคาแพงกว่ามากเช่นกัน ในระบบคอมพิวเตอร์สมัยใหม่ RAM ถูกใช้เป็นส่วนหนึ่งของหน่วยความจำแคช เป็นต้น

หน่วยความจำสแต็ค(Stack) เช่นเดียวกับการเชื่อมโยง ไม่มีที่อยู่ สแต็กสามารถดูเป็นกลุ่มของเซลล์ที่สร้างอาร์เรย์หนึ่งมิติโดยที่เซลล์ข้างเคียงเชื่อมต่อถึงกันด้วยวงจรถ่ายโอนคำแบบบิต ในหน่วยความจำนี้ การเขียนและการอ่านจะดำเนินการตามกฎ "อินพุตสุดท้ายเอาต์พุตแรก (LIFO)" นั่นเป็นเหตุผลว่าทำไมสแต็กจึงถูกเรียกว่าหน่วยความจำร้านค้าแบบย้อนกลับ โดยปกติแล้วสแต็กจะถูกจัดระเบียบใน RAM จำนวนคำบนสแต็กถูกกำหนดโดยรีจิสเตอร์พอยน์เตอร์สแต็ก SP และการเขียนและการอ่านจากสแต็กจะดำเนินการโดยใช้คำสั่ง PUSH และ POP ตามลำดับ หน่วยความจำสแต็กถูกนำมาใช้กันอย่างแพร่หลาย ตามที่กล่าวไว้ข้างต้น เมื่อจัดการกับการขัดจังหวะและการเรียกรูทีนย่อย

นอกจากหน่วยความจำแบบสแต็กแล้ว หน่วยความจำ "นิตยสาร" ที่มีลำดับการอ่านสูงยังแพร่หลายอีกด้วย เช่น "เขียนครั้งแรกอ่านก่อน" หรือ "First Input First Output (FIFO)" หน่วยความจำนี้เรียกว่าหน่วยความจำบัฟเฟอร์ และเช่นเดียวกับสแต็ก คือถูกจัดระเบียบใน RAM

ก่อนที่จะพิจารณาเทคโนโลยีของการจัดระเบียบทางกายภาพของหน่วยความจำในคอมพิวเตอร์ จำเป็นต้องทราบสิ่งต่อไปนี้:

1. หน่วยความจำในคอมพิวเตอร์มีหลายระดับ

2.หน่วยความจำแบ่งตามวิธีการเข้าถึงข้อมูล

หน่วยความจำทุกประเภทที่มีโครงสร้างที่อยู่ทำงานบนหลักการของการติดต่อแบบหนึ่งต่อหนึ่งระหว่างแต่ละองค์ประกอบของชุดพื้นที่ที่อยู่และแต่ละองค์ประกอบของชุดข้อมูลที่จัดเก็บไว้ในหน่วยความจำ

หน่วยความจำที่มีการเข้าถึงตามลำดับไม่รวมความเป็นไปได้ของการเข้าถึงองค์ประกอบหน่วยความจำแบบสุ่มซึ่งการเข้าถึงจะถูกกำหนดโดยอัลกอริธึมการจัดคิวในโครงสร้างหน่วยความจำที่มีองค์กรที่เป็นเนื้อเดียวกันหรือโดยอัลกอริธึมการเข้าถึงตามลำดับจากระดับสูงสุดไปต่ำสุดในหลายระดับ องค์กร (ระบบไฟล์)

หน่วยความจำแบบเชื่อมโยงใช้เครื่องหมายเชื่อมโยง (แท็กซึ่งอาจเป็นรหัส คีย์ ที่อยู่ หรือส่วนหนึ่งของหน่วยความจำที่อยู่ที่เก็บสำเนา) เพื่อค้นหาองค์ประกอบข้อมูลในหน่วยความจำ ด้วยเหตุนี้ องค์ประกอบข้อมูลจึงสามารถอยู่ที่ใดก็ได้ในหน่วยความจำ ซึ่งเป็นการละเมิดลักษณะหลักการโต้ตอบแบบหนึ่งต่อหนึ่งของโครงสร้างหน่วยความจำที่สามารถระบุตำแหน่งได้

3. โดยวิธีการจัดเก็บ

คงที่

พลวัต

ถาวร

หน่วยความจำแฟลช

4.หน่วยความจำในคอมพิวเตอร์มีโครงสร้างแบบโมดูลาร์ ขึ้นอยู่กับการออกแบบโมดูลาร์ ซึ่งทำให้สามารถสร้างปริมาตรตัวแปรของหน่วยจัดเก็บข้อมูลได้โดยการเพิ่มหรือลดจำนวนโมดูลในการกำหนดค่า

หน่วยความจำกายภาพของระบบคอมพิวเตอร์แบ่งออกเป็นภายนอกและการดำเนินงาน หน่วยความจำภายนอกได้รับการออกแบบมาเพื่อการจัดเก็บข้อมูลในระยะยาว และจะถูกจัดเก็บไว้ในสถานะพาสซีฟของระบบคอมพิวเตอร์แม้ว่าจะปิดเครื่องก็ตาม

หน่วยความจำภายนอกในระบบคอมพิวเตอร์สมัยใหม่นั้นใช้งานบนดิสก์และเทปแม่เหล็กเป็นหลักรวมถึงหน่วยความจำแบบไม่ลบเลือนประเภทต่างๆ

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

สำหรับ RAM ซึ่งเป็นองค์กรทางกายภาพและเชิงตรรกะซึ่งเป็นหัวข้อของหัวข้อนี้ โครงสร้างจะถูกแบ่งออกเป็นสองส่วน: อุปกรณ์จัดเก็บข้อมูลและหน่วยควบคุมหรือตัวควบคุมหน่วยความจำ

ตัวควบคุมหน่วยความจำคือผู้ประสานงานของ RAM ซึ่งเชื่อมต่อกับอินเทอร์เฟซกับโปรเซสเซอร์และระบบอินพุต/เอาท์พุต โดยรับคำขอจากพวกเขาสำหรับข้อมูล ทั้งสำหรับการเขียนไปยังหน่วยความจำและการอ่านจากมัน

เมื่อได้รับคำขอ ตัวควบคุมจะจัดคิวเพื่อเข้าถึงอุปกรณ์จัดเก็บข้อมูล (SD) ตามลำดับความสำคัญ โดยให้ความสำคัญกับระบบอินพุต/เอาท์พุต และจัดระเบียบการสื่อสารกับอุปกรณ์จัดเก็บข้อมูลตามโปรโตคอลอินเทอร์เฟซที่เชื่อมต่ออุปกรณ์เหล่านั้น



การทำงานของตัวควบคุมหน่วยความจำนั้นขึ้นอยู่กับความซับซ้อนของการทำงานของระบบโดยตรง ตัวอย่างเช่น ในระบบมัลติโปรเซสเซอร์แบบสมมาตร ตัวควบคุมหน่วยความจำจะเป็นผู้ประสานงานการร้องขอข้อมูลจากโปรเซสเซอร์ทั้งหมดของระบบ ยอมรับคำขอเหล่านั้นสำหรับการดำเนินการหรือบล็อกชั่วคราวหากข้อมูลถูกประมวลผลโดยโปรเซสเซอร์อื่นอยู่แล้ว จึงทำให้มั่นใจได้ถึงความสอดคล้องกันของข้อมูลใน ระบบ.

RAM สมัยใหม่ในระบบคอมพิวเตอร์ในแง่ของวิธีการจัดเก็บข้อมูลในกรณีส่วนใหญ่หมายถึงหน่วยความจำแบบไดนามิกซึ่งต้องใช้โหมดสำหรับการกู้คืนข้อมูลในหน่วยความจำเป็นระยะ ๆ ในระหว่างการดำเนินการนั่นคือวงจรการสร้างใหม่ในระหว่างที่การเข้าถึงหน่วยความจำโดยตัวแทนภายนอกถูกบล็อก การจัดวงจรและความถี่ดังกล่าวจะรวมอยู่ในฟังก์ชันของคอนโทรลเลอร์

เพื่อลดผลกระทบของวงจรการฟื้นฟูต่อประสิทธิภาพของหน่วยความจำ จึงมีการใช้วิธีการต่างๆ ประการแรกคือการใช้เทคโนโลยีการสร้างหน่วยความจำแบบแยกส่วนกับองค์กรของธนาคารและที่อยู่สำรองนั่นคือด้วยการวางข้อมูลที่มีที่อยู่คู่และคี่ในโมดูลหน่วยความจำ (ชิป) ที่แตกต่างกันซึ่งสามารถเข้าถึงได้พร้อมกันในวงจรหน่วยความจำ ดังนั้นจึงรวมการสุ่มตัวอย่างข้อมูลไว้ในโมดูลหนึ่งกับวงจรการสร้างใหม่ในอีกโมดูลหนึ่ง หากไม่มีโหมดการสุ่มตัวอย่างแบบแบตช์ ซึ่งก็คือ การสุ่มตัวอย่างข้อมูลพร้อมกันที่ที่อยู่คู่และที่อยู่คี่

พวกเขายังเริ่มใช้โหมดการสร้างเซลล์หน่วยความจำใหม่โดยอัตโนมัติซึ่งเข้าถึงข้อมูลในโหมดอ่านและโหมดการสร้างเซลล์หน่วยความจำทั้งหมดในไมโครวงจร แต่เพื่อจุดประสงค์นี้ จะต้องติดตั้งตัวควบคุมภายในไว้ในชิปหน่วยความจำแต่ละตัว และกำหนดฟังก์ชันข้างต้นและฟังก์ชันอื่นๆ ให้กับชิปดังกล่าว ซึ่งจะทำให้ตัวควบคุมภายนอกว่างสำหรับงานที่สำคัญกว่าอื่นๆ

สำหรับสถาปัตยกรรมของอุปกรณ์จัดเก็บข้อมูลซึ่งมีไว้เพื่อการจัดเก็บข้อมูลนั้น

การเขียนและการอ่านข้อมูลสามารถสังเกตได้ดังต่อไปนี้

การใช้หลอดอิเล็กตรอนเป็นองค์ประกอบในการกักเก็บในระยะเริ่มแรกของการพัฒนาเทคโนโลยีคอมพิวเตอร์ และต่อมาคือแกนเฟอร์ไรต์ และในที่สุดก็เปลี่ยนไปใช้เทคโนโลยีเซมิคอนดักเตอร์ ซึ่งเริ่มใช้คุณสมบัติตัวเก็บประจุของท่อระบายน้ำที่แยกได้ของทรานซิสเตอร์สนามแม่เหล็ก เป้าหมายสูงสุดของการเปลี่ยนแปลงเหล่านี้คือและจะเป็นการแก้ปัญหาต่อไปนี้:

การเพิ่มความจุหน่วยความจำ

ประสิทธิภาพที่เพิ่มขึ้น

เพิ่มความน่าเชื่อถือในการจัดเก็บข้อมูลและลดการใช้พลังงานหน่วยความจำ

หากหน่วยความจำระบบของคอมพิวเตอร์ 32 บิตสมัยใหม่ที่มีแอดเดรสบัสหน่วยความจำ 32 บิตทำให้สามารถเพิ่มความจุได้สูงสุด 4GB ดังนั้นสำหรับคอมพิวเตอร์รุ่นที่ 2 และ 3 ที่มีหน่วยความจำเฟอร์ไรต์ ความจุของแม้แต่ซูเปอร์คอมพิวเตอร์ในยุคนั้น ถูกคำนวณเป็นสิบและหลายร้อย kB เท่านั้น ดังนั้นความจุ หน่วยความจำ BESM6 ของซูเปอร์คอมพิวเตอร์ในประเทศในคราวเดียวจึงอยู่ที่ประมาณ 768 kb ซึ่งไม่ถึงขีดจำกัดเมกะไบต์ด้วยซ้ำ

ความจุ RAM ที่ก้าวกระโดดเกิดขึ้นจากการนำเทคโนโลยีเซมิคอนดักเตอร์มาใช้ในการผลิตอุปกรณ์จัดเก็บข้อมูลหน่วยความจำ ซึ่งทำให้ความจุ RAM เกินขีดจำกัดเมกะไบต์ คอมพิวเตอร์เครื่องแรกๆ ที่มีหน่วยความจำดังกล่าวคือ IBM7030 ในปี 1961 ขนาดหน่วยความจำคือ 2 MB การพัฒนาการออกแบบในเครื่องนี้ถูกนำมาใช้ในภายหลังในเครื่องซีรีส์ IBM360 และ IBM370 ที่รู้จักกันดี เครื่องเหล่านี้ซึ่งมีแอดเดรสบัสหน่วยความจำ 24 บิต มีความสามารถในการเพิ่มความจุหน่วยความจำเป็น 16 GB ด้วยการเปิดตัวบัส 32 บิตในคอมพิวเตอร์ เช่น ESA370, IBM4381 แม้ว่าหน่วยความจำจะไม่ได้เกินขีดจำกัดกิกะไบต์ แต่ก็สามารถขยายจาก 16 เป็น 64 เมกะไบต์ได้

สถาปัตยกรรมเมนเฟรม Z สมัยใหม่ เช่น Z9BC มีความสามารถในการขยายสูงสุด 64 GBT โดยมีบัส 64 บิต และคอมพิวเตอร์ Z10 สูงถึง 1.5 TRBT

สำหรับคอมพิวเตอร์ในประเทศของเรา ความจุ RAM ของเครื่อง EU Series 3 (EC1046, EC1066) สูงถึง 8 Mbt เครื่องจักรที่ถูกกำหนดให้ยุติเส้นทางการพัฒนาในอดีตในขั้นตอนนี้

นอกจากนี้ยังมีคอมพิวเตอร์ระดับซูเปอร์คอมพิวเตอร์ที่มีจุดประสงค์เพื่อการป้องกัน ระบบป้องกันขีปนาวุธซึ่งมีความจุหน่วยความจำขนาดใหญ่ เช่น โครงการ M13 (ความจุ RAM ของซูเปอร์คอมพิวเตอร์นี้สามารถขยายได้ถึง 34 MB)

คุณสมบัติหลักประการต่อไปของการจัดระเบียบทางกายภาพของหน่วยความจำคือเวลาในการดึงข้อมูลซึ่งสำหรับคอมพิวเตอร์รุ่นที่ 2 ที่มีหน่วยความจำบนแกนแม่เหล็กคือ 10-12 ไมโครวินาที และเฉพาะเมื่อมีการเปิดตัวหน่วยความจำเซมิคอนดักเตอร์เท่านั้น เวลาในการดึงข้อมูลจึงลดลงตามลำดับความสำคัญและเปลี่ยนจาก 1.5 เป็น 0.5 ไมโครวินาที

หน่วยความจำแบบไดนามิกโดยธรรมชาติและวิธีการจัดเก็บข้อมูล แม้จะมีโครงสร้างที่ง่ายกว่าหน่วยความจำแบบคงที่ แต่หน่วยความจำแบบไดนามิกนั้นเป็นส่วนที่เฉื่อยที่สุด นั่นคือส่วนที่ช้าที่สุดของระบบคอมพิวเตอร์ และถึงแม้จะมีวงจรการเข้าถึงลดลงอย่างมาก แต่ก็ยังอยู่ที่ เวลาปัจจุบัน

นี่คือเหตุผลสำหรับการสร้างหน่วยความจำหลายระดับในระบบคอมพิวเตอร์ ซึ่งรวมถึงไฟล์รีจิสเตอร์และหน่วยความจำบัฟเฟอร์ความเร็วสูงจำนวนต่างๆ ที่สร้างขึ้นบนองค์ประกอบการจัดเก็บข้อมูลแบบคงที่ (ฟลิปฟล็อป)

สถาปัตยกรรมสมัยใหม่ของระบบคอมพิวเตอร์ทำงานโดยใช้แนวคิด เช่น หน่วยความจำเสมือน ซึ่งการจับคู่กับหน่วยความจำกายภาพจะแสดงด้วยการรวมกันของ RAM และหน่วยความจำภายนอก สิ่งนี้เกิดขึ้นได้เนื่องจากแนวคิดที่เสนอโดยนักวิทยาศาสตร์ชาวอังกฤษที่มหาวิทยาลัยแมนเชสเตอร์ โดยมีสาระสำคัญคือการแยกแนวคิดเรื่องขนาดของพื้นที่ที่อยู่ออกจากขนาดเฉพาะของ RAM ที่สามารถระบุตำแหน่งได้ในระบบ ดังนั้นพื้นที่ที่อยู่ของระบบจึงเป็นอิสระจากขนาดของ RAM และเริ่มนำเสนอต่อโปรแกรมเมอร์เป็นหน่วยความจำเสมือน ทำให้เขามีโอกาสมากมายในการเขียนโปรแกรมโดยไม่จำกัดขนาดของ RAM

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

หน่วยความจำจริงเริ่มถูกแบ่งออกเป็นหน้าทางกายภาพ ซึ่งขนาดสอดคล้องกับขนาดของหน้าเสมือน

ในความเป็นจริงเนื้อหาของหน่วยความจำเสมือนสามารถอยู่ใน RAM จากนั้นเพจเสมือนจะได้รับสถานะของเพจจริงและในพื้นที่ RAM ที่อนุญาตใด ๆ ขึ้นอยู่กับดุลยพินิจของระบบปฏิบัติการหรือในกรณีตรงกันข้ามภายนอก การจัดเก็บหน่วยความจำ

ดังนั้น ระบบคอมพิวเตอร์ที่ใช้กลไกการจำลองเสมือนของหน่วยความจำจะต้องมีกลไกในการย้ายเนื้อหาของเพจเสมือนจากหน่วยความจำภายนอกไปยังหน่วยความจำปฏิบัติการและย้อนกลับระหว่างการทำงานของโปรแกรม กลไกนี้เรียกว่าระบบไฟล์ และกลไกการเปลี่ยนเส้นทางแบบไดนามิก เช่น ในระบบ IBM หรือกลไกการเพจในโปรเซสเซอร์ INTEL จะแปลงที่อยู่เสมือนให้เป็นที่อยู่จริง

มีการแนะนำแนวคิดของที่อยู่แบบลอจิคัล ที่อยู่ของคำสั่งและข้อมูลที่สร้างขึ้นระหว่างการดำเนินการคำสั่งในตัวประมวลผลได้รับสถานะลอจิคัลเนื่องจากไม่สอดคล้องกับที่อยู่หน่วยความจำกายภาพอีกต่อไป แต่ระบุเฉพาะตำแหน่งในพื้นที่ที่อยู่ของรหัสโปรแกรม

นอกจากนี้ ยังเป็นไปได้ที่ระบบจะมีช่องว่างที่อยู่เสมือนหลายช่องซึ่งมีรูปแบบของตัวเองในการแปลงที่อยู่แบบลอจิคัลไปเป็นที่อยู่จริง

หน่วยความจำเสมือนเป็นอ็อบเจ็กต์ระบบที่พิจารณาในระดับระบบปฏิบัติการ ดังนั้นโครงสร้างของจึงมีความเหมาะสมมากกว่าในการจำแนกลักษณะจากมุมมองของการจัดองค์กรเชิงตรรกะของหน่วยความจำ

ก่อนที่จะระบุลักษณะการจัดระเบียบเชิงตรรกะของหน่วยความจำ ควรสังเกตว่าการกำหนดที่อยู่หน่วยความจำฟิสิคัลจะดำเนินการแบบไบต์ต่อไบต์ นั่นคือ หน่วยที่สามารถกำหนดแอดเดรสขั้นต่ำได้คือหนึ่งไบต์ และดังนั้น ทุกขนาดขององค์ประกอบโครงสร้างของการจัดระเบียบเชิงตรรกะของหน่วยความจำจึงต้อง เป็นผลคูณของจำนวนไบต์ในนั้น

โปรแกรมทำงานโดยใช้แนวคิดต่างๆ เช่น โอเปอเรเตอร์ ตัวถูกดำเนินการ ค่าคงที่ ตัวแปร ซึ่งแสดงในรูปแบบตัวเลขหรือสัญลักษณ์ จากการแปลรหัสโปรแกรม พวกมันจะแสดงรหัสไบนารี่ที่ประกอบด้วยจำนวนไบต์จำนวนเต็ม ซึ่งจะถูกวางไว้ใน RAM เมื่อโปรแกรมถูกเรียกใช้งาน ไบต์จะถูกรวมเป็นคำ คำเป็นบรรทัด บรรทัดเป็นหน้า หน้าเป็นส่วนต่างๆ

สำหรับการจัดระเบียบหน่วยความจำแบบลอจิคัล ลำดับของไบต์ในหน่วยความจำมีความสำคัญ เป็นเรื่องปกติที่จะจัดเรียงไบต์ตามลำดับในหน่วยความจำจากซ้ายไปขวาโดยเพิ่มค่าของที่อยู่ทีละรายการ

การแบ่งพาร์ติชันหน่วยความจำเสมือนและหน่วยความจำกายภาพออกเป็นหน้าและเซ็กเมนต์ทำให้ไม่เพียง แต่จะแมปหน้าเสมือนกับหน่วยความจำกายภาพเท่านั้น แต่ยังอธิบายพื้นที่ของพื้นที่เชิงเส้นและหน่วยความจำกายภาพโดยคำนึงถึงวัตถุประสงค์และสิทธิ์การเข้าถึงโดยโปรแกรมที่เรียกว่า descriptors ที่สอดคล้องกัน ไปยังแต่ละส่วนและแต่ละหน้า ดังนั้นจึงมีการใช้กลไกการป้องกันเมื่อเข้าถึง RAM

ดังนั้นระดับระบบปฏิบัติการจึงมีกลไกในการแบ่งหน่วยความจำเสมือนและหน่วยความจำกายภาพออกเป็นหน้าและส่วนต่างๆ ซึ่งใช้เป็นเครื่องมือในการสร้างโครงสร้างของหน่วยความจำลอจิคัลของระบบ แต่มีพื้นที่ใน RAM ที่ใช้เฉพาะการระบุที่อยู่จริงเท่านั้น ในพื้นที่เหล่านี้ ระบบปฏิบัติการมักจะวางตารางที่ใช้เมื่อแปลงที่อยู่หน่วยความจำลอจิคัลไปเป็นฟิสิคัล ก. ข้อมูลทางการประเภทต่างๆ ซึ่งอนุญาตให้เข้าถึงได้เฉพาะในส่วนของตนเท่านั้น พื้นที่เหล่านี้เรียกว่าพื้นที่หน่วยความจำที่จัดสรรอย่างถาวร ขนาดจะถูกกำหนดโดยสถาปัตยกรรมระบบและระบบปฏิบัติการ

มีหน่วยความจำลอจิคัลแบบจำลองแบบแบนและหลายมิติ แนวคิดของแบบจำลองหน่วยความจำแบบแบนนั้นเกี่ยวข้องกับการจัดระเบียบ RAM ที่เสนอโดย von Neumann นั่นคือด้วยการวางตำแหน่งคำสั่งและข้อมูลในพื้นที่ทั่วไปของหน่วยความจำกายภาพทำให้สามารถควบคุมลำดับของตำแหน่งได้ ถึงตัวโปรแกรมเมอร์เอง แบบจำลองนี้สร้างปัญหาบางอย่างและต้องใช้ความพยายามเพิ่มเติมจากโปรแกรมเมอร์เมื่อเขียนโปรแกรม ความพยายามครั้งแรกในการปรับปรุงโมเดลหน่วยความจำแบบแบนคือการแนะนำกลไกการแบ่งส่วนเพื่อแยกพื้นที่สำหรับคำแนะนำและข้อมูล แบบจำลองนี้ถูกเรียกว่าความปลอดภัยแบบแบน ซึ่งในพื้นที่คำสั่งและข้อมูลยังคงอยู่ภายในขนาดของหน่วยความจำกายภาพ แต่อยู่ในตำแหน่งที่แตกต่างกัน การเข้าถึงซึ่งระบุผ่านที่อยู่เริ่มต้นของส่วนต่างๆ ในคำอธิบาย และขนาดถูกจำกัด ตามค่าจำกัดที่ระบุไว้ในนั้น ดังนั้นจึงมีการใช้กลไกการป้องกันหน่วยความจำที่ง่ายที่สุด เทคโนโลยีนี้ชวนให้นึกถึงเทคโนโลยีโมเดลหน่วยความจำของสถาปัตยกรรมฮาร์วาร์ด แต่นำไปใช้กับหน่วยความจำกายภาพที่ใช้ร่วมกันสำหรับคำแนะนำและข้อมูล ต่อมามีการนำเสนอโมเดลหน่วยความจำหลายส่วนแบบแบนซึ่งพื้นที่อื่น ๆ ที่ไม่เพียงมีจุดประสงค์เพื่อจัดเก็บคำสั่งและข้อมูลเริ่มถูกควบคุมโดยกลไกการป้องกัน

แบบจำลองหน่วยความจำกลายเป็นหลายมิติด้วยการเปิดตัวหน่วยความจำเสมือน ซึ่งที่อยู่เชิงตรรกะเริ่มถูกแบ่งออกเป็นหลายส่วน ซึ่งแต่ละส่วนขึ้นอยู่กับการแปลงตาราง จำนวนกลไกที่เกี่ยวข้องในการเปลี่ยนแปลงจะกำหนดความเป็นหลายมิติของหน่วยความจำลอจิคัล ด้วยการแปลงที่อยู่หน้า หน่วยความจำจะกลายเป็นมิติเดียว ซึ่งในรูปแบบที่ง่ายที่สุด กลุ่มที่ประกอบด้วยบิตที่สำคัญที่สุดของที่อยู่ลอจิคัลจะถูกแปลง จำนวนบิตเหล่านี้ในกลุ่มหรือแทนกำลังของ 2 ซึ่งกำหนดโดยจำนวนบิตนี้จะกำหนดจำนวนเพจเสมือนในหน่วยความจำเสมือน บิตลำดับต่ำของที่อยู่แบบลอจิคัลจะไม่ถูกแปลง และกำหนดออฟเซ็ต ซึ่งก็คือ ตำแหน่งของข้อมูลในเพจฟิสิคัล เนื่องจากจำนวนเพจหน่วยความจำเสมือนมีขนาดค่อนข้างใหญ่ กลุ่มบิตที่สำคัญที่สุดของที่อยู่แบบลอจิคัลจึงถูกแบ่งออกเป็นหลายกลุ่ม ด้วยเหตุนี้ แทนที่จะใช้ตารางหน้าเดียว กลไกการแปลงจึงใช้ตารางขนาดเล็กหลายชุด จำนวนตารางที่รวมอยู่ในชุดจะถูกกำหนดโดยระดับที่กำหนดโดยจำนวนบิตของที่อยู่ในกลุ่มตามกลุ่มที่อยู่ต่ำของที่อยู่แบบลอจิคัล และจำนวนชุดจะเท่ากับจำนวน บรรทัดในไดเร็กทอรีของเพจ ขนาดจะขึ้นอยู่กับจำนวนบิตในกลุ่มที่กำหนดขนาดของไดเร็กทอรี โครงสร้างที่อธิบายไว้ข้างต้นจะเป็นเรื่องปกติหากกลุ่มบิตที่มีลำดับสูงของที่อยู่แบบลอจิคัลถูกแบ่งออกเป็นสามส่วน

มาดูกันว่าฮาร์ดแวร์ใดที่จำเป็นในการแปลงที่อยู่แบบลอจิคัลไปเป็นที่อยู่จริง

ตามที่กล่าวไว้ข้างต้น กลุ่มบิตที่มีนัยสำคัญน้อยที่สุดของที่อยู่แบบลอจิคัลจะไม่ถูกแปลง และแสดงถึงออฟเซ็ต นั่นคือ ตำแหน่งของไบต์แรกของข้อมูลที่อยู่ภายในเพจฟิสิคัล

กลไกทีละขั้นตอนสำหรับการแปลงที่อยู่แบบลอจิคัลให้เป็นที่อยู่จริง (เมื่อส่วนสูงของที่อยู่แบบลอจิคัลถูกแบ่งออกเป็นสองส่วน) จะเกิดขึ้นตามลำดับต่อไปนี้:

1. มีการเข้าถึงแถวในตาราง ซึ่งกำหนดโดยกลุ่มของบิตที่มีลำดับสูงของที่อยู่แบบลอจิคัล ซึ่งแปลเป็นไดเร็กทอรีหน้า ตารางอยู่ใน RAM ที่อยู่แถวถูกสร้างขึ้นโดยการเพิ่มที่อยู่ฐาน ซึ่งระบุจุดเริ่มต้นของตำแหน่งของตารางในหน่วยความจำ และโหลดก่อนหน้านี้ลงในการลงทะเบียนระบบในโปรเซสเซอร์ เทอมที่สองคือรหัสในกลุ่มตัวเลขที่มีนัยสำคัญที่สุด

2. ด้วยเหตุนี้ บรรทัดไดเร็กทอรีจะถูกอ่านจากหน่วยความจำ ซึ่งมีคุณลักษณะและที่อยู่ฐานของตารางหน้าที่สอดคล้องกับบรรทัดไดเร็กทอรีนี้

3. มีการจัดวงจรการเข้าถึงหน่วยความจำแถวในตารางหน้า ที่อยู่บรรทัดถูกสร้างขึ้นโดยการเพิ่มที่อยู่ฐานที่อ่านจากบรรทัดไดเร็กทอรีและโค้ดที่สอดคล้องกับค่าของบิตในกลุ่มที่อยู่ถัดจากกลุ่มของบิตไดเร็กทอรี

4. บรรทัดการอ่านจากตารางเพจประกอบด้วยที่อยู่ฐานของเพจฟิสิคัลในหน่วยความจำ ซึ่งไปที่ตัวบวก โดยการเพิ่มด้วยค่าของกลุ่มบิตลำดับต่ำของที่อยู่โลจิคัล ซึ่งแสดงถึงออฟเซ็ตใน พื้นที่เพจฟิสิคัล ที่อยู่ฟิสิคัลของการเข้าถึงหน่วยความจำจะเกิดขึ้น

ดังนั้นตามอัลกอริทึมที่อธิบายไว้ข้างต้น การสนับสนุนฮาร์ดแวร์สำหรับการแปลงที่อยู่แบบลอจิคัลเป็นที่อยู่จริงคือ:

1. พื้นที่ RAM ที่จัดสรรไว้สำหรับจัดเก็บตาราง บริเวณนี้เป็นพื้นที่ที่กลไกการเปลี่ยนแปลงไม่ทำงาน

2. การมีอยู่ของการลงทะเบียนการควบคุมในโปรเซสเซอร์เพื่อจัดเก็บที่อยู่ฐานซึ่งระบุตำแหน่งของตารางเริ่มต้นในหน่วยความจำ

3. Adder สำหรับดำเนินการบวกเลขคณิตที่อยู่

4. การมีอยู่ของการลงทะเบียนบัฟเฟอร์หรือแคชหน่วยความจำที่เชื่อมโยงอย่างสมบูรณ์สำหรับการจัดเก็บผลลัพธ์ของขั้นตอนของการแปลงที่อยู่แบบลอจิคัลเป็นที่อยู่จริง

ฮาร์ดแวร์ล่าสุดเป็นสิ่งจำเป็นในการเพิ่มประสิทธิภาพของระบบ เนื่องจากไม่จำเป็นต้องทำการแปลงเต็มรอบทุกครั้งที่มีการเข้าถึงหน่วยความจำภายในเพจฟิสิคัลเดียวกัน ซึ่งพิกัดจะถูกคำนวณในครั้งแรกที่มีการเข้าถึง

การแนะนำกลไกการแบ่งส่วนเพิ่มเติมเมื่อแปลงที่อยู่แบบลอจิคัลทำให้โมเดลหน่วยความจำเป็นแบบสองมิติ กลไกการแบ่งส่วนจะสร้างพื้นที่ที่อยู่เชิงเส้นของหน่วยความจำเสมือน ซึ่งเป็นผลมาจากการแปลง ประกอบด้วยส่วนที่รหัสโปรแกรมและข้อมูลตั้งอยู่ ดังนั้นการกำหนดมิติหนึ่งของหน่วยความจำลอจิคัล มิติที่สองกำหนดกลไกการเพจซึ่งเป็นตัวแทนของหน่วยความจำ เป็นชุดของเพจเสมือน

ควรสังเกตว่าอุดมการณ์ของการแบ่งส่วนหน่วยความจำเสมือนในระบบคอมพิวเตอร์มีการตีความแตกต่างออกไป ตัวอย่างเช่น ขั้นตอนการแบ่งส่วนในกระบวนการแปลงที่อยู่แบบลอจิคัลเป็นที่อยู่จริงในระบบ IBM (IBM360, IBM370, เซิร์ฟเวอร์ Zarchitecture) ไม่สามารถแยกออกจากขั้นตอนการแปลงหน้าได้ ซึ่งเป็นขั้นตอนก่อนหน้าก่อนขั้นตอนการแปลงหน้า เช่นเดียวกับในระบบ INTEL มันถูกควบคุมโดยส่วนสูงของที่อยู่แบบลอจิคัล ส่วนตรงกลางของที่อยู่และกลุ่มที่อยู่ระดับต่ำจะเกี่ยวข้องเฉพาะในการเพจเท่านั้น ดังนั้น การใช้การเชื่อมต่อแบบลอจิคัลที่แยกกันไม่ออกระหว่างขั้นตอนต่างๆ โดยแบ่งหน่วยความจำเสมือนออกเป็นส่วนๆ ก่อน - พื้นที่ขนาดใหญ่ จากนั้นจึงแบ่งส่วนออกเป็นหน้าๆ

ในเซิร์ฟเวอร์ Zarchitecture ขนาดของที่อยู่เสมือนเพิ่มขึ้นเป็น 64 บิต ซึ่งทำให้สามารถระบุที่อยู่หน่วยความจำเสมือนได้สูงสุด 16 เอ็กซาไบต์ สำหรับหน่วยความจำโลจิคัลหลายมิติในเซิร์ฟเวอร์เหล่านี้ ฮาร์ดแวร์ทำให้มีพื้นที่ที่อยู่เสมือนได้มากถึง 4 ประเภทแยกจากกัน โดยจำนวนช่องว่างในสองประเภทคือ 64K ต่อประเภท และที่เหลืออีกสองประเภทคือ 16 ประเภทต่อประเภทด้วย การแปลงตารางของตนเองสำหรับแต่ละประเภทซึ่งใช้ในการสร้างเอนทิตีโลจิคัลเสมือน - โลจิคัลพาร์ติชันซึ่งแต่ละพาร์ติชันมีระบบปฏิบัติการของตัวเอง ที่อยู่เสมือนแต่ละประเภทที่เกี่ยวข้องกับประเภทหน่วยความจำเสมือนนั้นอยู่ภายใต้กลไกการแปลงเดียวกันกับชุดตารางของตัวเอง ดังนั้น ตามแนวคิดและคำศัพท์ที่กล่าวถึงข้างต้น หน่วยความจำในเซิร์ฟเวอร์เหล่านี้จึงถือเป็นชุดหน่วยความจำเสมือนหนึ่งมิติจำนวน 4 ประเภทที่มีการแปลงห้าขั้นตอน โดยมีพื้นที่ห้าประเภท: หน้า, ส่วน, ภูมิภาค1, ภูมิภาค2, ภูมิภาค3

รูปแบบการแปลงที่อยู่เสมือนในเซิร์ฟเวอร์ Zarchitecture

ส่วนสำคัญของระบบคอมพิวเตอร์คือหน่วยความจำ การจัดระเบียบปฏิสัมพันธ์ระหว่างโปรเซสเซอร์และหน่วยความจำจะกำหนดคุณสมบัติหลักของระบบคอมพิวเตอร์ องค์ประกอบที่เหลือช่วยให้มั่นใจได้ถึงการเชื่อมต่อของลิงค์นี้กับอุปกรณ์ภายนอกและโลกภายนอก หน่วยความจำเชื่อมต่อกับตัวควบคุมหน่วยความจำ (อุปกรณ์การจัดการหน่วยความจำ) ผ่านทางแอดเดรสบัส บัสข้อมูล และบัสควบคุม ความกว้างของบัสข้อมูลจะกำหนดจำนวนบิตไบนารี่ที่สามารถอ่านจากหน่วยความจำได้ในเวลาเดียวกัน (แบบขนาน) เลขฐานสองแต่ละตัว (1 บิต) จะถูกจัดเก็บโดยองค์ประกอบหน่วยความจำ องค์ประกอบสำหรับหน่วยความจำประเภทต่างๆ ถูกสร้างขึ้นบนพื้นฐานของหลักการทางกายภาพที่แตกต่างกันสำหรับการบันทึกและจัดเก็บข้อมูล องค์ประกอบหน่วยความจำจะรวมกันเป็นเซลล์หน่วยความจำ ในกรณีนี้ องค์ประกอบทั้งหมดของเซลล์ได้รับการแก้ไขพร้อมกันในลักษณะเดียวกัน และได้รับการจัดระเบียบในลักษณะที่สามารถส่งออกข้อมูลไปยังบัสข้อมูลพร้อมกันได้ เซลล์ที่รวมกันดังกล่าวก่อให้เกิดคำ จำนวนบิตข้อมูลที่อ่านจากหน่วยความจำในแต่ละครั้งเรียกว่าความยาวตัวอย่าง ในการจัดเก็บ 1 ไบต์ จะใช้องค์ประกอบหน่วยความจำ 8 รายการ เซลล์หน่วยความจำ 8 บิตถูกจัดระเบียบโดยใช้บัสข้อมูลกว้าง 8 บรรทัด

ชิปหน่วยความจำใช้เพื่อสร้างโมดูลหน่วยความจำที่ติดตั้งในช่องพิเศษ (ขั้วต่อ) ของระบบคอมพิวเตอร์ ในปัจจุบัน โมดูล DIMM ที่พบบ่อยที่สุดคือโมดูลหน่วยความจำที่มีหน้าสัมผัสสองแถว

ความกว้างของแอดเดรสบัสจะกำหนดพื้นที่แอดเดรส ซึ่งก็คือจำนวนเซลล์หน่วยความจำที่สามารถแก้ไขได้โดยตรง หากความกว้างของแอดเดรสบัสเป็น n จำนวนชุดไบนารี่ที่เป็นไปได้ทั้งหมด (จำนวนที่อยู่) จะถูกกำหนดเป็น N = 2n

ข้าว. 1. การจัดระเบียบการสื่อสารระหว่างระบบหน่วยความจำและโปรเซสเซอร์

หน่วยความจำของอุปกรณ์คอมพิวเตอร์สามารถดำเนินการได้สามอย่าง:

ก) การจัดเก็บข้อมูล

b) ข้อมูลการบันทึก;

c) การอ่านข้อมูล

ข้อมูลจำเพาะของหน่วยความจำ:

ความจุของหน่วยความจำจะกำหนดจำนวนข้อมูลสูงสุดที่จัดเก็บไว้ในหน่วยความจำและวัดเป็นบิต ไบต์ กิโลไบต์ เมกะไบต์ กิกะไบต์ เทราไบต์ ฯลฯ

ความจุเฉพาะหมายถึงอัตราส่วนของความจุหน่วยความจำต่อฟิสิคัลวอลุ่มที่มันครอบครอง

ความหนาแน่นในการบันทึกข้อมูล หมายถึง จำนวนข้อมูลต่อหน่วยพื้นที่ของผู้ส่งข้อมูล หรือต่อหน่วยความยาวของผู้ส่งข้อมูล

เวลาในการเข้าถึงหน่วยความจำ ประสิทธิภาพของหน่วยความจำจะพิจารณาจากระยะเวลาการดำเนินการเมื่อเข้าถึงหน่วยความจำ เวลาในการเข้าถึงเมื่อเขียนและเวลาเข้าถึงเมื่ออ่านคือผลรวมของเวลาในการค้นหาเซลล์หน่วยความจำตามที่อยู่ที่กำหนดและการเขียนหรืออ่านจริงตามลำดับ

การจำแนกหน่วยความจำ:

หน่วยความจำเข้าถึงโดยสุ่ม

สำหรับหน่วยความจำเข้าถึงโดยสุ่ม (หน่วยความจำอิเล็กทรอนิกส์) เวลาในการเข้าถึงไม่ได้ขึ้นอยู่กับตำแหน่งของส่วนหน่วยความจำที่ต้องการ การเลือกเซลล์เกิดขึ้นตามที่อยู่โดยใช้วงจรอิเล็กทรอนิกส์

การเข้าถึงแบบวนโดยตรง

เมื่อเข้าถึงหน่วยความจำดิสก์ จะใช้การเข้าถึงแบบวนโดยตรง สื่อบันทึกข้อมูลจะหมุนอย่างต่อเนื่อง ดังนั้นความสามารถในการเข้าถึงพื้นที่หน่วยความจำเดียวกันจึงเป็นวงจร

การเข้าถึงแบบอนุกรม

การเข้าถึงข้อมูลตามลำดับสามารถทำได้เมื่อใช้เทปแม่เหล็กเป็นสื่อ โดยจำเป็นต้องดูส่วนต่างๆ ของสื่อตามลำดับเพื่อค้นหาข้อมูลที่ต้องการ

หน่วยความจำไร้ที่อยู่

อุปกรณ์จัดเก็บข้อมูลแบบสแต็กและแบบเชื่อมโยงสามารถจัดประเภทเป็นแบบไร้ที่อยู่ได้ เมื่อเข้าถึงหน่วยความจำแบบไม่มีที่อยู่ คำสั่งการเข้าถึงหน่วยความจำจะไม่ระบุที่อยู่ของเซลล์ ในอุปกรณ์หน่วยความจำแบบเรียงซ้อน ที่อยู่ของเซลล์หน่วยความจำจะถูกติดตามโดยการลงทะเบียนที่อยู่พิเศษ เมื่อเข้าถึงสแต็ก ที่อยู่จากรีจิสเตอร์นี้จะถูกตั้งค่า เมื่อเข้าถึงหน่วยความจำแบบเชื่อมโยง การค้นหาข้อมูลจะดำเนินการโดยแอตทริบิวต์ (แท็ก) โดยการเปรียบเทียบแท็กของเซลล์หน่วยความจำทั้งหมดกับคุณลักษณะที่เชื่อมโยง แอ็ตทริบิวต์ที่เชื่อมโยงถูกเขียนขึ้นเพื่อดำเนินการเปรียบเทียบในรีจิสเตอร์แอททริบิวต์พิเศษ

การจำแนกหน่วยความจำตามวัตถุประสงค์การใช้งาน:

ROM - อุปกรณ์หน่วยความจำแบบอ่านอย่างเดียวหรือ ROM (หน่วยความจำแบบอ่านอย่างเดียว) ใช้เพื่อจัดเก็บข้อมูลถาวรและโปรแกรมอรรถประโยชน์

SRAM เป็นอุปกรณ์จัดเก็บข้อมูลแบบสุ่มพิเศษ ซึ่งเป็นชุดของรีจิสเตอร์อเนกประสงค์ - RON ซึ่งออกแบบมาเพื่อจัดเก็บตัวถูกดำเนินการและผลลัพธ์ของการดำเนินการในโปรเซสเซอร์

RAM - หน่วยความจำเข้าถึงโดยสุ่มหรือ RAM (หน่วยความจำเข้าถึงโดยสุ่ม - หน่วยความจำเข้าถึงโดยสุ่ม) ใช้เพื่อจัดเก็บโปรแกรมที่รันและข้อมูลการดำเนินงาน หากสามารถเข้าถึงรีจิสเตอร์เพื่อเขียน/อ่านตามที่อยู่ได้ โครงสร้างรีจิสเตอร์ดังกล่าวจะสร้าง RAM เข้าถึงโดยสุ่ม

จำแนกตามวิธีการจัดเก็บข้อมูล:

หน่วยความจำแบบคงที่

ในอุปกรณ์จัดเก็บข้อมูลแบบคงที่ LSI ถูกสร้างขึ้นบนองค์ประกอบหน่วยความจำทริกเกอร์แบบ bistable (มีสองสถานะที่เสถียร - ดังนั้นชื่อของหน่วยความจำ)

หน่วยความจำแบบไดนามิก

อุปกรณ์หน่วยความจำแบบไดนามิกใช้ LSI ที่ราคาถูกกว่า โดยองค์ประกอบหน่วยเก็บข้อมูลเป็นตัวเก็บประจุ ตัวเก็บประจุจะคายประจุเมื่อเวลาผ่านไป (นี่คือไดนามิก) ดังนั้นจึงจำเป็นต้องรักษาค่าที่เป็นไปได้โดยการชาร์จตัวเก็บประจุใหม่ กระบวนการนี้เรียกว่าการฟื้นฟู

หน่วยความจำถาวร

ในอุปกรณ์จัดเก็บข้อมูลถาวร องค์ประกอบการจัดเก็บคือตัวเชื่อมแบบหลอมละลายที่ถูกเผาไหม้หรือไดโอดเซมิคอนดักเตอร์ ซึ่งมีบทบาทเป็นตัวเชื่อมแบบทำลายได้ ใน ROM ที่ตั้งโปรแกรมใหม่ได้ เซลล์ที่ทำจากทรานซิสเตอร์ MOS ที่มีเกทลอยตัวและเป็นฉนวนจะถูกใช้ในการบันทึกและจัดเก็บข้อมูล ข้อมูลจะถูกบันทึกด้วยระบบไฟฟ้าเมื่อกระแสไหลผ่านแหล่งกำเนิด/ช่องระบาย ประจุจะถูกสะสมไว้ที่เกตและจะถูกเก็บไว้ตราบเท่าที่ ต้องการ การลบข้อมูลทำได้โดยการจ่ายแรงดันไฟฟ้าของสัญญาณที่แตกต่างกันไปที่ส่วนแหล่งที่มา/การระบายใน ROM ที่ตั้งโปรแกรมใหม่ได้โดยมีการลบข้อมูลทางไฟฟ้าหรือการฉายรังสีด้วยรังสีอัลตราไวโอเลตใน ROM ที่มีการลบรังสีอัลตราไวโอเลต

หน่วยความจำโฮโลแกรม

ในอุปกรณ์จัดเก็บข้อมูลโฮโลแกรม ข้อมูลจะถูกจัดเก็บไว้ในปริมาตรของคริสตัลโฮโลแกรมในรูปแบบของสแน็ปช็อตของการรบกวนของสองคลื่น ข้อมูลอ้างอิงและข้อมูล อุปกรณ์จัดเก็บข้อมูลประเภทนี้มีความหนาแน่นในการบันทึกข้อมูลสูงและอยู่ระหว่างการพัฒนา

หน่วยความจำทางชีวภาพ

อุปกรณ์กักเก็บทางชีวภาพใช้การเปลี่ยนแปลงสถานะของโมเลกุลอินทรีย์ซึ่งมีความสามารถในการเก็บประจุและแลกเปลี่ยนอิเล็กตรอนเพื่อบันทึกข้อมูล

ที่เก็บแม่เหล็ก

ในอุปกรณ์จัดเก็บข้อมูลภายนอกบนสื่อแม่เหล็ก ข้อมูลจะถูกจัดเก็บในรูปแบบของส่วนของพื้นผิวเฟอร์โรแมกเนติกของดิสก์หรือเทปแม่เหล็กที่ถูกทำให้เป็นแม่เหล็กในทิศทางที่แน่นอน

หน่วยความจำแบบออปติคัล

ในอุปกรณ์จัดเก็บข้อมูลภายนอกแบบออปติคัล ข้อมูลจะถูกบันทึกในรูปแบบของส่วนที่มีค่าสัมประสิทธิ์การกระเจิงแสงที่แตกต่างกันของลำแสงเลเซอร์แบบกำหนดทิศทาง

หน่วยความจำเป็นหนึ่งในองค์ประกอบหลักของคอมพิวเตอร์ทุกเครื่อง ความจุและความเร็วของมันส่วนใหญ่จะเป็นตัวกำหนดประสิทธิภาพของระบบคอมพิวเตอร์ทั้งหมด ในฉบับนี้จะพิจารณาเทคโนโลยีที่สำคัญที่สุดสำหรับการสร้างและรายละเอียดการจัดระเบียบหน่วยความจำ

หัวข้อ 3.1 การจัดระบบการคำนวณในระบบคอมพิวเตอร์

วัตถุประสงค์และลักษณะของเครื่องบิน การจัดระบบการคำนวณในระบบคอมพิวเตอร์ คอมพิวเตอร์คู่ขนาน แนวคิดเกี่ยวกับโฟลว์คำสั่งและโฟลว์ข้อมูล ระบบการเชื่อมโยง ระบบเมทริกซ์ การวางท่อการคำนวณ ไปป์ไลน์คำสั่ง, ไปป์ไลน์ข้อมูล การขยายขนาด

นักศึกษาจะต้อง

ทราบ:

แนวคิดของโฟลว์คำสั่ง

แนวคิดเรื่องการไหลของข้อมูล

ประเภทของระบบคอมพิวเตอร์

ลักษณะทางสถาปัตยกรรมของระบบคอมพิวเตอร์

ระบบคอมพิวเตอร์

ระบบคอมพิวเตอร์(ดวงอาทิตย์)– ชุดของโปรเซสเซอร์หรือคอมพิวเตอร์ที่เชื่อมต่อและโต้ตอบกัน อุปกรณ์ต่อพ่วง และซอฟต์แวร์ที่ออกแบบมาเพื่อรวบรวม จัดเก็บ ประมวลผล และแจกจ่ายข้อมูล

การก่อตั้งกองทัพมีวัตถุประสงค์หลักดังต่อไปนี้:

· เพิ่มประสิทธิภาพของระบบโดยการเร่งกระบวนการประมวลผลข้อมูล

· เพิ่มความน่าเชื่อถือและความน่าเชื่อถือของการคำนวณ

· การให้บริการเพิ่มเติมแก่ผู้ใช้ ฯลฯ

หัวข้อ 3.2

การจำแนกประเภทของคอมพิวเตอร์ขึ้นอยู่กับจำนวนคำสั่งและสตรีมข้อมูล: SISD, SIMD, MISD, MIMD

การจำแนกประเภทของคอมพิวเตอร์มัลติโปรเซสเซอร์ด้วยวิธีต่างๆ ในการใช้งานหน่วยความจำที่ใช้ร่วมกัน: UMA, NUMA, SOMA ลักษณะเปรียบเทียบ คุณลักษณะด้านฮาร์ดแวร์และซอฟต์แวร์

การจำแนกประเภทของเครื่องบินหลายเครื่อง: MPP, NDW และ COW วัตถุประสงค์ลักษณะคุณลักษณะ

ตัวอย่างเครื่องบินประเภทต่างๆ ข้อดีและข้อเสียของระบบคอมพิวเตอร์ประเภทต่างๆ

การจำแนกประเภทของระบบคอมพิวเตอร์

คุณลักษณะที่โดดเด่นของคอมพิวเตอร์ที่เกี่ยวข้องกับคอมพิวเตอร์คลาสสิกคือการมีคอมพิวเตอร์หลายเครื่องที่ใช้งานอยู่ การประมวลผลแบบขนาน .

ความเท่าเทียมของการปฏิบัติงานช่วยเพิ่มประสิทธิภาพของระบบได้อย่างมาก สามารถเพิ่มความน่าเชื่อถือได้อย่างมาก (หากส่วนประกอบหนึ่งของระบบล้มเหลว ส่วนประกอบอื่นอาจเข้ามาทำหน้าที่แทน) รวมถึงความน่าเชื่อถือของการทำงานของระบบ หากมีการดำเนินการซ้ำซ้อนและเปรียบเทียบผลลัพธ์

ระบบคอมพิวเตอร์สามารถแบ่งออกเป็นสองกลุ่ม:

· หลายเครื่อง ;

· มัลติโปรเซสเซอร์ .

ระบบคอมพิวเตอร์หลายเครื่องประกอบด้วยคอมพิวเตอร์หลายเครื่องแยกกัน คอมพิวเตอร์แต่ละเครื่องในระบบที่มีหลายเครื่องมีสถาปัตยกรรมแบบคลาสสิก และระบบดังกล่าวมีการใช้กันอย่างแพร่หลาย อย่างไรก็ตาม ผลของการใช้ระบบคอมพิวเตอร์ดังกล่าวจะเกิดขึ้นได้โดยการแก้ปัญหาที่มีโครงสร้างพิเศษเท่านั้น โดยจะต้องแบ่งออกเป็นงานย่อยที่เชื่อมโยงกันอย่างหลวมๆ มากเท่าที่มีคอมพิวเตอร์อยู่ในระบบ

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

ข้อเสียคือความเป็นไปได้ของสถานการณ์ความขัดแย้งเมื่อโปรเซสเซอร์หลายตัวเข้าถึงพื้นที่หน่วยความจำเดียว

คุณลักษณะของระบบคอมพิวเตอร์แบบมัลติโปรเซสเซอร์คือการมี RAM ที่ใช้ร่วมกันเป็นทรัพยากรที่ใช้ร่วมกัน (รูปที่ 11)

รูปที่ 11 - สถาปัตยกรรมของระบบคอมพิวเตอร์แบบมัลติโปรเซสเซอร์

การจำแนกประเภทของฟลินน์

ในบรรดาระบบการจำแนกเครื่องบินทั้งหมดที่อยู่ระหว่างการพิจารณา ระบบการจำแนกประเภทที่แพร่หลายที่สุดคือการจำแนกประเภทที่เสนอโดย M. Flynn ในปี 1966 มันขึ้นอยู่กับ แนวคิดการไหล ซึ่งหมายถึงลำดับของคำสั่งหรือองค์ประกอบข้อมูลที่ประมวลผลโดยโปรเซสเซอร์ ขึ้นอยู่กับจำนวนสตรีมคำสั่งและสตรีมข้อมูล Flynn แยกแยะสถาปัตยกรรมได้ 4 คลาส:

· ตกลง – สตรีมคำสั่งเดียว - สตรีมข้อมูลเดี่ยว ซึ่งรวมถึงพื้นหลังแบบคลาสสิก - Neumann VM การประมวลผลไปป์ไลน์ไม่สำคัญ ดังนั้นทั้ง 6600 VM ที่มีอุปกรณ์ฟังก์ชันสเกลาร์และ 7600 ที่มีไปป์ไลน์จึงจัดอยู่ในคลาส OKOD

· อสมท – สตรีมคำสั่งหลายรายการ - สตรีมข้อมูลเดียว ในสถาปัตยกรรมนี้ โปรเซสเซอร์หลายตัวประมวลผลสตรีมข้อมูลเดียวกัน ตัวอย่างจะเป็นคอมพิวเตอร์ที่โปรเซสเซอร์ได้รับสัญญาณที่บิดเบี้ยว และโปรเซสเซอร์แต่ละตัวจะประมวลผลสัญญาณนี้โดยใช้อัลกอริธึมการกรองของตัวเอง อย่างไรก็ตาม ทั้งฟลินน์และผู้เชี่ยวชาญคนอื่นๆ ในสาขาสถาปัตยกรรมคอมพิวเตอร์ก็ไม่สามารถจินตนาการถึงคอมพิวเตอร์ในชีวิตจริงที่สร้างขึ้นบนหลักการนี้ได้ นักวิจัยจำนวนหนึ่งรวมระบบสายพานลำเลียงไว้ในชั้นเรียนนี้ แต่ยังไม่พบการยอมรับขั้นสุดท้าย การมีชั้นเรียนว่างไม่ควรถือเป็นข้อเสียของการจำแนกประเภทของฟลินน์ ชั้นเรียนดังกล่าวจะมีประโยชน์ในการพัฒนาแนวคิดใหม่ๆ ในทางทฤษฎีและการปฏิบัติในการสร้างเครื่องบิน

· โอเคเอ็มดี – สตรีมคำสั่งเดียว – สตรีมข้อมูลจำนวนมาก – คำสั่งออกโดยโปรเซสเซอร์ควบคุมตัวเดียวและดำเนินการพร้อมกันบนโปรเซสเซอร์ประมวลผลทั้งหมดบนข้อมูลภายในเครื่องของโปรเซสเซอร์เหล่านี้ SIMD (คำสั่งเดียว – หลายข้อมูล)

· ไอซีเอ็มดี - สตรีมคำสั่งจำนวนมาก - สตรีมข้อมูลจำนวนมาก - ชุดของคอมพิวเตอร์ที่ทำงานตามโปรแกรมของตัวเองพร้อมแหล่งข้อมูลของตัวเอง MIMD (หลายคำสั่ง – หลายข้อมูล)

รูปแบบการจำแนกประเภทของฟลินน์เป็นวิธีที่ใช้กันทั่วไปมากที่สุดสำหรับการประเมินเครื่องบินเบื้องต้น เนื่องจากจะช่วยให้สามารถประเมินหลักการพื้นฐานของการทำงานของระบบได้ทันที อย่างไรก็ตาม การจำแนกประเภทของ Flynn ก็มีข้อบกพร่องที่เห็นได้ชัดเช่นกัน ตัวอย่างเช่น การไม่สามารถจำแนกสถาปัตยกรรมบางอย่างออกเป็นคลาสเดียวหรืออีกคลาสหนึ่งได้อย่างชัดเจน ข้อเสียเปรียบประการที่สองคือความอิ่มตัวของคลาส MIMD ที่มากเกินไป

ระบบคอมพิวเตอร์คลาส MIMD ที่มีอยู่จะประกอบด้วยคลาสย่อยสามคลาส: มัลติโปรเซสเซอร์แบบสมมาตร (เอสเอ็มพี) กระจุก และ ระบบคู่ขนานอย่างหนาแน่น (เอ็มพีพี) การจำแนกประเภทนี้ขึ้นอยู่กับแนวทางเชิงโครงสร้างและเชิงฟังก์ชัน

มัลติโปรเซสเซอร์แบบสมมาตรประกอบด้วยชุดโปรเซสเซอร์ที่มีความสามารถเหมือนกันในการเข้าถึงหน่วยความจำและอุปกรณ์ภายนอกและทำงานภายใต้ระบบปฏิบัติการ (OS) เดียวกัน กรณีพิเศษของ SMP คือคอมพิวเตอร์ที่ใช้โปรเซสเซอร์ตัวเดียว โปรเซสเซอร์ SMP ทั้งหมดใช้หน่วยความจำร่วมกันโดยมีพื้นที่ที่อยู่เดียว

การใช้ SMP มีคุณสมบัติดังต่อไปนี้:

· การปรับขนาดแอปพลิเคชันด้วยต้นทุนเริ่มต้นที่ต่ำ โดยใช้โดยไม่ต้องแปลงแอปพลิเคชันเป็นฮาร์ดแวร์ใหม่ที่มีประสิทธิภาพมากขึ้น

· การสร้างแอปพลิเคชันในสภาพแวดล้อมซอฟต์แวร์ที่คุ้นเคย

· เวลาในการเข้าถึงหน่วยความจำทั้งหมดเท่ากัน

· ความสามารถในการส่งข้อความที่มีแบนด์วิธสูง

· รองรับการเชื่อมโยงกันของชุดแคชและบล็อกหน่วยความจำหลัก การซิงโครไนซ์และการล็อคที่แบ่งแยกไม่ได้

ระบบคลัสเตอร์ถูกสร้างขึ้นจากโมดูลที่รวมเข้าด้วยกันโดยระบบสื่อสารหรืออุปกรณ์หน่วยความจำภายนอกที่ใช้ร่วมกัน เช่น ดิสก์อาร์เรย์

ขนาดคลัสเตอร์แตกต่างกันไปจากหลายโมดูลไปจนถึงหลายสิบโมดูล

สถาปัตยกรรมระบบหน่วยความจำหลายรุ่นถูกนำมาใช้ภายในหน่วยความจำทั้งแบบแบ่งใช้และแบบกระจาย รูปที่ 12 แสดงการจำแนกประเภทของรุ่นที่ใช้ในระบบคอมพิวเตอร์ของคลาส MIMD (นี่ก็เป็นจริงสำหรับคลาส SIMD เช่นกัน)

รูปที่ 12 – การจำแนกประเภทของโมเดลสถาปัตยกรรมหน่วยความจำของระบบคอมพิวเตอร์

ในระบบ พร้อมหน่วยความจำที่ใช้ร่วมกัน โปรเซสเซอร์ทั้งหมดสามารถเข้าถึงพื้นที่ที่อยู่เดียวได้อย่างเท่าเทียมกัน หน่วยความจำเดี่ยวสามารถสร้างเป็นบล็อกเดียวหรือโมดูลาร์ได้ แต่โดยปกติแล้วจะใช้ตัวเลือกที่สอง

ระบบคอมพิวเตอร์ที่มีหน่วยความจำที่ใช้ร่วมกัน ซึ่งโปรเซสเซอร์ใดๆ เข้าถึงหน่วยความจำอย่างสม่ำเสมอและใช้เวลาเท่ากัน จะถูกเรียก ระบบที่มีการเข้าถึงหน่วยความจำสม่ำเสมอ และถูกกำหนดโดยตัวย่อ UMA (Uniform Memory Access) นี่เป็นสถาปัตยกรรมหน่วยความจำ VS แบบขนานที่ใช้หน่วยความจำร่วมกันที่ใช้กันมากที่สุด

ในทางเทคนิคแล้ว ระบบ UMA จำเป็นต้องมีโหนดที่เชื่อมต่อแต่ละระบบ โปรเซสเซอร์แต่ละตัว โมดูลหน่วยความจำ วิธีที่ง่ายที่สุดในการสร้างคอมพิวเตอร์ดังกล่าวคือการรวมโปรเซสเซอร์หลายตัว (Pi.) เข้ากับหน่วยความจำเดียว (M P) ผ่านบัสทั่วไป - แสดงในรูปที่ 12a . อย่างไรก็ตาม ในกรณีนี้ มีโปรเซสเซอร์เพียงตัวเดียวเท่านั้นที่สามารถสื่อสารบนบัสได้ตลอดเวลา กล่าวคือ โปรเซสเซอร์จะต้องแข่งขันกันเพื่อเข้าถึงบัส เมื่อโปรเซสเซอร์ ร ฉันเลือกคำสั่งจากหน่วยความจำ, โปรเซสเซอร์อื่นๆ พี เจ(ฉัน ≠ เจ)ต้องรอจนกว่ารถโดยสารจะว่าง หากมีโปรเซสเซอร์เพียงสองตัวในระบบ พวกเขาสามารถทำงานที่ใกล้เคียงกับประสิทธิภาพสูงสุดเนื่องจากการเข้าถึงบัสสามารถแทรกแซงได้: ในขณะที่โปรเซสเซอร์ตัวหนึ่งกำลังถอดรหัสและดำเนินการคำสั่ง อีกตัวสามารถใช้บัสเพื่อดึงข้อมูลตัวถัดไป คำสั่งจากหน่วยความจำ อย่างไรก็ตาม เมื่อมีการเพิ่มโปรเซสเซอร์ตัวที่สาม ประสิทธิภาพจะเริ่มลดลง หากมีโปรเซสเซอร์สิบตัวบนบัส เส้นโค้งประสิทธิภาพของบัส (รูปที่ 12b) จะกลายเป็นแนวนอน ดังนั้นการเพิ่มโปรเซสเซอร์ตัวที่ 11 จึงไม่ช่วยเพิ่มประสิทธิภาพอีกต่อไป เส้นโค้งด้านล่างในรูปนี้แสดงให้เห็นถึงข้อเท็จจริงที่ว่าหน่วยความจำและบัสมีแบนด์วิดท์คงที่ซึ่งกำหนดโดยการรวมกันของรอบเวลาหน่วยความจำและโปรโตคอลบัส และในระบบมัลติโปรเซสเซอร์แบบแชร์บัส แบนด์วิดท์นี้จะถูกแชร์ระหว่างโปรเซสเซอร์หลายตัว หากรอบเวลาของโปรเซสเซอร์นานกว่ารอบหน่วยความจำ โปรเซสเซอร์จำนวนมากสามารถเชื่อมต่อกับบัสได้ อย่างไรก็ตาม ในความเป็นจริงแล้ว โปรเซสเซอร์มักจะเร็วกว่าหน่วยความจำมาก ดังนั้นจึงไม่ค่อยมีการใช้โครงร่างนี้กันอย่างแพร่หลาย

อีกทางเลือกหนึ่งในการสร้างคอมพิวเตอร์แบบมัลติโปรเซสเซอร์ที่มีหน่วยความจำที่ใช้ร่วมกันโดยใช้ UMA จะแสดงในรูปที่ 13c . ที่นี่บัสจะถูกแทนที่ด้วยสวิตช์ที่กำหนดเส้นทางคำขอของโปรเซสเซอร์ไปยังหนึ่งในโมดูลหน่วยความจำหลายโมดูล แม้ว่าจะมีโมดูลหน่วยความจำหลายโมดูล แต่ทั้งหมดก็เป็นส่วนหนึ่งของพื้นที่ที่อยู่เสมือนเดียว ข้อดีของแนวทางนี้คือสวิตช์สามารถให้บริการหลายคำขอพร้อมกันได้ โปรเซสเซอร์แต่ละตัวสามารถเชื่อมต่อกับโมดูลหน่วยความจำของตัวเองและสามารถเข้าถึงได้ด้วยความเร็วสูงสุดที่อนุญาต การโต้แย้งระหว่างโปรเซสเซอร์สามารถเกิดขึ้นได้เมื่อพยายามเข้าถึงโมดูลหน่วยความจำเดียวกันในเวลาเดียวกัน ในกรณีนี้ มีโปรเซสเซอร์เพียงตัวเดียวเท่านั้นที่สามารถเข้าถึงได้ และตัวอื่นๆ จะถูกบล็อก

น่าเสียดายที่สถาปัตยกรรม UMA ปรับขนาดได้ไม่ดีนัก ระบบทั่วไปส่วนใหญ่ประกอบด้วยโปรเซสเซอร์ 4-8 ตัว ซึ่งมักจะน้อยกว่ามากคือโปรเซสเซอร์ 32-64 ตัว นอกจากนี้ระบบดังกล่าวไม่สามารถจัดประเภทเป็น ทนต่อความผิดพลาด, เนื่องจากความล้มเหลวของโปรเซสเซอร์หรือโมดูลหน่วยความจำตัวเดียวทำให้เกิดความล้มเหลวของคอมพิวเตอร์ทั้งหมด

รูปที่ 13 - หน่วยความจำที่ใช้ร่วมกัน:

ก) การรวมโปรเซสเซอร์โดยใช้บัสและระบบที่มีแคชในเครื่อง

b) ประสิทธิภาพของระบบตามจำนวนโปรเซสเซอร์บนบัส

c) คอมพิวเตอร์มัลติโปรเซสเซอร์ที่มีหน่วยความจำที่ใช้ร่วมกันประกอบด้วยโมดูลแยกกัน

อีกแนวทางหนึ่งในการสร้างคอมพิวเตอร์ที่มีหน่วยความจำที่ใช้ร่วมกันคือ การเข้าถึงหน่วยความจำที่แตกต่างกัน , เรียกว่า NUMA (การเข้าถึงหน่วยความจำที่ไม่สม่ำเสมอ) ที่นี่เช่นเคยมีพื้นที่ที่อยู่เดียว แต่โปรเซสเซอร์แต่ละตัวมีหน่วยความจำในเครื่อง โปรเซสเซอร์เข้าถึงหน่วยความจำในตัวเครื่องโดยตรง ซึ่งเร็วกว่าการเข้าถึงหน่วยความจำระยะไกลผ่านสวิตช์หรือเครือข่ายมาก ระบบดังกล่าวสามารถเสริมด้วยหน่วยความจำส่วนกลางได้ จากนั้นอุปกรณ์จัดเก็บข้อมูลในเครื่องจะทำหน้าที่เป็นหน่วยความจำแคชที่รวดเร็วสำหรับหน่วยความจำส่วนกลาง โครงการดังกล่าวสามารถปรับปรุงประสิทธิภาพของเครื่องบินได้ แต่ไม่สามารถชะลอการปรับระดับประสิทธิภาพโดยตรงได้อย่างไม่มีกำหนด หากโปรเซสเซอร์แต่ละตัวมีหน่วยความจำแคชในเครื่อง (รูปที่ 13a) มีความเป็นไปได้สูง (หน้า> 0.9) ว่าคำสั่งหรือข้อมูลที่ต้องการมีอยู่แล้วในหน่วยความจำภายในเครื่อง ความน่าจะเป็นที่สมเหตุสมผลของการชนหน่วยความจำภายในจะช่วยลดจำนวนโปรเซสเซอร์ที่เข้าถึงหน่วยความจำส่วนกลางได้อย่างมาก และส่งผลให้ประสิทธิภาพเพิ่มขึ้น เมื่อเส้นโค้งประสิทธิภาพแตก (เส้นโค้งด้านบนในรูปที่ 13b ), ซึ่งสอดคล้องกับจุดที่การเพิ่มโปรเซสเซอร์ยังคงมีผลอยู่ ในตอนนี้จะย้ายไปยังภูมิภาคของโปรเซสเซอร์ 20 ตัว และจุดที่เส้นโค้งกลายเป็นแนวนอนจะย้ายไปยังภูมิภาคของโปรเซสเซอร์ 30 ตัว

ภายในกรอบแนวคิด นูมามีการนำแนวทางต่างๆ ไปใช้หลายวิธี โดยแสดงด้วยตัวย่อ โซมา, CC-NUMAและ ป.ป.ช.-NUMA

ใน สถาปัตยกรรมแคชเท่านั้น (SOMA, สถาปัตยกรรมหน่วยความจำแคชเท่านั้น) หน่วยความจำภายในของโปรเซสเซอร์แต่ละตัวถูกสร้างขึ้นเป็นหน่วยความจำแคชขนาดใหญ่เพื่อการเข้าถึงที่รวดเร็วโดยโปรเซสเซอร์ "ของตัวมันเอง" แคชของโปรเซสเซอร์ทั้งหมดจะรวมกันเป็นหน่วยความจำระบบส่วนกลาง ไม่มีหน่วยความจำส่วนกลางที่แท้จริง คุณลักษณะพื้นฐานของแนวคิด SOMA แสดงออกผ่านไดนามิก ในที่นี้ ข้อมูลจะไม่เชื่อมโยงแบบคงที่กับโมดูลหน่วยความจำเฉพาะ และไม่มีที่อยู่เฉพาะที่ยังคงไม่เปลี่ยนแปลงตลอดอายุการใช้งานของตัวแปร ในสถาปัตยกรรม SOMA ข้อมูลจะถูกถ่ายโอนไปยังหน่วยความจำแคชของโปรเซสเซอร์ที่ร้องขอครั้งล่าสุด ในขณะที่ตัวแปรไม่ได้รับการแก้ไขด้วยที่อยู่เฉพาะและสามารถอยู่ในเซลล์ทางกายภาพใดๆ ได้ตลอดเวลา การย้ายข้อมูลจากแคชในเครื่องหนึ่งไปยังอีกแคชหนึ่งไม่จำเป็นต้องให้ระบบปฏิบัติการมีส่วนร่วมในกระบวนการ แต่จะเกี่ยวข้องกับฮาร์ดแวร์การจัดการหน่วยความจำที่ซับซ้อนและมีราคาแพง เพื่อจัดระเบียบระบอบการปกครองที่เรียกว่า ไดเรกทอรีแคช . โปรดทราบว่าสำเนาล่าสุดของรายการข้อมูลจะไม่ถูกลบออกจากแคช

เนื่องจากข้อมูลในสถาปัตยกรรม COMA ถูกย้ายไปยังแคชในเครื่องของโปรเซสเซอร์ที่เป็นเจ้าของ คอมพิวเตอร์ดังกล่าวจึงมีข้อได้เปรียบด้านประสิทธิภาพที่สำคัญเหนือสถาปัตยกรรม NUMA อื่นๆ ในทางกลับกัน หากโปรเซสเซอร์สองตัวต้องการตัวแปรตัวเดียวหรือตัวแปรสองตัวที่เก็บไว้ในบรรทัดแคชเดียวกัน บรรทัดแคชนั้นจะต้องเลื่อนไปมาระหว่างโปรเซสเซอร์ในการเข้าถึงข้อมูลแต่ละรายการ ผลกระทบดังกล่าวอาจขึ้นอยู่กับรายละเอียดการจัดสรรหน่วยความจำและนำไปสู่สถานการณ์ที่ไม่สามารถคาดเดาได้

แบบอย่าง แคชเข้าถึงหน่วยความจำต่างกัน (CC-NUMA, Cache Coherent Non-Uniform Memory Architecture) โดยพื้นฐานแล้วจะแตกต่างจากโมเดล SOMA ระบบ CC-NUMA ไม่ได้ใช้หน่วยความจำแคช แต่เป็นหน่วยความจำแบบกระจายทางกายภาพปกติ ไม่มีการคัดลอกหน้าหรือข้อมูลระหว่างเซลล์หน่วยความจำ ไม่มีซอฟต์แวร์ที่ใช้ส่งข้อความ มีการ์ดหน่วยความจำเพียงใบเดียว โดยที่ชิ้นส่วนต่างๆ เชื่อมต่อกันด้วยสายทองแดง และฮาร์ดแวร์ "อัจฉริยะ" การเชื่อมโยงกันของแคชตามฮาร์ดแวร์หมายความว่าไม่จำเป็นต้องใช้ซอฟต์แวร์ในการจัดเก็บหรือส่งสำเนาข้อมูลที่อัปเดตหลายชุด ระดับฮาร์ดแวร์จัดการทั้งหมดนี้ การเข้าถึงโมดูลหน่วยความจำภายในในโหนดต่างๆ ของระบบสามารถทำได้พร้อมกันและเร็วกว่าโมดูลหน่วยความจำระยะไกล

ความแตกต่างระหว่างรุ่นและ การเข้าถึงหน่วยความจำต่างกันแบบแคชไม่ต่อเนื่องกัน (NCC-NUMA, Non-Cache Coherent Non-Uniform Memory Architecture) จาก CC-NUMA นั้นชัดเจนจากชื่อ สถาปัตยกรรมหน่วยความจำจะใช้พื้นที่ที่อยู่เดียว แต่ไม่ได้ให้ความสอดคล้องของข้อมูลทั่วโลกในระดับฮาร์ดแวร์ การจัดการการใช้ข้อมูลดังกล่าวขึ้นอยู่กับซอฟต์แวร์ทั้งหมด (แอปพลิเคชันหรือคอมไพเลอร์) แม้จะมีสถานการณ์เช่นนี้ ซึ่งดูเหมือนจะเป็นข้อเสียเปรียบของสถาปัตยกรรม แต่กลับกลายเป็นว่ามีประโยชน์มากในการเพิ่มประสิทธิภาพของระบบคอมพิวเตอร์ด้วยสถาปัตยกรรมหน่วยความจำประเภท DSM ซึ่งจะกล่าวถึงในหัวข้อ “แบบจำลองของสถาปัตยกรรมหน่วยความจำแบบกระจาย”

โดยทั่วไปแล้วจะมีการเรียกคอมพิวเตอร์ที่มีหน่วยความจำที่ใช้ร่วมกันซึ่งสร้างขึ้นตามรูปแบบ NUMA สถาปัตยกรรมที่มีหน่วยความจำแบบแบ่งใช้เสมือน (สถาปัตยกรรมหน่วยความจำแบบแบ่งใช้เสมือน) สถาปัตยกรรมประเภทนี้ โดยเฉพาะ CC-NUMA ได้รับการพิจารณาว่าเป็นระบบคอมพิวเตอร์คลาส M1MD ประเภทอิสระและมีแนวโน้มค่อนข้างดี

แบบจำลองสถาปัตยกรรมหน่วยความจำแบบกระจายในระบบหน่วยความจำแบบกระจาย โปรเซสเซอร์แต่ละตัวจะมีหน่วยความจำของตัวเองและสามารถจัดการได้เฉพาะหน่วยความจำเท่านั้น ผู้เขียนบางคนเรียกเครื่องบินหลายเครื่องระบบประเภทนี้หรือ คอมพิวเตอร์หลายเครื่อง , เน้นย้ำถึงความจริงที่ว่า "บล็อกที่ระบบสร้างขึ้นนั้นคือระบบคอมพิวเตอร์ขนาดเล็กที่มีโปรเซสเซอร์และหน่วยความจำ" แบบจำลองของสถาปัตยกรรมที่มีหน่วยความจำแบบกระจายมักจะเรียกว่า สถาปัตยกรรมที่ไม่มีทางตรง การเข้าถึงหน่วยความจำระยะไกล (NORMA ไม่มีการเข้าถึงหน่วยความจำระยะไกล) ชื่อนี้มาจากการที่โปรเซสเซอร์แต่ละตัวสามารถเข้าถึงหน่วยความจำภายในเครื่องเท่านั้น การเข้าถึงหน่วยความจำระยะไกล (หน่วยความจำภายในของโปรเซสเซอร์อื่น) สามารถทำได้โดยการแลกเปลี่ยนข้อความกับโปรเซสเซอร์ที่เป็นเจ้าของหน่วยความจำที่สามารถระบุตำแหน่งได้เท่านั้น

องค์กรดังกล่าวมีข้อดีหลายประการ ประการแรก ไม่มีการโต้แย้งเรื่องบัสหรือสวิตช์เมื่อเข้าถึงข้อมูล โปรเซสเซอร์แต่ละตัวสามารถใช้แบนด์วิดท์เส้นทางการสื่อสารกับหน่วยความจำภายในของตัวเองได้อย่างเต็มที่ ประการที่สอง การไม่มีบัสทั่วไปหมายความว่าไม่มีข้อจำกัดที่เกี่ยวข้องกับจำนวนโปรเซสเซอร์: ขนาดของระบบถูกจำกัดโดยเครือข่ายที่เชื่อมต่อโปรเซสเซอร์เท่านั้น ประการที่สาม ปัญหาการเชื่อมโยงกันของหน่วยความจำแคชจะหมดไป โปรเซสเซอร์แต่ละตัวมีสิทธิ์ในการเปลี่ยนแปลงข้อมูลได้อย่างอิสระ โดยไม่ต้องกังวลเกี่ยวกับการจับคู่สำเนาข้อมูลในแคชในเครื่องของตัวเองกับแคชของโปรเซสเซอร์อื่น

นักศึกษาจะต้อง

ทราบ:

การจำแนกประเภทของเครื่องบิน

ตัวอย่างเครื่องบินประเภทต่างๆ

สามารถ:

- เลือกประเภทของระบบคอมพิวเตอร์ให้สอดคล้องกับปัญหาที่กำลังแก้ไข


©2015-2019 เว็บไซต์
สิทธิ์ทั้งหมดเป็นของผู้เขียน ไซต์นี้ไม่ได้อ้างสิทธิ์ในการประพันธ์ แต่ให้ใช้งานฟรี
วันที่สร้างเพจ: 22-07-2016

การจัดระเบียบหน่วยความจำของ MPS การแบ่งส่วนหน่วยความจำ การคำนวณที่อยู่ หน่วยความจำแคชภายใน.

หน่วยความจำของระบบไมโครโปรเซสเซอร์ทำหน้าที่จัดเก็บข้อมูลและคำสั่งชั่วคราวหรือถาวร จำนวนหน่วยความจำจะกำหนดความซับซ้อนที่อนุญาตของอัลกอริธึมที่ดำเนินการโดยระบบ รวมถึงความเร็วของระบบโดยรวมในระดับหนึ่ง โมดูลหน่วยความจำถูกนำไปใช้กับชิปหน่วยความจำ (RAM หรือ ROM) ระบบไมโครโปรเซสเซอร์มีการใช้หน่วยความจำแฟลชมากขึ้นเรื่อยๆ ซึ่งเป็นหน่วยความจำแบบไม่ลบเลือนซึ่งมีความสามารถในการเขียนเนื้อหาใหม่ได้หลายครั้ง

ในการเชื่อมต่อโมดูลหน่วยความจำกับบัสระบบ จะใช้บล็อกอินเทอร์เฟซซึ่งรวมถึงตัวถอดรหัสที่อยู่ (ตัวเลือก) วงจรสำหรับประมวลผลสัญญาณควบคุมบัส และบัฟเฟอร์ข้อมูล (รูปที่ 7.4.1)

รูปที่ 7.4.1. แผนผังการเชื่อมต่อโมดูลหน่วยความจำ

พื้นที่หน่วยความจำของระบบไมโครโปรเซสเซอร์มักจะถูกจัดสรรให้กับพื้นที่พิเศษหลายแห่งที่ทำหน้าที่พิเศษ ซึ่งรวมถึง:

– หน่วยความจำโปรแกรมเริ่มต้นทำงานบน ROM หรือหน่วยความจำแฟลช

– หน่วยความจำสแต็กหรือสแต็ก (Stack) เป็นส่วนหนึ่งของ RAM ที่มีไว้สำหรับการจัดเก็บข้อมูลชั่วคราว

– ตารางเวกเตอร์อินเทอร์รัปต์ที่มีที่อยู่เริ่มต้นของโปรแกรมประมวลผลอินเทอร์รัปต์

– หน่วยความจำของอุปกรณ์ที่เชื่อมต่อกับบัสระบบ

ตามกฎแล้วส่วนอื่น ๆ ทั้งหมดของพื้นที่หน่วยความจำมีวัตถุประสงค์สากล สามารถมีทั้งข้อมูลและโปรแกรม (แน่นอน ในกรณีของสถาปัตยกรรมบัสเดี่ยว)

บ่อยครั้งที่พื้นที่หน่วยความจำถูกแบ่งออกเป็นเซ็กเมนต์โดยมีที่อยู่เริ่มต้นเซ็กเมนต์ที่ตั้งโปรแกรมได้และขนาดเซ็กเมนต์ที่ตั้งไว้ ตัวอย่างเช่น ในโปรเซสเซอร์ Intel 8086 การแบ่งส่วนหน่วยความจำจะถูกจัดระเบียบดังนี้

หน่วยความจำระบบทั้งหมดไม่ได้แสดงเป็นพื้นที่ต่อเนื่อง แต่ในรูปแบบของหลายส่วน - ส่วนที่มีขนาดที่กำหนด (ส่วนละ 64 KB) ตำแหน่งในพื้นที่หน่วยความจำสามารถเปลี่ยนแปลงได้โดยทางโปรแกรม

ในการจัดเก็บรหัสที่อยู่หน่วยความจำ จะไม่มีการใช้รีจิสเตอร์เดี่ยว แต่ใช้คู่ของรีจิสเตอร์:

การลงทะเบียนเซ็กเมนต์ระบุที่อยู่เริ่มต้นของเซ็กเมนต์ (นั่นคือ ตำแหน่งของเซ็กเมนต์ในหน่วยความจำ)

การลงทะเบียนตัวชี้ (การลงทะเบียนออฟเซ็ต) กำหนดตำแหน่งของที่อยู่การทำงานภายในส่วน

ในกรณีนี้ ที่อยู่หน่วยความจำฟิสิคัล 20 บิตที่เปิดเผยต่อบัสที่อยู่ภายนอกจะถูกสร้างขึ้นดังแสดงในรูปที่ 7.4.2 กล่าวคือ โดยการเพิ่มออฟเซ็ตและที่อยู่เซกเมนต์ด้วยการเปลี่ยน 4 บิต

รูปที่ 7.4.2. การก่อตัวของที่อยู่หน่วยความจำกายภาพจากที่อยู่ส่วนและออฟเซ็ต

ตำแหน่งของที่อยู่ในหน่วยความจำนี้แสดงไว้ในรูปที่ 7.4.3

รูปที่ 7.4.3. ตำแหน่งของที่อยู่ทางกายภาพในหน่วยความจำ

เซ็กเมนต์สามารถเริ่มต้นที่ขอบเขตหน่วยความจำ 16 ไบต์เท่านั้น (เนื่องจากที่อยู่เริ่มต้นเซกเมนต์โดยพื้นฐานแล้วเป็นศูนย์บิตลำดับต่ำสี่บิต ดังแสดงในรูปที่ 7.4.2) นั่นคือที่แอดเดรสที่เป็นจำนวนทวีคูณของ 16 เหล่านี้ ขอบเขตส่วนที่ถูกต้องเรียกว่าขอบเขตของย่อหน้า

โปรดทราบว่าการแนะนำการแบ่งส่วนมีสาเหตุหลักมาจากการลงทะเบียนภายในของโปรเซสเซอร์เป็นแบบ 16 บิตและที่อยู่หน่วยความจำกายภาพคือ 20 บิต (ที่อยู่ 16 บิตอนุญาตให้ใช้หน่วยความจำเพียง 64 KB ซึ่ง เห็นได้ชัดว่าไม่เพียงพอ)

หน่วยความจำแคชตั้งอยู่ระหว่างหน่วยความจำหลัก (RAM) และโปรเซสเซอร์กลาง เพื่อลดเวลาที่ใช้ในการเข้าถึง CPU ไปยัง RAM

แนวคิดของหน่วยความจำแคชนั้นขึ้นอยู่กับการคาดการณ์ว่า CPU มีโอกาสเข้าถึง OP มากที่สุด ข้อมูลและคำแนะนำที่เป็นไปได้มากที่สุดจะถูกคัดลอกไปยังหน่วยความจำแคชที่รวดเร็วของ CPU ก่อนที่ CPU จะใช้โดยตรง เพื่อให้สามารถเข้าถึงข้อมูลและคำแนะนำที่ใช้อยู่ในปัจจุบันได้อย่างรวดเร็ว โดยไม่ต้องเข้าถึง OP วิธีการนี้ขึ้นอยู่กับหลักการของท้องถิ่นของโปรแกรม หรือตามที่พวกเขากล่าว ลักษณะการโทรแบบซ้อน ซึ่งหมายความว่าที่อยู่ของการเรียกแบบฟอร์ม OP ต่อเนื่องกัน ตามกฎแล้วคือกลุ่มที่มีขนาดกะทัดรัด เมื่อเข้าถึง OP ไม่ใช่ข้อมูลส่วนบุคคลที่ถูกคัดลอกลงในหน่วยความจำแคช แต่เป็นบล็อกข้อมูล รวมถึงข้อมูลที่ CPU มีแนวโน้มว่าจะถูกใช้ในขั้นตอนการทำงานต่อๆ ไป ในเรื่องนี้ CPU จะเลือกคำสั่งที่ตามมาไม่ใช่จาก OP แต่จากหน่วยความจำแคชที่รวดเร็ว เมื่อ CPU จำเป็นต้องอ่านหรือเขียนข้อมูลบางอย่างลงใน RAM ก่อนอื่น CPU จะตรวจสอบการมีอยู่ของมันในหน่วยความจำแคช ประสิทธิภาพของระบบแคชขึ้นอยู่กับขนาดบล็อกและอัลกอริธึมของโปรแกรม



มีคำถามหรือไม่?

แจ้งการพิมพ์ผิด

ข้อความที่จะส่งถึงบรรณาธิการของเรา: