ความหมายของสถาปัตยกรรมคอมพิวเตอร์
สถาปัตยกรรมคอมพิวเตอร์ เป็นทฤษฎีที่อยู่ฉากหลังของการออกแบบคอมพิวเตอร์ โดยทั่วไปหมายถึง การออกแบบ
โครงสร้างของหน่วยประมวลผลกลาง (ซึ่งก็คือ การออกแบบจำนวนเรจิสเตอร์ที่จำเป็น และหน้าที่ที่จำเป็นของ หน่วยควบคุมกับหน่วยประมวลผลตัวเลข)
- ชุดของคำสั่งเครื่อง และการอ้างหน่วยความจำ
- เทคนิคอื่นๆ เช่น การประมวลผลแบบไปป์ไลน์
ประเภทของสถาปัตยกรรมการประมวลผลแบบขนาน ของโปรเซสเซอร์
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 คือ สถาปัตยกรรมของการเชื่อมโยงระบบเข้าด้วยกัน โดยใช้ทรัพยากรร่วมกัน เพื่อสร้างระบบที่ใหญ่ขึ้นและล้มเหลวยาก (ระบบจะไม่หยุดทำงานง่ายๆ
ผู้ออกแบบระบบ IBM System/360 “สถาปัตยกรรมคอมพิวเตอร์ หมายถึงโครงสร้างของคอมพิวเตอร์ที่โปรแกรมเมอร์ของระบบจะต้องเข้าใจในภาษา เครื่องเพื่อเขียนโปรแกรมให้เครื่องทำงานได้อย่างถูกต้อง”
- Bell และ Newell ให้แนวคิดของสถาปัตยกรรมคอมพิวเตอร์ในรูปแบบระดับชั้นที่เรียกว่า hierarchical, multilevel descriptionระดับทั้ง 4 ประกอบด้วย
- 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)
ฮาร์ดแวร์ (Hardware)
ฮาร์ดแวร์ (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)
ซอฟต์แวร์ (Software)
- ซอฟต์แวร์ระบบ (System Software)
- โปรแกรมระบบปฏิบัติการ (OS : Operating System)
- โปรแกรมแปลภาษาคอมพิวเตอร์ (Translator Program)
- ยูทิลิตี้หรือโปรแกรมอรรถประโยชน์ (Utility Program)
- ซอฟต์แวร์สำเร็จรูป (Package)
- ซอฟต์แวร์ประยุกต์ (Application Software) - โปรแกรมระบบปฏิบัติการ (OS : Operating System) - โปรแกรมแปลภาษาคอมพิวเตอร์ (Translator Program) - ยูทิลิตี้หรือโปรแกรมอรรถประโยชน์ (Utility Program) - ซอฟต์แวร์สำเร็จรูป (Package) - ซอฟต์แวร์ประยุกต์ (Application Software)
- โปรแกรมระบบปฏิบัติการ (OS : Operating System)
- โปรแกรมแปลภาษาคอมพิวเตอร์ (Translator Program)
- ยูทิลิตี้หรือโปรแกรมอรรถประโยชน์ (Utility Program)
- ซอฟต์แวร์สำเร็จรูป (Package)
- ซอฟต์แวร์ประยุกต์ (Application Software) - โปรแกรมระบบปฏิบัติการ (OS : Operating System) - โปรแกรมแปลภาษาคอมพิวเตอร์ (Translator Program) - ยูทิลิตี้หรือโปรแกรมอรรถประโยชน์ (Utility Program) - ซอฟต์แวร์สำเร็จรูป (Package) - ซอฟต์แวร์ประยุกต์ (Application Software)
บุคลากร (Peopleware)
- ออกแบบและวิเคราะห์ระบบ (System Analysis and Design)
- โปรแกรมเมอร์ (Programming)- ผู้บริหารฐานข้อมูล (Database Administrator : DBA)- ผู้ปฏิบัติการ (Operator)- ผู้ใช้ (User)- ผู้บริหาร (Manager)ข้อมูล (Data)
กระบวนการทำงาน (Procedure)
วิวัฒนาการของคอมพิวเตอร์
- ลูกคิด (Abacus)
- John Napier สร้างเครื่องคิดเลขที่เรียกว่า “Napier’s Bones”
- Henry Briggs คิดค้นแบบคำนวณตารางลอการิทึม
- Edmund Gunter ได้นำค่าลอการิทึมของ Briggs มาแกะลงไม้บรรทัด
- William Aughtred ได้นำความคิดของ Gunter มาสร้าง Slide Rule ซึ่งถือว่าเป็นคอมพิวเตอร์อนาลอกเครื่องแรกของโลก
- Charles Babbage สร้างเครื่องมือที่ชื่อ “อนาไลติคัล เอ็นจิน“ (Analytical engine)
- Ada Lovelace โปรแกรมเมอร์คนแรกของโลก => ภาษา Ada
กระบวนการทำงาน (Procedure)
วิวัฒนาการของคอมพิวเตอร์
- ลูกคิด (Abacus)
- John Napier สร้างเครื่องคิดเลขที่เรียกว่า “Napier’s Bones”
- Henry Briggs คิดค้นแบบคำนวณตารางลอการิทึม
- Edmund Gunter ได้นำค่าลอการิทึมของ Briggs มาแกะลงไม้บรรทัด
- William Aughtred ได้นำความคิดของ Gunter มาสร้าง Slide Rule ซึ่งถือว่าเป็นคอมพิวเตอร์อนาลอกเครื่องแรกของโลก
- Charles Babbage สร้างเครื่องมือที่ชื่อ “อนาไลติคัล เอ็นจิน“ (Analytical engine)
- Ada Lovelace โปรแกรมเมอร์คนแรกของโลก => ภาษา Ada
ข้อมูล เป็นสิ่งที่ต้องบันทึกลงไปในคอมพิวเตอร์ พร้อมกับโปรแกรมที่นักคอมพิวเตอร์ได้เขียนไปเพื่อผลิตผลลัพธ์ที่ต้องการออก มา หน่วยที่เล็กที่สุดของข้อมูลได้แก่ ตัวอักขระ (Character) ซึ่งจะประกอบไปด้วยตัวอักษร ตัวเลข และสัญลักษณ์ต่างๆ เมื่อนำตัวอักขระเหล่านี้มารวมกัน จะทำให้ได้หน่วยข้อมูลที่ใหญ่ขึ้น คือ ฟิลด์ (Field) เมื่อนำฟิลด์หลายๆ ฟิลด์มาประกอบกันจะเป็น เรกคอร์ด (Record) และถ้านำหลายๆ เรกคอร์ดมาประกอบกันจะเป็นไฟล์ (File) และหากนำหลายๆ ไฟล์มารวมกัน ในลักษณะที่มีความสัมพันธ์กันในแต่ละไฟล์ด้วยจะกลายเป็นฐานข้อมูล (Database)
องค์ ประกอบด้านนี้หมายถึงกระบวนการทำงานเพื่อให้ได้ผลลัพธ์ตามต้องการ ในการทำงานกับคอมพิวเตอร์ผู้ใช้จำเป็นต้องทราบขั้นตอนการทำงานเพื่อให้ได้ งานที่ถูกต้องและมีประสิทธิภาพ ซึ่งอาจจะมีขั้นตอนสลับซับซ้อนหลายขั้นตอน ดังนั้นจึงมีความจำเป็นต้องมีคู่มือปฏิบัติงาน เช่น คู่มือผู้ใช้ (user manual) หรือคู่มือผู้ดูแลระบบ (operation manual)
นางสาวปนัดดา ชัยมุงคุณ รหัสนักศึกษา 60101209110
นายชาญณรงค์ มงคล รหัสนักศึกษา 60101209111
สวัสดีค่ะ
ตอบลบ