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

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

ในด้านวิศวกรรมคอมพิวเตอร์ , สถาปัตยกรรมคอมพิวเตอร์คือชุดของกฎระเบียบและวิธีการที่อธิบายการทำงานขององค์กรและการดำเนินงานของคอมพิวเตอร์ระบบ

คำจำกัดความของสถาปัตยกรรมบางคำนิยามว่าเป็นการอธิบายความสามารถและรูปแบบการเขียนโปรแกรมของคอมพิวเตอร์ แต่ไม่ใช่การใช้งานเฉพาะ [1]ในคำจำกัดความอื่น ๆ ที่เกี่ยวข้องกับสถาปัตยกรรมคอมพิวเตอร์ชุดคำสั่งสถาปัตยกรรมการออกแบบสถาปัตยกรรมการออกแบบการออกแบบเชิงตรรกะและการดำเนินงาน [2]

ประวัติ

สถาปัตยกรรมคอมพิวเตอร์เครื่องแรกที่ได้รับการบันทึกอยู่ในการติดต่อระหว่างCharles Babbageและเอดาเลิฟเลซอธิบายเครื่องมือวิเคราะห์ เมื่อสร้างคอมพิวเตอร์Z1ในปี 1936 Konrad Zuse ได้อธิบายไว้ในคำขอรับสิทธิบัตรสองฉบับสำหรับโครงการในอนาคตของเขาว่าคำสั่งของเครื่องสามารถเก็บไว้ในที่จัดเก็บข้อมูลเดียวกันกับที่ใช้สำหรับข้อมูล กล่าวคือแนวคิดของโปรแกรมที่เก็บไว้ [3] [4]อีกสองตัวอย่างแรกและที่สำคัญคือ:

คำว่า "สถาปัตยกรรม" ในวรรณคดีคอมพิวเตอร์สามารถสืบย้อนไปถึงผลงานของ Lyle R. Johnson และFrederick P. Brooks, Jr.สมาชิกของแผนก Machine Organisation ในศูนย์วิจัยหลักของ IBM ในปี 1959 จอห์นสันมีโอกาสเขียนกรรมสิทธิ์ การสื่อสารการวิจัยเกี่ยวกับStretchซึ่งเป็นซูเปอร์คอมพิวเตอร์ที่พัฒนาโดยไอบีเอ็มสำหรับห้องปฏิบัติการแห่งชาติลอส อาลามอส (ในขณะนั้นรู้จักกันในชื่อห้องปฏิบัติการวิทยาศาสตร์ลอสอาลามอส) เพื่ออธิบายระดับของรายละเอียดในการพูดคุยเกี่ยวกับคอมพิวเตอร์ที่ประดับประดาอย่างหรูหรา เขาตั้งข้อสังเกตว่าคำอธิบายของรูปแบบ ประเภทคำสั่ง พารามิเตอร์ของฮาร์ดแวร์ และการปรับปรุงความเร็วอยู่ที่ระดับ "สถาปัตยกรรมระบบ" ซึ่งเป็นคำที่ดูมีประโยชน์มากกว่า "การจัดระบบเครื่อง" ” [7]

ต่อจากนั้น Brooks นักออกแบบ Stretch ได้เปิดบทที่ 2 ของหนังสือชื่อPlanning a Computer System: Project Stretchโดยกล่าวว่า “สถาปัตยกรรมคอมพิวเตอร์ก็เหมือนกับสถาปัตยกรรมอื่นๆ เป็นศิลปะในการกำหนดความต้องการของผู้ใช้โครงสร้างแล้วออกแบบให้ ตอบสนองความต้องการเหล่านั้นอย่างมีประสิทธิภาพสูงสุดภายใต้ข้อจำกัดทางเศรษฐกิจและเทคโนโลยี” [8]

Brooks ยังคงช่วยพัฒนาคอมพิวเตอร์ IBM System/360 (ปัจจุบันเรียกว่าIBM zSeries ) ซึ่ง "สถาปัตยกรรม" กลายเป็นคำนามที่กำหนด "สิ่งที่ผู้ใช้จำเป็นต้องรู้" [9]ต่อมา ผู้ใช้คอมพิวเตอร์เริ่มใช้คำในลักษณะที่ไม่ค่อยชัดเจนนัก [10]

