อุปกรณ์อินพุตโหลดโปรแกรมลงในหน่วยความจำ CPU จะดึงคำสั่งโปรแกรมจากหน่วยความจำและสร้างข้อมูลก่อนที่จะส่งออกข้อมูลนี้ไปยังอุปกรณ์เอาท์พุต ระบบคอมพิวเตอร์นี้ถูกเสนอโดย John Von Neumann ในทศวรรษที่ 1940

คอมพิวเตอร์ส่วนบุคคล

นาฬิกาเป็นนาฬิกาตามตัวอักษรที่คอยตรวจสอบทั้งระบบ

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

ซีพียู

CPU ดึงข้อมูลและดำเนินการคำสั่งจากหน่วยความจำหลัก คำสั่งที่ดำเนินการนั้นพื้นฐานมาก เช่น การบวกการลบอย่างง่าย

การทำงานของ CPU จะซิงโครไนซ์กับนาฬิกา

ระบบบัส

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

บัสระบบมีส่วนประกอบ 3 ส่วน:

  • รถบัสที่อยู่
  • บัสข้อมูล
  • รถบัสควบคุม

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

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

จำเป็นต้องมีการสื่อสารหนึ่งครั้งต่อบัสต่อรอบ ไม่เช่นนั้นการโต้แย้งของบัสจะเกิดขึ้น

อุปกรณ์รับเข้า/ส่งออก

เมื่อดำเนินการ I/O CPU จำเป็นต้องรู้ว่าอุปกรณ์พร้อมใช้งานเมื่อใด มีสองวิธีในการทำเช่นนี้:

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

การขัดจังหวะคือจุดที่อุปกรณ์ I/O ขัดจังหวะ CPU ป้องกันไม่ให้อุปกรณ์ทำสิ่งที่กำลังทำอยู่เพื่อจัดการกับการกระทำของ I/O ให้เสร็จสิ้น

หน่วยความจำ

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

หน่วยความจำมี 3 ประเภท:

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

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

ตัวอย่างหน่วยความจำแบบง่าย:

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

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

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

1 แทะ = 4 บิต

1 ไบต์ = 8 บิต

1 KB (กิโลไบต์) = 210 (1024) ไบต์

1 MB (เมกะไบต์) = 210 KB

1GB (กิกะไบต์) = 210MB

1TB (เทราไบต์) = 210 GB

โปรดทราบว่าผู้ผลิตมักใช้ปัจจัย 1,000 มากกว่า 1,024

คำแนะนำเกี่ยวกับรหัสเครื่อง

รหัสเครื่องทั้งหมดใช้คำสั่งพื้นฐานเหล่านี้:

  • การถ่ายโอนข้อมูล
  • เลขคณิต — บวก ลบ คูณ หาร ฯลฯ
  • ตรรกะ — และหรือไม่ก็ เลื่อน หมุน
  • ทดสอบและเปรียบเทียบ
  • โฟลว์ควบคุม - การกระโดดแบบมีเงื่อนไข, การกระโดดแบบไม่มีเงื่อนไข, การเรียกรูทีนย่อยและการส่งคืน

รูปแบบคำสั่ง

คำสั่งที่ง่ายที่สุดอาจแสดงด้วยไบต์เดียว ในขณะที่คำสั่งอื่นอาจต้องใช้หลายไบต์

‹Opcode› ‹Data Len› ‹ตัวระบุตัวดำเนินการ›

Opcode: ระบุการดำเนินการที่จะดำเนินการ (ดูส่วนหัวก่อนหน้า)

Data Len: ระบุความยาวของข้อมูลที่เรากำลังดำเนินการอยู่

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

โหมดที่อยู่

ตำแหน่งของตัวถูกดำเนินการจะถูกระบุโดยใช้โหมดการกำหนดที่อยู่:

  • ทันที — ค่าตัวถูกดำเนินการจะถูกเข้ารหัสลงในคำสั่งโดยตรง
  • ลงทะเบียน — ตัวถูกดำเนินการอยู่ในการลงทะเบียน CPU
  • โดยตรง — ตัวถูกดำเนินการอยู่ในหน่วยความจำหลัก คำสั่งจะเข้ารหัสที่อยู่
  • Register Direct — คำสั่งระบุ register ซึ่งเก็บที่อยู่หน่วยความจำหลักของตัวถูกดำเนินการ

ซีพียู

CPU ถูกควบคุมโดยชุดควบคุม หน่วยควบคุมจะจ่าย ALU พร้อมด้วยตัวถูกดำเนินการ (การทำงาน)

หน่วยทางคณิตศาสตร์และลอจิก (ALU) ดำเนินการบวก ลบ หาร และคูณ

รีจิสเตอร์คือที่เก็บข้อมูลใน CPU ภายใน การลงทะเบียนเร็วกว่า RAM ผู้ลงทะเบียนมีชื่อเป็นรายบุคคล

ลงทะเบียน

การลงทะเบียนนั้นเร็วมาก

IP เรียกว่าตัวชี้คำสั่ง (บางครั้งตัวนับโปรแกรม) และจะเก็บตำแหน่งของคำสั่งถัดไปเสมอ

IR เรียกว่า Instruction Register การลงทะเบียนคำสั่งเก็บคำสั่งปัจจุบันไว้เพื่อดำเนินการ

รีจิสเตอร์บางตัวจะเชื่อมต่อกับหน่วยความจำหลักโดยตรง เช่น:

  • MAR — การลงทะเบียนที่อยู่หน่วยความจำ — ใช้เพื่อเก็บที่อยู่ของรายการในหน่วยความจำหลัก
  • MDR — การลงทะเบียนข้อมูลหน่วยความจำ — เก็บข้อมูล

ดึงข้อมูล-ดำเนินการวงจร

หน่วยควบคุมกำหนดทิศทางวงจรการดึงข้อมูลและดำเนินการ

  1. คัดลอกที่อยู่ใน IP และย้ายไปยัง MAR ออกคำขออ่าน
  2. เพิ่ม IP เพื่อชี้ไปยังคำสั่งถัดไป — เราเพิ่มที่นี่เพื่อที่เราจะได้ไม่ต้องรอ
  3. คำสั่งมาถึงใน MDR — คัดลอกไปที่ IR
  4. ถอดรหัส IR เพื่อหาสิ่งที่จำเป็น
  5. ดึงตัวถูกดำเนินการและข้อมูลใดๆ ที่จะใช้งาน
  6. ดำเนินการประหารชีวิต
  7. ไปที่ขั้นตอนที่ 1

รู้สึกอิสระที่จะเชื่อมต่อกับฉัน

ลิงก์อิน