วันจันทร์ที่ 14 สิงหาคม พ.ศ. 2560

  ระบบคอมพิวเตอร์และสถาปัตยกรรม



ความหมายของสถาปัตยกรรมคอมพิวเตอร์
                   สถาปัตยกรรมคอมพิวเตอร์ เป็นทฤษฎีที่อยู่ฉากหลังของการออกแบบ คอมพิวเตอร์ โดยทั่วไปหมายถึง การออกแบบ สถาปัตยกรรมคอมพิวเตอร์ คือ การออกแบบส่วนต่างๆ ของระบบคอมพิวเตอร์ ให้สามารถทำงานได้อย่างมีประสิทธิภาพ ประกอบด้วยส่วนสำคัญ 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. CPU (Central Processing Unit) -หน่วยประมวลผลกลาง


       2. Main Memory System -ระบบหน่วยความจำ 


     3.Input/Output System -ระบบอุปกรณ์นำเข้าข้อมูล/อุปกรณ์แสดงผลลัพธ์ข้อมูล


       4. Interconnection System (BUS) –ระบบเชื่อมต่ออุปกรณ์ ต่าง ๆ เข้าด้วยกัน นอกจากนั้นคำสั่งจะต้อง Execute ทีละคำสั่งตามลำดับ และมีเส้นทาง (BUS) ในการขนถ่ายข้อมูลอย่างน้อย 1 เส้นทางระหว่าง CPU กับ Main Memory เรียกว่า "Von Neumann"

หน้าที่ต่างๆ ของคอมพิวเตอร์
                        ในอดีต คอมพิวเตอร์ คือเรื่องของงานชนิดต่าง ๆ ซึ่งจะต้องทำให้สำเร็จลุล่วงไปในช่วงเวลาหนึ่ง แต่ในปัจจุบันจะมองว่าคอมพิวเตอร์นั้นประกอบด้วย Hardware และ Software ซึ่งมีหน้าที่ต่าง ๆ ดังนี้คือ 
1.       ประมวลผลข้อมูลเก็บ
            ข้อมูลที่นำเข้าสู่ระบบคอมพิวเตอร์ จำเป็นต้องมีการประมลผลก่อน เพื่อให้ได้ข้อมูลที่สามารถนำไปใช้ประโยชน์ได้  หรือที่เรียกว่า สารสนเทศ  การประมวลผลข้อมูลนั้น อาจจะเป็นเรื่องของการคำนวณ การเปรียบเทียบข้อมูล หรือการประมวลผลข้อมูลทางตรรกะ ซึ่งจุดประสงค์หลักของการนำระบบคอมพิวเตอร์มาใช้ ก็คือใช้ประมวลผลข้อมูลที่มีปริมาณมากแทนมนุษย์นั่นเอง
2.    เก็บหรือบันทึกข้อมูล
           ข้อมูลที่นำเข้าสู่ระบบคอมพิวเตอร์ บางครั้งยังอาจจะไม่นำไปประมวลผลเลยทันที  อาจต้องรอข้อมูลอื่น ๆ อีกมาประกอบในการประมวลผล จึงจำเป็นต้องเก็บหรือบันทึกข้อมูลเหล่านั้นไว้ก่อน เมื่อถึงเวลาที่จะประมวลผล จึงดึงข้อมูลเหล่านั้นออกมาใช้  หรืออีกในกรณีหนึ่ง ผลลัพธ์ของการประมวลผลข้อมูลแล้ว ยังไม่ได้นำไปใช้งานทันที  อาจจะบันทึกเก็บไว้ในหน่วยเก็บข้อมูลก่อน เพื่อรอการใช้งานในอนาคต