สถาปัตยกรรมคอมพิวเตอร์ที่เก่าที่สุดได้รับการออกแบบบนกระดาษแล้วสร้างโดยตรงในรูปแบบฮาร์ดแวร์ขั้นสุดท้าย [11] ต่อมา ต้นแบบสถาปัตยกรรมคอมพิวเตอร์ถูกสร้างขึ้นในรูปของคอมพิวเตอร์ทรานซิสเตอร์-ทรานซิสเตอร์ลอจิก (TTL) เช่น ต้นแบบของ6800และPA-RISC ผ่านการทดสอบและปรับแต่งก่อนที่จะส่งไปยังรูปแบบฮาร์ดแวร์ขั้นสุดท้าย . ในฐานะที่เป็นของปี 1990 สถาปัตยกรรมคอมพิวเตอร์เครื่องใหม่มักจะ "สร้าง" ทดสอบและเอ็นดู-ภายในบางสถาปัตยกรรมคอมพิวเตอร์อื่น ๆ ในการจำลองสถาปัตยกรรมคอมพิวเตอร์ ; หรือภายใน FPGA เป็นไมโครโปรเซสเซอร์ที่อ่อนนุ่ม ; หรือทั้งสองอย่าง—ก่อนที่จะส่งไปยังฟอร์มฮาร์ดแวร์ขั้นสุดท้าย (12)

หมวดหมู่ย่อย

สาขาวิชาสถาปัตยกรรมคอมพิวเตอร์มีสามหมวดย่อยหลัก: [13]

มีเทคโนโลยีอื่น ๆ ในสถาปัตยกรรมคอมพิวเตอร์ เทคโนโลยีต่อไปนี้ถูกใช้ในบริษัทขนาดใหญ่เช่น Intel และคาดว่าในปี 2545 [13]จะนับเป็น 1% ของสถาปัตยกรรมคอมพิวเตอร์ทั้งหมด:

  • สถาปัตยกรรมมหภาค : ชั้นสถาปัตยกรรมที่เป็นนามธรรมมากกว่าสถาปัตยกรรมไมโคร
  • สมัชชาสถาปัตยกรรมชุดคำสั่ง : เป็นสมาร์ทประกอบอาจแปลงนามธรรมภาษาประกอบร่วมกันในกลุ่มของเครื่องลงแตกต่างกันเล็กน้อยภาษาเครื่องแตกต่างกันสำหรับการใช้งาน
  • โปรแกรมเมอร์มองเห็น macroarchitecture : เครื่องมือภาษาระดับสูงเช่นคอมไพเลอร์อาจจะกำหนดอินเตอร์เฟซที่สอดคล้องกันหรือสัญญาในการเขียนโปรแกรมใช้พวกเขาสรุปความแตกต่างระหว่างพื้นฐานอิ UISA และสถาปัตยกรรมย่อ ตัวอย่างเช่น มาตรฐานC , C++หรือJavaกำหนดมาโครสถาปัตยกรรมที่โปรแกรมเมอร์มองเห็นได้ต่างกัน
  • เฟิร์มแว : เฟิร์มแวร์เป็นซอฟต์แวร์ที่แปลคำแนะนำในการวิ่งบนชิป มันทำหน้าที่เป็นตัวห่อหุ้มรอบ ๆ ฮาร์ดแวร์ โดยนำเสนอเวอร์ชันที่ต้องการของอินเทอร์เฟซชุดคำสั่งของฮาร์ดแวร์ เครื่องมือแปลคำสั่งนี้ช่วยให้นักออกแบบชิปมีตัวเลือกที่ยืดหยุ่น: เช่น 1 ชิปรุ่นใหม่ที่ปรับปรุงแล้วสามารถใช้ไมโครโค้ดเพื่อนำเสนอชุดคำสั่งเดียวกันกับชิปเวอร์ชันเก่า ดังนั้นซอฟต์แวร์ทั้งหมดที่กำหนดเป้าหมายชุดคำสั่งนั้นจะทำงานบนชิปตัวใหม่โดยไม่ใช้ ต้องการการเปลี่ยนแปลง เช่น 2 ไมโครโค้ดสามารถนำเสนอชุดคำสั่งที่หลากหลายสำหรับชิปพื้นฐานเดียวกัน ทำให้สามารถรันซอฟต์แวร์ได้หลากหลายมากขึ้น
  • UISA : User Instruction Set Architecture หมายถึงหนึ่งในสามชุดย่อยของคำสั่งRISC CPU ที่จัดเตรียมโดยPowerPC RISC Processors ชุดย่อย UISA เป็นคำสั่ง RISC ที่น่าสนใจสำหรับนักพัฒนาแอปพลิเคชัน อีกสองชุดย่อยคือคำสั่ง VEA (Virtual Environment Architecture) ที่ใช้โดยนักพัฒนาระบบเสมือนจริง และ OEA (สถาปัตยกรรมสภาพแวดล้อมการทำงาน) ที่ใช้โดยนักพัฒนาระบบปฏิบัติการ[15]
  • สถาปัตยกรรมพิน : ฟังก์ชั่นฮาร์ดแวร์ที่ไมโครโปรเซสเซอร์ควรมีให้กับแพลตฟอร์มฮาร์ดแวร์ เช่นพินx86 A20M, FERR/IGNNE หรือ FLUSH นอกจากนี้ ข้อความที่โปรเซสเซอร์ควรปล่อยออกมาเพื่อให้แคชภายนอกใช้งานไม่ได้ (ล้างข้อมูล) ฟังก์ชันสถาปัตยกรรมพินมีความยืดหยุ่นมากกว่าฟังก์ชัน ISA เนื่องจากฮาร์ดแวร์ภายนอกสามารถปรับให้เข้ากับการเข้ารหัสใหม่ หรือเปลี่ยนจากพินเป็นข้อความ คำว่า "สถาปัตยกรรม" เข้ากันดี เพราะต้องมีฟังก์ชันสำหรับระบบที่เข้ากันได้ แม้ว่าวิธีการโดยละเอียดจะเปลี่ยนไป

