การเรียนหลักสูตรผู้เริ่มต้นบนอินเทอร์เฟซฮาร์ดแวร์ / ซอฟต์แวร์และระบบปฏิบัติการมักจะเกิดหัวข้อว่าจะเป็นการดีกว่าถ้าจะแทนที่ส่วนฮาร์ดแวร์บางส่วนด้วยซอฟต์แวร์และในทางกลับกัน ฉันไม่สามารถเชื่อมต่อได้
การเรียนหลักสูตรผู้เริ่มต้นบนอินเทอร์เฟซฮาร์ดแวร์ / ซอฟต์แวร์และระบบปฏิบัติการมักจะเกิดหัวข้อว่าจะเป็นการดีกว่าถ้าจะแทนที่ส่วนฮาร์ดแวร์บางส่วนด้วยซอฟต์แวร์และในทางกลับกัน ฉันไม่สามารถเชื่อมต่อได้
คำตอบ:
ฉันคิดว่าการเชื่อมต่อพื้นฐานที่คำตอบอื่น ๆ หายไปคือ:
ด้วยคอมพิวเตอร์ที่ใช้งานทั่วไป (เช่น CPU) เราสามารถตั้งโปรแกรมให้ทำการคำนวณที่เรากำหนดไว้ได้ อย่างไรก็ตามฮาร์ดแวร์พิเศษอาจทำงานได้ดีขึ้นหรืออาจไม่มีคุณค่าใด ๆ
(คำตอบนี้มุ่งเน้นไปที่การประมวลผลเดสก์ท็อปและใช้ตัวอย่างจากโดเมนนั้น)
หากคุณอายุมากพอที่จะจดจำเกมพีซีในช่วงกลางถึงปลายปี 1990 คุณอาจจำเกม FPS เช่นQuakeได้ มันเริ่มต้นจากการ "แสดงผลซอฟต์แวร์" หมายถึง CPU ดำเนินการคำนวณที่จำเป็นเพื่อแสดงภาพกราฟิก ในขณะเดียวกัน CPU ก็ต้องทำการประมวลผลอินพุต, การประมวลผลเสียง, การประมวลผล AI ฯลฯ มันต้องเสียภาษีมากในทรัพยากรของ CPU นอกจากนี้การประมวลผลกราฟิกไม่เหมาะกับซีพียูหลัก (อย่างนั้นหรือตอนนี้) มันมีแนวโน้มที่จะเป็นงานที่ขนานกันอย่างมากโดยต้องใช้คอร์จำนวนมากมากกว่าแม้แต่ซีพียูระดับสูงที่ทันสมัย (8)
เราย้ายการประมวลผลกราฟิกจากซอฟต์แวร์ไปยังฮาร์ดแวร์: ป้อน3dfx VoodooและNvidia TNT (ตอนนี้GeForce ) นี่เป็นการ์ดกราฟิกพิเศษที่ประมวลผลการประมวลผลจากซีพียูไปยัง GPU ไม่เพียง แต่กระจายงานให้ทรัพยากรการประมวลผลมากขึ้นเพื่อทำงานในปริมาณเดียวกันเท่านั้นการ์ดกราฟิกยังเป็นฮาร์ดแวร์เฉพาะที่สามารถแสดงกราฟิก 3 มิติได้เร็วขึ้นและมีคุณสมบัติมากกว่า CPU
ข้างหน้าอย่างรวดเร็วในยุคปัจจุบันและไม่มี CPU กราฟิกที่จำเป็นบนเดสก์ทอป แม้แต่ระบบปฏิบัติการก็ไม่สามารถทำงานได้หากไม่มี GPU มันสำคัญมากที่ซีพียูจะรวม GPU เข้าด้วยกันในตอนนี้ 1
ย้อนกลับไปเมื่อ DVD เป็นรุ่นใหม่คุณสามารถติดตั้งไดรฟ์ DVD ในคอมพิวเตอร์เดสก์ท็อปของคุณได้ อย่างไรก็ตามซีพียูของวันนั้นไม่มีพลังเพียงพอที่จะถอดรหัสวิดีโอดีวีดีและสตรีมเสียงโดยไม่พูดติดอ่าง ในตอนแรกจำเป็นต้องมีบอร์ด PCI พิเศษเพื่อทำการถอดรหัส นี่คือฮาร์ดแวร์พิเศษที่สร้างขึ้นโดยเฉพาะเพื่อถอดรหัสรูปแบบ DVD และไม่มีอะไรอื่น เช่นเดียวกับกราฟิก 3D ไม่เพียงให้ทรัพยากรการประมวลผลมากขึ้นเท่านั้น แต่ยังถูกสร้างขึ้นเองสำหรับงานทำให้การเล่น DVD เป็นไปอย่างราบรื่น
เมื่อซีพียูมีพลังมากขึ้นมันก็เป็นไปได้ที่จะถอดรหัสดีวีดี "ในซอฟต์แวร์" ความหมาย "ในคอมพิวเตอร์อเนกประสงค์ แม้ว่าจะใช้โปรเซสเซอร์ที่มีประสิทธิภาพน้อยกว่า แต่ก็มีความเร็วที่เพียงพอและการปรับแต่งขั้นสูงสุดเพื่อให้การเล่น DVD เป็นไปตามความคาดหวังของผู้ใช้
ตอนนี้เรามีซีพียูหลายร้อยหรือหลายพันเท่าที่ทรงพลัง2อย่างที่เรามีเมื่อมีการนำดีวีดีมาใช้ เมื่อบลูเรย์เข้ามาเราไม่ต้องการฮาร์ดแวร์พิเศษเพราะฮาร์ดแวร์เอนกประสงค์นั้นมีประสิทธิภาพมากกว่าที่จะรองรับงานได้
ซีพียูรุ่นใหม่ของ Intel มีคำแนะนำเฉพาะสำหรับการเข้ารหัสและถอดรหัสH.264 นี่เป็นส่วนหนึ่งของเทรนด์ที่ซีพียูที่ใช้งานทั่วไปกำลังได้รับฟังก์ชั่นพิเศษทั้งหมดในชิปตัวเดียวกัน เราไม่จำเป็นต้องใช้บอร์ด PCI Express แยกต่างหากในการถอดรหัส H.264 อย่างมีประสิทธิภาพเช่นเดียวกับดีวีดีก่อนเนื่องจาก CPU มีวงจรที่คล้ายกัน
1 GPU หมายถึงหน่วยประมวลผลที่ออกแบบมาเฉพาะเพื่อทำการคำนวณแบบกราฟิก กราฟิกการ์ด 2D ที่เก่ากว่าไม่ใช่ GPU: เป็นเพียง framebuffers ที่มี DACs เพื่อพูดคุยกับจอภาพ ความแตกต่างคือ GPU มีตัวประมวลผลพิเศษที่ยอดเยี่ยมในการคำนวณบางประเภทและเมื่อเวลาผ่านไปตอนนี้สามารถตั้งโปรแกรมได้ด้วยตนเอง (เฉดสี) ฮาร์ดแวร์กราฟิกมีวงจรเฉพาะที่จำเป็นในการแปลงข้อมูลใน framebuffer เป็นรูปแบบที่สามารถส่งออกผ่านสายเคเบิล (VGA, DVI, HDMI, DisplayPort) และทำความเข้าใจกับจอภาพ นั่นไม่เกี่ยวข้องกับการอภิปรายเรื่องการลดการคำนวณลงในฮาร์ดแวร์พิเศษ
2 DVD-Video เปิดตัวในปี 1997 ในขณะที่ Pentium 2 เพิ่งเปิดตัวด้วยเช่นกัน นี่เป็นช่วงเวลาที่ซีพียูกำลังเพิ่มขึ้นอย่างรวดเร็ว: ผู้ใช้สามารถพิจารณาคอมพิวเตอร์ P2 ใหม่ที่มีตัวถอดรหัส DVD หรือติดตั้งหนึ่งตัวใน P1 ที่เก่ากว่าเล็กน้อย เปรียบเทียบกับเจนเนอเรชั่น 6 Core i7 รุ่นใหม่โดยใช้รายการ MIPS ของ Wikipediaและซีพียูสมัยใหม่นั้นเร็วกว่าระหว่าง 590 ถึง 1,690 เท่า นี่เป็นส่วนหนึ่งของความเร็วสัญญาณนาฬิกา แต่ยังย้ายไปยังหลายคอร์ในฐานะที่เป็นมาตรฐานเช่นเดียวกับ CPU สมัยใหม่ที่ทำงานได้มากขึ้นต่อคอร์ต่อหนึ่งขีด ที่เกี่ยวข้องก็คือในฐานะที่เป็นเทคโนโลยีที่ก้าวหน้า Intel (ซึ่งครองตลาดบนเดสก์ท็อปและเซิร์ฟเวอร์ x86) ได้เพิ่มคำแนะนำพิเศษเพื่อช่วยให้การดำเนินงานเร็วขึ้นที่ผู้ใช้เดสก์ท็อปต้องการทำ (เช่นการถอดรหัสวิดีโอ)
ฉันประหลาดใจที่ไม่มีใครพูดถึง แต่เป็นหนึ่งในตัวอย่างที่เด่นชัดที่สุด: วิทยุที่กำหนดโดยซอฟต์แวร์
หากคุณใช้สมาร์ทโฟนยุคปัจจุบันย้อนเวลากลับไป 50 ปีและแสดงให้วิศวกรที่มีความสามารถในช่วงกลางทศวรรษ 1960 เขาจะสามารถเข้าใจได้มากที่สุด ซูเปอร์คอมพิวเตอร์สามารถลดบางสิ่งลงในกระเป๋าของคุณได้หรือไม่? ตรวจสอบ คุณสามารถเทียบเท่าโทรทัศน์สีคุณภาพสูงพิเศษในแพ็คเกจหรือไม่ ตรวจสอบ มันเร็วกว่ามากมีพื้นที่จัดเก็บมากขึ้นกว่าคอมพิวเตอร์ในยุคนี้หรือไม่? ตรวจสอบ ซอฟต์แวร์ดังกล่าวได้รับการเขียนซึ่งสามารถใช้ฟังก์ชันที่ซับซ้อนได้หรือไม่ ตรวจสอบ
แต่บอกว่าวิศวกรผู้มีอำนาจที่โอ้โดยวิธีการแพคเกจนี้ประกอบด้วยชุดของเครื่องส่งสัญญาณที่มีประสิทธิภาพมากและตัวรับสัญญาณที่มีความละเอียดอ่อน: ตัวรับส่งสัญญาณสเปกตรัมการแพร่กระจายแบบดิจิตอลที่สามารถส่งและรับในหลายช่องทางพร้อมกันสื่อสารกับหอคอยโครงสร้างพื้นฐาน ; ตัวรับส่งสัญญาณดิจิตอลอื่นที่สื่อสารข้อมูลความเร็วสูงกับสถานีฐานที่ใดที่หนึ่งในอาคาร อีกตัวรับส่งสัญญาณดิจิตอลที่สื่อสารกับอุปกรณ์ที่สวมใส่พลังงานต่ำ; และอีกเครื่องรับที่รับสัญญาณอ่อนจากดาวเทียมในวงโคจรระดับกลาง ... เขาจะเรียกคุณว่าคนโกหก
เขาจะเรียกคุณว่าคนโกหกเพราะเขารู้ว่าผู้รับความไวสูงดังกล่าวไม่สามารถสร้างขึ้นได้หากไม่มีวงจรปรับจำนวนมากซึ่งกรองสถานีที่อยู่ใกล้เคียงและเลือกสัญญาณที่น่าสนใจ และวงจรดังกล่าวต้องการชิ้นส่วนที่มีขนาดที่กำหนดโดยฟิสิกส์มากกว่าเทคโนโลยีเช่นตัวเก็บประจุและตัวเหนี่ยวนำ
จากนั้นคุณจะต้องอธิบายว่าในวิทยุสมัยใหม่ส่วนใหญ่ทำในซอฟต์แวร์ หลังจากที่สัญญาณที่เข้ามาจากเสาอากาศถูกแปลงเป็นความถี่กลางและขยายสัญญาณเล็กน้อยมันจะถูกสุ่มตัวอย่างโดยตัวแปลงสัญญาณอนาล็อกเป็นดิจิตอล และการประมวลผลที่ตามมาจะเกิดขึ้นในตัวประมวลผลสัญญาณดิจิตอล การปรับแต่งทั้งหมดนั้นการกรองนั้นซึ่งเคยต้องการฮาร์ดแวร์จำนวนมากในวิทยุระดับไฮเอนด์ของโรงเรียนสามารถอธิบายได้ในรูปของสมการทางคณิตศาสตร์ และหากสามารถทำได้สมการเหล่านั้นสามารถดำเนินการได้ในเวลาจริงโดย DSP
ฉันคิดว่านี่เป็นหนึ่งในตัวอย่างที่เด่นชัดที่สุดของซอฟต์แวร์ที่ใช้แทนฮาร์ดแวร์ ดังนั้นเราจึงพกสมาร์ทโฟนไว้ในกระเป๋าของเราซึ่งแม้แต่วิศวกรที่มีความสามารถในยุค 1960 ก็จะคล้ายกับเวทมนต์
เมื่อเปรียบเทียบกับความคิดที่ว่าตรรกะที่เรียบง่ายของเครื่องเปิดประตูโรงรถเครื่องชั่งน้ำหนักอิเล็กทรอนิกส์หรือรีโมททีวีในปัจจุบันได้ถูกนำมาใช้โดยใช้ไมโครคอนโทรลเลอร์และซอฟต์แวร์ทั่วไปแทนที่จะเป็นฮาร์ดแวร์ที่กำหนดเองเกือบจะเป็นเรื่องเล็กน้อย (และแน่นอนมาก เข้าใจได้ง่ายกว่าวิศวกรของเราในทศวรรษ 1960 มากกว่าวิทยุที่กำหนดโดยซอฟต์แวร์)
พิจารณาวงจรนี้:
มันเป็น Flip Flop หรือที่รู้จักในชื่อ Bistable Multivibrator มันสามารถถูกแทนที่ด้วยรหัสนี้:
static bool toggle;
if (toggle == true)
{
lblTop.BackColor = Color.Black;
lblBottom.back Color = Color.Red;
}
else
{
lblTop.BackColor = Color.Red;
lblBottom.BackColor = Color.Black;
}
toggle = !toggle;
มันหมายถึงสิ่งที่ดูเหมือน
ตัวอย่างที่มีชื่อเสียงโดยเฉพาะคือDisk II Drive ที่ออกแบบโดย Steve Wozniak สำหรับ Apple II:
นวัตกรรมหลักที่ทำให้ตัวควบคุมมีขนาดกะทัดรัดโดยใช้ซอฟต์แวร์ในขณะที่คู่แข่งพึ่งพาฮาร์ดแวร์ ในขณะที่ Bill Fernandez ช่างเทคนิคอิเล็กทรอนิกส์ของ Apple จำได้ว่า "ข้อได้เปรียบที่สำคัญของการออกแบบ [Wozniak] [คือ] ใช้เพียงหกชิปแทนที่จะใช้ 60 ถึง 70 ปกติ
อีกตัวอย่างหนึ่งที่คุณอาจคุ้นเคยกับ: Emulators พวกเขาแทนที่ทั้งชุดของฮาร์ดแวร์ (และซอฟต์แวร์) ทั้งหมดในซอฟต์แวร์ ซีพียูชิปควบคุมต่าง ๆ แม้แต่อุปกรณ์เก็บข้อมูล
ตอนนี้คุณไม่สามารถกำจัดฮาร์ดแวร์ทั้งหมดได้ในที่สุดคุณต้องมีบางอย่างในการเปิดใช้งานซอฟต์แวร์ แต่โดยทั่วไปงานลอจิกใด ๆ ที่คุณสามารถนำไปใช้ในฮาร์ดแวร์สามารถนำไปใช้ในซอฟต์แวร์ได้ (ประสิทธิภาพอาจไม่เหมือนกันมันอาจช้าลงเร็วขึ้นหรือในสถานการณ์ที่แตกต่างกันขึ้นอยู่กับฮาร์ดแวร์พื้นฐานและการใช้งาน)
อีกสาขาหนึ่งที่สิ่งนี้เป็นจริงคือนักสังเคราะห์
ซินธิไซเซอร์ในยุคแรกนั้นเป็นฮาร์ดแวร์อะนาล็อก 100%ที่สร้างรูปคลื่นในรูปโดยตรงจากนั้นทำการแก้ไขผ่านวงจร (ฟิลเตอร์, แอมป์, ฯลฯ ) เป็นไปได้ที่จะสังเคราะห์เสียงแบบดิจิทัล แต่ต้องการทรัพยากรการประมวลผลที่คนทั่วไปไม่สามารถจ่ายได้ (เป็นเมนเฟรมจริงและฮาร์ดแวร์ตัวแปลงดิจิตอลเป็นอะนาล็อกที่กำหนดเอง)
ในขณะที่การประดิษฐ์ชิปดีขึ้นซินธิไซเซอร์ก็เปลี่ยนจากอะนาล็อกบริสุทธิ์เป็นชิพสังเคราะห์ที่ควบคุมโดยสัญญาณดิจิตอล แต่ยังคงสร้างสัญญาณอะนาล็อกจากนั้นเป็นการสังเคราะห์ดิจิทัลบริสุทธิ์ (ตัวอย่างการเล่นการสังเคราะห์ FM การสังเคราะห์สารเติมแต่งจริงเป็นต้น)
วันนี้โปรเซสเซอร์มีราคาถูกพอและเร็วพอที่จะอนุญาตให้โปรแกรมเมอร์สร้างซินดิเคเตอร์อนาล็อกคลาสสิกรุ่นคอมพิวเตอร์ที่จำลองพฤติกรรมของวงจรดั้งเดิมโดยจำลองพฤติกรรมของพวกเขาในแบบเรียลไทม์ในความเป็นจริงโทรศัพท์และแท็บเล็ต เรียกใช้การสร้างใหม่เหล่านี้ Korg IMS-20เป็นตัวอย่าง
ทั้งซินธิไซเซอร์คลาสสิกและซินธิไซเซอร์ใหม่มีให้ใช้เป็นปลั๊กอิน VST หรือ AU สำหรับโปรแกรมเสียงดิจิตอลเช่น Ableton Live, Logic หรือ Cubase และสิ่งเหล่านี้ให้การเข้าถึงซินธิไซเซอร์กับคนที่ไม่มีพื้นที่หรือเงิน พวกเขา
แก้ไข: ฉันควร ณ จุดนี้ยังพูดถึงVCVRackซึ่งจำลองการสังเคราะห์โมดูลาร์อนาล็อกในเรียลไทม์ ค่อนข้างก้าวไปข้างหน้าจากเวลาเรนเดอร์หลายชั่วโมงสำหรับเพลงสองสามวินาที
>:*3
แต่หน้าจอชื่อที่มีสีสันสวยด้วยเลื่อนข้อความจะเป็นไปได้แน่นอน
ในสมัยก่อนการตัดค่อนข้างชัดเจน สิ่งที่ต้องดำเนินการอย่างรวดเร็วส่วนใหญ่จะต้องดำเนินการในฮาร์ดแวร์ ยกตัวอย่างเช่น multivibrator ซึ่งสร้างความถี่ ไม่นานมานี้คุณต้องการทรานซิสเตอร์สองตัวตัวเก็บประจุและผลึกในที่สุดเพื่อสร้างความถี่ (คงที่) ขณะนี้มีคอนโทรลเลอร์ไมโครราคาถูกที่เสียค่าใช้จ่ายเพียงไม่กี่เซ็นต์ เนื่องจากมันเร็วมากคุณจึงสามารถใช้มันได้อย่างง่ายดายเพื่อสร้างมัลติไวเบรเตอร์ และยิ่งไปกว่านั้นคุณสามารถควบคุมได้อย่างง่ายดายผ่านซอฟต์แวร์ว่าจะสร้างความถี่ที่ไหนในครั้งก่อนที่คุณต้องการประสานฮาร์ดแวร์ที่แตกต่างกัน แม้ว่าจะผ่านความถี่ (แต่ตอนนี้ค่อนข้างสูง) คุณยังคงต้องการฮาร์ดแวร์ที่บริสุทธิ์ ดังนั้นคุณจะเห็นว่ามีเส้นแบ่งระหว่างทั้งสองส่วน แต่ส่วนที่คุณสามารถแก้ไขได้ด้วยซอฟต์แวร์กำลังเพิ่มขึ้นเรื่อย ๆ
แก้ไขจริง ๆ แล้ว“ ซอฟต์แวร์สามารถเปลี่ยนฮาร์ดแวร์” ไม่ถูกต้องจริงๆ มันเป็นความจริงที่ว่าฮาร์ดแวร์มีความสามารถมากมายที่คุณสามารถใช้เพื่อรันซอฟต์แวร์ที่จำลองฮาร์ดแวร์ ดังนั้นแทนที่จะใช้ทรานซิสเตอร์ที่เรียบง่าย แต่มีการบัดกรีจำนวนเล็กน้อยคุณใช้ทรานซิสเตอร์นับล้านที่เข้าใจซอฟต์แวร์ ดังนั้นคำควรจะเป็น "ฮาร์ดแวร์สามารถเข้าใจซอฟต์แวร์" แทน
การเปรียบเทียบระหว่างเกมอาเขต Tank (ประมาณปี 1976) และเกมคอนโซลหน้าแรก Combat (1977) ให้ผลตอบแทนที่ดีตัวอย่างของวิธีการที่ซอฟต์แวร์สามารถเปลี่ยนฮาร์ดแวร์ได้แม้เมื่อ 40 ปีก่อน
รถถังเกมอาร์เคด (ประมาณปี 1976) อนุญาตให้ผู้เล่นสองคนขับรถถังและยิงกัน มันไม่ได้รวมตัวประมวลผลใด ๆ แต่มีตัวนับฮาร์ดแวร์เพื่อติดตามตำแหน่งแนวนอนและแนวตั้งของลำแสงอิเล็กตรอนรถถังและช็อตรวมถึงคะแนนของผู้เล่นมุมการหมุนเวลาที่ผ่านไป มันมีตรรกะแบบเดินสายเพื่อส่งออกข้อมูลบิตแมปที่เกี่ยวข้องกับคะแนนรูปร่างรถถังของผู้เล่นและพื้นหลัง
ระบบคอมพิวเตอร์วิดีโออาตาริ 2600 (เกมคอนโซลภายในบ้านประมาณปี 2520) รวมฮาร์ดแวร์เพื่อติดตามตำแหน่งแนวนอน (แต่ไม่ใช่แนวดิ่ง!) ของวัตถุบิตแมปสองบิตและเครื่องกำเนิดสัญญาณพัลส์แบบไวด์ ธ สี่ตัว รูปแบบกราฟิก playfield สำหรับการแก้ไขรวมถึงรูปแบบความละเอียดสูง 8 บิตสองรูปแบบสีสลักสำหรับผู้เล่นพื้นหลังและสนามเด็กเล่นและตรวจจับการชนกันของวัตถุต่าง ๆ นอกจากนี้ยังมีตัวจับเวลาที่ตั้งโปรแกรมได้ตามวัตถุประสงค์ทั่วไป แต่ฮาร์ดแวร์มีสิ่งอื่นนอกเหนือจากด้านบนเล็กน้อย อย่างไรก็ตามแม้ว่าฮาร์ดแวร์นั้นง่ายกว่าเกม Tank แต่ตลับคาร์ทริดจ์ 2K ROM ช่วยให้ 2600 เล่นเกมพื้นฐานเดียวกัน แต่มีคุณสมบัติอื่น ๆ อีกมากมาย (ความหลากหลายของยานพาหนะและพื้นหลังการตีช็อต ฯลฯ ) เนื่องจาก มันสามารถแทนที่เครื่องอาเขตส่วนใหญ่ ' ฮาร์ดแวร์พร้อมซอฟต์แวร์ ที่น่าสนใจถึงแม้ว่า Atari 2600 น่าจะเป็นแพลตฟอร์มฮาร์ดแวร์ที่ง่ายที่สุดเป็นอันดับสองของระบบวิดีโอเกมที่ใช้ไมโครโปรเซสเซอร์ที่ขายในเชิงพาณิชย์ แต่ก็ถูกออกแบบมาอย่างดีเพื่ออำนวยความสะดวกในการเปลี่ยนฮาร์ดแวร์ด้วยซอฟต์แวร์ซึ่งเมื่อโปรแกรมถูกต้อง คู่แข่ง
วลี "ซอฟต์แวร์สามารถแทนที่ฮาร์ดแวร์" เป็นคำเตือนว่าอย่าพยายามแก้ไขปัญหาฮาร์ดแวร์เว้นแต่จะมีข้อได้เปรียบที่ชัดเจน ซอฟต์แวร์มีราคาถูกกว่าถึง 10x-50x ในการพัฒนาและเกือบถูกกว่าในการผลิตต่อหน่วยกว่าฮาร์ดแวร์ การทำ X ในฮาร์ดแวร์จะไม่เป็นทางออกที่ชนะเว้นแต่ว่า X จะไม่สามารถทำได้อย่างมีประสิทธิภาพในซอฟต์แวร์
ความแตกต่างกันนิดหน่อยได้รับการแก้ไขอย่างดี แต่ฉันคิดว่ามันเป็นไปได้ที่บล็อกสะดุดสำหรับ OP คือว่ามันเป็นไปไม่ได้มากที่จะเปลี่ยนฮาร์ดแวร์ด้วยซอฟต์แวร์ 'ฮาร์ดแวร์' มักเกี่ยวข้องกับ 'ฮาร์ดแวร์' น้อยกว่าโซลูชัน 'ซอฟต์แวร์' อย่างมาก
ความแตกต่างคือตรรกะของกระบวนการ / อัลกอริทึม / การคำนวณสามารถย้ายระหว่างฮาร์ดแวร์และซอฟต์แวร์ มีหลายตัวอย่างที่ได้รับดังนั้นฉันจะไม่ทำอย่างละเอียด
ในคอมพิวเตอร์รุ่นแรกที่มีหน่วยความจำเสมือนคุณต้องทำการสลับงานกับ TLB ที่พลาดเพื่อโหลดรายการหน้าใหม่ ซอฟต์แวร์ OS ส่วนหนึ่งจะค้นหากระบวนการที่ถูกต้องและเดินผ่านตารางหน้าค้นหารายการที่ถูกต้องและเขียนกลับไปยัง TLB ก่อนที่จะเปลี่ยนกลับไปเป็นกระบวนการดั้งเดิมเพื่อดำเนินการต่อ
ตอนนี้ซีพียูส่วนใหญ่ใช้ฮาร์ดแวร์เพื่อทำกระบวนการอ่านหน้าโต๊ะเดินตารางหน้าและอัปเดต TLB
ทั้งสองวิธีจำเป็นต้องใช้ซอฟต์แวร์เพื่อจัดการข้อผิดพลาดของหน้า แต่เนื่องจาก TLB- คิดถึงข้อผิดพลาดมากกว่าจำนวนหน้าผิดพลาดอย่างมีนัยสำคัญการเดินของฮาร์ดแวร์ยังคงมีประสิทธิภาพสูงกว่าซอฟต์แวร์
ใน generel หากคุณมีขั้นตอนง่าย ๆ ที่คุณต้องจัดการซ้ำ ๆ คุณจะพบว่าการเปลี่ยนฮาร์ดแวร์ หากคุณมีโซลูชันฮาร์ดแวร์ที่ซับซ้อนพร้อมขั้นตอนการควบคุมที่ซับซ้อนคุณสามารถทำให้ฮาร์ดแวร์ง่ายขึ้นได้โดยใช้ซอฟต์แวร์
มีหลายครั้งที่ซอฟต์แวร์สามารถแทนที่ฮาร์ดแวร์และในทางกลับกัน
ตัวอย่างคลาสสิกของเรื่องนี้คือตารางการค้นหาทางคณิตศาสตร์ แทนที่จะคำนวณผลลัพธ์เป็นนิพจน์ทั่วไปในแต่ละครั้งพวกเขาจะถูกเก็บไว้ภายในในตัวประมวลผลทางคณิตศาสตร์ของคุณและอ้างถึงเมื่อจำเป็น
ส่วนใหญ่อาจคุ้นเคยกับตัวกรองเสียงและซอฟต์แวร์ที่สามารถเลียนแบบเครื่องมือและอุปกรณ์จริงเช่นเหยียบหรือแอมป์
ฮาร์ดแวร์ใด ๆ ที่สามารถสร้างขึ้นได้จริงจะถูกนำมาใช้ถ้ามันเร็วกว่าและ / หรือถูกกว่าทางกายภาพที่เทียบเท่า
ในทางบัญชีสามารถส่งสำเนาใบแจ้งหนี้ (ตัวอย่าง) ได้ทางอิเล็กทรอนิกส์และซอฟต์แวร์เริ่มจัดการกับการรับเอกสารประเภทนี้และกำลังดำเนินการมากขึ้นเรื่อย ๆ มันเป็นตัวอย่างที่ยอดเยี่ยมของฮาร์ดแวร์ที่ถูกแทนที่ด้วยซอฟต์แวร์