คำถามติดแท็ก computer-architecture

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

12
เราจะมั่นใจได้อย่างไรว่าคอมพิวเตอร์จะไม่เปลี่ยน 0 เป็น 1 โดยไม่ตั้งใจ
ฉันได้อ่านเล็กน้อยเกี่ยวกับการก่อสร้างของดิจิตอลคอมพิวเตอร์ใน Shocken / นิสันของ: องค์ประกอบของระบบคอมพิวเตอร์ แต่หนังสือเล่มนี้บอกว่าไม่มีอะไรเกี่ยวกับด้านไฟฟ้าบางอย่างในคอมพิวเตอร์ตัวอย่างเช่นมันมักจะบอกว่า 0 และ 1 ถูกแทนด้วยแรงดันไฟฟ้าถ้าแรงดันไฟฟ้าอยู่ในช่วง [0, 0.9) นั่นก็คือ 0 ถ้าแรงดันไฟฟ้าคือ ในช่วง [0.9, 1.5), แล้วมันคือ 1 (แรงดันไฟฟ้าอาจเปลี่ยนแปลงได้, ฉันแค่ยกตัวอย่าง) แต่ฉันไม่เคยอ่านสิ่งที่ทำให้แรงดันไฟฟ้า "ดี" ในลักษณะที่ 0 ไม่สามารถกลายเป็น 1 โดยไม่ตั้งใจเนื่องจากความผันผวนของไฟฟ้า [1] ภายในคอมพิวเตอร์ บางทีอาจเป็นไปได้ที่แรงดันไฟฟ้าจะอยู่ใกล้ 0.9 มากแล้วจะทำอย่างไรเพื่อหลีกเลี่ยงให้มันผ่านเกณฑ์? [1]: หากมีอยู่

8
ทำไมการส่งข้อมูลดิจิตอลแบบอนุกรมใช้ทุกที่ เช่น SATA, PCIe, USB
ในขณะที่ดูที่ SATA, PCIe, USB, SD UHS-II มันทำให้ฉันรู้สึกว่ามันเหมือนกันทั้งหมด: ดิจิตอลอนุกรมบิตสตรีมส่งโดยใช้คู่ที่แตกต่างกัน ทำไมเป็นเช่นนั้น ทำไมนี่จึงกลายเป็นมาตรฐาน เหตุใดจึงไม่มีโปรโตคอลการสื่อสารระบบที่แพร่หลายซึ่งใช้วิธีการมอดูเลตขั้นสูงบางอย่างเพื่อให้ได้อัตราสัญลักษณ์ที่ดีขึ้น ฉันพลาดอะไรไปรึเปล่า? นี่ไม่ใช่คำถามของ "อนุกรม vs ขนาน" แต่เป็นคำถามของ "สัญญาณดิจิตอลเทียบกับแอนะล็อกโมดูเลต"


5
CPU สามารถส่งคำสั่งมากกว่าหนึ่งคำสั่งต่อรอบได้อย่างไร
คำแนะนำของวิกิพีเดียต่อวินาทีหน้าบอกว่า i7 3630QM ให้ความถี่ประมาณ 110,000 MIPS ~ 110,000 MIPS; มันจะเป็น (110 / 3.2 คำสั่ง) / 4 คอร์ = ~ 8.6 คำแนะนำต่อรอบต่อคอร์! แกนเดี่ยวสามารถส่งคำสั่งมากกว่าหนึ่งคำสั่งต่อรอบได้อย่างไร เพื่อความเข้าใจของฉันไปป์ไลน์ควรจะสามารถส่งผลลัพธ์เดียวต่อนาฬิกา นี่คือความคิดของฉัน: ความถี่ภายในนั้นสูงกว่า 3.2 GHz บางส่วนของซีพียูไม่ตรงกันในแบบที่มนุษย์ถ่อมใจอย่างที่ฉันไม่เข้าใจ มีหลายท่อพร้อมกันต่อหนึ่งคอร์ ไปป์ไลน์สามารถส่งมอบมากกว่าผลลัพธ์ต่อนาฬิกาคำสั่งสามารถข้ามขั้นตอนไปป์ไลน์และมี prefetcher หลายตัวเพื่อให้ทัน ฉันขาดอะไรไป