บทบาท

คำจำกัดความ

สถาปัตยกรรมคอมพิวเตอร์เกี่ยวข้องกับการสร้างสมดุลระหว่างประสิทธิภาพ ประสิทธิภาพ ต้นทุน และความน่าเชื่อถือของระบบคอมพิวเตอร์ กรณีของสถาปัตยกรรมชุดคำสั่งสามารถใช้เพื่อแสดงความสมดุลของปัจจัยที่แข่งขันกันเหล่านี้ ชุดคำสั่งที่ซับซ้อนมากขึ้นช่วยให้โปรแกรมเมอร์สามารถเขียนโปรแกรมที่มีประสิทธิภาพด้านพื้นที่มากขึ้น เนื่องจากคำสั่งเดียวสามารถเข้ารหัสสิ่งที่เป็นนามธรรมระดับสูงได้ (เช่น คำสั่ง x86 Loop) [16]อย่างไรก็ตาม คำสั่งที่ยาวและซับซ้อนกว่านั้นใช้เวลานานกว่าสำหรับตัวประมวลผลในการถอดรหัส และอาจมีค่าใช้จ่ายสูงในการนำไปใช้อย่างมีประสิทธิภาพ ความซับซ้อนที่เพิ่มขึ้นจากชุดคำสั่งขนาดใหญ่ยังเพิ่มพื้นที่สำหรับความไม่น่าเชื่อถือเมื่อคำสั่งโต้ตอบในลักษณะที่ไม่คาดคิด

การใช้งานเกี่ยวข้องกับการออกแบบวงจรรวม บรรจุภัณฑ์ กำลังไฟฟ้า และการทำความเย็น การปรับให้เหมาะสมของการออกแบบต้องใช้ความคุ้นเคยกับคอมไพเลอร์ ระบบปฏิบัติการในการออกแบบตรรกะ และบรรจุภัณฑ์ [17]