3.   เคลื่อนย้ายข้อมูลระหว่างคอมพิวเตอร์กับอุปกรณ์ภายนอก
               เมื่อระบบคอมพิวเตอร์ รับข้อมูลจากภายนอกมา  ข้อมูลจะต้องเคลื่อนย้ายจากหน่วยรับข้อมูล  จากนั้นข้อมูลจะเคลื่อนย้ายมายัง หน่วยประมวลผลข้อมูล  และขณะเมื่อข้อมูลนั้นกำลังประมวลผลอยู่ภายในหน่วยประมวลผลข้อมูลนั้น  ข้อมูลนั้นก็ยังเคลื่อนย้ายไป-มา จนกระทั่งได้ข้อมูลที่ประมวลผลแล้ว ซึ่งเป็นผลลัพธ์ จะเคลื่อนย้ายไปเก็บไว้ในหน่วยความจำ หรือเคลื่อนย้ายไปยังอุปกรณ์ภายนอก ที่ต่อเชื่อมอยู่กับระบบคอมพิวเตอร์นั้น
 4.    ควบคุมการทำงานของระบบคอมพิวเตอร์และอุปกรณ์ที่ต่อพ่วง
        การทำงานของระบบคอมพิวเตอร์ นอกจากจะมีกลไกในการควบคุม การประมวลผลข้อมูลและ การไหลของข้อมูล ภายในหน่วยย่อยต่าง ๆ ของระบบคอมพิวเตอร์แล้ว  ระบบคอมพิวเตอร์ยังควบคุมการทำงานของอุปกรณ์ภายนอก ที่ต่อพ่วงอยู่กับระบบอีกด้วย
  ยุคต่างๆ ของคอมพิวเตอร์
ยุคที่ 1 (1944 - 1958) ยุคแห่งหลอดสุญญากาศ
                    ใช้หลอดสูญญากาศ ความต้านทาน Capacitor และ สวิทช์ ในยุคนั้นคอมพิวเตอร์ใช้คำนวณค่าในตารางการยิงปืนใหญ่ ใช้ภาษาเครื่องจักร ใช้กำลังไฟฟ้ามาก
             ยุคที่ 2 (1959 - 1964) ยุคแห่งทรานซิสเตอร์
                    ใช้ Transistor เป็นวงจรหลักของระบบคอมพิวเตอร์ ใช้ภาษาระดับสูง มีการคำนวณทางคณิตศาสตร์
แบบFloating point  
             ยุคที่ 3 (1964 - 1974) ยุคแห่ง IC
                    เริ่มใช้วงจรรวม (Integrated circuit) มีหน่วยความจำเป็นแบบ Semi conductor ขนาดของคอมพิวเตอร์
จึงมีขนาดเล็กลง
             ยุคที่ 4 (1975 - ปัจจุบัน) ยุคแห่ง LSI
                    ใช้เทคโนโลยี VLSI ประยุกต์ใช้เครือข่ายคอมพิวเตอร์ เพื่อเพิ่มประสิทธิภาพการทำงานให้สูงขึ้น ในยุคนี้ขนาด
ของคอมพิวเตอร์จะมีขนาดเล็กลงมาก
             ยุคที่ 5 (ปัจจุบัน - ????) ยุคปัญญาประดิษฐ์
                      VLSI , ULSI , Parallel System , Intelligence คาดว่าในยุคนี้จะเป็นยุคของปัญญาประดิษฐ์
               การทำงานของระบบคอมพิวเตอร์จะทำงานแบบขนานกันไป มีความเร็วในการประมวลผลสูงมาก

การแบ่งแยกประเภทของสถาปัตยกรรมคอมพิวเตอร์

