คำถามติดแท็ก x86

8
ทำไมการแบ่งส่วน (ไม่)
ฉันกำลังศึกษาระบบปฏิบัติการและสถาปัตยกรรม x86 และในขณะที่ฉันอ่านเกี่ยวกับการแบ่งส่วนและการแบ่งหน้าฉันก็อยากรู้อยากเห็นว่าระบบปฏิบัติการที่ทันสมัยจัดการการจัดการหน่วยความจำได้อย่างไร จากสิ่งที่ฉันพบ Linux และระบบปฏิบัติการอื่น ๆ ส่วนใหญ่หลีกเลี่ยงการแบ่งส่วนเพื่อสนับสนุนการแบ่งหน้า เหตุผลสองสามข้อที่ฉันพบคือความเรียบง่ายและพกพาสะดวก มีการใช้งานอะไรในทางปฏิบัติสำหรับการแบ่งส่วน (x86 หรืออย่างอื่น) และเราจะเคยเห็นระบบปฏิบัติการที่แข็งแกร่งใช้หรือจะใช้ระบบเพจแบบเพจต่อไป ตอนนี้ฉันรู้ว่านี่เป็นคำถามที่โหลด แต่ฉันอยากรู้ว่าการแบ่งส่วนจะจัดการกับระบบปฏิบัติการที่พัฒนาขึ้นใหม่ได้อย่างไร มันสมเหตุสมผลหรือไม่ที่จะชอบเพจที่ไม่มีใครจะพิจารณาแนวทาง 'แบบแบ่งส่วน' มากขึ้น? ถ้าเป็นเช่นนั้นทำไม และเมื่อฉันบอกว่าการแบ่งส่วน 'ชุน' ฉันหมายความว่าลีนุกซ์ใช้เท่าที่มันจะทำได้ เพียง 4 ส่วนสำหรับผู้ใช้และรหัสเคอร์เนล / ส่วนข้อมูล ในขณะที่อ่านเอกสารของ Intel ฉันเพิ่งรู้สึกว่าการแบ่งส่วนได้รับการออกแบบด้วยโซลูชั่นที่แข็งแกร่งกว่าในใจ จากนั้นอีกครั้งฉันถูกบอกในหลาย ๆ ครั้งว่าความซับซ้อนของ x86 สามารถทำได้ ฉันพบเรื่องราวเล็ก ๆ น้อย ๆ ที่น่าสนใจหลังจากเชื่อมโยงกับ 'ประกาศ' ดั้งเดิมของ Linux Torvald สำหรับ Linux เขาพูดเรื่องนี้ไม่กี่โพสต์ในภายหลัง: พูดง่ายๆว่าการย้ายพอร์ตนั้นเป็นไปไม่ได้ ส่วนใหญ่จะอยู่ใน C …

3
'R' ในชื่อลงทะเบียน x64 มีไว้เพื่ออะไร?
ฉันรู้ว่าการลงทะเบียน 32 บิตถูกตั้งชื่อเหมือนการลงทะเบียน 16 บิตที่มีส่วนนำหน้า 'E' เพื่อเพิ่มความหมาย ฉันคิดเสมอว่าหมายถึงขยายจาก 16 เป็น 32 บิตแม้ว่าฉันไม่เคยเห็นที่ระบุไว้อย่างชัดเจน ฉันพยายามค้นหาว่า 'R' หมายถึงอะไร แต่ทักษะ google ของฉันทำให้ฉันล้มเหลว ใครรู้บ้าง
27 architecture  x86 

5
มีหนังสือบัญญัติในชุด x86 หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา มีหนังสือมากมายในการชุมนุม อย่างไรก็ตามพวกเขามักจะจัดการกับ ISAs ซึ่งฉันไม่สนใจเช่น MIPS หรือ ARM ฉันไม่ได้จัดการกับสถาปัตยกรรมเหล่านี้ ไม่มีเหตุผลที่ฉันจะพยายามเรียนรู้พวกเขา แต่หนังสือประกอบ x86 ดูเหมือน ... ไม่มีอยู่จริง สมมติว่าฉันกำลังพยายามสร้างคอมไพเลอร์ของเล่นที่สร้างไฟล์ Windows Portable Executable มีหนังสือออกบ้างไหมว่าเป็นมาตรฐาน de-facto สำหรับอธิบายวิธีปฏิบัติที่ดีที่สุดวิธีการออกแบบและข้อมูลที่เป็นประโยชน์อื่น ๆ ในชุดประกอบ x86? หนังสือเล่มไหนที่ทำให้มันพิเศษ?
25 learning  books  assembly  x86 