5
แคชจะเร็วขนาดนั้นได้อย่างไร?
นี่คือภาพหน้าจอของเกณฑ์มาตรฐานแคช: ในเกณฑ์มาตรฐานความเร็วในการอ่าน L1 แคชอยู่ที่ประมาณ 186 GB / s โดยเวลาแฝงอยู่ที่ประมาณ 3-4 รอบนาฬิกา ความเร็วนั้นบรรลุผลเช่นไร? พิจารณาหน่วยความจำที่นี่: ความเร็วสูงสุดทางทฤษฎีคือ 665 MHz (ความถี่หน่วยความจำ) x 2 (อัตราข้อมูลคู่) x 64 บิต (ความกว้างบัส) ซึ่งประมาณ 10.6 GB / s ซึ่งใกล้เคียงกับค่ามาตรฐาน 9.6 GB / s . แต่ด้วยแคช L1 แม้ว่าเราจะสามารถอ่านได้ทุกรอบด้วยโปรเซสเซอร์ที่ความถี่สูงสุด (3 GHz) เราจะต้องใช้สายดาต้าประมาณ 496 เส้นเพื่อให้ได้ปริมาณงานที่ไม่สมจริง สิ่งนี้ใช้กับแคชอื่นเช่นกัน ฉันพลาดอะไรไป เราจะคำนวณปริมาณงานของแคชจากพารามิเตอร์ได้อย่างไร

6
เลขคณิตสัญญาณอนาล็อกนั้นเร็วกว่าดิจิตอลหรือไม่?
ในทางทฤษฎีแล้วมันจะเป็นไปได้หรือไม่ที่จะเพิ่มความเร็วตัวประมวลผลที่ทันสมัยถ้ามีใครจะใช้เลขคณิตสัญญาณอะนาล็อก (ในราคาที่ถูกต้องและแม่นยำ) แทนที่จะเป็นดิจิตอล FPUs (CPU -> DAC -> อนาล็อก FPU -> ADC -> CPU) การแบ่งสัญญาณอะนาล็อกเป็นไปได้หรือไม่ (เนื่องจากการคูณ FPU มักใช้เวลาหนึ่งรอบ CPU ต่อไป)

6
ทำไมชิป Haswell ของ Intel อนุญาตให้การคูณ FP เป็นสองเท่าเร็วกว่าการเติม
ฉันกำลังอ่านคำถามที่น่าสนใจเกี่ยวกับ Stack Overflow: การคูณจำนวนเต็มทำได้ด้วยความเร็วเท่ากันกับการเพิ่มใน CPU ที่ทันสมัยหรือไม่? หนึ่งในความคิดเห็นที่กล่าวว่า: "มันไม่มีค่าอะไรที่ Haswell ปริมาณงานคูณ FP เป็นสองเท่าของ FP เพิ่มนั่นเป็นเพราะทั้งพอร์ต 0 และ 1 สามารถใช้ในการคูณ แต่พอร์ต 1 เท่านั้นที่สามารถใช้เพิ่มได้นั่นหมายความว่าคุณสามารถโกงด้วยการหลอมรวม เพิ่มหลายอย่างเนื่องจากทั้งสองพอร์ตสามารถทำได้ " ทำไมพวกเขาถึงอนุญาตให้มีการคูณหลายตัวพร้อมกันเป็นสองเท่าเมื่อเทียบกับการเพิ่ม

6
ทำไมฮาร์ดแวร์แบบเปิดถึงหาได้ยาก? [ปิด]
ฉันพยายามเข้าใจว่าทำไมฮาร์ดแวร์แบบเปิดถึงได้ยากกว่าซอฟต์แวร์ ฉันได้ลองตรวจสอบทางออนไลน์และไม่สามารถหาคำอธิบายที่น่าพอใจได้ ฉันเข้าใจว่าฮาร์ดแวร์นั้นง่ายกว่ามากในการรักษาความเป็นเจ้าของและยากยิ่งขึ้น (เป็นไปไม่ได้) ในการทำวิศวกรรมย้อนกลับ (ในกรณีของ IC ไม่ใช่ PCB) แต่ทำไมมันถึงหยุดการริเริ่มฮาร์ดแวร์แบบเปิด? มันเป็นต้นทุนการผลิตหรือไม่? มันขาดความรู้ร่วมกันเกี่ยวกับการออกแบบฮาร์ดแวร์หรือไม่? มันซับซ้อนหรือไม่ ด้วยการถือกำเนิดของ FPGA ทำให้มันง่ายในการออกแบบฮาร์ดแวร์ (แม้ว่าพวกมันจะเป็นกรรมสิทธิ์ของตัวเองเช่นกัน) ฉันคาดหวังว่าฮาร์ดแวร์แบบเปิดจะถอดในอัตราที่เร็วกว่าที่เคยเป็นมา ฉันขอโทษถ้านี่เป็นสถานที่ที่ผิดที่จะถาม แต่มันทำให้ฉันงุนงงมาประมาณหนึ่งปีแล้วและทำให้ฉันหวังว่าฉันจะเอาวิทยาศาสตร์คอมพิวเตอร์แทนวิศวกรรมคอมพิวเตอร์

