คำถามติดแท็ก memory-hardware

8
คอมพิวเตอร์จะกำหนดประเภทข้อมูลของไบต์ได้อย่างไร
ตัวอย่างเช่นหากคอมพิวเตอร์10111100เก็บไว้ในหน่วยความจำไบต์เดียวคอมพิวเตอร์จะทราบได้อย่างไรว่าแปลความหมายนี้เป็นจำนวนเต็มอักขระ ASCII หรืออย่างอื่น ข้อมูลประเภทเก็บอยู่ในไบต์ที่อยู่ติดกันหรือไม่? (ฉันไม่คิดว่าจะเป็นเช่นนี้เพราะจะส่งผลให้มีการใช้พื้นที่สองเท่าสำหรับหนึ่งไบต์) ฉันสงสัยว่าบางทีคอมพิวเตอร์อาจไม่รู้ประเภทของข้อมูลว่ามีเพียงโปรแกรมที่ใช้เท่านั้นที่รู้ ฉันเดาว่าเป็นเพราะ RAM เป็นR AM และดังนั้นจึงไม่ได้อ่านตามลำดับว่าโปรแกรมเฉพาะบอก CPU เพื่อดึงข้อมูลจากที่อยู่เฉพาะและโปรแกรมกำหนดวิธีการปฏิบัติ ดูเหมือนว่าจะเหมาะกับการเขียนโปรแกรมสิ่งต่าง ๆ เช่นความจำเป็นในการพิมพ์ดีด ฉันกำลังติดตามใช่ไหม?

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

3
การอ่านแบบสุ่มที่ขนานกันดูเหมือนว่าจะทำงานได้ดี - เพราะอะไร
พิจารณาโปรแกรมคอมพิวเตอร์ที่ง่ายมากต่อไปนี้: for i = 1 to n: y[i] = x[p[i]] นี่คือและคืออาร์เรย์ -element ของไบต์และคืออาร์เรย์ของคำศัพท์ -element ที่นี่มีขนาดใหญ่เช่น (เพื่อให้มีเพียงเศษเสี้ยวเล็กน้อยของข้อมูลที่พอดีกับหน่วยความจำแคชทุกประเภท)xxxYYynnnพีพีpnnnnnnn = 2วันที่ 31n=2วันที่ 31n = 2^{31} สมมติว่าประกอบด้วยตัวเลขสุ่มกระจายสม่ำเสมอระหว่างและnพีพีp111nnn จากมุมมองของฮาร์ดแวร์สมัยใหม่สิ่งนี้ควรหมายถึงสิ่งต่อไปนี้: การอ่านราคาถูก (การอ่านตามลำดับ)p [ i ]พี[ผม]p[i] การอ่านมีราคาแพงมาก (การอ่านแบบสุ่ม; การอ่านเกือบทั้งหมดเป็นแคชที่หายไป; เราจะต้องดึงข้อมูลแต่ละไบต์จากหน่วยความจำหลัก)x [ p [ i ] ]x[พี[ผม]]x[p[i]] การเขียนนั้นถูก (การเขียนตามลำดับ)Y[ i ]Y[ผม]y[i] และนี่คือสิ่งที่ฉันสังเกต โปรแกรมช้ามากเมื่อเปรียบเทียบกับโปรแกรมที่อ่านและเขียนตามลำดับเท่านั้น ยิ่งใหญ่ มาถึงคำถาม: โปรแกรมนี้ขนานกับแพลตฟอร์มมัลติคอร์ที่ทันสมัยได้อย่างไร สมมติฐานของฉันคือว่าโปรแกรมนี้ไม่ขนานกัน ท้ายที่สุดคอขวดคือหน่วยความจำหลัก …

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

1
การเขียนระบบปฏิบัติการมัลติทาสก์สำหรับโปรเซสเซอร์ที่ไม่มี MMU
ฉันคิดถึงการเขียนระบบปฏิบัติการอดิเรกสำหรับโปรเซสเซอร์ ARM บางตัว มีคอมพิวเตอร์บอร์ดเดี่ยวยอดนิยมหลายตัวที่มี ARM MPU ดังนั้นฉันแค่อยากจะซื้อหนึ่งในนั้น (เลือกหนึ่งที่มีเอกสารเปิดมากกว่า) ฉันรู้สึกประหลาดใจเมื่อพบว่าแม้บอร์ดที่มีหน่วยความจำเพียงพอจริง ๆ ก็ไม่มี MPUs ที่มีหน่วยความจำจัดการ เนื่องจากฉันทำงานกับโปรเซสเซอร์ i386 + มาตลอดและไม่เคยทำสิ่งอื่นใด (ยกเว้น Microchip PIC บางตัว) ตอนนี้ฉันสับสนและไม่แน่ใจว่าใครสามารถเขียนระบบปฏิบัติการที่ใช้งานได้ซึ่งฟังก์ชั่นจะไม่ถูก จำกัด เมื่อเปรียบเทียบกับระบบปฏิบัติการที่เขียน สำหรับ MPU กับ MMU ฉันสามารถคิดถึงวิธีแก้ปัญหาเล็กน้อยสำหรับ "การแทนที่" หรือ "การจำลอง" MMU และฉันมีคำถามสองสามข้อ: บนโปรเซสเซอร์ Intel ในโหมด 16 และ 32 บิตมีวิธีการใช้เซกเมนต์และตัวเลือกเซกเมนต์เพื่อใช้บล็อกหน่วยความจำที่แตกต่างกันตามงานที่แตกต่างกัน นั่นหมายความว่าฉันสามารถเปลี่ยนพื้นที่หน่วยความจำได้โดยการเปลี่ยนเนื้อหาของเซกเมนต์รีจิสเตอร์เมื่อทำการสลับงานเมื่อใช้ x86 มีแนวคิดทั่วไปสำหรับการแบ่งส่วนหน่วยความจำที่สามารถใช้กับสถาปัตยกรรม ARM ได้หรือไม่? โดยการโหลดไฟล์ออบเจกต์ที่เชื่อมโยงแทนการปฏิบัติการฉันสามารถใช้การเปลี่ยนตำแหน่ง (การแก้ไข) หรือวางโค้ดอิสระเพื่อชี้ตำแหน่งงานบนชิ้นส่วนของหน่วยความจำในลักษณะเดียวกับที่ฉันทำแผนที่หน่วยความจำโดยใช้โครงสร้างเพจจิ้ง สิ่งนี้จะมีประสิทธิภาพเพียงพอหรือไม่ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.