คำแนะนำการเข้าถึง CPU [ปิด]


-5

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


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

ฉันกลัวว่ามันกว้างเกินไปฉันจะพยายามรวบรวมใหม่ตามที่คุณพูด
Newbie

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

CPU รู้เพราะคำสั่ง CPU ที่กำลังประมวลผลอยู่ คุณควรทำวิจัยเพิ่มเติมและแก้ไขคำถามนี้
Ramhound

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

คำตอบ:


0

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

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

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

  • เมื่อคำสั่งที่กำลังดำเนินการเป็นสาขาใด ๆ กระโดดหรือการดำเนินการโทรแล้วที่อยู่เป้าหมายจะถูกคำนวณและโหลดลงใน PC register คำสั่งถัดไปคือ (เรียกและ) ดำเนินการจากที่อยู่เป้าหมายนั้น

  • เมื่อคำสั่งที่ถูกดำเนินการเป็นการดำเนินการส่งคืนที่อยู่ส่งคืนจะถูกดึงออกจากสแต็กและโหลดลงใน PC register คำสั่งถัดไปคือ (เรียกและ) ดำเนินการจากที่อยู่ผู้ส่งนั้น

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

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


0

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.