7
ทำไม Digital 0 ไม่ใช่ 0V ในระบบคอมพิวเตอร์
ฉันกำลังเรียนหลักสูตรการออกแบบระบบคอมพิวเตอร์และอาจารย์ของฉันบอกกับเราว่าในระบบดิจิทัลแรงดันไฟฟ้าแบบเดิมที่ใช้เพื่อแสดงว่าดิจิตอล 0 และดิจิตอล 1 มีการเปลี่ยนแปลงตลอดหลายปีที่ผ่านมา เห็นได้ชัดว่าย้อนกลับไปในยุค 80 มีการใช้ 5 V เป็น 'สูง' และ 1 V ถูกใช้เพื่อแสดงถึง 'ต่ำ' ทุกวันนี้ 'สูง' คือ 0.75 V และ 'ต่ำ' อยู่ที่ประมาณ 0.23 V. เขาเสริมว่าในอนาคตอันใกล้เราอาจเปลี่ยนไปใช้ระบบที่ 0.4 V หมายถึงสูงและ 0.05 V ต่ำ เขาแย้งว่าค่าเหล่านี้มีขนาดเล็กลงเพื่อให้เราสามารถลดการใช้พลังงานของเรา หากเป็นเช่นนั้นทำไมเราจึงมีปัญหาในการตั้งค่า 'ต่ำ' ให้เป็นแรงดันบวกใด ๆ เลย? ทำไมเราไม่ตั้งค่าให้แรงดัน 0 V จริง (เป็นกลางจากสายไฟฉันเดา)

4
ARM ขายอะไรให้กับผู้ขายอย่างแน่นอน?
สมมติฐาน: สถาปัตยกรรมคอมพิวเตอร์:อธิบายว่าโมดูลต่าง ๆ ของโปรเซสเซอร์มีปฏิสัมพันธ์กันอย่างไร สถาปัตยกรรมคอมพิวเตอร์ถูกกำหนดโดยใช้vhdlไฟล์ การจัดระเบียบคอมพิวเตอร์:อธิบายโครงร่างทางกายภาพของโมดูลตัวประมวลผลบนซิลิกอน องค์กรคอมพิวเตอร์ถูกกำหนดโดยใช้มาสก์รูปถ่าย (และกระบวนการผลิตเช่นสารเคมีที่ไปในแต่ละขั้นตอน) องค์กรคอมพิวเตอร์จึงจำเป็นต้องมีการพิจารณากระบวนการ fab ARM ไม่ได้อยู่ในธุรกิจการผลิตดังนั้นจึงไม่ขายมาสก์ภาพ คำถามของฉัน: ARM ขายอะไรให้กับผู้ขาย (เช่น freescale) สำหรับ SoC (System On Chip) (เช่น: iMx6 ) ส่วนไหนคือ ARM และ Freescale ใครรวมกัน

5
เหตุใดอุปกรณ์ที่ค่อนข้างเรียบง่ายเช่นไมโครคอนโทรลเลอร์จึงช้ากว่า CPU มาก
เมื่อพิจารณาจากจำนวนขั้นตอนการส่งท่อและโหนดการผลิตเดียวกัน (เช่น 65 nm) และแรงดันเท่ากันอุปกรณ์ที่เรียบง่ายควรทำงานได้เร็วกว่าขั้นตอนที่ซับซ้อนมากขึ้น นอกจากนี้การรวมขั้นตอนไปป์ไลน์หลายขั้นตอนเข้าด้วยกันไม่ควรทำให้ช้าลงโดยปัจจัยที่เป็นปัจจัยมากกว่าจำนวนขั้นตอน ตอนนี้ใช้ซีพียูอายุห้าขวบทำงานไปป์ไลน์ 14 ขั้นที่ 2.8 GHz สมมติว่าหนึ่งผสานขั้นตอน; ที่จะช้าลงต่ำกว่า 200 MHz ตอนนี้เพิ่มแรงดันไฟฟ้าและลดจำนวนบิตต่อคำ จริงๆแล้วมันจะเร่งความเร็วให้เร็วขึ้น นั่นเป็นเหตุผลที่ฉันไม่เข้าใจว่าทำไมไมโครคอนโทรลเลอร์ที่ผลิตในปัจจุบันจำนวนมากเช่น AVL ทำงานที่ความเร็วสูงสุด (เช่น 20 MHz ที่ 5 V) แม้ว่า CPU ที่ซับซ้อนกว่าปีที่แล้วมีความสามารถในการรัน 150x เร็วขึ้นหรือเร็วขึ้น 10 เท่า ถ้าคุณหมุนไปป์ไลน์ทั้งหมดเป็นหนึ่งเดียวที่ 1.2 V-ish จากการคำนวณแบบ back-of-the-envelope ที่หยาบที่สุดไมโครคอนโทรลเลอร์ - แม้ว่าผลิตโดยใช้เทคโนโลยีที่ล้าสมัยของเส้นขอบ - ควรรันเร็วกว่า 10x อย่างน้อย 10 เท่าของแรงดันไฟฟ้าที่พวกเขาจัดหาให้ ดังนั้นคำถาม: อะไรคือสาเหตุของอัตรานาฬิกาไมโครคอนโทรลเลอร์ช้า?

