ผลต่างระหว่างรุ่นของ "สถาปัตยกรรมคอมพิวเตอร์"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Amirobot (คุย | ส่วนร่วม)
โรบอต เพิ่ม: fa:ریزمعماری
Manop (คุย | ส่วนร่วม)
จัดรูปแบบ +เก็บกวาดด้วยสจห.
บรรทัด 1:
{{รอการตรวจสอบ}}
'''สถาปัตยกรรมคอมพิวเตอร์''' เป็นทฤษฎีที่อยู่ฉากหลังของการออกแบบ[[คอมพิวเตอร์]] โดยทั่วไปหมายถึง การออกแบบ
* โครงสร้างของ[[หน่วยประมวลผลกลาง]] (ซึ่งก็คือ การออกแบบจำนวน[[รีจิสเตอร์]]ที่จำเป็น และหน้าที่ที่จำเป็นของ [[หน่วยควบคุม]]กับ[[หน่วยประมวลผลตัวเลข]])
เส้น 7 ⟶ 6:
ประเภทของสถาปัตยกรรมการประมวลผลแบบขนาน ของโปรเซสเซอร์
 
# '''SISD (Single Instruction Single Data stream) ''' คือ โปรเซสเซอร์ ที่ใช้การประมวลผลด้วยชุดข้อมูลเพียงชุดเดียว และ ทำงานด้วยคำสั่งเดียว ภายใน 1 สัญญาณนาฬิกา
# '''MISD (Multiple Instruction Single Data stream) ''' คือ โปรเซสเซอร์ ที่ใช้การประมวลผลด้วยชุดข้อมูลเพียงชุดเดียว แต่ทำงานด้วยได้หลายคำสั่ง ภายใน 1 สัญญาณนาฬิกา มักจะไม่ค่อยมีใครพัฒนาโปรเซสเซอร์แบบนี้
# '''SIMD (Single Instruction Multiple Data stream) ''' คือ โปรเซสเซอร์ที่ใช้การประมวลผลด้วยชุดข้อมูลหลายชุด แต่ทำงานด้วยคำสั่งเดียว ภายใน 1 สัญญาณนาฬิกา และได้ผลลัพธ์หลายชุด ใช้ในโปรเซสเซอร์แบบ Pentium MMX
# '''MIMD (Multiple Instruction Multiple Data stream) ''' คือ โปรเซสเซอร์ที่ใช้การประมวลผลด้วยชุดข้อมูลหลายชุด และทำงานด้วยได้หลายคำสั่ง ภายใน 1 สัญญาณนาฬิกา
 
'''RISC (Reduced Instruction- Set Computing หรือชิปที่มีการลดทอนคำสั่ง) ''' คือ โปรเซสเซอร์ที่มีชุดคำสั่งที่มีรูปแบบและขนาดที่แน่นอน สามารถประมวลผลได้ภายใน 1 สัญญาณนาฬิกา การอ้างอิงหน่วยความจำจะใช้คำสั่ง Load และ Store ที่สามารถอ้างอิงหน่วยความจำได้โดยตรงเท่านั้น ใช้การอ้างตำแหน่งแบบตรงๆ ง่ายโดยมีรูปแบบจำกัดอยู่ 2 แบบ คือ
1.แบบอ้างผ่าน Register ( Register Indirect ) Register จะเก็บค่าตำแหน่งไว้ แล้ว ทำการอ้างตำแหน่งนั้นๆผ่าน Register
2.ในแบบ Index จะเป็นการอ้างตำแหน่งจากค่าคงที่ที่มาในคำสั่งนั้นๆเลย
 
'''CISC (Complex Instruction-Set Computing) ''' คือสถาปัตยกรรมของโปรเซสเซอร์ ที่ใช้คำสั่งซับซ้อนที่มีความยาวเปลี่ยนไปตามชนิดของคำสั่ง มีคำสั่งให้ใช้งานมากมาย ทำให้เขียนโปรแกรมง่าย และโปรแกรมมีขนาดเล็ก การทำงานของคำสั่งจะใช้ Microcode โดยคงความเข้ากันได้กับโปรเซสเซอร์รุ่นเก่า ทำให้ไม่ต้องเขียนโปรแกรมใหม่
 
