ฉันจะพูดวิชาการว่า 'คอมพิวเตอร์เครื่องหนึ่งช้ากว่าคอมพิวเตอร์เครื่องอื่น' ได้อย่างไร


19

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

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

ดังนั้นสิ่งที่จะเป็นวิธีที่ดีกว่าและถูกต้องทางวิชาการของการพูดแบบนี้?


1
ฉันคิดว่าคุณกำลังมองหา "ความเร็วสัญญาณนาฬิกา" จากนั้นคุณสามารถเปรียบเทียบหมายเลข ของวงจรนาฬิกาคำแนะนำที่คล้ายกัน [เช่นเพิ่ม] ใช้ทั้งโปรเซสเซอร์และดังนั้นการเปรียบเทียบเวลาทั้งหมดที่แต่ละโปรเซสเซอร์ใช้ในการดำเนินการคำสั่ง
กรุณาช่วย

4
นักวิชาการส่วนใหญ่ที่ฉันรู้จะพูดว่าฉันไม่รู้ "A ช้ากว่า B"
กราฟิลส์

15
คุณไม่จำเป็นต้องใช้ภาษาแฟนซีในงานวิจัย คุณต้องพูดในสิ่งที่คุณหมายและพูดอย่างแม่นยำ
David Richerby

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

1
มันเป็นไมโครคอนโทรลเลอร์หรือไม่มันเป็นไมโครโปรเซสเซอร์หรือไม่? หากคุณไม่สามารถตัดสินใจได้ว่าฉันจะกังวลแค่อ่านว่า "ช้าลง"
gnasher729

คำตอบ:


39

ให้ฉันดูว่าฉันสามารถเข้าใจความเข้าใจผิดที่อาจเกิดขึ้นได้ไหม

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

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

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

คุณหมายถึงอะไรโดย 'ช้า' ช้าลงในทางใด? และคุณรู้ได้อย่างไร คุณมีหลักฐานอะไรบ้าง คุณสามารถหาปริมาณมันได้หรือไม่ คุณจะวัด 'ความช้า' ในเชิงปริมาณและวิธีการป้องกันได้อย่างไร

เมื่อคุณสามารถตอบคำถามเหล่านั้นแล้วคุณสามารถหาวิธีเขียนสิ่งที่น่าเชื่อถือมากขึ้นในกระดาษของคุณ ตัวอย่างเช่น "ตัวประมวลผล X ช้ากว่าเกณฑ์มาตรฐาน SpecCPU 20% เมื่อเทียบกับตัวประมวลผล Y" มีความแม่นยำมากกว่า "ตัวประมวลผล X ช้ากว่าตัวประมวลผล Y" และสำรองการอ้างสิทธิ์พร้อมหลักฐาน

แต่ก่อนอื่นคุณต้องเข้าใจอย่างถ่องแท้ว่าคุณหมายถึงอะไรโดย 'ช้าลง' และทำไมมันถึงสำคัญต่อการโต้แย้งของคุณและจากนั้นคุณสามารถหาวิธีที่แม่นยำยิ่งขึ้นในสิ่งที่คุณเขียนและหลักฐานอะไรที่คุณสามารถจัดเตรียม .

คุณไม่จำเป็นต้องเขียนด้วยความใส่ใจและความแม่นยำระดับนี้เสมอไป บางครั้งเมื่อคุณเพียงแค่ให้สัญชาตญาณหรือพื้นหลังเฉพาะที่ไม่สำคัญมากและจากนั้นคุณสามารถพูดได้ว่า X ช้ากว่า Y แต่ถ้าคำนั้นมีบทบาทสำคัญในกระดาษของคุณ - บางทีมันอาจจะเป็น ส่วนสำคัญของแรงจูงใจสำหรับบทความของคุณหรือเป็นส่วนสำคัญของเหตุผลที่สนับสนุนการออกแบบระบบของคุณ - จากนั้นคุณควรพยายามให้แม่นยำที่สุดเท่าที่จะทำได้และแสดงหลักฐานสำหรับคำสั่งนั้น