ระบบคอมพิวเตอร์ประเภท SISD (Single Instruction Single Data Stream) - จะเป็นระบบคอมพิวเตอร์ที่มีโปรเซสเซอร์เดียว ที่ Execute 1 คำสั่ง ต่อ 1 ชุดข้อมูล
ระบบคอมพิวเตอร์ประเภท MISD (Multiple Instruction Single Data Stream) - จะเป็นระบบคอมพิวเตอร์ที่มีโปรเซสเซอร์หลายตัวที่ทำงานพร้อมกันหรือที่เรียกว่า ทำงานขนานกัน (Parallel processing) โดยที่โปรเซสเซอร์แต่ละตัวจะมีคำสั่งที่ใช้ Exexcute ของตนเอง แต่ทั้งหมดจะใช้ชุดข้อมูลชุดเดียว เช่น
ให้คำนวณ f(x) = 2*x^2+4 จะสามารถทำตามขั้นตอน ได้ดังนี้คือ             
1. หาค่า X^2                                         
2. คูณผลลัพธ์ของ X^2 ด้วย 2
3. บวกค่า 4 เข้ากับ 2*X^2                
นั่นคือ     เมื่อ P1 Execute คำสั่งเสร็จก็จะส่งผลลัพธ์ให้ P2 และ  เมื่อ P2 Execute คำสั่งเสร็จก็จะส่งผลลัพธ์ให้กับ P3  P3 ก็จะ  Execute คำสั่ง โดยนำผลลัพธ์ที่ออกจาก P2 มาประมวลผล เมื่อ  P1 และ P2 ทำงานหรือ Execute คำสั่งเสร็จ ก็จะรับข้อมูลและ ชุดต่อไปมาทำการ Execute ต่อไปเรื่อย ๆ  
ระบบคอมพิวเตอร์ประเภท SIMD (Single Instruction Multiple Data Stream) –   เป็นการทำงานของโปรเซสเซอร์หลายตัว ที่ทำงานพร้อมกันโดยโปรเซส เซอร์ทุกตัวใช้คำสั่งเดียวกันหมด
                 เช่น การบวกเลข Matrix ที่ประกอบด้วยข้อมูล 3 ชุด ที่ต้องนำมาบวกกัน โดยจะต้องคำนวณข้อมูล  3  ชุด คือ  X1 + Y1  ,  X2 + Y2  และ  X3 + Y3 เพื่อให้ได้ผลลัพธ์ออกมา ซึ่งโปรเซสเซอร์ทุกตัวExcute คำสั่งมาบวกพร้อมกันทั้งหมด โดยมีข้อมูลต่างกัน
ระบบคอมพิวเตอร์ประเภท MIMD (Multiple Instruction Multiple Data Stream) – เป็นระบบคอมพิวเตอร์ที่ใช้โปรเซสเซอร์หลายตัว แต่เชื่อมโยงกันเพื่อช่วยกันทำงานโปรเซสเซอร์แต่ละตัวใช้คำสั่งและข้อมูลของตนเอง การExecute คำสั่งของงาน แต่ละโปรเซสเซอร์เป็นอิสระต่อกันแต่อาศัยการประสานงานที่ดี
RISC (Reduced Instruction- Set Computing หรือชิปที่มีการลดทอนคำสั่ง) คือ โปรเซสเซอร์ที่มีชุดคำสั่งที่มีรูปแบบและขนาดที่แน่นอน สามารถประมวลผลได้ภายใน 1สัญญาณนาฬิกา การอ้างอิงหน่วยความจำจะใช้คำสั่ง Load และ Store ที่สามารถอ้างอิงหน่วยความจำได้โดยตรงเท่านั้น ใช้การอ้างตำแหน่งแบบตรงๆ ง่ายโดยมีรูปแบบจำกัดอยู่ แบบ คือ 1.แบบอ้างผ่าน Register ( Register Indirect ) Register จะเก็บค่าตำแหน่งไว้ แล้ว ทำการอ้างตำแหน่งนั้นๆผ่าน Register 2.ในแบบ Index จะเป็นการอ้างตำแหน่งจากค่าคงที่ที่มาในคำสั่งนั้นๆเลย
CISC (Complex Instruction-Set Computing) คือสถาปัตยกรรมของโปรเซสเซอร์ ที่ใช้คำสั่งซับซ้อนที่มีความยาวเปลี่ยนไปตามชนิดของคำสั่ง มีคำสั่งให้ใช้งานมากมาย ทำให้เขียนโปรแกรมง่าย และโปรแกรมมีขนาดเล็ก การทำงานของคำสั่งจะใช้ Microcode โดยคงความเข้ากันได้กับโปรเซสเซอร์รุ่นเก่า ทำให้ไม่ต้องเขียนโปรแกรมใหม่
SMP (Symmetric MultiProcessing) คือสถาปัตยกรรมของการใช้โปรเซสเซอร์ หลายตัว ที่ใช้ทรัพยากรของระบบเช่น บัส หน่วยความจำ I/O ร่วมกัน ไม่สามารถแบ่งเป็น partitionย่อยๆได้ และสมรรถนะของระบบจะลดลงเมื่อใช้โปรเซสเซอร์ มากกว่า ตัว ความสามารถในการขยายสเกลยังจำกัด แต่สามารถใช้โปรแกรมแบบเดิมได้ไม่ต้องเขียนขึ้นใหม่

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

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