สถาปัตยกรรมชุดคำสั่ง

ชุดคำสั่งสถาปัตยกรรม (ISA) คือการติดต่อระหว่างซอฟต์แวร์ของคอมพิวเตอร์และฮาร์ดแวร์และยังสามารถดูเป็นมุมมองของโปรแกรมของเครื่อง คอมพิวเตอร์ไม่เข้าใจภาษาโปรแกรมระดับสูงเช่น Java, C++ หรือภาษาโปรแกรมส่วนใหญ่ที่ใช้ หน่วยประมวลผลเพียง แต่เข้าใจคำแนะนำการเข้ารหัสในแฟชั่นตัวเลขบางอย่างมักเป็นเลขฐานสองเครื่องมือซอฟต์แวร์ เช่นคอมไพเลอร์แปลภาษาระดับสูงเหล่านั้นเป็นคำสั่งที่โปรเซสเซอร์สามารถเข้าใจได้

นอกจากคำแนะนำของ ISA กำหนดรายการในเครื่องคอมพิวเตอร์ที่มีอยู่ไปยังโปรแกรมเช่นชนิดข้อมูล , ลงทะเบียน , โหมดที่อยู่และหน่วยความจำ คำแนะนำค้นหารายการที่มีอยู่เหล่านี้ด้วยดัชนีการลงทะเบียน (หรือชื่อ) และโหมดการกำหนดที่อยู่หน่วยความจำ

ISA ของคอมพิวเตอร์มักจะอธิบายไว้ในคู่มือการใช้งานขนาดเล็ก ซึ่งอธิบายวิธีการเข้ารหัสคำสั่ง นอกจากนี้ยังอาจกำหนดชื่อช่วยในการจำแบบสั้น (คลุมเครือ) สำหรับคำแนะนำ ชื่อได้รับการยอมรับโดยเครื่องมือในการพัฒนาซอฟแวร์ที่เรียกว่าแอสเซมแอสเซมเบลอร์คือโปรแกรมคอมพิวเตอร์ที่แปลแบบฟอร์ม ISA ที่มนุษย์อ่านได้ให้อยู่ในรูปแบบที่คอมพิวเตอร์อ่านได้ ตัวแยกชิ้นส่วนยังมีอยู่ทั่วไป โดยปกติแล้วจะอยู่ในโปรแกรมดีบั๊กและโปรแกรมซอฟต์แวร์เพื่อแยกและแก้ไขการทำงานผิดปกติในโปรแกรมคอมพิวเตอร์ไบนารี

ISAs แตกต่างกันไปในด้านคุณภาพและความสมบูรณ์ ISA ที่ดีประนีประนอมระหว่างความสะดวกของโปรแกรมเมอร์ (ความง่ายในการเข้าใจรหัส) ขนาดของรหัส (ต้องใช้รหัสเท่าใดในการดำเนินการเฉพาะ) ค่าใช้จ่ายของคอมพิวเตอร์ในการตีความคำแนะนำ (ความซับซ้อนมากขึ้นหมายถึงฮาร์ดแวร์ที่จำเป็นมากขึ้น ถอดรหัสและดำเนินการตามคำสั่ง) และความเร็วของคอมพิวเตอร์ (ด้วยฮาร์ดแวร์การถอดรหัสที่ซับซ้อนมากขึ้นจะทำให้เวลาถอดรหัสนานขึ้น) การจัดระเบียบหน่วยความจำกำหนดวิธีที่คำสั่งโต้ตอบกับหน่วยความจำ และวิธีที่หน่วยความจำโต้ตอบกับตัวเอง

ในระหว่างการจำลองการออกแบบอีมูเลเตอร์สามารถรันโปรแกรมที่เขียนในชุดคำสั่งที่เสนอ โปรแกรมจำลองสมัยใหม่สามารถวัดขนาด ต้นทุน และความเร็วเพื่อระบุว่า ISA นั้นบรรลุเป้าหมายหรือไม่