1
ฉันเห็นด้วย; ปริมาณ ดังที่เห็นในเกณฑ์มาตรฐานของวิดีโอเกมหลายตัว X CPU อาจเร็วกว่า Y CPU ในการทดสอบบางอย่าง ถ้าคุณพูดว่า "X ช้ากว่า Y เมื่อทำ A" นั่นควรจะมีวัตถุประสงค์และตรวจสอบได้อย่างเพียงพอ
Doktor J

@DoktorJ หาก CPU เท่านั้นเป็นองค์ประกอบเดียวที่กำหนดความเร็วในการดำเนินการ หนึ่งจะต้องระมัดระวังเพื่อให้ส่วนประกอบอื่น ๆ คงที่และเลือกพวกเขาในทางที่ไม่ได้ (dis) ได้เปรียบหนึ่งในคู่แข่ง
Raphael

@Raphael ความคิดเห็นที่ควรค่าแก่การอ่านคือสิ่งที่ใช้ระบบที่เหมือนกัน :) มันอาจจะยากกว่าที่จะทำระหว่างซีพียู AMD / Intel เพราะเมนบอร์ด / ชิปเซ็ตไม่จำเป็นต้องรองรับทั้งคู่ดังนั้นคุณจึงจบลงด้วย .. แต่เพียงแค่ใช้ตัวอย่างของฉันกับการ์ดวิดีโอแทนแล้ว!
Doktor J

ฉันลงทะเบียนเพื่อโหวตสิ่งนี้ พูดในสิ่งที่คุณหมายถึงในภาษาที่ชัดเจน
frodoskywalker

2

อ้างว่าไมโครโปรเซสเซอร์มี "ความเร็ว" เป็นเรื่องยากมากในปัจจุบัน

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

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

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


0

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

การเปรียบเทียบโปรเซสเซอร์เป็นเกมการตลาดที่รู้จักกันดี คุณไม่มีการสั่งซื้อที่ชัดเจน แต่อย่างใดเว้นแต่ว่าคุณมีการเปรียบเทียบแบบกว้างที่บอกสิ่งเดียวกันในการเปรียบเทียบหลาย ๆ อย่าง


กระดาษที่ฉันเขียนเน้นไปที่สิ่งอื่นที่ไม่ใช่แค่ไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์ดังนั้นฉันจึงต้องการหลีกเลี่ยงการขว้างหมายเลขที่ไม่เกี่ยวข้องกับกระดาษทั้งหมด ฉันอยากจะบอกว่าไมโครคอนโทรลเลอร์เป็น 'ช้าลง' และไปยังประเด็นหลัก
Maksimiliāns

1
คุณสามารถอ้างอิงหมายเลขมาตรฐานที่เผยแพร่แล้วและเดินหน้าต่อไป การสังเกตว่าการทดสอบเหล่านี้ดำเนินการโดยผู้ขายหรือไม่ (โปรดทราบว่านักวิเคราะห์อิสระมัก "ดำเนินการแบบหยอดเหรียญ" ในระดับหนึ่งดังนั้นตัวเลขอาจไม่ได้มีความหมายมากนัก)
Rob

0

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

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

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


1
ในทางปฏิบัติมันไม่น่าเป็นไปได้ที่คุณจะสามารถ "โต้แย้ง" (ในแง่ของการพิสูจน์ทางคณิตศาสตร์) ว่าการดำเนินการใด ๆ ที่กระทำโดยตัวประมวลผล X ใช้เวลาอย่างน้อยตราบใดที่การดำเนินการแบบเดียวกันนั้นทำบนโปรเซสเซอร์ Y ประสิทธิภาพของโปรเซสเซอร์สมัยใหม่ มีความซับซ้อน - ด้วยผลกระทบของการแคชการคาดคะเนสาขาและอื่น ๆ - ซึ่งเป็นสิ่งที่สิ้นหวัง ดังนั้นข้อเสนอแนะของคุณจะไม่เป็นประโยชน์อย่างที่เห็นในครั้งแรก โดยปกติแล้วเป็นไปได้ยากที่จะทำการเปรียบเทียบประเภทนี้ผ่านการทดสอบ (เช่นมีมาตรฐาน) แทนที่จะใช้หลักฐานทางคณิตศาสตร์ / การวิเคราะห์
DW

