Nghiên cứu khóa học cho người mới bắt đầu về giao diện phần cứng / phần mềm và hệ điều hành, thường đưa ra chủ đề nếu thay thế một số bộ phận phần cứng bằng phần mềm và ngược lại. Tôi không thể tạo kết nối.
Nghiên cứu khóa học cho người mới bắt đầu về giao diện phần cứng / phần mềm và hệ điều hành, thường đưa ra chủ đề nếu thay thế một số bộ phận phần cứng bằng phần mềm và ngược lại. Tôi không thể tạo kết nối.
Câu trả lời:
Tôi nghĩ rằng kết nối cơ bản mà các câu trả lời khác bị thiếu là đây:
Với một máy tính đa năng (ví dụ CPU), người ta có thể lập trình cho nó thực hiện khá nhiều tính toán mà chúng ta đã xác định. Tuy nhiên, phần cứng chuyên dụng có thể hoạt động tốt hơn hoặc có thể không cung cấp bất kỳ giá trị nào.
(câu trả lời này tập trung vào xử lý máy tính để bàn và sử dụng các ví dụ từ tên miền đó)
Nếu bạn đủ tuổi để nhớ chơi game trên PC vào giữa những năm 1990, bạn có thể nhớ các game FPS như Quake . Nó bắt đầu là "phần mềm được kết xuất", nghĩa là CPU đã thực hiện các tính toán cần thiết để kết xuất đồ họa. Trong khi đó, CPU cũng phải thực hiện xử lý đầu vào, xử lý âm thanh, xử lý AI, v.v ... Nó đánh thuế rất cao vào tài nguyên CPU. Ngoài ra, xử lý đồ họa không phù hợp với CPU chính (lúc đó hoặc bây giờ). Nó có xu hướng là một nhiệm vụ song song rất cao, đòi hỏi nhiều lõi hơn cả CPU cao cấp hiện đại (8).
Chúng tôi đã chuyển xử lý đồ họa từ phần mềm sang phần cứng: nhập 3dfx Voodoo và Nvidia TNT (nay là GeForce ). Đây là những card đồ họa chuyên dụng giảm tải xử lý từ CPU sang GPU. Điều này không chỉ làm tăng khối lượng công việc, cung cấp nhiều tài nguyên điện toán hơn để thực hiện cùng một lượng công việc, các card đồ họa là phần cứng chuyên dụng có thể khiến đồ họa 3D nhanh hơn nhiều và có nhiều tính năng hơn CPU.
Chuyển nhanh đến thời kỳ hiện đại và đồ họa không phải CPU được yêu cầu trên máy tính để bàn. Ngay cả hệ điều hành cũng không thể hoạt động nếu không có GPU. Điều quan trọng là CPU thực sự tích hợp GPU ngay bây giờ. 1
Quay lại khi DVD hoàn toàn mới, bạn có thể cài đặt ổ đĩa DVD trong máy tính để bàn của mình. Tuy nhiên, các CPU trong ngày không đủ mạnh để giải mã các luồng video và video DVD mà không bị vấp. Lúc đầu, cần có một bảng PCI chuyên dụng để thực hiện giải mã. Đây là phần cứng chuyên dụng được chế tạo riêng để giải mã định dạng DVD và không có gì khác. Giống như với đồ họa 3D, nó không chỉ cung cấp nhiều tài nguyên điện toán hơn mà còn được tùy chỉnh cho nhiệm vụ, giúp phát lại DVD mượt mà.
Khi CPU phát triển mạnh hơn nhiều, việc giải mã DVD "trong phần mềm" trở nên khả thi, có nghĩa là "trên một máy tính đa năng". Ngay cả với bộ xử lý kém hiệu quả hơn, nó vẫn có đủ tốc độ thô và tối ưu hóa đường ống để giúp phát lại DVD hoạt động theo mong đợi của người dùng.
Bây giờ chúng ta có CPU hàng trăm hoặc thậm chí hàng ngàn lần mạnh hơn 2 như chúng tôi đã có khi DVD đã được giới thiệu. Khi Blu-ray xuất hiện, chúng tôi không bao giờ cần phần cứng chuyên dụng, vì phần cứng đa năng không đủ mạnh để xử lý công việc.
Các CPU Intel hiện đại có các hướng dẫn chuyên biệt để mã hóa và giải mã H.264 . Đây là một phần của xu hướng mà các CPU có mục đích chung đang đạt được các chức năng chuyên biệt, tất cả trong cùng một chip. Chúng tôi không cần một bảng PCI Express riêng để giải mã H.264 hiệu quả như với DVD từ rất sớm, vì CPU có chứa mạch tương tự.
1 GPU dùng để chỉ bộ xử lý được thiết kế đặc biệt để thực hiện các tính toán đồ họa. Các card đồ họa 2D cũ hơn không phải là GPU: chúng chỉ đơn giản là bộ đệm khung với các bộ xử lý tín hiệu để nói chuyện với màn hình. Sự khác biệt là GPU chứa bộ xử lý chuyên dụng vượt trội ở một số loại tính toán nhất định và theo thời gian, giờ đây chúng thực sự có thể tự lập trình (shader). Phần cứng đồ họa luôn chứa các mạch chuyên dụng cần thiết để chuyển đổi dữ liệu trong bộ đệm khung thành định dạng có thể xuất qua cáp (VGA, DVI, HDMI, DisplayPort) và được hiểu bởi màn hình. Điều đó không liên quan đến các cuộc thảo luận về việc giảm tải các tính toán cho phần cứng chuyên dụng.
2 DVD-Video được phát hành vào năm 1997, tại thời điểm Pentium 2 cũng mới được phát hành. Đây là thời điểm CPU tăng sức mạnh nhanh chóng: người ta có thể xem xét một máy tính P2 mới với bộ giải mã DVD hoặc cài đặt một chiếc trong một chiếc P1 cũ hơn một chút. So sánh với thế hệ 6 Core i7 hiện đại sử dụng danh sách MIPS của Wikipedia và CPU hiện đại có tốc độ nhanh hơn từ 590 đến 1.690 lần. Điều này một phần nhờ vào tốc độ xung nhịp, nhưng cũng chuyển sang nhiều lõi là tiêu chuẩn cũng như CPU hiện đại làm nhiều công việc hơn trên mỗi lõi trên mỗi xung nhịp. Cũng có liên quan là khi công nghệ tiến bộ, Intel (người thống trị thị trường máy tính để bàn và máy chủ x86) bổ sung các hướng dẫn chuyên biệt để giúp tăng tốc các hoạt động mà người dùng máy tính để bàn muốn thực hiện (ví dụ như giải mã video).
Tôi ngạc nhiên không ai đề cập đến một trong những ví dụ rõ ràng nhất: đài phát thanh được xác định bằng phần mềm.
Nếu bạn lấy một chiếc điện thoại thông minh ngày nay trở lại thời gian khoảng 50 năm và đưa nó cho một kỹ sư có thẩm quyền từ giữa những năm 1960, anh ta sẽ có thể hiểu được hầu hết về nó. Đó là một siêu máy tính có thể được giảm xuống một cái gì đó phù hợp với túi của bạn? Kiểm tra. Rằng bạn có thể có một chiếc tivi màu chất lượng cực cao trong gói? Kiểm tra. Đó là nó nhanh hơn nhiều, có nhiều lưu trữ hơn, vv, so với máy tính của thời đại? Kiểm tra. Phần mềm đó đã được viết có thể thực hiện các chức năng phức tạp như vậy? Kiểm tra.
Nhưng nói rằng kỹ sư có thẩm quyền rằng oh, bằng cách này, gói này chứa một tập hợp các máy phát vô cùng hiệu quả và thu nhạy cảm: một máy thu phát trải phổ kỹ thuật số mà có thể đồng thời truyền và nhận trên nhiều kênh khác nhau, giao tiếp với một tháp cơ sở hạ tầng mà bạn có thể dặm ; một bộ thu phát kỹ thuật số khác truyền dữ liệu tốc độ cao với một trạm cơ sở ở đâu đó trong tòa nhà; một bộ thu phát kỹ thuật số khác giao tiếp với các thiết bị đeo được công suất thấp; và một máy thu khác nhận tín hiệu yếu từ vệ tinh trên quỹ đạo trung gian ... anh ta sẽ gọi bạn là kẻ nói dối.
Anh ta sẽ gọi bạn là kẻ nói dối bởi vì anh ta biết rằng các máy thu có độ nhạy cao như vậy không thể được xây dựng mà không có vô số mạch điều chỉnh, lọc ra các trạm lân cận và chọn tín hiệu quan tâm. Và các mạch như vậy đòi hỏi các bộ phận có kích thước được xác định nhiều hơn bởi vật lý hơn là công nghệ, chẳng hạn như tụ điện và cuộn cảm.
Sau đó, bạn sẽ phải giải thích rằng trong một đài phát thanh hiện đại, hầu hết điều đó được thực hiện trong phần mềm. Rằng sau khi tín hiệu đến từ anten được chuyển đổi thành tần số trung gian và được khuếch đại một chút, sau đó nó được lấy mẫu bằng bộ chuyển đổi tương tự sang số; và xử lý tiếp theo diễn ra trong một bộ xử lý tín hiệu số. Tất cả các điều chỉnh, lọc đó, được sử dụng để yêu cầu hàng tấn phần cứng trong một đài phát thanh cao cấp cũ có thể được mô tả dưới dạng các phương trình toán học; và nếu điều đó có thể được thực hiện, các phương trình đó có thể được DSP thực thi trong thời gian thực.
Điều này, tôi nghĩ, là một trong những ví dụ rõ ràng nhất về phần mềm thay thế phần cứng. Kết quả là, chúng ta mang theo điện thoại thông minh trong túi, thậm chí với một kỹ sư có năng lực của thập niên 1960, sẽ giống như một trò ảo thuật.
So với điều này, ý tưởng cho rằng logic đơn giản của dụng cụ mở cửa nhà để xe, cân phòng tắm điện tử hoặc điều khiển TV hiện nay được triển khai bằng vi điều khiển và phần mềm đa năng thay vì phần cứng tùy chỉnh gần như không đáng kể (và chắc chắn nó sẽ rất nhiều dễ hiểu hơn đối với kỹ sư giả định thập niên 1960 của chúng tôi so với radio được xác định bằng phần mềm.)
Hãy xem xét mạch này:
Nó là Flip Flop, hay còn gọi là Multivibrator. Nó có thể được thay thế bằng mã này:
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;
Nó có nghĩa chính xác những gì nó nghe như.
Một ví dụ đặc biệt nổi tiếng là Ổ đĩa II được thiết kế bởi Steve Wozniak cho Apple II:
Sự đổi mới chính là làm cho bộ điều khiển nhỏ gọn bằng cách sử dụng phần mềm trong khi các đối thủ cạnh tranh dựa vào phần cứng. Như Bill Fernandez, khi đó là một kỹ thuật viên điện tử tại Apple, nhớ lại, "lợi thế chính của thiết kế [Wozniak] là nó chỉ sử dụng sáu chip thay vì 60 đến 70 thông thường
Một ví dụ khác có lẽ bạn quen thuộc hơn: Trình giả lập. Họ thay thế toàn bộ bộ phần cứng (và phần mềm) hoàn toàn bằng phần mềm. CPU, chip điều khiển khác nhau, thậm chí cả thiết bị lưu trữ.
Bây giờ bạn không thể loại bỏ tất cả phần cứng, cuối cùng bạn cần một cái gì đó để chạy phần mềm. Nhưng nói chung, bất kỳ tác vụ logic nào bạn có thể thực hiện trong phần cứng cũng có thể được thực hiện trong phần mềm (hiệu suất có thể không giống nhau, có thể chậm hơn, nhanh hơn hoặc trong các tình huống khác nhau, tùy thuộc vào phần cứng cơ bản và việc triển khai).
Một lĩnh vực khác trong đó điều này là đúng là tổng hợp.
Bộ tổng hợp ban đầu là phần cứng tương tự 100% tạo ra dạng sóng trực tiếp sau đó sửa đổi chúng thông qua mạch (bộ lọc, bộ khuếch đại, v.v.). Có thể tổng hợp kỹ thuật số âm thanh, nhưng nó đòi hỏi tài nguyên điện toán mà người bình thường không thể mua được (một máy tính lớn thực tế và phần cứng chuyển đổi kỹ thuật số sang tương tự tùy chỉnh).
Khi chế tạo chip được cải thiện, các bộ tổng hợp đã chuyển từ các chip tổng hợp thuần túy sang các chip tổng hợp được điều khiển bởi các tín hiệu số nhưng vẫn tạo ra các tín hiệu tương tự, sau đó chuyển sang tổng hợp kỹ thuật số thuần túy (phát lại mẫu, tổng hợp FM , tổng hợp phụ gia thực sự, v.v.).
Ngày nay, các bộ xử lý đủ rẻ và đủ nhanh để cho phép các lập trình viên tạo ra các phiên bản máy tính của bộ tổng hợp tương tự cổ điển nhân đôi chính xác hành vi của các mạch gốc bằng cách mô phỏng hành vi của họ trong thời gian thực - thực tế, điện thoại và máy tính bảng hiện có khả năng chạy đủ nhanh để chạy những sáng tạo lại; các Korg IMS-20 là một ví dụ.
Cả trình tổng hợp cổ điển và trình tổng hợp mới đều có sẵn dưới dạng plugin VST hoặc AU cho các chương trình âm thanh kỹ thuật số như Ableton Live, Logic hoặc Cubase và chúng cung cấp quyền truy cập vào trình tổng hợp cho những người không có không gian hoặc tiền để sử dụng họ
Chỉnh sửa: Tại thời điểm này tôi cũng nên đề cập đến VCVRack , mô phỏng tổng hợp mô-đun tương tự trong thời gian thực. Khá một bước tiến từ thời gian kết xuất nhiều giờ trong vài giây âm nhạc.
>:*3
.
Trong thời gian trước, vết cắt khá rõ ràng. Hầu hết những thứ cần thực hiện nhanh chóng phải được thực hiện trong phần cứng. Lấy ví dụ một bộ đa năng tạo ra tần số. Cách đây không lâu, bạn cần một vài bóng bán dẫn, tụ điện và cuối cùng là thạch anh để tạo ra tần số (cố định). Bây giờ có những bộ vi điều khiển giá rẻ chỉ có giá vài xu hoặc hơn. Vì chúng rất nhanh, bạn có thể sử dụng chúng một cách dễ dàng để tạo ra một bộ đa năng. Và hơn nữa, bạn có thể dễ dàng kiểm soát thông qua phần mềm tần số để tạo ra ở đâu trong thời gian trước bạn cần để hàn phần cứng khác nhau. Mặc dù, đi qua một tần số nhất định (nhưng bây giờ khá cao) bạn vẫn cần phần cứng thuần túy. Vì vậy, bạn thấy, có một ranh giới giữa cả hai, nhưng phần bạn có thể giải quyết bằng phần mềm đang phát triển (theo cấp số nhân).
Chỉnh sửa trên thực tế Phần mềm có thể thay thế phần cứng Hệ thống không thực sự chính xác. Thực tế là phần cứng trở nên hùng mạnh đến mức bạn có thể sử dụng nó để chạy phần mềm mô phỏng phần cứng. Vì vậy, thay vì một vài bóng bán dẫn đơn giản nhưng được hàn tĩnh, bạn sử dụng hàng triệu bóng bán dẫn hiểu phần mềm. Vì vậy, thuật ngữ nên là "Phần cứng bây giờ có thể hiểu phần mềm".
Một so sánh giữa game arcade Tank (khoảng năm 1976) và game console gia đình Combat (1977) đưa ra một ví dụ hay về cách phần mềm có thể thay thế phần cứng thậm chí 40 năm trước.
Trò chơi arcade Tank (khoảng năm 1976) cho phép hai người chơi lái xe quanh xe tăng và bắn nhau. Nó không bao gồm bất kỳ loại bộ xử lý nào, mà thay vào đó có các bộ đếm phần cứng để theo dõi vị trí ngang và dọc của chùm electron, xe tăng và ảnh, cũng như điểm số của người chơi, góc quay, thời gian trôi qua. Nó có logic cứng để xuất dữ liệu bitmap liên quan đến điểm số, hình dạng xe tăng của người chơi và nền.
Hệ thống máy tính video Atari 2600 (bảng điều khiển trò chơi gia đình vào khoảng năm 1977) bao gồm phần cứng để theo dõi vị trí ngang (nhưng không thẳng đứng!) Của hai đối tượng bitmap và bốn bộ tạo xung có độ rộng thay đổi, giữ và đồng hồ ở mức thấp 20 bit mô hình đồ họa sân chơi giải quyết cũng như hai mẫu 8 bit độ phân giải cao, màu sắc chốt cho người chơi, nền và sân chơi và phát hiện va chạm giữa các đối tượng khác nhau. Nó cũng bao gồm một bộ đếm thời gian lập trình cho mục đích chung, nhưng phần cứng không có gì khác ngoài phần trên. Tuy nhiên, mặc dù phần cứng đơn giản hơn nhiều so với trò chơi Tank, Combat 2K ROM cho phép 2600 chơi cùng một trò chơi cơ bản nhưng với nhiều tính năng khác (nhiều loại phương tiện và hình nền, bắn nảy, v.v.) nó có thể thay thế hầu hết các máy arcade ' Phần cứng với phần mềm. Thật thú vị, mặc dù Atari 2600 có lẽ là nền tảng phần cứng đơn giản thứ hai của bất kỳ hệ thống trò chơi video gia đình dựa trên bộ vi xử lý nào được bán thương mại, nó được thiết kế rất tốt để tạo điều kiện thay thế phần cứng bằng phần mềm mà khi được lập trình chính xác, nó có thể chạy vòng tròn quanh nhiều đối thủ của nó.
Cụm từ "phần mềm có thể thay thế phần cứng" là một cảnh báo không thử và giải quyết các vấn đề với phần cứng trừ khi có những lợi thế rất rõ ràng. Phần mềm rẻ hơn gấp 10 - 50 lần để phát triển và sản xuất trên mỗi đơn vị gần như rẻ hơn so với phần cứng. Làm X trong phần cứng sẽ không phải là giải pháp chiến thắng trừ khi X thực sự không thể thực hiện hiệu quả trong phần mềm.
Sắc thái đã được khắc phục tốt, nhưng tôi nghĩ có thể đó là trở ngại cho OP, đó là điều không thể thay thế phần cứng bằng phần mềm. "Phần cứng" luôn luôn liên quan đến "phần cứng" ít hơn đáng kể so với giải pháp "phần mềm".
Sự khác biệt là logic của một quá trình / thuật toán / tính toán có thể được di chuyển giữa phần cứng và phần mềm. Nhiều ví dụ đã được đưa ra, vì vậy tôi sẽ không giải thích.
Trong các máy tính ban đầu có bộ nhớ ảo, bạn phải thực hiện chuyển đổi tác vụ khi lỡ TLB để tải mục nhập trang mới. Một phần mềm của hệ điều hành sẽ tìm đúng quy trình và đi qua các bảng trang, tìm mục chính xác và viết lại cho TLB. Trước khi chuyển về quy trình ban đầu để tiếp tục.
Bây giờ hầu hết CPU sử dụng phần cứng để thực hiện quy trình, đọc bảng trang, đi bộ bảng trang và cập nhật TLB.
Cả hai phương pháp đều cần sử dụng phần mềm để xử lý lỗi trang, nhưng vì TLB bỏ lỡ nhiều hơn số lần lỗi trang, phần cứng vẫn vượt trội so với phần mềm.
Nói chung, nếu bạn có một quy trình đơn giản mà bạn cần xử lý nhiều lần, bạn sẽ tìm thấy một sự thay thế phần cứng. Nếu bạn có một giải pháp phần cứng phức tạp với luồng điều khiển phức tạp, bạn có thể đơn giản hóa phần cứng bằng cách sử dụng phần mềm.
Có nhiều trường hợp phần mềm có thể thay thế phần cứng và ngược lại.
Một ví dụ kinh điển về điều này là một bảng tra cứu toán học. Thay vì tính kết quả cho các biểu thức phổ biến mỗi lần, chúng được lưu trữ nội bộ trong bộ đồng xử lý toán học của bạn và được gọi đơn giản khi cần.
Hầu hết có lẽ đã quen thuộc với các bộ lọc âm thanh và phần mềm có thể bắt chước các thiết bị và thiết bị thực như bàn đạp hoặc bộ khuếch đại.
Bất kỳ phần cứng nào có thể được tạo ra hầu như sẽ được sử dụng, nếu nó nhanh hơn và / hoặc rẻ hơn so với tương đương vật lý.
Trong kế toán, một bản sao cứng của hóa đơn (ví dụ) hiện có thể được gửi bằng điện tử và phần mềm bắt đầu xử lý việc nhận loại giấy tờ này và xử lý ngày càng nhiều. Đây là một ví dụ tuyệt vời về phần cứng được thay thế bằng phần mềm.