องค์กรคอมพิวเตอร์

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

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

การนำไปใช้

เมื่อออกแบบชุดคำสั่งและไมโครสถาปัตยกรรมแล้ว จะต้องพัฒนาเครื่องจักรที่ใช้งานได้จริง การออกแบบกระบวนการนี้เรียกว่าการดำเนินงาน การดำเนินงานมักจะไม่พิจารณาการออกแบบสถาปัตยกรรม แต่ฮาร์ดแวร์การออกแบบทางวิศวกรรม การใช้งานสามารถแบ่งออกเป็นหลายขั้นตอน:

  • การใช้งานลอจิกออกแบบวงจรที่ต้องการในระดับลอจิกเก
  • การดำเนินงานวงจรไม่ทรานซิสเตอร์ออกแบบระดับพื้นดินขององค์ประกอบพื้นฐาน (เช่นประตูmultiplexers , สลัก ) เช่นเดียวกับบางบล็อกขนาดใหญ่ ( ALUsแคช ฯลฯ ) ที่อาจจะนำมาใช้ในระดับตรรกะประตูหรือแม้กระทั่งในระดับกายภาพ ถ้าการออกแบบเรียกร้อง
  • การใช้งานทางกายภาพดึงวงจรทางกายภาพ ส่วนประกอบวงจรต่างๆ ถูกวางไว้ในแผนผังของชิปหรือบนกระดาน และสร้างสายไฟที่เชื่อมต่อเข้าด้วยกัน
  • การตรวจสอบการออกแบบจะทดสอบคอมพิวเตอร์โดยรวมเพื่อดูว่าใช้งานได้ในทุกสถานการณ์และทุกเวลาหรือไม่ เมื่อกระบวนการตรวจสอบการออกแบบเริ่มต้นขึ้น การออกแบบที่ระดับตรรกะจะได้รับการทดสอบโดยใช้โปรแกรมจำลองตรรกะ อย่างไรก็ตาม การทดสอบนี้มักจะช้าเกินไปที่จะทำการทดสอบจริง ดังนั้น หลังจากทำการแก้ไขตามการทดสอบครั้งแรก ต้นแบบจะถูกสร้างขึ้นโดยใช้ Field-Programmable Gate-Array ( FPGAs ) โครงการงานอดิเรกส่วนใหญ่หยุดอยู่ที่ขั้นตอนนี้ ขั้นตอนสุดท้ายคือการทดสอบวงจรรวมต้นแบบ ซึ่งอาจต้องมีการออกแบบใหม่หลายครั้ง

สำหรับซีพียู , การดำเนินการทั้งหมดจะถูกจัดแตกต่างกันและมักจะถูกเรียกว่าการออกแบบซีพียู

เป้าหมายการออกแบบ

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

รูปแบบทั่วไปส่วนใหญ่จะทำการวิเคราะห์กำลังในเชิงลึกและหาวิธีทำให้การใช้พลังงานต่ำโดยที่ยังคงประสิทธิภาพการทำงานที่เพียงพอ

ประสิทธิภาพ

ประสิทธิภาพของคอมพิวเตอร์สมัยใหม่มักอธิบายไว้ในคำสั่งต่อรอบ (IPC) ซึ่งวัดประสิทธิภาพของสถาปัตยกรรมที่ความถี่สัญญาณนาฬิกาใดๆ อัตรา IPC ที่เร็วขึ้นหมายความว่าคอมพิวเตอร์เร็วขึ้น คอมพิวเตอร์รุ่นเก่ามีจำนวน IPC ต่ำถึง 0.1 ในขณะที่ตัวประมวลผลสมัยใหม่เข้าถึงได้ง่ายใกล้ 1 ตัวประมวลผลSuperscalarอาจเข้าถึง IPC สามถึงห้า IPC โดยดำเนินการหลายคำสั่งต่อรอบสัญญาณนาฬิกา[ ต้องการการอ้างอิง ]