@DW เห็นด้วยอย่างสมบูรณ์
usul

0

คุณสามารถตรงไปตรงมากับมัน คุณกำลังทำสิ่งนี้ช้าคำที่ถูกต้องสำหรับมัน อย่างไรก็ตามบริบทที่เป็นทางการมากขึ้นจะดี

ตัวอย่างเช่น:

หลักฐาน X สนับสนุนว่ากระบวนการ Y ที่ความเร็วช้ากว่าเมื่อเทียบกับ Z


และแม้แต่ "ที่ความเร็วช้าลง" ก็ไม่จำเป็นเนื่องจากช้าอ้างถึงความเร็วตามคำจำกัดความ
David Richerby

-4

"less performant" เป็นวิธีที่ดีในการพูดแบบนี้หากตัวเลขประสิทธิภาพที่แน่นอนไม่ส่งผลต่อผลลัพธ์ของคุณ ตัวอย่างเช่นคุณอาจเขียนสิ่งที่ชอบ:

Table X แสดงให้เห็นว่าการติดตั้งใช้งานแบบเรียลไทม์บนโปรเซสเซอร์ Xeon ที่ใช้สำหรับการเปรียบเทียบ หากต้องใช้โปรเซสเซอร์ที่มีประสิทธิภาพน้อยกว่าเช่นไมโครคอนโทรลเลอร์ ARM Cortex M ซึ่งเป็นที่นิยมในระบบฝังตัวที่ใช้พลังงานแบตเตอรี่ดังนั้นจึงควรตรวจสอบการปรับให้เหมาะสมเพิ่มเติม

คำว่า "นักแสดงน้อย" จะรวบรวมปัจจัยทั้งหมดที่มีผลต่อคุณอย่างประณีต: ความเร็วสัญญาณนาฬิกา, ประสิทธิภาพเชิงสถาปัตยกรรม, ขนาดแคช, เวลาแฝงหน่วยความจำ ฯลฯ


2
"นักแสดง" ไม่ได้รับการยอมรับอย่างกว้างขวางว่าเป็นคำในภาษาอังกฤษดังนั้นฉันจึงไม่เห็นด้วยอย่างยิ่งว่ามันเป็น "วิธีที่ยอดเยี่ยมในการพูดแบบนี้" เกิดอะไรขึ้นกับการใช้วลีภาษาอังกฤษสามัญ "ประสิทธิภาพต่ำ"
David Richerby

1
@ David เพราะ "นักแสดง" เป็นคำที่เหมาะสมสำหรับการพูดคุยเกี่ยวกับความเร็ว ในทางกลับกัน "ประสิทธิภาพ" ไม่เพียง แต่รวมถึงความเร็ว แต่ยังรวมถึงคุณภาพของผลลัพธ์ความถูกต้องความทนทานเป็นต้น
Ben Voigt

1
ฉันไม่สามารถหาคำจำกัดความของ "นักแสดง" ได้ทุกที่ ด้วยเหตุนี้ฉันสามารถสันนิษฐานได้ว่าหมายถึง "มีประสิทธิภาพ" เท่านั้น ยกเว้นคุณกำลังบอกว่ามันไม่ได้หมายความว่าอย่างใด
David Richerby

en.wiktionary.org/wiki/performantบอกว่ามันเป็น 'ศัพท์แสง' - เหมือนว่าเป็นสิ่งที่ไม่ดี!
Rob Cranfill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.