ตอบ เป็นระบบที่มีตัวประมวลผล หรือ CPU
หลายตัวอยู่ในเครื่องเดียวกัน ซึ่งทำให้การประมวลผลทำได้เร็วขึ้น
โดย CPU จะมีการใช้อุปกรณ์ และทรัพยากรต่างๆร่วมกัน ข้อดีของระบบนี้คือ
1.
ทำให้การแสดงผลทำได้เร็วขึ้น หรือการประมวลผลเร็วขึ้น แต่ไม่ใช่ว่าการมี CPU
2 ตัวจะทำให้ประมวลผลได้เร็วขึ้น 2 เท่า
2.
ประหยัดกว่าการใช้ระบบหน่วยประมวลผลเดี่ยวหลายเครื่อง
กล่าวคือราคาของคอมพิวเตอร์แบบ 2 CPU จะถูกกว่าคอมพิวเตอร์แบบ
1 CPU จำนวน 2 เครื่อง
3.
ความน่าเชื่อถือของระบบ และความมีเสถียรภาพ ในกรณีที่ CPU
ตัวใดตัวหนึ่งเสีย คอมพิวเตอร์จะยังคงทำงานต่อไปได้โดยใช้ CPU
ส่วนที่เหลืออยู่แม้ว่าความสามารถโดยรวมอาจลดลง
ระบบหลายโปรเซสเซอร์ (multi-processor system) หมายถึง
ระบบคอมพิวเตอร์ที่มีซีพียูหลายตัวช่วยกันทำงาน คำว่าโปรเซสเซอร์
จึงหมายถึงซีพียูเท่านั้น มิได้หมายถึงโปรเซสเซอร์อื่นๆ เช่น โปรเซสควบคุมอุปกรณ์
รอบข้าง เป็นต้น โดยทั่วไปถ้าเราแบ่งแยกระบบคอมพิวเตอร์ตามการทำงานของโปรเซสเซอร์
เราสามารถแบ่งได้ 4 ประเภท คือ SISD (single instruction
single-data stream), MISD (multiple instruction single data stream), SIMD
(single instruction-multiple data stream), และ MIMD
(multiple instruction multiple data stream)
1.
SISD ( Single Instruction stream, Single Data stream
)
2.
SIMD ( Single Instruction stream, Multiple Data
streams )
3.
MISD ( Multiple Instruction streams, Single Data
stream )
4.
MIMD ( Multiple Instruction streams, Multiple Data
streams )
5.
Taxonomy อื่นๆ
· SISD
Computer Computer ทั่วๆไปที่มี
1
processor ถูกจัดให้เป็นระบบ SISD โดยแต่ละคำสั่งการคำนวน
( arithmetic instruction ) จะทำงานบนข้อมูลที่ได้รับมาจาก 1
สายของสมาชิกข้อมูล Supercomputer ในอดีตเช่น Control
data coporation 6600 และ 7600
จะถูกจัดอยู่ในระบบนี้เช่นเดียวกันกับ Mircocomputer ในรุ่นเดียวกัน
· SIMD
Vector processor เช่น Cray-1 และลูกหลานของมันมักถูกจัดให้อยู่ในระบบ SIMD แม้ว่าจะสมควรกว่าที่จะที่จะจัดมันให้อยู่ในระบบ
SISD Vector processor นั้นมีประสิทธิภาพสูงเนื่องจากมันส่งสมาชิกของ
Vector อย่างต่อเนื่องไปยังชิ้น hardware ต่างๆที่ทำหน้าที่อย่างอิสระในแต่ละ phase ของการทำงานที่ยุ่งยาก
ตัวอย่างเช่นในการบวกเลข 2 ตัวที่ต้องมี exponent เหมือนกัน processor
จะต้องเลื่อน Mantissa และลด exponent ของตัวเลจตัวหนึ่งจะกระทั่ง exponet ของทั้งคู่นั้นมีค่าเท่ากันเพื่อให้สามารถบวกกันได้
Vector processor จะถูกสร้างขึ้นอย่างพิเศษเพื่อให้การส่งสายของข้อมูลไปยัง
processor เป็นไปด้วยอัตราที่สูงจนกระทั่งขณะที่ส่วนหนึ่งของ
processor กำลังบวก Mantissa ของตัวเลขทั้งคู่อยู่
อีกส่วนหนึ่งก็จะคอยปรับ Exponent
ความขัดแย้งในการแยกประเภทของ Vector machine นั้นขึ้นอยู่กับว่าแต่ละคนมองกานไหลของข้อมูลอย่างไร การมองแบบ static หรือ " Snapshot " ของ processor ขณะที่กำลังประมวลผล Vector อยุ่นั้นจะแสดงให้เห็นว่าหลายส่วนของข้อมูลกำลังถูกปฏิบัตการ ณ เวลาหนึ่ง และภายใต้มุมมองนี้เราอาจจะรียกมันเป็น 1 instruction ( Vector add ) ทำให้เกิดหลายการปฏิบัตการบนข้อมูล ( Data operation ) และเตรื่องก็จะถูกจัดเป็นระบบ SIMD ในขณะที่ถ้าเรามองแบบ dynamic ก็จะมีเพียงแค่ 1 สายของข้อมูล และสมาชิกของสายนี้จะถูกส่งอย่างต่อเนื่องไปยัง pipeline นึง ( ที่กระทำการบวกในตัวอย่างนี้ ) ข้อโต้แย้งสำหรับการไม่จัด Vector machine ให้อยู่ในระบบ SIMD นั้นจะได้แสดงให้เห็นเมื่อเรารู้ว่า SIMD machine กระทำการบวก Vector อย่างไร
ความขัดแย้งในการแยกประเภทของ Vector machine นั้นขึ้นอยู่กับว่าแต่ละคนมองกานไหลของข้อมูลอย่างไร การมองแบบ static หรือ " Snapshot " ของ processor ขณะที่กำลังประมวลผล Vector อยุ่นั้นจะแสดงให้เห็นว่าหลายส่วนของข้อมูลกำลังถูกปฏิบัตการ ณ เวลาหนึ่ง และภายใต้มุมมองนี้เราอาจจะรียกมันเป็น 1 instruction ( Vector add ) ทำให้เกิดหลายการปฏิบัตการบนข้อมูล ( Data operation ) และเตรื่องก็จะถูกจัดเป็นระบบ SIMD ในขณะที่ถ้าเรามองแบบ dynamic ก็จะมีเพียงแค่ 1 สายของข้อมูล และสมาชิกของสายนี้จะถูกส่งอย่างต่อเนื่องไปยัง pipeline นึง ( ที่กระทำการบวกในตัวอย่างนี้ ) ข้อโต้แย้งสำหรับการไม่จัด Vector machine ให้อยู่ในระบบ SIMD นั้นจะได้แสดงให้เห็นเมื่อเรารู้ว่า SIMD machine กระทำการบวก Vector อย่างไร
· MISD
Computer
มีตัวอย่างของเครื่องในระบบนี้น้อยมาก โดยไม่มีเครื่องทางการค้าใดเลยที่ประสบความสำเร็จ หรือที่มีผลกระทบทางด้านวิทยาศาสตร์ Computer ระบบหนึ่งที่ตรงกับคำจำกัดความของ MISD คือ Systolic Array ซึ่งก็คือ Network ของสมาชิกคำนวนเล็กๆ ( Computing element ) ที่ต่อกันเป็น grid ในแต่ละ Cycle สมาชิกก็จะอ่านข้อมูลมาจากสมาชิกที่อยู่ข้างเคียวแล้วกระหำงานที่ไม่ซับซ้อน ( เช่นบวกข้อทูลที่เพิ่งเข้ามากับค่าที่เก็บไว้ก่อนแล้ว ) แล้วจึงเตรียมข้อมูลเพื่อที่จะเขียนไปยังสมาชิกข้างเคียงใน step ต่อไป
บางคนอาจจะจัด Pipelined Vector processor ให้อยู่ในระบบนี้ด้วยเช่นกัน เพราะแต่ละ step ของ pipeline จะเกี่ยวข้องกับการทำงานที่ไม่เหมือนกันกับข้อมูลที่ไหลผ่านแต่ละ stage ของ pipeline และยังมี Pipelined processorที่แต่ละ stage สามารถ programได้ นั่นคือ functionในแต่ละสถานที่ใน pipelineสามารถเปลี่ยนแปลงได้ แม้ว่า pipeline stage จะไท่ได้ดึงข้อมูลการทำงานมาจากหน่วยความจำภายในของมัน จึงเป็นการยากที่จะจัดมันเป็น " Processor "
Other Taxonomy มีตัวอย่างของเครื่องในระบบนี้น้อยมาก โดยไม่มีเครื่องทางการค้าใดเลยที่ประสบความสำเร็จ หรือที่มีผลกระทบทางด้านวิทยาศาสตร์ Computer ระบบหนึ่งที่ตรงกับคำจำกัดความของ MISD คือ Systolic Array ซึ่งก็คือ Network ของสมาชิกคำนวนเล็กๆ ( Computing element ) ที่ต่อกันเป็น grid ในแต่ละ Cycle สมาชิกก็จะอ่านข้อมูลมาจากสมาชิกที่อยู่ข้างเคียวแล้วกระหำงานที่ไม่ซับซ้อน ( เช่นบวกข้อทูลที่เพิ่งเข้ามากับค่าที่เก็บไว้ก่อนแล้ว ) แล้วจึงเตรียมข้อมูลเพื่อที่จะเขียนไปยังสมาชิกข้างเคียงใน step ต่อไป
บางคนอาจจะจัด Pipelined Vector processor ให้อยู่ในระบบนี้ด้วยเช่นกัน เพราะแต่ละ step ของ pipeline จะเกี่ยวข้องกับการทำงานที่ไม่เหมือนกันกับข้อมูลที่ไหลผ่านแต่ละ stage ของ pipeline และยังมี Pipelined processorที่แต่ละ stage สามารถ programได้ นั่นคือ functionในแต่ละสถานที่ใน pipelineสามารถเปลี่ยนแปลงได้ แม้ว่า pipeline stage จะไท่ได้ดึงข้อมูลการทำงานมาจากหน่วยความจำภายในของมัน จึงเป็นการยากที่จะจัดมันเป็น " Processor "
นอกเหนือจากความไม่มีสาระของระบบ MISD และความยากลำบากในการแยกจำพวกของ Vector processor ยังมีจุดอ่อนอื่นๆอีกของ Flynn's Taxonomy โดยในระบบ MISD array ของ processor ทุกรูปแบบจะถูกรวมอยู่ในระบบเดียวกันโดยไม่สนใจว่ามันมีรูปแบบการเชื่อมต่อของ processor ซึ่งกันและกันอย่างไร และมันมองหน่วยความจำอย่างไร เนื่องจากคุณสมบัติเหล่านี้จะมีผลกระทบอย่างยิ่งต่อสมรรถนะของระบบ ดังนั้นมันจะดีมากถ้า Taxonomy จะแสดงให้เห็นถีงความแตกต่างของคุณสมบัติเหล่านี้
Shore ได้เสนอ Taxonomy อีกชนิดที่มีความคล้ายคลึงกันมาก แต่ได้แบ่ง SIMD ออกเป็น 4 ระบบย่อย และเขาก็ยังไม่ได้ให้ความแตกต่างของ Pipelined vector machine และก็ยังไม่ได้แยกความแตกต่างของ array แบบต่างๆในระบบ MIMD อีกด้วย
นอกจากนี้ยังได้มีความพยายามอีกมากมายในการแก้ไข Flynn's Taxonomy ตัวอย่างเช่น ของ Hwang, ระบบ MIMD จะถูกแบ่งเป็น Shared memory system, Distributed memory system และ Reconfigurable system แต่น่าเสียดายที่มันเป็นการผสมกันระหว่างการจัดการหน่วยความจำ และการจัดการการสื่อสาร และแม้ว่ามันจะมีประโยชน์ในเรื่องของการแยกความแตกต่าง แต่ก็ไม่ค่อยจะน่าพอในแง่ของพื้นฐานของ Taxonomy ส่วนของ Bell ระบบจะถูกอบ่งออกเป็นระบบที่มี Shared memory และระบบที่ไม่มี Shared memory
สิ่งหนึ่งที่ถูกเพิ่มเข้าไปใน Flynn's Taxonomy แล้วได้รับความนิยมมากก็คือ SPMD ซึ่งย่อมาจาก Single Program , Multiple Data streams ในบางความรู้สึกมันจะแสดงถึงรูปแบบของการ Computing มากกว่าจะเป็นสถาปัตยกรรม ในทางกายภาพระบบจะเป็น MIMD หลาย processor เพราะมันมี processor ที่เป็นอิสระต่อกันมากมาย แต่ละ processor จะมี ชุดของข้อมูล ( data set ) และหน่วยความจำ program ( program memory ) เป็นของตนเอง อย่างไรก็ตาม programเดียวกันจะถูกกระทำโดยหลาย processor และ processor เหล่านี้จะถูกทำให้เข้าจังหวะเป็นระยะๆ นี่เป็นวิธีที่ง่ายวิธีหนึ่งในการเข้าหาระบบ MIMD มากกว่าที่ต้องมาจัดการแต่ละสายของข่าวสาร ( Instruction stream ) และมันยังมีความยืดหยุ่นมากกว่าระบบ SIMD เพราะแต่ละ processor สามารถที่จะอยู่ในที่ที่แตกต่างกันใน program เดียวกัน ณ เวลาใดๆ ก็ๆได้
จนถึงตอนนี้ความพยายามสูงสุดในการกำหนด Taxonomy คือของ Hockney และ Jesshope โดยมีแรงกระตุ้นเพื่อที่จะให้เห็นความถึงแตกต่างทางสถาป้ตยกรรมของ Pipelined vector processor และในระหว่าง multiprocessor ต่างๆ สัญลักษ์ที่ใช้จะคล้ายกับสัญลักษ์ทางเคมีของสารประกอบอินทรีย์ และความยุ่งยากของมันจะเกินกว่า scope ของบทความนี้ แต่มันก็นำไปถึงการแบ่งแยกที่ให้เอกลักษ์เฉพาะของทุกระบบที่ถูกเสนอ หรือสร้างขึ้น อย่างไรก็ตามความยุ่งยากอันเดียวกันนี้ ก็อาจจะเป็นคำอธิบายของการขาดหายไปของ Taxonomyที่ยอมรับได้
หากต้องการทราบการอัพเดทของ การบ้าน อธิบายโมเดลของระบบ Multi processor และเรื่องที่เกี่ยวข้อง แนะนำให้กด ที่ facebook ด้านล่างนี้เลยค่ะ เผื่อที่จะได้อัพเดทก่อนใคร
อัพเดทเมื่อ วันอาทิตย์ที่ 7 กรกฎาคม พ.ศ. 2556 ในหมวดหมู่ของ การบ้าน เรื่อง การบ้าน อธิบายโมเดลของระบบ Multi processor