การนับคำแนะนำภาษาเครื่องอาจทำให้เข้าใจผิดได้ เนื่องจากสามารถทำงานในปริมาณที่แตกต่างกันใน ISA ที่แตกต่างกันได้ "คำสั่ง" ในการวัดมาตรฐานไม่ใช่การนับคำสั่งภาษาเครื่องของ ISA แต่เป็นหน่วยการวัด ซึ่งมักจะขึ้นอยู่กับความเร็วของสถาปัตยกรรมคอมพิวเตอร์ VAX

หลายคนเคยวัดความเร็วของคอมพิวเตอร์ด้วยอัตรานาฬิกา (ปกติจะเป็น MHz หรือ GHz) นี่หมายถึงรอบต่อวินาทีของนาฬิกาหลักของ CPU อย่างไรก็ตาม ตัวชี้วัดนี้ค่อนข้างทำให้เข้าใจผิด เนื่องจากเครื่องที่มีอัตราสัญญาณนาฬิกาสูงกว่าอาจไม่จำเป็นต้องมีประสิทธิภาพมากกว่า ด้วยเหตุนี้ ผู้ผลิตจึงเลิกใช้ความเร็วสัญญาณนาฬิกาเพื่อวัดประสิทธิภาพ

ปัจจัยอื่น ๆ ที่มีอิทธิพลต่อความเร็วเช่นการผสมของหน่วยการทำงาน , รถบัสความเร็วหน่วยความจำและชนิดและคำสั่งของคำแนะนำในโปรแกรม

ความเร็วมีสองประเภทหลัก: เวลาแฝงและปริมาณงาน เวลาแฝงคือเวลาระหว่างการเริ่มต้นกระบวนการจนถึงความสมบูรณ์ของกระบวนการ ปริมาณงานคือปริมาณงานที่ทำต่อหน่วยเวลา เวลาแฝงของการขัดจังหวะคือการรับประกันเวลาตอบสนองสูงสุดของระบบต่อเหตุการณ์ทางอิเล็กทรอนิกส์ (เช่น เมื่อดิสก์ไดรฟ์เสร็จสิ้นการย้ายข้อมูลบางส่วน)

ประสิทธิภาพได้รับผลกระทบจากตัวเลือกการออกแบบที่หลากหลายมาก ตัวอย่างเช่น การวางท่อโปรเซสเซอร์มักจะทำให้เวลาแฝงแย่ลง แต่ทำให้ปริมาณงานดีขึ้น คอมพิวเตอร์ที่ควบคุมเครื่องจักรมักจะต้องการเวลาแฝงที่ต่ำ คอมพิวเตอร์เหล่านี้ทำงานในสภาพแวดล้อมแบบเรียลไทม์และจะล้มเหลวหากการดำเนินการไม่เสร็จสิ้นภายในระยะเวลาที่กำหนด ตัวอย่างเช่น เบรกป้องกันล้อล็อกที่ควบคุมด้วยคอมพิวเตอร์ต้องเริ่มเบรกภายในระยะเวลาที่คาดการณ์ได้และจำกัดหลังจากตรวจจับแป้นเบรก มิฉะนั้นจะเกิดความล้มเหลวของเบรก

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

ประสิทธิภาพการใช้พลังงาน

ประสิทธิภาพการใช้พลังงานเป็นอีกหนึ่งการวัดที่สำคัญในคอมพิวเตอร์สมัยใหม่ ประสิทธิภาพพลังงานที่สูงขึ้นมักจะแลกมาด้วยความเร็วที่ต่ำกว่าหรือต้นทุนที่สูงขึ้น การวัดโดยทั่วไปเมื่อพูดถึงการใช้พลังงานในสถาปัตยกรรมคอมพิวเตอร์คือ MIPS/W (ล้านคำสั่งต่อวินาทีต่อวัตต์)

