ระบบสถาปัตยกรรมและคอมพิวเตอร์
สถาปัตยกรรมคอมพิวเตอร์ คือ การออกแบบส่วนต่างๆ ของระบบคอมพิวเตอร์ ให้สามารถทำงานได้อย่างมีประสิทธิภาพ ประกอบด้วยส่วนสำคัญ 2 ส่วน ดังนี้
สถาปัตยกรรมคำสั่ง ISA. (Instruction Set Architecture) คือ รูปแบบของการกำหนดภาษาที่ใช้กับเครื่องคอมพิวเตอร์ตระกูลต่างๆ ภาษาที่ใช้กับเครื่องประกอบกันขึ้นเป็นโปรแกรม หากโปรแกรมที่เขียนใช้กับเครื่องรุ่นเก่า และสามารถ Run กับเครื่องรุ่นใหม่ในตระกูลเดียวกันได้ เรียกเครื่องรุ่นใหม่นั้นได้ว่า "Upward Compatibility" ในทางกลับกันหากโปรแกรมที่เขียนขึ้นใช้กับเครื่องรุ่นใหม่แล้วไม่สามารถ Run กับเครื่องรุ่นเก่ากว่าได้ เรียกคอมพิวเตอร์รุ่นเก่านั้นไดว่า "Downward Compatibility"
สถาปัตยกรรม Hardware (Hardware System Architecture)คือ ฮาร์ดแวร์ (Hardware) ของระบบคอมพิวเตอร์ เช่น CPU , Storage System , Bus และ I/O System โดยพัฒนาขึ้นมาตามลำดับจากแนวคิดระบบคอมพิวเตอร์พื้นฐานของ Von Neumann ประกอบด้วย Hardware พื้นฐาน คือ
สถาปัตยกรรมคอมพิวเตอร์ เป็นทฤษฎีที่อยู่ฉากหลังของการออกแบบคอมพิวเตอร์ โดยทั่วไปหมายถึง การออกแบบ
-โครงสร้างของหน่วยประมวลผลกลาง (ซึ่งก็คือ การออกแบบจำนวนเรจิสเตอร์ที่จำเป็น และหน้าที่ที่จำเป็นของ หน่วยควบคุมกับหน่วยประมวลผลตัวเลข)
-ชุดของคำสั่งเครื่อง และการอ้างหน่วยความจำ
-เทคนิคอื่นๆ เช่น การประมวลผลแบบไปป์ไลน์
ประเภทของสถาปัตยกรรมการประมวลผลแบบขนาน ของโปรเซสเซอร์
1. SISD (Single Instruction Single Data stream) คือ โปรเซสเซอร์ ที่ใช้การประมวลผลด้วยชุดข้อมูลเพียงชุดเดียว
และ ทำงานด้วยคำสั่งเดียว ภายใน 1 สัญญาณนาฬิกา
2. MISD (Multiple Instruction Single Data stream) คือ โปรเซสเซอร์ ที่ใช้การประมวลผลด้วยชุดข้อมูลเพียงชุดเดียว
แต่ทำงานด้วยได้หลายคำสั่ง ภายใน 1 สัญญาณนาฬิกา มักจะไม่ค่อยมีใครพัฒนาโปรเซสเซอร์แบบนี้
3. SIMD (Single Instruction Multiple Data stream) คือ โปรเซสเซอร์ที่ใช้การประมวลผลด้วยชุดข้อมูลหลายชุด แต่
ทำงานด้วยคำสั่งเดียว ภายใน 1 สัญญาณนาฬิกา และได้ผลลัพธ์หลายชุด ใช้ในโปรเซสเซอร์แบบ Pentium MMX
4. MIMD (Multiple Instruction Multiple Data stream) คือ โปรเซสเซอร์ที่ใช้การประมวลผลด้วยชุดข้อมูลหลายชุด
และทำงานด้วยได้หลายคำสั่ง ภายใน 1 สัญญาณนาฬิกา
การแบ่งกันใช้งานและการติดต่อสื่อสาร
1. Shared-bus topology คือการต่อโปรเซสเซอร์ หลายตัวให้ใช้งาน Frontside บัสเส้นเดียวร่วมกัน แต่มีข้อเสียคือ จะเกิดคอขวดที่เกิดจากรอคอยการใช้บัสร่วมกัน และทำให้เกิดประจุไฟฟ้าสะสมบนบัส ซึ่งจะเกิดการรบกวนสัญญาณข้อมูลซึ่งกันและกัน ทำให้สามารถใช้โปรเซสเซอร์ ได้สูงสุดไม่เกิน 4 ตัวมีใช้ใน บัส GTL+ ของ Intel x86 และ บัส MPX ของ SMP G4 (Apple)
2. Point-to-point topology คือการต่อโปรเซสเซอร์ หลายตัวโดยให้โปรเซสเซอร์ แต่ละตัวมี Frontside บัสของตัวเองที่ต่อตรงไปยังชุดชิปหลัก จะแก้ปัญหาที่เกิดจากการใช้ Shared-bus topology ได้ มีใช้ใน บัส EV6 ของ Athlon
Cache Coherence คือการทำให้ข้อมูลที่มีอยู่ในแคชของโปรเซสเซอร์ ทุกตัวมีความสอดคล้องกับโปรเซสเซอร์ตัวอื่นๆ
1. Snoop คือการจัดการให้แคชของโปรเซสเซอร์แต่ละตัว คอยฟังว่ามีการร้องขอข้อมูลในหน่วยความจำที่โปรเซสเซอร์กำลังใช้งานอยู่ของโปรเซสเซอร์ตัวอื่นๆทุกตัวหรือไม่ ซึ่งจะทำให้เกิดการติดต่อสื่อสารสถานะของข้อมูล เพื่อประสานงานการใช้ข้อมูลร่วมกันโดยเกิดข้อขัดแย้งน้อยที่สุด แต่จะเกิดปัญหาความล่าช้าบนระบบ Shared-bus เพราะการ snoop จะลด bandwidth ของบัสที่ใช้งานร่วมกัน แต่ในระบบ point-to-point จะมี snoop bus ต่างหาก ทำให้แคชสามารถทำงานโดยไม่ต้องไปรบกวนการทำงานของส่วนอื่นๆ
2. Data Intervention คือเทคนิคที่เพิ่มความเร็วในการประสานการของทำงานของแคช โดยการที่แคชของโปรเซสเซอร์ต้องการอ่านข้อมูลเดียวกัน ที่กำลังใช้งานอยู่และเพิ่งจะเริ่มแก้ไข ก็จะส่งสัญญาณบอกโปรเซสเซอร์อีกตัวให้รอรับข้อมูลที่จะส่งไปให้ ไม่ต้องไปขอจากหน่วยความจำหลักให้เสียเวลา
MPP (Massively Parallel Processing) คือสถาปัตยกรรมของการใช้โปรเซสเซอร์หลายตัว โดยที่โปรเซสเซอร์แต่ละตัว จะมีทรัพยากรระบบ (I/O, หน่วยความจำ) ของตนเองเป็นหน่วยๆย่อยมีการควบคุมตนเอง การเชื่อมโยงจะใช้ hardware หรือ software ก็ได้ สามารถขยายสเกลได้ดีมาก แต่ต้องเขียนโปรแกรมใหม่ ไม่สามารถใช้ของเดิมได้
CMP (Cellular MultiProcessing) คือสถาปัตยกรรมของการใช้โปรเซสเซอร์หลายตัว ที่ผสมผสานข้อดีของ SMP และ Clustering เข้าด้วยกัน โดยแบ่งโปรเซสเซอร์ออกเป็นหน่วยเล็ก ที่เรียกว่า subpod (ประกอบด้วย โปรเซสเซอร์ 2 คู่ที่แต่ละคู่ใช้บัสแยกกัน และ cache แบบ L3 และสามารถใช้ระบบปฏิบัติการของตนเองหรือรวมกันเป็นหน่วยเดียวก็ได้) ที่ใช้ ทรัพยากรของระบบ (หน่วยความจำ, I/O) ร่วมกัน การเชื่อมโยงใช้ลักษณะการติดต่อแบบ Crossbar (เป็นการเชื่อมต่อแบบจุดต่อจุดโดยตรง ที่สามารถกำจัดการขัดข้องที่จุดๆเดียวได้) สามารถขยายสเกลได้ดีมาก และสามารถใช้โปรแกรมแบบเดิมได้ไม่ต้องเขียนขึ้นใหม่
NUMA (Non-Uniform Memory Access) คือสถาปัตยกรรมของการใช้โปรเซสเซอร์หลายตัว ที่ผสมผสานข้อดีของ SMP และ MPP เข้าด้วยกัน โดยแบ่งเป็นหน่วยย่อยของหลายๆ โปรเซสเซอร์ ที่ใช้ทรัพยากรของระบบ (หน่วยความจำ, I/O) ร่วมกัน สามารถขยายสเกลได้ดีมาก และสามารถใช้โปรแกรมแบบเดิมได้ไม่ต้องเขียนขึ้นใหม่
Clustering คือ สถาปัตยกรรมของการเชื่อมโยงระบบเข้าด้วยกัน โดยใช้ทรัพยากรร่วมกัน เพื่อสร้างระบบที่ใหญ่ขึ้นและล้มเหลวยาก (ระบบจะไม่หยุดทำงานง่ายๆ)
- Bell และ Newell ให้แนวคิดของสถาปัตยกรรมคอมพิวเตอร์ในรูปแบบระดับชั้นที่เรียกว่า hierarchical, multilevel descriptionระดับทั้ง 4 ประกอบด้วย
1.ระดับวงจรอิเล็กทรอนิกส์ (Electronics Circuit Level),
2.ระดับการออกแบบลิจิก (Logic Design Level),
3.ระดับการโปรแกรม (Programming Level)
4.และระดับการสวิตช์โปรเซสเซอร์และหน่วยความจำ (Processor-Memory-Switch Level)
(Pipeline) และซูเปอร์สเกลาร์ (Superscalar)
superscalar ซีพียูสถาปัตยกรรมดำเนินรูปแบบของการทำงานแบบขนานที่เรียกว่าขนานสอนระดับภายในหน่วยประมวลผลเดียว มันจึงช่วยให้CPU เร็วขึ้นผ่านกว่าอย่างอื่นจะเป็นไปได้ที่ได้รับอัตรานาฬิกา . หน่วยประมวลผล superscalar รันมากกว่าหนึ่งคำสั่งในช่วงวงจรนาฬิกาโดยพร้อมกันเยี่ยงอย่างคำแนะนำหลายหน่วยงานที่ซ้ำซ้อนกับหน่วยประมวลผล แต่ละหน่วยงานไม่ได้เป็นซีพียูแกนแยกกัน แต่ทรัพยากรการดำเนินภายในCPU เดียวเช่นหน่วยตรรกะทางคณิตศาสตร์จำแลงบิตหรือตัวคูณ
ในอนุกรมวิธานฟลินน์เป็นโปรเซสเซอร์ superscalar แบบ single-core จัดเป็นSISDประมวลผล (คำแนะนำเดี่ยวข้อมูลเดียว) ในขณะที่แบบ multi-coreประมวลผล superscalar จัดเป็นMIMDประมวลผล (คำแนะนำหลายข้อมูลหลายรายการ)
ในขณะที่ซีพียู superscalar โดยปกติจะยังpipelined , pipelining superscalar และสถาปัตยกรรมได้รับการพิจารณาเทคนิคการเพิ่มประสิทธิภาพการปฏิบัติงานที่แตกต่างกัน
เทคนิค superscalar เป็นประเพณีที่เกี่ยวข้องกับลักษณะการระบุหลายคน (ภายในแกนของ CPU ได้รับ):
- คำแนะนำจะออกจากกระแสการเรียนการสอนตามลำดับ
- ฮาร์ดแวร์ CPU แบบไดนามิกตรวจสอบการอ้างอิงข้อมูลระหว่างคำแนะนำในเวลาทำงาน (เทียบกับซอฟแวร์การตรวจสอบที่รวบรวมเวลา)
- CPU ยอมรับคำแนะนำหลายต่อวงจรนาฬิกา
พื้นฐานสถาปัตยกรรมคอมพิวเตอร์
- โปรเซสเซอร์เป็นส่วนทำงานของระบบ ซึ่งจะเอ็กซิคิวต์โปรแกรมโดยการประมวลผลทางคณิตศาสตร์และลอจิกข้อมูลต่าง ๆ โปรเซสเซอร์เป็นเพียงส่วนเดียวที่สร้างข้อมูลใหม่โดยการรวมหรือแก้ไขข้อมูล เดิม
- หน่วยความจำทำหน้าที่เก็บข้อมูลจนกว่าจะมีการร้องขอจากส่วนอื่น ๆ ของระบบ ในขณะที่ทำงานปกติ หน่วยความจำจะส่งคำสั่งและข้อมูลให้กับโปรเซสเซอร์
- อุปกรณ์อินพุต/เอาต์พุตทำหน้าที่ถ่ายโอนข้อมูลระหว่างองค์ประกอบภายนอกและภายใน
- ช่องการสื่อสารข้อมูลที่เชื่อมระบบเข้าด้วยกันอาจจะเป็นการเชื่อมต่อระหว่าง อุปกรณ์ 2 อุปกรณ์ หรือเป็นสวิตช์ที่ซับซ้อนที่เชื่อมต่อหลาย ๆ องค์ประกอบเข้าด้วยกัน
- แผนภาพ PMS แทนส่วนประกอบหลักของเครื่องคอมพิวเตอร์ส่วนบุคคลแอปเปิลแมคอินทอช (Apple Macintosh) ในตอนต้นจะใช้ช่องสื่อสารข้อมูลเดี่ยวที่เรียกว่า “บัส” (bus) ซึ่งจะเชื่อมต่อส่วนประกอบหลักทั้งหมด จนเมื่อบัสเป็นสวิตช์จะมีส่วนประกอบเพียงสองส่วนที่สามารถติดต่อซึ่งกันและ กันในเวลาหนึ่ง ๆ เมื่อสวิตช์ถูกสร้างขึ้นเพื่อการถ่านโอนข้อมูลของอุปกรณ์อินพุต/เอาต์พุต
- หน่วยความจำทำหน้าที่เก็บข้อมูลจนกว่าจะมีการร้องขอจากส่วนอื่น ๆ ของระบบ ในขณะที่ทำงานปกติ หน่วยความจำจะส่งคำสั่งและข้อมูลให้กับโปรเซสเซอร์
- อุปกรณ์อินพุต/เอาต์พุตทำหน้าที่ถ่ายโอนข้อมูลระหว่างองค์ประกอบภายนอกและภายใน
- ช่องการสื่อสารข้อมูลที่เชื่อมระบบเข้าด้วยกันอาจจะเป็นการเชื่อมต่อระหว่าง อุปกรณ์ 2 อุปกรณ์ หรือเป็นสวิตช์ที่ซับซ้อนที่เชื่อมต่อหลาย ๆ องค์ประกอบเข้าด้วยกัน
- แผนภาพ PMS แทนส่วนประกอบหลักของเครื่องคอมพิวเตอร์ส่วนบุคคลแอปเปิลแมคอินทอช (Apple Macintosh) ในตอนต้นจะใช้ช่องสื่อสารข้อมูลเดี่ยวที่เรียกว่า “บัส” (bus) ซึ่งจะเชื่อมต่อส่วนประกอบหลักทั้งหมด จนเมื่อบัสเป็นสวิตช์จะมีส่วนประกอบเพียงสองส่วนที่สามารถติดต่อซึ่งกันและ กันในเวลาหนึ่ง ๆ เมื่อสวิตช์ถูกสร้างขึ้นเพื่อการถ่านโอนข้อมูลของอุปกรณ์อินพุต/เอาต์พุต
คอมพิวเตอร์
คอมพิวเตอร์ คือ “อุปกรณ์ที่ประกอบด้วยชิ้นส่วนทางอิเล็กทรอนิกส์ที่สามารถรับข้อมูลและชุดคำ สั่ง (Program) ในรูปแบบที่เครื่องรับได้ แล้วนำมาประมวลผล (Process) ข้อมูลตามชุดคำสั่งเพื่อแก้ปัญหา หรือทำการคำนวณที่ สลับซับซ้อนจนได้ผลลัพธ์ตามต้องการ และยังสามารถบันทึก หรือแสดงผลลัพธ์เหล่านั้นได้”
องค์ประกอบระบบคอมพิวเตอร์
- ฮาร์ดแวร์ (Hardware)
- ซอฟต์แวร์ (Software)
- บุคลากร (Pepleware)
- ข้อมูล (Data)
- กระบวนการทำงาน (Procedure)
- ซอฟต์แวร์ (Software)
- บุคลากร (Pepleware)
- ข้อมูล (Data)
- กระบวนการทำงาน (Procedure)
ฮาร์ดแวร์ (Hardware)
- หน่วยรับข้อมูลหรืออินพุต (Input Unit)
- หน่วยประมวลผลกลางหรือซีพียู (CPU : Central Processing Unit)
- หน่วยเก็บข้อมูล (Storage)
- หน่วยเก็บข้อมูลหรือความจำหลัก (Primary Storage หรือ Main Memory)
- หน่วยเก็บข้อมูลสำรอง (Secondary Storage)
- หน่วยแสดงข้อมูลหรือเอาต์พุต (Output Unit)
- หน่วยประมวลผลกลางหรือซีพียู (CPU : Central Processing Unit)
- หน่วยเก็บข้อมูล (Storage)
- หน่วยเก็บข้อมูลหรือความจำหลัก (Primary Storage หรือ Main Memory)
- หน่วยเก็บข้อมูลสำรอง (Secondary Storage)
- หน่วยแสดงข้อมูลหรือเอาต์พุต (Output Unit)
โครงสร้างระบบคอมพิวเตอร์ด้านอินพุต/เอาต์พุต
ซอฟต์แวร์ (Software)- ซอฟต์แวร์ระบบ (System Software)
- โปรแกรมระบบปฏิบัติการ (OS : Operating System)
- โปรแกรมแปลภาษาคอมพิวเตอร์ (Translator Program)
- ยูทิลิตี้หรือโปรแกรมอรรถประโยชน์ (Utility Program)
- ซอฟต์แวร์สำเร็จรูป (Package)
- ซอฟต์แวร์ประยุกต์ (Application Software)
ซอฟต์แวร์ (Software)- ซอฟต์แวร์ระบบ (System Software)
- โปรแกรมระบบปฏิบัติการ (OS : Operating System)
- โปรแกรมแปลภาษาคอมพิวเตอร์ (Translator Program)
- ยูทิลิตี้หรือโปรแกรมอรรถประโยชน์ (Utility Program)
- ซอฟต์แวร์สำเร็จรูป (Package)
- ซอฟต์แวร์ประยุกต์ (Application Software)
บุคลากร (Peopleware)
- ออกแบบและวิเคราะห์ระบบ (System Analysis and Design)
- โปรแกรมเมอร์ (Programming)
- ผู้บริหารฐานข้อมูล (Database Administrator : DBA)
- ผู้ปฏิบัติการ (Operator)
- ผู้ใช้ (User)
- ผู้บริหาร (Manager)
ข้อมูล (Data)
- โปรแกรมเมอร์ (Programming)
- ผู้บริหารฐานข้อมูล (Database Administrator : DBA)
- ผู้ปฏิบัติการ (Operator)
- ผู้ใช้ (User)
- ผู้บริหาร (Manager)
ข้อมูล (Data)
ข้อมูล เป็นสิ่งที่ต้องบันทึกลงไปในคอมพิวเตอร์ พร้อมกับโปรแกรมที่นักคอมพิวเตอร์ได้เขียนไปเพื่อผลิตผลลัพธ์ที่ต้องการออก มา หน่วยที่เล็กที่สุดของข้อมูลได้แก่ ตัวอักขระ (Character) ซึ่งจะประกอบไปด้วยตัวอักษร ตัวเลข และสัญลักษณ์ต่างๆ เมื่อนำตัวอักขระเหล่านี้มารวมกัน จะทำให้ได้หน่วยข้อมูลที่ใหญ่ขึ้น คือ ฟิลด์ (Field) เมื่อนำฟิลด์หลายๆ ฟิลด์มาประกอบกันจะเป็น เรกคอร์ด (Record) และถ้านำหลายๆ เรกคอร์ดมาประกอบกันจะเป็นไฟล์ (File) และหากนำหลายๆ ไฟล์มารวมกัน ในลักษณะที่มีความสัมพันธ์กันในแต่ละไฟล์ด้วยจะกลายเป็นฐานข้อมูล (Database)
กระบวนการทำงาน (Procedure)
กระบวนการทำงาน (Procedure)
องค์ ประกอบด้านนี้หมายถึงกระบวนการทำงานเพื่อให้ได้ผลลัพธ์ตามต้องการ ในการทำงานกับคอมพิวเตอร์ผู้ใช้จำเป็นต้องทราบขั้นตอนการทำงานเพื่อให้ได้ งานที่ถูกต้องและมีประสิทธิภาพ ซึ่งอาจจะมีขั้นตอนสลับซับซ้อนหลายขั้นตอน ดังนั้นจึงมีความจำเป็นต้องมีคู่มือปฏิบัติงาน เช่น คู่มือผู้ใช้ (user manual) หรือคู่มือผู้ดูแลระบบ (operation manual)
วิวัฒนาการของคอมพิวเตอร์- ลูกคิด (Abacus)
- John Napier สร้างเครื่องคิดเลขที่เรียกว่า “Napier’s Bones”
- Henry Briggs คิดค้นแบบคำนวณตารางลอการิทึม
- Edmund Gunter ได้นำค่าลอการิทึมของ Briggs มาแกะลงไม้บรรทัด
- William Aughtred ได้นำความคิดของ Gunter มาสร้าง Slide Rule ซึ่งถือว่าเป็นคอมพิวเตอร์อนาลอกเครื่องแรกของโลก
- Charles Babbage สร้างเครื่องมือที่ชื่อ “อนาไลติคัล เอ็นจิน“ (Analytical engine)
- Ada Lovelace โปรแกรมเมอร์คนแรกของโลก => ภาษา Ada
วิวัฒนาการของคอมพิวเตอร์- ลูกคิด (Abacus)
- John Napier สร้างเครื่องคิดเลขที่เรียกว่า “Napier’s Bones”
- Henry Briggs คิดค้นแบบคำนวณตารางลอการิทึม
- Edmund Gunter ได้นำค่าลอการิทึมของ Briggs มาแกะลงไม้บรรทัด
- William Aughtred ได้นำความคิดของ Gunter มาสร้าง Slide Rule ซึ่งถือว่าเป็นคอมพิวเตอร์อนาลอกเครื่องแรกของโลก
- Charles Babbage สร้างเครื่องมือที่ชื่อ “อนาไลติคัล เอ็นจิน“ (Analytical engine)
- Ada Lovelace โปรแกรมเมอร์คนแรกของโลก => ภาษา Ada
สามารถอ่านเพิ่มเติมได้ที่ https://sites.google.com/site/pmtecg39012001/