ประวัติความเป็นมาของไมโครโปรเซสเซอร์
ไมโครโปรเซสเซอร์กำเนิดขึ้นมาในช่วงต้นทศวรรษที่ 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 เก็บคำสั่งที่กำลังทำงานอยู่
• 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 ส่วน คือ
หน่วยประมวลผลกลางหรือซีพียู เรียกอีกชื่อหนึ่งว่า โปรเซสเซอร์ (Processor) หรือ ชิป (chip) นับเป็นอุปกรณ์ ที่มีความสำคัญมากที่สุด ของฮาร์ดแวร์เพราะมีหน้าที่ในการประมวลผลข้อมูลที่ผู้ใช้ป้อน เข้ามาทางอุปกรณ์อินพุต ตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการใช้งาน หน่วยประมวลผลกลาง ประกอบด้วยส่วนประสำคัญ 3 ส่วน คือ
1. หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit : ALU)
หน่วยคำนวณตรรกะ ทำหน้าที่เหมือนกับเครื่องคำนวณอยู่ในเครื่องคอมพิวเตอร์โดยทำงานเกี่ยวข้องกับ การคำนวณทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร นอกจากนี้หน่วยคำนวณและตรรกะของคอมพิวเตอร์ ยังมีความสามารถอีกอย่างหนึ่งที่เครื่องคำนวณธรรมดาไม่มี คือ ความสามารถในเชิงตรรกะศาสตร์ หมายถึง ความสามารถในการเปรียบเทียบตามเงื่อนไข และกฎเกณฑ์ทางคณิตศาสตร์ เพื่อให้ได้คำตอบออกมาว่าเงื่อนไข นั้นเป็น จริง หรือ เท็จ เช่น เปรียบเทียบมากว่า น้อยกว่า เท่ากัน ไม่เท่ากัน ของจำนวน 2 จำนวน เป็นต้น ซึ่งการเปรียบเทียบนี้มักจะใช้ในการเลือกทำงานของเครื่องคอมพิวเตอร์ จะทำตามคำสั่งใดของโปรแกรมเป็น คําสั่งต่อไป
หน่วยคำนวณตรรกะ ทำหน้าที่เหมือนกับเครื่องคำนวณอยู่ในเครื่องคอมพิวเตอร์โดยทำงานเกี่ยวข้องกับ การคำนวณทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร นอกจากนี้หน่วยคำนวณและตรรกะของคอมพิวเตอร์ ยังมีความสามารถอีกอย่างหนึ่งที่เครื่องคำนวณธรรมดาไม่มี คือ ความสามารถในเชิงตรรกะศาสตร์ หมายถึง ความสามารถในการเปรียบเทียบตามเงื่อนไข และกฎเกณฑ์ทางคณิตศาสตร์ เพื่อให้ได้คำตอบออกมาว่าเงื่อนไข นั้นเป็น จริง หรือ เท็จ เช่น เปรียบเทียบมากว่า น้อยกว่า เท่ากัน ไม่เท่ากัน ของจำนวน 2 จำนวน เป็นต้น ซึ่งการเปรียบเทียบนี้มักจะใช้ในการเลือกทำงานของเครื่องคอมพิวเตอร์ จะทำตามคำสั่งใดของโปรแกรมเป็น คําสั่งต่อไป
2. หน่วยควบคุม (Control Unit)
หน่วยควบคุมทำหน้าที่ควบคุมลำดับขั้นตอนการการประมวลผลและการทำงานของอุปกรณ์ต่างๆ ภายใน หน่วยประมวลผลกลาง และรวมไปถึงการประสานงานในการทำงานร่วมกันระหว่างหน่วยประมวลผลกลาง กับอุปกรณ์นำเข้าข้อมูล อุปกรณ์แสดงผล และหน่วยความจำสำรองด้วย เมื่อผู้ใช้ต้องการประมวลผล ตามชุดคำสั่งใด ผู้ใช้จะต้องส่งข้อมูลและชุดคำสั่งนั้น ๆ เข้าสู่ระบบ คอมพิวเตอร์เสียก่อน โดยข้อมูล และชุดคำสั่งดังกล่าวจะถูกนำไปเก็บไว้ในหน่วยความจำหลักก่อน จากนั้นหน่วยควบคุมจะดึงคำสั่งจาก ชุดคำสั่งที่มีอยู่ในหน่วยความจำหลักออกมาทีละคำสั่งเพื่อทำการแปล ความหมายว่าคำสั่งดังกล่าวสั่งให้ ฮาร์ดแวร์ส่วนใด ทำงานอะไรกับข้อมูลตัวใด เมื่อทราบความหมายของ คำสั่งนั้นแล้ว หน่วยควบคุมก็จะส่ง สัญญาณคำสั่งไปยังฮาร์ดแวร์ ส่วนที่ทำหน้าที่ ในการประมวลผลดังกล่าว ให้ทำตามคำสั่งนั้น ๆ เช่น ถ้าคำสั่ง ที่เข้ามานั้นเป็นคำสั่งเกี่ยวกับการคำนวณ หน่วยควบคุมจะส่งสัญญาณ คำสั่งไปยังหน่วยคำนวณและตรรกะ ให้ทำงาน หน่วยคำนวณและตรรกะก็จะไปทำการดึงข้อมูลจาก หน่วยความจำหลักเข้ามาประมวลผล ตามคำสั่งแล้วนำผลลัพธ์ที่ได้ไปแสดงยังอุปกรณ์แสดงผล หน่วยควบคุมจึงจะส่งสัญญาณคำสั่งไปยัง อุปกรณ์แสดงผลลัพธ์ ที่กำหนดให้ดึงข้อมูลจากหน่วยความจำหลัก ออกไปแสดงให้เห็นผลลัพธ์ดังกล่าว อีกต่อหนึ่ง
หน่วยควบคุมทำหน้าที่ควบคุมลำดับขั้นตอนการการประมวลผลและการทำงานของอุปกรณ์ต่างๆ ภายใน หน่วยประมวลผลกลาง และรวมไปถึงการประสานงานในการทำงานร่วมกันระหว่างหน่วยประมวลผลกลาง กับอุปกรณ์นำเข้าข้อมูล อุปกรณ์แสดงผล และหน่วยความจำสำรองด้วย เมื่อผู้ใช้ต้องการประมวลผล ตามชุดคำสั่งใด ผู้ใช้จะต้องส่งข้อมูลและชุดคำสั่งนั้น ๆ เข้าสู่ระบบ คอมพิวเตอร์เสียก่อน โดยข้อมูล และชุดคำสั่งดังกล่าวจะถูกนำไปเก็บไว้ในหน่วยความจำหลักก่อน จากนั้นหน่วยควบคุมจะดึงคำสั่งจาก ชุดคำสั่งที่มีอยู่ในหน่วยความจำหลักออกมาทีละคำสั่งเพื่อทำการแปล ความหมายว่าคำสั่งดังกล่าวสั่งให้ ฮาร์ดแวร์ส่วนใด ทำงานอะไรกับข้อมูลตัวใด เมื่อทราบความหมายของ คำสั่งนั้นแล้ว หน่วยควบคุมก็จะส่ง สัญญาณคำสั่งไปยังฮาร์ดแวร์ ส่วนที่ทำหน้าที่ ในการประมวลผลดังกล่าว ให้ทำตามคำสั่งนั้น ๆ เช่น ถ้าคำสั่ง ที่เข้ามานั้นเป็นคำสั่งเกี่ยวกับการคำนวณ หน่วยควบคุมจะส่งสัญญาณ คำสั่งไปยังหน่วยคำนวณและตรรกะ ให้ทำงาน หน่วยคำนวณและตรรกะก็จะไปทำการดึงข้อมูลจาก หน่วยความจำหลักเข้ามาประมวลผล ตามคำสั่งแล้วนำผลลัพธ์ที่ได้ไปแสดงยังอุปกรณ์แสดงผล หน่วยควบคุมจึงจะส่งสัญญาณคำสั่งไปยัง อุปกรณ์แสดงผลลัพธ์ ที่กำหนดให้ดึงข้อมูลจากหน่วยความจำหลัก ออกไปแสดงให้เห็นผลลัพธ์ดังกล่าว อีกต่อหนึ่ง
3. หน่วยความจำหลัก (Main Memory)
คอมพิวเตอร์จะสามารถทำงานได้เมื่อมีข้อมูล และชุดคำสั่งที่ใช้ในการประมวลผลอยู่ในหน่วยความ จำหลักเรียบร้อยแล้วเท่านั้น และหลักจากทำการประมวลผลข้อมูลตามชุดคำสั่งเรียบร้อยแล้ว ผลลัพธ์ที่ได้ จะถูกนำไปเก็บไว้ที่หน่วยความจำหลัก และก่อนจะถูกนำออกไปแสดงที่อุปกรณ์แสดงผล
คอมพิวเตอร์จะสามารถทำงานได้เมื่อมีข้อมูล และชุดคำสั่งที่ใช้ในการประมวลผลอยู่ในหน่วยความ จำหลักเรียบร้อยแล้วเท่านั้น และหลักจากทำการประมวลผลข้อมูลตามชุดคำสั่งเรียบร้อยแล้ว ผลลัพธ์ที่ได้ จะถูกนำไปเก็บไว้ที่หน่วยความจำหลัก และก่อนจะถูกนำออกไปแสดงที่อุปกรณ์แสดงผล
ไม่มีความคิดเห็น:
แสดงความคิดเห็น