วงจรสมัยใหม่ต้องการพลังงานต่อทรานซิสเตอร์น้อยกว่าเมื่อจำนวนทรานซิสเตอร์ต่อชิปเพิ่มขึ้น[18]นี่เป็นเพราะว่าทรานซิสเตอร์แต่ละตัวที่ใส่ในชิปตัวใหม่นั้นต้องการแหล่งจ่ายไฟของตัวเองและต้องมีเส้นทางใหม่ในการสร้างพลังงานให้กับมัน อย่างไรก็ตาม จำนวนทรานซิสเตอร์ต่อชิปเริ่มเพิ่มขึ้นในอัตราที่ช้าลง ดังนั้น ประสิทธิภาพพลังงานจึงเริ่มมีความสำคัญพอๆ กัน หากไม่สำคัญไปกว่าการติดตั้งทรานซิสเตอร์ในชิปตัวเดียวมากขึ้นเรื่อยๆ การออกแบบโปรเซสเซอร์ล่าสุดได้แสดงให้เห็นถึงความสำคัญนี้ เนื่องจากพวกเขาให้ความสำคัญกับประสิทธิภาพการใช้พลังงานมากกว่าที่จะยัดทรานซิสเตอร์ลงในชิปตัวเดียวให้ได้มากที่สุด[19]ในโลกของคอมพิวเตอร์ฝังตัว ประสิทธิภาพการใช้พลังงานเป็นเป้าหมายสำคัญที่อยู่ถัดจากปริมาณงานและเวลาแฝงมาช้านาน

การเปลี่ยนแปลงของความต้องการของตลาด

ความถี่สัญญาณนาฬิกาที่เพิ่มขึ้นช้ากว่าในช่วงไม่กี่ปีที่ผ่านมา เมื่อเทียบกับการปรับปรุงการลดพลังงาน สิ่งนี้ได้รับแรงผลักดันจากการสิ้นสุดของกฎของมัวร์และความต้องการอายุการใช้งานแบตเตอรี่ที่ยาวนานขึ้นและการลดขนาดสำหรับเทคโนโลยีมือถือ การเปลี่ยนแปลงจุดโฟกัสจากอัตรานาฬิกาที่สูงขึ้นไปเป็นการใช้พลังงานและการย่อขนาดสามารถแสดงได้โดยการลดการใช้พลังงานลงอย่างมากถึง 50% ที่ Intel รายงานในการเปิดตัวHaswell microarchitecture ; โดยลดเกณฑ์มาตรฐานการใช้พลังงานจาก 30 เป็น 40 วัตต์เหลือ 10-20 วัตต์ [20]เปรียบเทียบสิ่งนี้กับความเร็วในการประมวลผลที่เพิ่มขึ้น 3 GHz เป็น 4 GHz (2002 ถึง 2006) [21] จะเห็นได้ว่าจุดเน้นในการวิจัยและพัฒนากำลังเปลี่ยนจากความถี่สัญญาณนาฬิกาและมุ่งไปสู่การใช้พลังงานน้อยลงและใช้พื้นที่น้อยลง

ดูเพิ่มเติม