4
เหตุใด CPU ถึงเชื่อมต่อกับบัสเพียงบัสเดียว?
ฉันพบสถาปัตยกรรมเมนบอร์ดที่นี่: นี่เป็นเค้าโครงทั่วไปของเมนบอร์ด แก้ไข:เห็นได้ชัดว่ามันไม่ปกติอีกต่อไป เหตุใด CPU จึงเชื่อมต่อกับบัสเพียง 1 บัส รถบัสด้านหน้านั้นดูเหมือนคอขวดใหญ่ จะดีกว่าไหมถ้าให้รถบัส 2 หรือ 3 คันเข้าสู่ซีพียูโดยตรง ฉันนึกภาพรถบัสหนึ่งใบสำหรับ RAM หนึ่งอันสำหรับการ์ดกราฟิกและอีกอันหนึ่งสำหรับสะพานบางชนิดไปยังฮาร์ดไดรฟ์พอร์ต usb และทุกอย่างอื่น เหตุผลที่ฉันแยกมันด้วยวิธีนี้เป็นเพราะอัตราข้อมูลฮาร์ดไดรฟ์ช้าเมื่อเทียบกับหน่วยความจำ มีบางสิ่งที่ยากมากเกี่ยวกับการทำเช่นนี้? ฉันไม่เห็นว่าราคาจะเข้ามาอย่างไรเพราะไดอะแกรมที่มีอยู่มีรถเมล์ไม่น้อยกว่าเจ็ด ในความเป็นจริงโดยการใช้รถโดยสารโดยตรงเราสามารถลดจำนวนรถเมล์ทั้งหมดและอาจเป็นหนึ่งในสะพาน ดังนั้นมีอะไรผิดปกติกับเรื่องนี้? มีข้อเสียที่สำคัญที่ไหนสักแห่ง? สิ่งเดียวที่ฉันนึกได้คือความซับซ้อนใน CPU และเคอร์เนลมากขึ้นซึ่งทำให้ฉันคิดว่าสถาปัตยกรรมบัสคอขวดนี้เป็นวิธีที่ทำในสมัยก่อนเมื่อสิ่งต่าง ๆ มีความซับซ้อนน้อยกว่าและการออกแบบยังคงเหมือนเดิมสำหรับมาตรฐาน แก้ไข:ฉันลืมที่จะพูดถึงการจ้องจับผิดการตรวจสอบ ฉันรู้ว่าฉันเห็นมันในบางแผนภาพ สันนิษฐานว่าเป็นคอขวดบัสจะทำให้ง่ายขึ้นสำหรับสุนัขเฝ้าบ้านในการตรวจสอบทุกอย่าง มีสิ่งที่จะทำอย่างไรกับมัน?

7
ทรานซิสเตอร์เป็นชิ้นส่วนอิเล็กทรอนิกส์เพียงตัวเดียวในซีพียูหรือไม่?
ฉันได้อ่านเกี่ยวกับซีพียูเมื่อเร็ว ๆ นี้และรู้ว่าบล็อกตรรกะและหน่วยความจำทั้งหมดใน CPU สามารถทำจากทรานซิสเตอร์ได้ ดังนั้นมันจึงเป็นเพียงส่วนประกอบอิเล็กทรอนิกส์ในซีพียู? แก้ไข (ทำหลังจากสองคำตอบแรก): แต่การทำ CPU พูดถึงเฉพาะเกี่ยวกับการฉายไดอะแกรมทรานซิสเตอร์ (อาจเป็นส่วนสำคัญ) แต่ส่วนประกอบเพิ่มเติมเช่นไดโอดตัวเก็บประจุและอื่น ๆ จะถูกเพิ่มลงใน CPU อย่างไร