'''SMP (Symmetric MultiProcessing) ''' คือสถาปัตยกรรมของการใช้โปรเซสเซอร์ หลายตัว ที่ใช้ทรัพยากรของระบบเช่น บัส หน่วยความจำ I/O ร่วมกัน ไม่สามารถแบ่งเป็น partition ย่อยๆได้ และสมรรถนะของระบบจะลดลงเมื่อใช้โปรเซสเซอร์ มากกว่า 8 ตัว ความสามารถในการขยายสเกลยังจำกัด แต่สามารถใช้โปรแกรมแบบเดิมได้ไม่ต้องเขียนขึ้นใหม่
 
== การแบ่งกันใช้งานและการติดต่อสื่อสาร ==
# '''Shared-bus topology''' คือการต่อโปรเซสเซอร์ หลายตัวให้ใช้งาน Frontside บัสเส้นเดียวร่วมกัน แต่มีข้อเสียคือ จะเกิดคอขวดที่เกิดจากรอคอยการใช้บัสร่วมกัน และทำให้เกิดประจุไฟฟ้าสะสมบนบัส ซึ่งจะเกิดการรบกวนสัญญาณข้อมูลซึ่งกันและกัน ทำให้สามารถใช้โปรเซสเซอร์ ได้สูงสุดไม่เกิน 4 ตัวมีใช้ใน บัส GTL+ ของ Intel x86 และ บัส MPX ของ SMP G4 (Apple)
# '''Point-to-point topology''' คือการต่อโปรเซสเซอร์ หลายตัวโดยให้โปรเซสเซอร์ แต่ละตัวมี Frontside บัสของตัวเองที่ต่อตรงไปยังชุดชิปหลัก จะแก้ปัญหาที่เกิดจากการใช้ Shared-bus topology ได้ มีใช้ใน บัส EV6 ของ Athlon
 
== Cache Coherence ==
คือการทำให้ข้อมูลที่มีอยู่ในแคชของโปรเซสเซอร์ ทุกตัวมีความสอดคล้องกับโปรเซสเซอร์ตัวอื่นๆ
# '''Snoop''' คือการจัดการให้แคชของโปรเซสเซอร์แต่ละตัว คอยฟังว่ามีการร้องขอข้อมูลในหน่วยความจำที่โปรเซสเซอร์กำลังใช้งานอยู่ของโปรเซสเซอร์ตัวอื่นๆทุกตัวหรือไม่ ซึ่งจะทำให้เกิดการติดต่อสื่อสารสถานะของข้อมูล เพื่อประสานงานการใช้ข้อมูลร่วมกันโดยเกิดข้อขัดแย้งน้อยที่สุด แต่จะเกิดปัญหาความล่าช้าบนระบบ Shared-bus เพราะการ snoop จะลด bandwidth ของบัสที่ใช้งานร่วมกัน แต่ในระบบ point-to-point จะมี snoop bus ต่างหาก ทำให้แคชสามารถทำงานโดยไม่ต้องไปรบกวนการทำงานของส่วนอื่นๆ
# '''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''' คือ สถาปัตยกรรมของการเชื่อมโยงระบบเข้าด้วยกัน โดยใช้ทรัพยากรร่วมกัน เพื่อสร้างระบบที่ใหญ่ขึ้นและล้มเหลวยาก (ระบบจะไม่หยุดทำงานง่ายๆ)
 
== ดูเพิ่ม ==
เส้น 48 ⟶ 47:
* Microprocessor Reports
 
== อ้างอิง ==
== แหล่งข้อมูลอื่น ==
{{รายการอ้างอิง}}
=== ภาษาไทย ===
* Hennessy and Patterson (2006). Computer Architecture: A Quantitative Approach (Fourth Edition ed.). Morgan Kaufmann. ISBN 978-0-12-370490-0.
* http://byxtreme.com
* Tanenbaum, Andrew S. (1979). Structured Computer Organization. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 0-13-148521-0.
 
=== ภาษาอังกฤษ ===
* http://www.aceshardware.com
* http://www.anandtech.com
* http://www.dansdata.com
* http://www.barefeats.com
* http://www.techextreme.com
* http://www.mkdata.dk
 
[[หมวดหมู่:สถาปัตยกรรมคอมพิวเตอร์| ]]
{{โครงคอม}}
 
[[ar:معمارية الحاسوب]]