อ้างอิง

  1. ^ คลีเมนต์, อลัน. หลักการของฮาร์ดแวร์คอมพิวเตอร์ (ฉบับที่ 4) NS. 1. สถาปัตยกรรมอธิบายการจัดระเบียบภายในของคอมพิวเตอร์ในลักษณะที่เป็นนามธรรม กล่าวคือกำหนดความสามารถของคอมพิวเตอร์และรูปแบบการเขียนโปรแกรม คุณสามารถมีคอมพิวเตอร์สองเครื่องที่สร้างขึ้นในรูปแบบที่แตกต่างกันโดยใช้เทคโนโลยีที่แตกต่างกัน แต่มีสถาปัตยกรรมเดียวกัน
  2. ^ เฮนเนสซี จอห์น; แพตเตอร์สัน, เดวิด. สถาปัตยกรรมคอมพิวเตอร์: แนวทางเชิงปริมาณ (ฉบับที่ 5) NS. 11. งานนี้มีหลายแง่มุม รวมถึงการออกแบบชุดคำสั่ง การจัดระเบียบหน้าที่ การออกแบบตรรกะ และการใช้งาน
  3. ^ วิลเลียมส์ เอฟซี; Kilburn, T. (25 กันยายน 2491), "Electronic Digital Computers" , Nature , 162 (4117): 487, Bibcode : 1948Natur.162..487W , doi : 10.1038/162487a0 , S2CID 4110351 , archived from the original on 6 April 2009 , เรียกข้อมูลเมื่อ2009-04-10 
  4. ^ Susanne ร้าง "คอนราด Zuses Bemuehungen หนอตาย Patentanmeldung เดอร์ Z3" 2000
  5. ^ นอยมันน์, จอห์น (1945) ร่างแรกของรายงาน EDVAC NS. 9.
  6. ^ ทำซ้ำใน BJ Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369-454
  7. จอห์นสัน, ไลล์ (1960). "คำอธิบายของการยืดกล้ามเนื้อ" (PDF) . NS. 1 . สืบค้นเมื่อ7 ตุลาคม 2560 .
  8. ^ Buchholz เวอร์เนอร์ (1962) การวางแผนระบบคอมพิวเตอร์ NS. 5.
  9. ^ "ระบบ 360 จากคอมพิวเตอร์สู่ระบบคอมพิวเตอร์" . ไอบีเอ็ม100 . สืบค้นเมื่อ11 พฤษภาคม 2560 .
  10. ^ Hellige ฮันส์หิวโหย (2004) "Die Genese von Wissenschaftskonzeptionen der Computerarchitektur: Vom "ระบบของอวัยวะ" zum Schichtmodell des Designraums Geschichten เดอร์ Informatik: Visionen, Paradigmen, Leitmotive น. 411–472.
  11. ACE ออกแบบกระดาษเจ็ดแบบในหนึ่งปี ก่อนที่ต้นแบบจะเริ่มขึ้นในปี 1948 [BJ Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, p. 57]
  12. ^ Schmalz, MS "องค์กรของระบบคอมพิวเตอร์" ยูเอฟ ซีเซ่. สืบค้นเมื่อ11 พฤษภาคม 2560 .
  13. ^ ลิตรจอห์นเฮนเนสและเดวิดเอแพตเตอร์สัน สถาปัตยกรรมคอมพิวเตอร์: แนวทางเชิงปริมาณ (ฉบับที่สาม) สำนักพิมพ์มอร์แกน คอฟมานน์
  14. ^ Laplante ฟิลลิปเอ (2001) พจนานุกรม วิทยาการคอมพิวเตอร์ วิศวกรรมศาสตร์ และเทคโนโลยี . ซีอาร์ซี เพรส. น. 94–95. ISBN 0-8493-2691-5.
  15. ^ เฟรย์, แบรด (2005-02-24). "สถาปัตยกรรม PowerPC หนังสือ, เวอร์ชัน 2.02" ไอบีเอ็ม คอร์ปอเรชั่น
  16. ^ Null, ลินดา (2019). สาระสำคัญของการจัดระเบียบคอมพิวเตอร์และสถาปัตยกรรม (ฉบับที่ 5) เบอร์ลิงตัน รัฐแมสซาชูเซตส์: Jones & Bartlett Learning NS. 280. ISBN 9781284123036.
  17. ^ มาร์ติน, ไมโล. "สถาปัตยกรรมคอมพิวเตอร์คืออะไร" (PDF) . UPENN สืบค้นเมื่อ11 พฤษภาคม 2560 .
  18. ^ "วงจรรวมและการประดิษฐ์" (PDF) . สืบค้นเมื่อ8 พฤษภาคม 2560 .
  19. ^ "Exynos 9 Series (8895)" . ซัมซุง. สืบค้นเมื่อ8 พฤษภาคม 2560 .
  20. ^ "ขนาดตัวประมวลผลเพาเวอร์ TDP VS เอซีพี" (PDF) อินเทล . เมษายน 2011 . สืบค้นเมื่อ5 พฤษภาคม 2560 .
  21. ^ "ประวัติศาสตร์การปฏิบัติงานของหน่วยประมวลผล" (PDF) cs.columbia.edu 24 เมษายน 2555 . สืบค้นเมื่อ5 พฤษภาคม 2560 .

ที่มา

ลิงค์ภายนอก