3
ทำไมมัลติเธรดถึงเป็นที่ต้องการสำหรับการปรับปรุงประสิทธิภาพ?
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 6 ปีที่แล้ว ฉันมีคำถามเกี่ยวกับสาเหตุที่โปรแกรมเมอร์ดูเหมือนว่าจะรักการทำงานพร้อมกันและโปรแกรมแบบมัลติเธรดโดยทั่วไป ฉันกำลังพิจารณา 2 วิธีหลักที่นี่: โดยทั่วไปแล้ววิธีการแบบอะซิงก์นั้นขึ้นอยู่กับสัญญาณหรือเพียงแค่วิธีการแบบอะซิงก์ที่ถูกเรียกโดยเอกสารและภาษาจำนวนมากเช่น C # 5.0 ใหม่และ "ด้ายร่วม" ที่จัดการนโยบายการส่งข้อมูลของคุณ วิธีการทำงานพร้อมกันหรือวิธีการหลายเธรด ฉันแค่จะบอกว่าฉันกำลังคิดเกี่ยวกับฮาร์ดแวร์ที่นี่และสถานการณ์กรณีที่เลวร้ายที่สุดและฉันได้ทดสอบกระบวนทัศน์ทั้งสองนี้ด้วยตัวเองกระบวนทัศน์แบบ async เป็นผู้ชนะ ณ จุดที่ฉันไม่เข้าใจว่าทำไมคนถึง 90% พูดคุยเกี่ยวกับมัลติเธรดเมื่อพวกเขาต้องการเพิ่มความเร็วของสิ่งต่าง ๆ หรือใช้ทรัพยากรให้เกิดประโยชน์ ฉันได้ทดสอบโปรแกรมแบบมัลติเธรดและโปรแกรม async บนเครื่องเก่าด้วย Intel quad-core ที่ไม่ได้มีตัวควบคุมหน่วยความจำภายในซีพียูหน่วยความจำได้รับการจัดการทั้งหมดโดยเมนบอร์ดในกรณีนี้การแสดงที่น่ากลัวกับ แอ็พพลิเคชันแบบมัลติเธรดแม้จำนวนเธรดที่ค่อนข้างต่ำเช่น 3-4-5 อาจเป็นปัญหาแอ็พพลิเคชันไม่ตอบสนองและเป็นเพียงช้าและไม่เป็นที่พอใจ วิธี async ที่ดีคือในอีกทางหนึ่งอาจไม่เร็วขึ้น แต่ก็ไม่ได้แย่ที่สุดแอปพลิเคชันของฉันรอผลและไม่แฮงค์มันตอบสนองและมีการปรับขนาดที่ดีขึ้นมาก ฉันได้ค้นพบว่าการเปลี่ยนแปลงบริบทในโลกของเธรดนั้นไม่ได้ราคาถูกในสถานการณ์โลกแห่งความเป็นจริงมันค่อนข้างแพงโดยเฉพาะอย่างยิ่งเมื่อคุณมีเธรดมากกว่า 2 เธรดที่ต้องวนรอบและสลับระหว่างกันเพื่อคำนวณ ในซีพียูสมัยใหม่สถานการณ์มันไม่ได้แตกต่างกันจริงๆตัวควบคุมหน่วยความจำที่รวมเข้าด้วยกัน แต่ประเด็นของฉันคือซีพียู …

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

9
ฉันเข้าใจว่าตัวชี้แบบสแต็คคืออะไร แต่ใช้เพื่ออะไร
ตัวชี้สแต็กชี้ไปที่ด้านบนของสแต็กซึ่งเก็บข้อมูลเกี่ยวกับสิ่งที่เราเรียกว่า "LIFO" เพื่อขโมยความคล้ายคลึงของคนอื่นมันเหมือนกับกองอาหารที่คุณใส่และนำไปปรุงอาหารที่ด้านบน ตัวชี้สแต็ก OTOH ชี้ไปที่ "จาน" ด้านบนของสแต็ก อย่างน้อยมันก็เป็นจริงสำหรับ x86 แต่ทำไมคอมพิวเตอร์ / โปรแกรม "สนใจ" ตัวชี้สแต็คชี้ไปที่อะไร? กล่าวอีกนัยหนึ่งจุดประสงค์อะไรที่มีตัวชี้สแต็กและการรู้ว่าจะให้บริการที่ใด คำอธิบายที่เข้าใจได้โดยโปรแกรมเมอร์ C จะได้รับการชื่นชม
11 stack  x86 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.