แสดงบทความที่มีป้ายกำกับ CPU แสดงบทความทั้งหมด

Pep/7 Simulator

By Unknown | วันศุกร์, กุมภาพันธ์ 28, 2557
Pep/7's CPU

Pep/7 เป็นโปรแกรมที่จำลองหลักการทำงานของ CPU ซึ่งอนุญาติให้ผู้ใช้งานเขียน Machine language หรือภาษา Assembly ลงไปได้ เพื่อทำการศึกษาการทำงานของ CPU โดยตัว Pep/7 จะมีตัว Register มาให้ 3 ตัว (A,B,X) มี status bit 4 ตัว (N,V,Z,C) มี PC, Stack Counter,IR และ Memory ประมาณ 4 กิโลไบต์

ในการศึกษาเบื้องต้น จะโฟกัสที่ตัวหลักคือ
  1. A register, X register ใช้สำหรับเก็บข้อมูลชั่วคราวเพื่อใช้ในการประมวลผล
  2. status bit (n กับ z) ใช้บงบอกว่าค่าใน A register เป็นเลขบวก เลขลบหรือเลขศูนย์ ใช้ในการเปรียบเทียบค่า
  3. Instruction register (IR)
  4. Program Counter (PC)

How CPU works?

By Unknown | วันศุกร์, กุมภาพันธ์ 28, 2557

ในปี ค.ศ.1945 ศาสตราจารย์ J. von Neumann ได้เปิดเผยรายงานของตนกับผู้ร่วมงานเกี่ยวกับการออกแบบการทำงานของอุปกรณ์อิเล็กทรอนิกส์ที่ใช้ในการคำนวณที่เป็นที่รู้จักกันในชื่อของ "คอมพิวเตอร์" ที่เราใช้ในปัจจุบัน เป็นที่รู้จักกันในชื่อ "Von Neumann architecture" (สถาปัตยกรรมวอนนิวแมนน์) โดยมีลักษณะเด่น ๆ อยู่ดังนี้

  • หน่วยความจำหลักมีหน้าที่เก็บ Instruction (คำสั่งที่สั่งให้ CPU ประมวลผล) และข้อมูลไว้ที่เดียวกัน
  • ALU หรือ arithmetic/logic unit จะมีหน้าที่คำนวณทางคณิตศาสตร์และตรรกศาสตร์
  • I/O มีหน้าที่นำข้อมูล เข้า/ออก ระหว่างหน่วยความจำภายนอกเข้าสู้หน่วยประมวลผล
  • Control unit มีหน้าที่ควบคุม I/O และประมวลผลจาก Instruction Code

จากสถาปัตยกรรมที่กล่าวมา ทำให้เรารู้ว่าคำสั่งที่สั่งให้ตัว CPU ทำงานนั้นถูกเก็บไว้ที่หน่วยความจำที่เรียงต่อกันเป็นลำดับ ส่วนข้อมูลอื่น ๆ ที่ใช้ในการประมวลผลจะถูกเก็บอยู่อีกส่วนหนึ่งของหน่วยความจำ (เพื่อไม่ให้ CPU สับสนระหว่าง Instruction กับข้อมูล) ดังนั้นการทำงานของ CPU จะเริ่มตั้งแต่การอ่าน Instruction จากหน่วยความจำ แปลงคำสั่งนั้น ดึงข้อมูลที่จะต้องใช้ปหระมวลผล และเริ่มประมวลผล ซึ่งตัว CPU เองจะทำเป็นวงจรอย่างนี้ไปจนกว่าจะเจอคำสั่งให้หยุด เราเรียกวงจรนี้ว่า "Fetch-Execute cycle"

ขั้นตอนการทำงานใน Fetch-Execute cycle นั้นแบ่งออกเป็น 4 ขั้นตอนคือ

  1. Fetch the next instruction
  2. Decode the instruction
  3. Get data if needed
  4. Execute the Instruction