แมปโปรเซสเซอร์กับแผนภาพวงจร


11

ฉันเป็นนักพัฒนาซอฟต์แวร์ (ใช้ภาษาระดับสูงเช่น. NET, C, C ++ ฯลฯ ) พยายามเข้าใจว่าคอมพิวเตอร์ทำงานอย่างไรในระดับที่ต่ำกว่า

ฉันมีความสุขกับแผนภาพนี้:

ฉันพยายามที่จะเข้าใจอย่างถ่องแท้ในระดับสูงว่าไดอะแกรมในลิงค์แมปไปยังไดอะแกรมวงจรดังนี้:

ตัวอย่างเช่นดูคำสั่งภาษาแอสเซมบลี:

ADD 1,2

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


ด้วยการอ้างอิงถึงแผนภาพแรกที่คุณโพสต์รายละเอียดที่คุณต้องการสำหรับการคำนวณทางคณิตศาสตร์ทั้งหมดจะถูกซ่อนอยู่ในบล็อกขนาดใหญ่ที่มีป้ายกำกับ "ALU": บล็อกอื่น ๆ ทั้งหมดในแผนภาพนั้นอยู่ที่นั่นเพื่อรับ 1,2 และ "เพิ่ม" ลงใน ALU และผลออกมาอีกครั้ง เมื่อรู้อย่างนั้นคุณสามารถเริ่มอ่านวิธีการทำงานของ ALU ได้ถ้านั่นคือสิ่งที่คุณขอ ..
ไบรอันดรัมมอนด์

5
ไดอะแกรมแรกของคุณจับคู่กับ Z80 CPU ในไดอะแกรมที่สอง
starblue

คำตอบ:


7

ปัญหาคือเพื่อให้เข้าใจว่าคอมพิวเตอร์ได้รับถึง 1 + 2 = 3 คุณจะต้องเข้าใจลึกกว่าระดับที่คุณไปประมาณ 2 ระดับ

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

  1. แอพพลิเคชั่นซอฟต์แวร์
  2. เครื่องเสมือน
  3. ระบบปฏิบัติการ
  4. ไบออส
  5. ระบบฝังตัว
  6. IP Blocks (หน่วยย่อย / อุปกรณ์ต่อพ่วง)
  7. บล็อกตรรกะ
  8. ประตูระดับ
  9. ระดับทรานซิสเตอร์
  10. Semicoductors
  11. อุปกรณ์ฟิสิกส์

เพื่อให้เข้าใจได้อย่างถูกต้องว่าเหตุใดคอมพิวเตอร์จึงสามารถผลิต 2 + 1 = 3 คุณต้องตัดสินใจก่อนว่าคุณยินดีที่จะยอมรับ "กับศรัทธา" และสิ่งใดที่คุณจะไม่เชื่อจนกว่าคุณจะนำมาใช้ภายใน ข้อมูลนั้นจะอยู่ที่ระดับสองด้านล่างสิ่งที่คุณเข้าใจ ดังนั้นหากคุณต้องการเข้าใจวงจรบวกในระดับตรรกะคุณจะต้องเข้าใจพื้นฐานของทรานซิสเตอร์ "ดิจิตอล" (เฉพาะ CMOS)

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

คุณจะต้องเข้าใจวิธีการแสดงตัวเลขในส่วนเติมเต็มของ 2 (ระบบตัวเลขที่ใช้ในคอมพิวเตอร์สมัยใหม่สำหรับเลขจำนวนเต็ม)

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

โชคดี!


ขอบคุณสำหรับสิ่งนี้. +1 ฉันเป็นนักพัฒนา. NET แม้ว่าฉันจะมีประสบการณ์กับ C และ C ++ ฉันเข้าใจว่า C # ถูกคอมไพล์เป็นภาษาที่เป็นสื่อกลางและคอมไพเลอร์ JIT มุ่งเป้าไปที่สถาปัตยกรรมคอมพิวเตอร์โดยการรวบรวมรหัส IL ในทันที ฉันพยายามที่จะเข้าใจว่าไมโครคอนโทรลเลอร์สามารถรับตัวถูกดำเนินการและ opcode และสร้างผลลัพธ์ได้อย่างไร ฉันมีความรู้ (ระดับ GCSE) เกี่ยวกับชิ้นส่วนอิเล็กทรอนิกส์เช่น: ทรานซิสเตอร์, ตัวเก็บประจุ ฯลฯ
w0051977

... จากนั้นฉันจะเริ่มต้นด้วย "Switch Design" ในการอ่านและทำงานต่อไปในบทเรียนจากที่นั่น
DrFriedParts

รายการหัวข้อของคุณจัดการเพื่อโยนในหลาย ๆ ที่ไม่เกี่ยวข้องกับคำถามในขณะที่ข้ามหัวข้อที่เกี่ยวข้องมากที่สุด
Chris Stratton

@Chris - ไม่อย่างนั้น
DrFriedParts

3

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

Patterson และ Hennesy ใช้ตัวประมวลผล MIPS "แบบง่าย" บางตัวและแสดงฟังก์ชันทั้งหมดของ CPU พร้อมโค้ดตัวอย่างบางส่วนใน Assembler

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

ป.ล. บางทีไมโครโปรเซสเซอร์ระดับต้นจาก Google Code น่าจะมีประโยชน์ มันเป็นไมโครโปรเซสเซอร์จำลองใน Java


2

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


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

ดูเหมือนว่าสิ่งที่ฉันกำลังมองหาในเวลานี้ +1 ฉันจะดูแล้วกลับมา
w0051977

-1

ผมพบว่าคำตอบของฉันที่นี่ เป็นภาพรวมระดับสูงของกระบวนการเพิ่มตัวเลข


4
มันมีประโยชน์มากขึ้นสำหรับผู้อ่านในอนาคตหากคุณสรุปเนื้อหาในคำตอบ เพียงแค่ให้ลิงค์ไปยังแหล่งข้อมูลภายนอกไม่ได้เพิ่ม EE.SE มากนัก
Photon

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