วันเสาร์ที่ 14 มีนาคม พ.ศ. 2552

บทที่ 1 - พื้นฐานสถาปัตยกรรมคอมพิวเตอร์


พื้นฐานสถาปัตยกรรมคอมพิวเตอร์













พื้นฐานสถาปัตยกรรมคอมพิวเตอร์
คอมพิวเตอร์ คือ “อุปกรณ์ที่ประกอบด้วยชิ้นส่วนทางอิเล็กทรอนิกส์ที่สามารถรับข้อมูลและชุดคำสั่ง (Program) ในรูปแบบที่เครื่องรับได้ แล้วนำมาประมวลผล (Process) ข้อมูลตามชุดคำสั่งเพื่อแก้ปัญหา หรือทำการคำนวณที่ สลับซับซ้อนจนได้ผลลัพธ์ตามต้องการ และยังสามารถบันทึก หรือแสดงผลลัพธ์เหล่านั้นได้”


ประเภทของคอมพิวเตอร์
- คอมพิวเตอร์ระดับยิ่งใหญ่ หรือซุปเปอร์คอมพิวเตอร์ (Super Computer)
- คอมพิวเตอร์ระดับใหญ่ หรือเมนเฟรมคอมพิวเตอร์ (Mainframe Computer)
- คอมพิวเตอร์ระดับเล็ก หรือมินิคอมพิวเตอร์ (Mini Computer)
- คอมพิวเตอร์ส่วนบุคคล หรือพีซี (PC : Personal Computer)
- คอมพิวเตอร์ขนาดสมุดบันทึก หรือโน็ตบุค (Notebook Computer)
- คอมพิวเตอร์ที่ทำหน้าที่เลขาส่วนตัว หรือพีดีเอ (PDA : Personal Digital Assistant)
- คอมพิวเตอร์เครือข่าย หรือเน็ต (Net)

องค์ประกอบระบบคอมพิวเตอร์
- ฮาร์ดแวร์ (Hardware)
- ซอฟต์แวร์ (Software)
- บุคลากร (Pepleware)
- ข้อมูล (Data)
- กระบวนการทำงาน (Procedure)

ฮาร์ดแวร์ (Hardware)
- หน่วยรับข้อมูลหรืออินพุต (Input 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)


บุคลากร (Peopleware)
- ออกแบบและวิเคราะห์ระบบ (System Analysis and Design)
- โปรแกรมเมอร์ (Programming)
- ผู้บริหารฐานข้อมูล (Database Administrator : DBA)
- ผู้ปฏิบัติการ (Operator)
- ผู้ใช้ (User)
- ผู้บริหาร (Manager)

ข้อมูล (Data)
ข้อมูลเป็นสิ่งที่ต้องบันทึกลงไปในคอมพิวเตอร์ พร้อมกับโปรแกรมที่นักคอมพิวเตอร์ได้เขียนไปเพื่อผลิตผลลัพธ์ที่ต้องการออกมา หน่วยที่เล็กที่สุดของข้อมูลได้แก่ ตัวอักขระ (Character) ซึ่งจะประกอบไปด้วยตัวอักษร ตัวเลข และสัญลักษณ์ต่างๆ เมื่อนำตัวอักขระเหล่านี้มารวมกัน จะทำให้ได้หน่วยข้อมูลที่ใหญ่ขึ้น คือ ฟิลด์ (Field) เมื่อนำฟิลด์หลายๆ ฟิลด์มาประกอบกันจะเป็น เรกคอร์ด (Record) และถ้านำหลายๆ เรกคอร์ดมาประกอบกันจะเป็นไฟล์ (File) และหากนำหลายๆ ไฟล์มารวมกัน ในลักษณะที่มีความสัมพันธ์กันในแต่ละไฟล์ด้วยจะกลายเป็นฐานข้อมูล (Database)


