วันอาทิตย์ที่ 25 กันยายน พ.ศ. 2554

CPU ไมโครโปรเซสเซอร์


ประวัติความเป็นมาของไมโครโปรเซสเซอร์

ไมโครโปรเซสเซอร์กำเนิดขึ้นมาในช่วงต้นทศวรรษที่ 1970 โดยเกิดจากการนำเทคโนโลยี 2 อย่างมาพัฒนาร่วมกันซึ่งก็คือเทคโนโลยีทางด้านดิจิตอลคอมพิวเตอร์และเทคโนโลยี ทางด้านโซลิดสเตต(solidstate)

ดิจิตอลคอมพิวเตอร์จะทำงานตามโปรแกรมที่เราป้อนเข้าไปโดยโปรแกรมเป็นตัวบอกคอมพิวเตอร์ ว่าจะทำการเคลื่อนย้ายและประมวลผลข้อมูลอย่างไรการที่มันจะทำงานได้นั้นก็ต้องมีวงจรคำนวณ หน่วยความจำ และอุปกรณ์อินพุต/เอาต์พุต(input/output) เป็นส่วนประกอบซึ่งรูปแบบในการนำสิ่ง ที่กล่าวมานี้รวมเข้าด้วยกันเราเรียกว่าสถาปัตยกรรม (architecture)
ไมโครโปรเซสเซอร์มีสถาปัตยกรรมคล้ายกับดิจิตอลคอมพิวเตอร์หรือพูดอีกนัยหนึ่งได้ว่า ไมโครโปรเซสเซอร์ก็เหมือนกับดิจิตอลคอมพิวเตอร์เพราะสิ่งทั้งสองนี้ทำงานภายใต้การควบคุม ของโปรแกรมเหมือนกันฉะนั้นการศึกษาประวัติความเป็นมาของดิจิตอลคอมพิวเตอร์จะช่วยให้เราเข้าใจ การทำงานของไมโครโปรเซสเซอร์ และการศึกษาประวัติความเป็นมาของ วงจรโซลิดสเตตก็จะช่วยให้เราเข้าใจไมโครโปรเซสเซอร์มากยิ่งขึ้นเพราะไมโครโปรเซสเซอร์ก็ คือวงจรโซลิดสเตต
ชุดคำสั่ง (instruction set) ในไมโครโปรเซสเซอร์จะมีขนาดเพิ่มขึ้น และมีความซับซ้อนมากขึ้น เมื่อจำนวนบิตของไมโครโปรเซสเซอร์เพิ่มขึ้น ไมโครโปรเซสเซอร์บางตัวจะมีความสามารถพอ ๆ กับหรือเหนือกว่ามินิคอมพิวเตอร์ทั่วไป ในช่วงต้นทศวรรษที่ 1980 ได้มีการพัฒนาระบบไมโครโปรเซสเซอร์ขนาด 8 บิตที่มีหน่วยความจำ และมีความสามารถในการติดต่อสื่อสาร ระบบนี้มีชื่อเรียกว่า ไมโครคอมพิวเตอร์ (microcomputer) หรือไมโครโปรเซสเซอร์ชิปเดี่ยว ซึ่งได้มีการนำไปใช้อย่างแพร่หลาย เพื่อควบคุมการทำงานของอุปกรณ์ต่าง ๆ เช่น คีย์บอร์ด เครื่องเล่นวีดีโอเทป โทรทัศน์ เตาอบไมโครเวฟ โทรศัพทื์ที่มีความสามารถสูง และอุปกรณ์ต่าง ๆ ในด้านอุตสาหกรรม

ถ้าเปรียบเทียบกับร่างกายของมนุษย์โพรเซสเซอร์ก็น่าจะเปรียบเทียบเป็นเหมือนสมองของมนุษย์นั่งเอง ซึ่งคอยคิดควบคุมการทำงานส่วนต่างๆของร่างกาย ดังนั้นถ้าจัดระดับความสำคัญแล้วโพรเซสเซอร์ก็น่าจะมีความสำคัญเป็นอันดับแรก



บล็อกไดอะแกรมของโพรเซสเซอร์

ส่วนประกอบของโพรเซสเซอร์มีดังนี้
  Bus Interface Unit (BIU) (Cbox) คือส่วนที่เชื่อมต่อระหว่าง address bus, control bus และ data bus กับภายนอกเช่น หน่วยความจำหลัก (main memory) และอุปกรณ์ภายนอก (peripherals)
  Memory Management Unit (MMU) (Mbox) คือส่วนที่ควบคุมโพรเซสเซอร์ในการใช้งานแคช (cache) และหน่วยความจำ (memory) โดย MMU ยังช่วยในการทำ virtual memory และ paging ซึ่งแปลง virtual addresses ไปเป็น physical addresses โดยใช้ Translation Look-aside Buffer (TLB)
  Integrated on-chip cache เป็นส่วนสำหรับเก็บข้อมูลที่ใช้งานบ่อยๆใน Synchronous RAM (SRAM) เพื่อให้การทำงานของโพรเซสเซอร์มีประสิทธิภาพสูงสุด ใช้งานได้ทั้ง L1 และ L2 on chip cache
  Prefetch Unit (part of Ibox) คือส่วนที่ดึงข้อมูลและคำสั่งจาก instruction cache และ data cache หรือ main memory based เมื่อ Prefetch Unit อ่านข้อมูลและคำสั่งมาแล้วก็จะส่งข้อมูลและคำสั่งเหล่านี้ต่อไปให้ Decode Unit
  Decode Unit or Instruction Unit (part of Ibox) คือส่วนที่แปลความหมาย ถอดรหัส หรือแปลคำสั่ง ให้เป็นรูปแบบที่ ALU และ registers เข้าใจ
  Branch Target Buffer (BTB) คือส่วนที่บรรจุคำสั่งเก่าๆที่เข้ามาสู่โพรเซสเซอร์ ซึ่ง BTB นั้นเป็นส่วนหนึ่งของ Prefetch Unit
  Control Unit or Execution Unit คือส่วนที่เป็นศูนย์กลางคอยควบคุมการทำงานในโพรเซสเซอร์ดังนี้
     อ่านและแปลความหมายของคำสั่งตามลำดับ
     ควบคุม Arithmetic and Logic Unit (ALU), registers และส่วนประกอบอื่นๆของโพรเซสเซอร์ ตามคำสั่ง
     ควบคุมการเคลื่อนย้ายของข้อมูลที่รับ-ส่งจาก primary memory และอุปกรณ์ I/O
  ALU (Ebox) คือส่วนที่ปฏิบัติตามคำสั่งและเปรียบเทียบ operands ในบางโพรเซสเซอร์มีการแยก ALU ออกเป็น 2 ส่วนดังนี้
     Arithmetic Unit (AU)
     Logic Unit (LU)
     operation ที่ ALU ปฏิบัติตามเช่น
     Arithmetic operations (+, -, *, และ /)
     Comparisons (<, >, และ =)
     Logic operations (and, or)
  Floating-Point Unit (FPU) (Fbox) คือส่วนที่ทำการคำนวณเกี่ยวกับจำนวนตัวเลขที่เป็นจุดทศนิยม
  Registers (part of Ibox, Fbox, และ Ebox) คือส่วนที่ใช้สำหรับเก็บข้อมูลสำหรับการคำนวณในโพรเซสเซอร์
     Data register set เก็บข้อมูลที่ใช้งานโดย ALU เพื่อใช้สำหรับการคำนวณที่ได้รับการควบคุมจาก Control Unit ซึ่งข้อมูลนี้อาจส่งมาจาก data cache, main memory, หรือ Control Unit ก็ได้
     Instruction register set เก็บคำสั่งที่กำลังทำงานอยู่

หน่วยประมวลผลกลาง (Central Processing Unit : CPU)
     หน่วยประมวลผลกลางหรือซีพียู เรียกอีกชื่อหนึ่งว่า โปรเซสเซอร์ (Processor) หรือ ชิป (chip) นับเป็นอุปกรณ์ ที่มีความสำคัญมากที่สุด ของฮาร์ดแวร์เพราะมีหน้าที่ในการประมวลผลข้อมูลที่ผู้ใช้ป้อน เข้ามาทางอุปกรณ์อินพุต ตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการใช้งาน หน่วยประมวลผลกลาง ประกอบด้วยส่วนประสำคัญ 3 ส่วน คือ

1. หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit : ALU)
     หน่วยคำนวณตรรกะ ทำหน้าที่เหมือนกับเครื่องคำนวณอยู่ในเครื่องคอมพิวเตอร์โดยทำงานเกี่ยวข้องกับ การคำนวณทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร นอกจากนี้หน่วยคำนวณและตรรกะของคอมพิวเตอร์ ยังมีความสามารถอีกอย่างหนึ่งที่เครื่องคำนวณธรรมดาไม่มี คือ ความสามารถในเชิงตรรกะศาสตร์ หมายถึง ความสามารถในการเปรียบเทียบตามเงื่อนไข และกฎเกณฑ์ทางคณิตศาสตร์ เพื่อให้ได้คำตอบออกมาว่าเงื่อนไข นั้นเป็น จริง หรือ เท็จ เช่น เปรียบเทียบมากว่า น้อยกว่า เท่ากัน ไม่เท่ากัน ของจำนวน 2 จำนวน เป็นต้น ซึ่งการเปรียบเทียบนี้มักจะใช้ในการเลือกทำงานของเครื่องคอมพิวเตอร์ จะทำตามคำสั่งใดของโปรแกรมเป็น คําสั่งต่อไป

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

3. หน่วยความจำหลัก (Main Memory)
     
คอมพิวเตอร์จะสามารถทำงานได้เมื่อมีข้อมูล และชุดคำสั่งที่ใช้ในการประมวลผลอยู่ในหน่วยความ จำหลักเรียบร้อยแล้วเท่านั้น และหลักจากทำการประมวลผลข้อมูลตามชุดคำสั่งเรียบร้อยแล้ว ผลลัพธ์ที่ได้ จะถูกนำไปเก็บไว้ที่หน่วยความจำหลัก และก่อนจะถูกนำออกไปแสดงที่อุปกรณ์แสดงผล

 




ไม่มีความคิดเห็น:

แสดงความคิดเห็น