6
อะไรคือข้อดีของการใช้ FPGAs ผ่าน TTL ในสถาปัตยกรรมคอมพิวเตอร์บทนำ?
ฉันสอนหลักสูตรสถาปัตยกรรมคอมพิวเตอร์เพียงวิชาเดียวที่วิทยาลัยศิลปศาสตร์ หลักสูตรนี้เป็นวิชาบังคับสำหรับวิทยาการคอมพิวเตอร์รายใหญ่และรายย่อย เราไม่มีวิศวกรรมคอมพิวเตอร์วิศวกรรมไฟฟ้าหลักสูตรฮาร์ดแวร์อื่น ๆ ฯลฯ เป้าหมายหลักของฉันในหลักสูตรนี้คือเพื่อให้นักเรียนเข้าใจจนถึงระดับประตูการทำงานของคอมพิวเตอร์ซึ่งฉันเชื่อว่าพวกเขาเรียนรู้ได้ดีที่สุดผ่านห้องปฏิบัติการฮาร์ดแวร์และ ไม่เพียงแค่ผ่านตำราเรียน (การจัดระเบียบและการออกแบบคอมพิวเตอร์โดย Hennessy และ Patterson) เป้าหมายรองของฉันคือการทำให้พวกเขาตื่นเต้นเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์และเพิ่มความตื่นเต้นเกี่ยวกับวิทยาการคอมพิวเตอร์ การเตรียมความพร้อมสำหรับอุตสาหกรรมโดยตรงไม่ใช่เป้าหมายแม้ว่าจะเป็นการกระตุ้นให้พวกเขาศึกษาสถาปัตยกรรมคอมพิวเตอร์มากขึ้นก็ตาม โดยทั่วไปนักเรียนไม่ได้มีประสบการณ์ในการสร้างอะไรเลยหรือเรียนหลักสูตรห้องปฏิบัติการระดับวิทยาลัย โดยทั่วไปแล้วนักเรียน 10-15 คนจะเรียนหลักสูตรต่อภาคการศึกษา ฉันสอนวิชานี้มาตั้งแต่ปี 2541 ในลักษณะที่คล้ายกับวิธีที่ฉันสอนสถาปัตยกรรมคอมพิวเตอร์และอุปกรณ์อิเล็คทรอนิคส์ดิจิตอลในช่วงปลายทศวรรษ 1980 ที่ MIT: การใช้ชิป DIP TTL บนแผงวงจรขับเคลื่อน ในการมอบหมายห้องปฏิบัติการฮาร์ดแวร์ครั้งแรกนักเรียนจะสร้าง adder แบบเต็ม ประมาณครึ่งภาคการศึกษาพวกเขาเริ่มสร้างคอมพิวเตอร์อย่างง่ายพร้อมชุดคำสั่ง 8 บิต เพื่อลดการเดินสายไฟฉันได้จัดเตรียม PCB พร้อมอุปกรณ์อิเล็กทรอนิกส์บางอย่าง (flip-flop D สองตัว, LS 181 ALU 4 บิตสองตัวต่อสายเข้าด้วยกันเพื่อทำหน้าที่เป็น 8 บิต ALU และบัฟเฟอร์ tri-state) ในห้องแล็บแรกพวกเขาได้รับสัญญาณควบคุม …

2
CPU จะเปลี่ยนความถี่สัญญาณนาฬิกาแบบไดนามิกได้อย่างไร
Intel CPU ของฉันเปลี่ยนความเร็วสัญญาณนาฬิกาตามการใช้งาน แต่จะกำหนดความเร็วสัญญาณนาฬิกาได้อย่างไร ความเร็วสัญญาณนาฬิกาถูกกำหนดโดยซอฟต์แวร์ระบบปฏิบัติการโดยใช้อัลกอริธึมหรือเป็นฮาร์ดแวร์หรือไม่ มันขึ้นอยู่กับ # ของการขัดจังหวะหรือไม่ ผลประกอบการแคช? CPU ตั้งค่านาฬิกาของตัวเองหรือไม่? หรือคอนโทรลเลอร์แยกต่างหากตั้งค่าหรือไม่? หรือซอฟต์แวร์?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.