กระบวนการทำงาน (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





ยุคคอมพิวเตอร์
- ยุคแรก (ค.ศ.1945-1955) เป็นยุคคอมพิวเตอร์พื้นฐาน ที่เป็น หลอดสูญญากาศใช้ยูทิลิตี้แบบธรรมดา
- ยุคที่ 2 (ค.ศ.1955-1964) เป็นยุคทรานซิสเตอร์ ที่ช่วยให้คอมพิวเตอร์มีความน่าเชื่อถือมากขึ้น
- ยุคที่ 3 (ค.ศ.1965-1980) เริ่มมีการคิดค้นและผลิต IC (Integrated Circuit) ทำให้คอมพิวเตอร์มีขนาดเล็กลง มีการพัฒนาภาษาขั้นสูง
- ยุคที่ 4 (ค.ศ.1980-ปัจจุบัน) มีความซับซ้อนมากขึ้น ใช้ระบบปฏิบัติการแบบ multi-mode ใช้คุณลักษณะเวอร์ชวลแมชชีน (Virtual machines) และมีการสื่อสารข้อมูล
- ยุคที่ 5 คอมพิวเตอร์ในอนาคต



สถาปัตยกรรมคอมพิวเตอร์คืออะไร ?
- ผู้ออกแบบระบบ IBM System/360 “สถาปัตยกรรมคอมพิวเตอร์ หมายถึงโครงสร้างของคอมพิวเตอร์ที่โปรแกรมเมอร์ของระบบจะต้องเข้าใจในภาษาเครื่องเพื่อเขียนโปรแกรมให้เครื่องทำงานได้อย่างถูกต้อง”
- Bell และ Newell ให้แนวคิดของสถาปัตยกรรมคอมพิวเตอร์ในรูปแบบระดับชั้นที่เรียกว่า hierarchical, multilevel descriptionระดับทั้ง 4 ประกอบด้วยระดับวงจรอิเล็กทรอนิกส์ (Electronics Circuit Level), ระดับการออกแบบลิจิก (Logic Design Level), ระดับการโปรแกรม (Programming Level) และระดับการสวิตช์โปรเซสเซอร์และหน่วยความจำ (Processor-Memory-Switch Level)


พื้นฐานสถาปัตยกรรมคอมพิวเตอร์
- โปรเซสเซอร์เป็นส่วนทำงานของระบบ ซึ่งจะเอ็กซิคิวต์โปรแกรมโดยการประมวลผลทางคณิตศาสตร์และลอจิกข้อมูลต่าง ๆ โปรเซสเซอร์เป็นเพียงส่วนเดียวที่สร้างข้อมูลใหม่โดยการรวมหรือแก้ไขข้อมูลเดิม
- หน่วยความจำทำหน้าที่เก็บข้อมูลจนกว่าจะมีการร้องขอจากส่วนอื่น ๆ ของระบบ ในขณะที่ทำงานปกติ หน่วยความจำจะส่งคำสั่งและข้อมูลให้กับโปรเซสเซอร์
- อุปกรณ์อินพุต/เอาต์พุตทำหน้าที่ถ่ายโอนข้อมูลระหว่างองค์ประกอบภายนอกและภายใน

- ช่องการสื่อสารข้อมูลที่เชื่อมระบบเข้าด้วยกันอาจจะเป็นการเชื่อมต่อระหว่างอุปกรณ์ 2 อุปกรณ์ หรือเป็นสวิตช์ที่ซับซ้อนที่เชื่อมต่อหลาย ๆ องค์ประกอบเข้าด้วยกัน
- แผนภาพ PMS แทนส่วนประกอบหลักของเครื่องคอมพิวเตอร์ส่วนบุคคลแอปเปิลแมคอินทอช (Apple Macintosh) ในตอนต้นจะใช้ช่องสื่อสารข้อมูลเดี่ยวที่เรียกว่า “บัส” (bus) ซึ่งจะเชื่อมต่อส่วนประกอบหลักทั้งหมด จนเมื่อบัสเป็นสวิตช์จะมีส่วนประกอบเพียงสองส่วนที่สามารถติดต่อซึ่งกันและกันในเวลาหนึ่ง ๆ เมื่อสวิตช์ถูกสร้างขึ้นเพื่อการถ่านโอนข้อมูลของอุปกรณ์อินพุต/เอาต์พุต

โมเดลของ von Neumann
- เครื่องของ von Neumann ทั้งโปรแกรมและข้อมูลจะใช้หน่วย ความจำเดียวกัน โดยจะมี program counter (PC) ชี้คำสั่งปัจจุบันในหน่วยความจำ เมื่อไม่มีคำสั่ง branch จะมีการดึงคำสั่งจากหน่วยความจำมาประมวลผลเรียงลำดับเรื่อยไปจนกว่าจะหมดคำสั่ง

10 ความคิดเห็น: