Tại sao họ lại đưa bộ xử lý vào hệ thống cứng trên các ổ cứng?


54

Điều đó có nghĩa là gì khi ổ cứng có bộ xử lý trên ổ cứng? Làm thế nào nó hoạt động, và nó có lợi ích gì?

Tôi không hiểu - CPU trên máy tính là bộ xử lý và ổ cứng chuyển nội dung của nó sang RAM của máy chủ. Do bộ xử lý bổ sung xử lý trước dữ liệu bằng cách nào đó?

Dưới đây là một số ví dụ:

  1. Western Digital WD Black WD1002FAEX 1TB "Tốc độ xử lý kép"
  2. NETGEAR ReadyNAS 312 Lưu trữ gắn liền với mạng không ổ đĩa 2-Bay "Bộ xử lý lõi kép Intel 2.1GHz và bộ nhớ trong 2GB"

Ngoài ra, các bộ định tuyến bây giờ cũng có bộ xử lý. Tại sao điều đó là cần thiết? Tôi đoán nó có ý nghĩa - một số logic cần phải xảy ra đối với các gói được đọc để biết cổng nào sẽ gửi chúng ra, nhưng tại sao các bộ định tuyến cũ không cần chúng?

Ví dụ về bộ định tuyến không dây có bộ xử lý : "Bộ xử lý lõi kép"

Tôi ngạc nhiên, vì mô hình máy von Neumann không bao gồm bộ xử lý lưu trữ sơ đồ.


19
Netgear đó không chỉ là một bộ định tuyến mà là một máy chủ tệp đầy đủ. Với ổ cứng, nó chỉ thực hiện một số tiền xử lý trên một và IO trên những cái khác. Về mặt lý thuyết nhanh hơn một chút, nhưng SSD vẫn là vua tốc độ. Có vẻ như bộ định tuyến ASUS có một số tính năng VPN và sự huyền ảo khác cần có sức mạnh xử lý, do đó có lõi kép.
dùng341814

17
Mô hình Von Neumann không nói về cấu trúc của các thiết bị I / O. Bạn vẫn cần một card đồ họa để điều khiển màn hình, mặc dù model đó gộp tất cả trong một khối "đầu ra" duy nhất.
dùng253751

10
Kiến trúc Von Neumann (từ năm 1945) là điểm khởi đầu tuyệt vời (về mặt khái niệm) để hiểu các máy tính chương trình được lưu trữ. Việc thực hiện thực tế của các máy tính hiện đại (bao gồm hầu hết các thiết bị ngoại vi) chi tiết hơn đáng kể. Vào năm 1945, không có "thiết bị ngoại vi thông minh" nên chúng sẽ không được thể hiện trong sơ đồ. Những chiếc xe có khái niệm giống như năm 1945 (bốn bánh, động cơ, vô lăng) nhưng bạn không mong đợi một sơ đồ đơn giản về xe từ năm 1945 sẽ cho bạn hiểu toàn diện về chúng ngày hôm nay.
Maxx Daymon

7
Sơ đồ kiến ​​trúc von Neumann cũng không bao gồm một mũi tên giữa "Bộ nhớ" và "Bộ nhớ". Hãy xem xét DMA .
một CVn

3
Bạn có biết rằng (ngoài Apple - vì Woz), mọi máy vi tính gia đình đầu tiên (mà tôi có thể nghĩ ra) đều có bộ xử lý trong ổ đĩa mềm? Bạn có nhớ âm thanh chunk-chunk-chunk của các ổ đĩa mềm đầu tiên của Apple không? Đó là bởi vì họ tìm thấy cung số bằng cách di chuyển cánh tay đòn tới khoảng cách tối đa ba lần.
Elliott Frisch

Câu trả lời:


81

Chà, HDD luôn có bộ xử lý, chủ yếu để lưu trữ dữ liệu và thực hiện các công việc khác của HDD như đánh dấu các khối xấu, v.v.

Sản phẩm Netgear mà bạn liên kết là một NAS, cho phép bạn truyền phát phương tiện từ nó qua mạng, vì vậy nó không thực sự là ổ cứng. Nó giống như một mạng kết nối ổ cứng với một số phần mềm ưa thích để cho phép bạn truyền thông tin qua mạng.

Các bộ định tuyến cũ cũng có bộ xử lý, mặc dù chúng thường chậm và không được quảng cáo. WRT54G, được phát hành vào năm 2002 có BCM4702 Broadcom chạy ở tốc độ 125Mhz. Thực sự không nhanh lắm. Tuy nhiên, những ngày này chúng tôi yêu cầu nhiều hơn từ các bộ định tuyến và các tính năng như VPN yêu cầu bộ xử lý nhanh hơn.


14
Các ổ cứng không phải lúc nào cũng có "bộ xử lý" dễ nhận biết, nhưng chúng chắc chắn đã phổ biến trong 15-20 năm.
Daniel R Hicks

21
Ổ đĩa ST-506 là ổ đĩa "câm" và phổ biến ngay từ đầu những năm 1990. IDE (Tích hợp ổ đĩa điện tử hay còn gọi là ổ đĩa "thông minh") đặt bộ điều khiển (CPU) ngay trên các ổ đĩa, cũng như SCSI.
Maxx Daymon

11
Các ổ đĩa cứng chứa bộ xử lý đã quay trở lại từ đầu những năm 1960 với bộ xử lý ngoại vi của dòng CDC 6000 và các bộ tương đương trong Hệ thống IBM / 360 (và có thể cả các máy trước đó).
Andrew Medico

3
Chà, bạn cần một bộ xử lý để bộ đệm hoạt động tối ưu, như quyết định dữ liệu nào cần lưu vào bộ đệm
matthew5025

3
Đĩa cứng chắc chắn không phải lúc nào cũng theo dõi các khối xấu. Tại sao bạn nghĩ MS-DOS 6.0 đã giới thiệu Scandisk và tính năng quét bề mặt của nó để điền vào FAT với một danh sách các cụm xấu?
một CVn

125

Tôi không hiểu - CPU trên máy tính là bộ xử lý và ổ cứng chuyển nội dung của nó sang RAM của máy chủ. Do bộ xử lý bổ sung xử lý trước dữ liệu bằng cách nào đó?

CPU là một bộ vi xử lý; co nhung nguoi khac. Bộ xử lý là thứ chạy mã chương trình, do đó, bất kỳ thiết bị nào có chương trình cơ sở (là mã) đều có bộ xử lý.

Một ổ đĩa cứng có bộ xử lý (nhỏ) riêng chạy chương trình cơ sở thực hiện giao thức giao diện (ví dụ: SATA hoặc SCSI) và điều khiển động cơ của ổ đĩa. Hãy nghĩ về ổ cứng của bạn như một máy tính chuyên dụng trong máy tính; cáp SATA giống như cáp mạng cho phép nó giao tiếp với máy tính "chính". CPU tạo các thông báo (chẳng hạn như các gói lệnh SATA) để báo cho ổ đĩa biết dữ liệu nào nó muốn và gửi chúng đến ổ đĩa thông qua cáp; bộ xử lý của ổ đĩa xem các thông báo từ CPU và điều khiển động cơ và đầu từ của ổ đĩa để thực sự đọc hoặc ghi dữ liệu.

NAS là một máy tính chạy phần mềm máy chủ tệp. Về nguyên tắc, nó không khác gì thiết lập các thư mục được chia sẻ trên PC của bạn; NAS đang chạy một hệ điều hành nhẹ hơn trên bộ xử lý chậm hơn, nhưng về cơ bản hoạt động tương tự. Cùng đi cho một bộ định tuyến.


53
Tôi thích câu trả lời này. CPU là một đơn vị xử lý trung tâm , vì vậy phải có những người khác.
gronostaj

19
Điểm mấu chốt là "bất kỳ thiết bị nào có chương trình cơ sở (chạy mã) đều có bộ xử lý." Con đường để đi Wyzard!
Mindwin

2
Bảo vệ mất điện là một ví dụ về tính năng có thể được triển khai trong ổ cứng với bộ xử lý và mã chương trình. Ổ đĩa có thể phát hiện khi mất điện từ MB. Chương trình chạy trong bộ xử lý của HD sau đó có thể ghi chút dữ liệu đệm cuối cùng vào đĩa (với nguồn điện từ một tụ điện trên bo mạch). Vì MB không có nguồn, CPU trên nó không có nguồn và vô dụng đối với mọi hoạt động ghi HD chưa hoàn thành. Vì vậy, điều hợp lý là HD có một chút năng lượng, bộ xử lý và mã chương trình riêng để hoàn thành việc ghi và tắt bộ đệm một cách sạch sẽ.
MikeM

2
Và từ Wikipedia: "Một số ổ cứng PC đời đầu không tự động đỗ đầu khi nguồn bị ngắt sớm và đầu sẽ rơi vào dữ liệu. Ở một số đơn vị ban đầu khác, người dùng sẽ chạy chương trình để tự đỗ đầu." - Với một bộ xử lý và mã chương trình, vấn đề cũng đã được giải quyết.
MikeM

@gronostaj vậy chúng ta cũng cần Đơn vị xử lý Decentral?
Thorbjørn Ravn Andersen

33

Nếu bạn có thể xem chi tiết hoạt động của một máy tính để bàn thông thường, bạn sẽ tìm thấy bộ xử lý ở mọi nơi. Nếu bạn có bàn phím và chuột được kết nối với cổng USB, có bộ xử lý bên trong bàn phím và một bên trong chuột nói giao thức USB.

Trong trường hợp ổ cứng, có rất nhiều thứ để bộ xử lý đó làm. Đối với một điều, bộ xử lý phải định vị đầu, chờ thời điểm thích hợp và sau đó gửi dữ liệu ra đĩa. Khi CPU yêu cầu đọc một loạt dữ liệu, bộ xử lý sẽ tìm ra thứ tự tối ưu để lấy dữ liệu đó từ đĩa và thậm chí có thể lấy một số dữ liệu bổ sung xảy ra dưới đầu để đưa vào bộ đệm trong trường hợp CPU yêu cầu kế tiếp.

Ổ cứng hiện đại cũng có thể thực hiện kiểm tra sức khỏe SMART trong nền. CPU không phải lo lắng về những điều này, ngoài việc có thể yêu cầu kết quả theo định kỳ.

"Bộ định tuyến" hiện đại không chỉ là bộ định tuyến. Họ cũng truy cập các điểm, thiết bị chuyển mạch, máy chủ DHCP, máy chủ web và họ triển khai NAT, tường lửa, đôi khi là cả chức năng NAS và hàng tấn thứ khác. Bộ xử lý của họ có hàng tấn công việc phải làm.

Về cơ bản, một bộ xử lý quá rẻ để thực hiện những ngày này mà chúng được sử dụng trong hầu hết mọi trường hợp chúng có ý nghĩa. Ngoại lệ sẽ là trường hợp nhiệm vụ rất đơn giản hoặc yêu cầu hiệu suất cao. Heck, có lẽ thậm chí một trong nguồn cung cấp năng lượng của bạn để quản lý tốc độ quạt và tối ưu hóa mức tiêu thụ năng lượng.


1
"Nếu bạn có bàn phím và chuột được kết nối với cổng USB, có bộ xử lý bên trong bàn phím và một bên trong chuột nói giao thức USB." Tôi nghĩ rằng đây là công việc của một bộ điều khiển . Bộ điều khiển đôi khi được coi là những điều tương tự như bộ xử lý?
Celeritas

1
Bộ điều khiển có thể là phần cứng thuần túy, nhưng các yêu cầu đối với chúng có xu hướng tăng lên, làm cho phần cứng ngày càng phức tạp hơn. Tại một điểm phức tạp nhất định, việc sử dụng bộ xử lý và thực hiện các công cụ trong phần mềm sẽ dễ dàng hơn. Nhưng điều đó không cung cấp cho bộ điều khiển một tên khác; Người dùng thường không muốn hoặc phải biết cách triển khai bộ điều khiển. Ngoài ra, với các ASIC và FPGA phần cứng phức tạp ngày nay, sự phân tán đối với các bộ xử lý trở nên hơi mờ nhạt.
Guntram Blohm

Lúc đầu tôi đọc nó là "chuột rít" :)
Tom Zych

21

Nhiều thiết bị "thông minh" hiện nay trên thực tế là các máy tính hoàn chỉnh, thường chạy một số bản sao của Linux. Nếu thiết bị đủ cho phép hoặc đã được root / jailbreak, bạn có thể sửa đổi nó, cài đặt các gói mới hoặc thậm chí thay đổi HĐH. Họ tất nhiên sử dụng CPU.

Ví dụ bao gồm điện thoại, TV, đầu DVD, đầu đọc sách điện tử, hộp NAS, bộ định tuyến gia đình, modem và quản lý ngoài băng tần trong các máy chủ, trên thực tế là toàn bộ máy tính có hệ điều hành riêng.

Nhưng ngay cả các thiết bị câm cũng có bộ xử lý, thường được gọi là vi điều khiển, chịu trách nhiệm ví dụ đọc và ghi dữ liệu. Thẻ micro SD trong điện thoại của bạn chứa bộ xử lý và thẻ SIM có một bộ khác, có khả năng chạy các ứng dụng Java.

Ngay cả đồ chơi trẻ em đơn giản, như đèn giao thông, cũng có micront điều khiển, vì việc triển khai logic ánh sáng trong phần mềm của vi điều khiển sẽ dễ dàng và rẻ hơn so với các thành phần riêng biệt.


8
thực tế ít người biết rằng thẻ SIM là một máy tính thực sự và bạn thậm chí có thể lập trình lại nó ngay lập tức mặc dù các tin nhắn SMS đặc biệt
phuclv


Không chỉ thẻ SIM mà bất kỳ thẻ thông minh Chip & Pin nào phù hợp với tiêu chuẩn ISO. Thẻ ngân hàng, thẻ Loyalty và nhiều thứ khác đều mang những thứ này ngay bây giờ và một số trong số chúng có sức mạnh đáng ngạc nhiên.
choàng

20

Để trả lời câu hỏi cụ thể của bạn về các ổ đĩa cứng mà dường như không ai giải quyết được.

SATA (và tất cả các giao diện đính kèm đĩa khác mà tôi có thể nghĩ ra) hoạt động với các khối. Các lệnh được định nghĩa để (trong số nhiều thứ khác) đọc và ghi các khối lưu trữ vật lý cụ thể và dữ liệu được cung cấp qua cáp giao diện đính kèm. Lệnh đó phải được xử lý ở đâu đó, có thể được thực hiện trong phần mềm chạy trên bộ xử lý trên bo mạch hoặc sử dụng một số loại thiết lập phần cứng thuần túy mà có lẽ sẽ cần phải làm nhiều điều tương tự.

Đoán xem cái gì rẻ hơn, vật lý nhỏ hơn, không dễ làm việc hơn và thường linh hoạt hơn nhiều? Đúng vậy, bộ xử lý, một lượng nhỏ bộ nhớ chương trình (flash, EPROM, ROM hoặc bất cứ thứ gì phù hợp với nhu cầu của bạn) và một lượng RAM nhỏ, hai trong số đó nếu nhu cầu của bạn đủ khiêm tốn thậm chí có thể được bao gồm trong chính bộ xử lý (xem ví dụ họ vi điều khiển PIC ).

Ngoài ra, hãy nhớ rằng các đĩa đĩa không thực sự lưu trữ bit. Họ lưu trữ mã hóa từ thông của bit. Một cái gì đó phải xử lý các thông số đọc từ đầu đọc hoặc xử lý dữ liệu thành các chuyển đổi thông lượng để được trao cho đầu ghi. Nếu một lần đọc là không hoàn hảo, thì dữ liệu sửa lỗi (được lưu trữ cùng với dữ liệu) được sử dụng để lý tưởng (điều này không may luôn luôn như vậy ) sửa lỗi và trả lại dữ liệu tốt thay vì rác hoặc trả lại lỗi nếu sự cố quá nghiêm trọng để được sửa chữa. Một lần nữa, đó là cách dễ nhất để thực hiện trong phần mềm phải chạy trên một cái gì đó và bộ xử lý với một số bộ nhớ lại phù hợp với hóa đơn khá độc đáo.

Có nhiều sức mạnh xử lý trên tàu có nghĩa là bạn có thể sử dụng các sơ đồ khôi phục lỗi và mã hóa nâng cao hơn, trong trường hợp đĩa cứng có nghĩa là bạn có thể nhồi nhét thêm dữ liệu vào cùng một diện tích bề mặt vật lý. Kết quả cuối cùng là dung lượng lưu trữ lớn hơn cho bạn so với những gì có thể. Tuy nhiên, khả năng xử lý của chính vi điều khiển đĩa cứng không quan trọng đối với người sử dụng ổ đĩa.


1
Để giải thích "hoặc sử dụng một số loại thiết lập phần cứng thuần túy" - vi điều khiển (như bạn đề cập) và ASIC tùy chỉnh được sử dụng phổ biến hơn nhiều. Ngày nay, việc xây dựng bộ xử lý "thực" thường rẻ hơn và đơn giản hơn với hệ điều hành nhúng ROM, hơn là thiết kế và chế tạo ASIC tùy chỉnh và viết phần sụn chuyên dụng cao cho bộ vi điều khiển. Vấn đề phần cứng trở thành vấn đề phần mềm và các thành phần được tiêu chuẩn hóa hơn; cả hai đều giảm chi phí ... và mở ra cơ hội cho các khả năng mới.
tiếng vang vào ngày

12

Hãy tha thứ cho tôi nếu tôi đã đọc quá điểm này nhưng tôi chưa đọc nó trong câu trả lời (mặc dù tất cả các câu trả lời khác đều rất hay).

Việc triển khai bộ xử lý cho thiết bị phần cứng cũng làm giảm khối lượng công việc của bộ xử lý trung tâm, đó là CPU của bạn trên bo mạch chính.

Hãy nghĩ về một máy tính với một cpu duy nhất phải làm mọi công việc cần phải hoàn thành. Kiểm soát bộ nhớ, điều khiển bus, quản lý các tính toán cụ thể của ổ cứng (quay ổ đĩa, truy cập, cường độ để ghi, đọc, v.v.)

Nếu mọi thứ cần phải được thực hiện bởi CPU của bạn thì sẽ không còn nhiều thời gian cho các nhiệm vụ thực tế của bạn.


9

Hãy bắt đầu với điều hiển nhiên - những "bộ xử lý" đó luôn ở đó ở một mức độ nào đó. Với ổ đĩa cũ, những là trong thẻ điều khiển, và với bất cứ điều gì tiếp cận hiện đại, ổ đĩa cứng đã có bộ điều khiển đĩa - các "IDE" chỉ định cho các ổ đĩa PATA đề cập đến thực tế là các thiết bị điện tử là onboard như trái ngược với việc có một thẻ riêng biệt.

Mặc dù theo truyền thống, đây là những bộ điều khiển vi mô, ssd của tôi - một chiếc samsung 840 có bộ xử lý dựa trên ba lõi . Những con chip làm những việc như mặc san lấp mặt bằng, xử lý dịch nội bộ khác nhau (như chuyển đổi ATA hay SCSI lệnh để một cái gì đó ổ đĩa điện tử groks), và hai yếu tố - phần cứng mà là một rất nhiều phức tạp hơn nó đã từng là, và bộ vi xử lý là rẻ hơnnhanh hơn hơn họ thường có nghĩa là có ý nghĩa để cắt một lõi mục đích chung được cắt giảm vào một ổ đĩa. Tuy nhiên, vâng, những bộ xử lý này đã luôn ở đó.

Với các bộ định tuyến, chúng luôn có mips hoặc lõi tay - về cơ bản chúng cần nguồn điện để chạy máy chủ web và định tuyến, v.v. Nhiều ổ đĩa gắn mạng sử dụng các lõi tương tự hoặc tốt hơn để chúng có thể xử lý những thứ như smb hoặc trang quản trị.

Đối với vấn đề đó trong nhiều năm, bàn phím có cùng bộ xử lý M68K mà bạn tìm thấy trong nhiều máy tính cũ và có những con chuột có lõi tay để xử lý những thứ như ánh sáng lạ mắt và phản hồi nhanh hơn bao giờ hết.


Khi nào có bàn phím bao giờ có bộ vi xử lý 68K!? Và các ổ đĩa như ST-225 có thực sự có bộ xử lý trong đó không?
supercat

Chà, đây là một bàn phím chuông packard cũ kỹ, nhảm nhí, tôi đã tách ra một cái gì đó như 4-5 năm trước, và nó đã được sử dụng vào thời điểm đó. Là một chút ngạc nhiên. IDE ST 225 có trước và do đó tôi cần một bộ điều khiển riêng biệt. Tôi hầu như không xem nó là thứ gì đó bạn sẽ tìm thấy trong PC từ 15 năm trước hoặc lâu hơn
Journeyman Geek

Bạn có chắc chắn đó là 68K so với 68HC05 không?
supercat

Re ST 225. Ổ đĩa MFM đủ cũ để sử dụng CPU máy tính chính. Bản thân ổ đĩa chỉ có một dây cáp với tín hiệu thô từ (các) đầu ổ đĩa, tín hiệu để thay đổi tuyến đường, tín hiệu cho hướng thay đổi theo dõi (đến tuyến đường cao hơn hoặc tuyến đường thấp hơn) và tín hiệu để chỉ đường đi đã đạt được. Tất cả quản lý (bao gồm theo dõi các khu vực bị lỗi như được in trên nhãn đĩa) đã được thực hiện trong phần mềm trên máy tính chính.
Hennes

5

Ngoài ra, các bộ định tuyến bây giờ cũng có bộ xử lý. Tại sao điều đó là cần thiết? Tôi đoán nó có ý nghĩa - một số logic cần phải xảy ra đối với các gói được đọc để biết cổng nào sẽ gửi chúng ra, nhưng tại sao các bộ định tuyến cũ không cần chúng?

Bộ định tuyến luôn có bộ xử lý. Hai bộ định tuyến ban đầu là phần mềm chạy trên PDP-11 (vâng, sự kế thừa của máy mà Unix ban đầu được viết cho). Một cái được phát triển tại Stanford và cái kia ở MIT. Bộ định tuyến Stanford sau đó đã được cấp phép cho một công ty khởi nghiệp nhỏ có tên Cisco Systems. Cisco đóng gói lại các máy tính PDP vào các thùng tùy chỉnh, vỗ vào nhãn "Cisco" và bán chúng dưới dạng bộ định tuyến.

Vì vậy, đó là những gì các bộ định tuyến cũ sử dụng - bộ xử lý.

Tôi nhớ đã đọc một cuộc phỏng vấn của một trong những người sáng lập của Cisco, người đã nói điều gì đó dọc theo dòng chữ: "đó là lợi thế của việc bán phần mềm dưới dạng hộp kim loại - bạn không cần phải thuyết phục mọi người không chuyển bản sao của nó cho bạn bè của họ". Google-fu của tôi làm tôi thất bại hôm nay vì vậy tôi không thể tìm thấy báo giá thực tế. Đó là những ngày trước khi một người sáng lập của một công ty nhỏ tên là Microsoft thuyết phục mọi người rằng họ phải trả tiền cho phần mềm (hồi đó là phiên bản đầu tiên của Basic).


4

Tất cả các thiết bị bán tự trị kể từ khi cuộc cách mạng máy tính ra đời đã có một loại "Bộ xử lý" nào đó, cho đến bây giờ nó chưa bao giờ thực sự được gắn cờ như vậy.

Những gì bạn nhìn thấy ở đây là sự tham nhũng đang diễn ra và một nửa sự thật được lan truyền trong xã hội của chúng ta bởi các cơ quan tiếp thị nhiệt tình, nơi những người bán hàng được khuyến khích ngày càng nhiều và tin rằng họ là những ngôi sao của chương trình, đơn giản vì họ là người tạo ra lợi nhuận.

Tuy nhiên, thực tế của vấn đề là ở đây, bất cứ điều gì phải thực hiện một tập hợp các nhiệm vụ trong đó lần lặp tiếp theo của một quá trình có thể khác với lần lặp trước đó, phải có một loại trình thông dịch có thể hiểu được các hướng dẫn mà thiết bị được đưa ra , và sau đó phản ứng với những hướng dẫn trong một số thời trang.

Quay trở lại thời gian trôi qua, thuật ngữ như "Bộ điều khiển" theo tiêu chuẩn, nhưng những điều này vẫn sôi sục với cùng một điều.

Ví dụ: "Ổ cứng IDE, với bộ điều khiển IDE trên bo mạch", trong khi đây không phải là CPU theo nghĩa giống như bạn nghĩ về CPU trên bo mạch chính của PC, nó không bao giờ là dạng CPU.

PC chủ gửi "Mã OP" (Viết tắt của mã hoạt động) trên toàn bộ bus (PCI, ISA, MCI, PCIe hoặc bất cứ thứ gì) đến bộ điều khiển ổ đĩa, bộ điều khiển sau đó đọc mã này và bất kỳ dữ liệu nào được cung cấp cùng với nó và biến chúng vào các hoạt động vật lý sau đó làm cho ổ đĩa di chuyển đầu đến đúng vị trí và đọc dữ liệu được yêu cầu.

Bộ định tuyến có lịch sử lâu hơn nữa, Cisco đã chế tạo thiết bị mạng bây giờ cho phần tốt nhất trong 50 năm qua trở lên và mỗi một trong số các thiết bị này đều có bộ điều khiển / CPU tùy chỉnh trong suốt thời gian đó. CPU này được thiết kế bởi Cisco, dành cho Cisco rõ ràng cho mục đích lập trình và kiểm soát toàn bộ phạm vi hoặc Bộ định tuyến & Chuyển mạch của họ.

Card đồ họa là một thứ khác, bạn nghe thấy mọi người sử dụng thuật ngữ "GPU" xung quanh giống như một thứ thần bí chỉ làm đồ họa. Không phải, đó là một bộ xử lý thuật toán toán học song song ồ ạt, Iv'e vừa hoàn thành việc chỉnh sửa kỹ thuật trên một cuốn sách về Nvidia CUDA, và những gì tôi học được về GPU của Nvidia khá đáng ngạc nhiên, những thứ này là của Bộ xử lý, là bộ xử lý của riêng họ. được thiết kế để thực hiện một bộ công việc chuyên gia, nhưng chúng vẫn bán thông minh và có khả năng hoạt động với nhiều loại hình khác nhau.

Như đã được chỉ ra, Netgear Readynas thực sự giống như một PC đầy đủ theo đúng nghĩa của nó. Nó chỉ được thiết kế đặc biệt để chỉ hoạt động như một thiết bị lưu trữ từ xa.

Nếu bạn muốn, sẽ không có gì ngăn bạn lập trình lại thiết bị Netgear với phần mềm mới và làm cho nó hoạt động hoàn hảo như một máy chủ web, máy chủ cơ sở dữ liệu hoặc thậm chí là một máy chủ phát triển Linux nhỏ. (Một tìm kiếm nhanh sẽ cho bạn thấy nhiều hơn một số dự án nhằm làm điều đó với các đơn vị NAS này)

Về mặt bộ xử lý, có thể bạn sẽ ngạc nhiên khi biết rằng không chỉ có Ổ cứng có "Bộ xử lý" vào những ngày này, hãy thử trải nghiệm nhỏ này.

Hãy đứng trong nhà bếp của bạn và xem bạn có thể đếm được bao nhiêu CPU.

Tôi sẵn sàng đặt cược rằng Tủ lạnh / Tủ đông, Máy giặt, Máy rửa chén, Lò nướng và Lò vi sóng (ít nhất) đều có một số Bộ xử lý, nó có thể không phải là Intel Core i7, nhưng nó vẫn là một bộ xử lý, và nó được thiết kế để ngồi yên lặng, diễn giải các hướng dẫn được gửi đến nó bởi các mạch điện / kỹ thuật số khác mà sau đó nó chuyển thành các hoạt động vật lý mà bạn thấy.

Vậy định nghĩa của Bộ xử lý là gì?

Chà, hơi khó để xác định những ngày này, nhưng nói chung định nghĩa của "Bộ xử lý" là một cái gì đó theo dòng "Bất kỳ đơn vị độc lập nào, có khả năng hoạt động trên các đầu vào bên ngoài theo cách bán thông minh và tạo ra một bộ đầu ra đã biết bắt nguồn từ những đầu vào đó "

Vì vậy, bất kỳ đơn vị, mạch, chip hoặc máy tự trị độc lập nào có thể ảnh hưởng đến biểu hiện vật lý của một số quy trình đã biết dựa trên một tập hợp các đầu vào được xác định trước có thể được coi là bộ xử lý của một số mô tả.


+1 tìm thấy đây là một câu trả lời tốt đẹp suy nghĩ. Tôi rất muốn đọc về sự tương đồng lớn của GPU về mặt "1024 lõi thực hiện cùng một hướng dẫn cùng một lúc" để chính xác hơn theo hướng đó - nhưng dù sao tôi cũng thích câu trả lời của bạn :)
Stefan

1
Cảm ơn :-) nếu bạn quan tâm đến tính song song lớn của GPU, hãy chú ý đến phạm vi Ebook miễn phí của Syncfusions cho "CUDA Succintly", nó sẽ được phát hành trong tương lai không xa và miễn phí tải xuống.
choàng

4

Mặc dù ổ cứng và thẻ nhớ flash không phải lúc nào cũng bao gồm bộ xử lý, thiết kế của chúng tuân theo một nguyên tắc khá đơn giản: một cái gì đó với bộ xử lý phải biết những gì cần thiết để lưu trữ và truy xuất dữ liệu. Nếu thiết bị lưu trữ không chứa bộ xử lý nhưng được kết nối với thiết bị nào đó, thì phần cứng phải cho phép lưu trữ và truy xuất thông tin theo trình tự chính xác các bước mà thiết bị được kết nối mong đợi. Ngay cả khi lưu trữ và truy xuất thông tin theo một cách khác có thể hiệu quả hơn, có thể không có cách nào mà hệ thống được kết nối có thể biết về nó.

Ví dụ, hầu hết các ổ đĩa cứng hoạt động bằng cách từ hóa từng phần của đĩa theo một trong hai hướng. Nếu "L" biểu thị từ hóa theo một hướng trong một khoảng thời gian nhất định và "R" đại diện cho từ hóa theo hướng khác trong cùng khoảng thời gian đó, hãy cố gắng lưu trữ dữ liệu trực tiếp bằng cách sử dụng "L" để biểu thị "1" và " R "để biểu thị" 0 "sẽ rất không đáng tin cậy vì hai yếu tố:

  1. Một chuỗi dài của các số hoặc số 0 sẽ đại diện cho một chuỗi dài Ls hoặc R, do đó có thể bị đọc sai thành một chuỗi dài hơn hoặc ngắn hơn một chút. Ví dụ: nếu động cơ ổ đĩa chạy chậm hơn 5% khi dữ liệu được đọc so với khi được ghi, chuỗi được viết dưới dạng chuỗi 20 Ls có thể bị đọc nhầm thành chuỗi 21 Ls.

  2. Hai chuỗi Ls được phân tách bằng một số lượng nhỏ R có thể lan vào chuỗi nhỏ đó của R và "ngấu nghiến nó". Tương tự, hai chuỗi R cách nhau bởi một số lượng nhỏ Ls.

Do các yếu tố này, các ổ đĩa thường cần mã hóa thông tin thành các lần chạy Ls và R có chiều dài nằm trong khoảng tối đa và tối thiểu; các giá trị tối ưu cho chiều dài tối đa và tối thiểu có thể thay đổi tùy theo chất lượng của thiết bị điện tử, động cơ, đầu và phương tiện truyền thông. Ngoài ra, vì các rãnh bên ngoài trên đĩa dài hơn các rãnh bên trong, nên chúng có thể lưu trữ các chuỗi Ls và R ngắn hơn so với các rãnh ngoài.

Để thông tin được lưu trữ một ổ đĩa, nó phải được kết nối với thứ gì đó biết cách chuyển đổi dữ liệu thành chuỗi Ls và R mà phương tiện truyền thông sẽ có thể giữ. Nếu hành động chuyển đổi Ls và R là trách nhiệm của bộ điều khiển tách biệt với ổ đĩa, thì ổ đĩa sẽ chỉ cần sử dụng các định dạng mà bất kỳ bộ điều khiển nào có thể được kết nối hiểu. Di chuyển bộ điều khiển đến cụm ổ đĩa làm giảm bớt vấn đề này: nếu mỗi nhà sản xuất gửi một ổ đĩa với bộ điều khiển có thể hiểu cách lưu trữ dữ liệu, họ sẽ không phải lo lắng về việc liệu có bất kỳ bộ điều khiển nào khác hiểu dữ liệu đó hay không, vì thông tin sẽ chỉ được lưu trữ và truy xuất bởi bộ điều khiển có trong cụm ổ đĩa.


3

Như mọi người đã giải thích, nhiều thiết bị ngoại vi / thiết bị luôn có bộ xử lý để cung cấp chức năng cốt lõi của chúng và thậm chí các bộ định tuyến tương đối cơ bản có hiệu lực với các máy chủ nhỏ (khía cạnh dễ thấy nhất đối với người dùng cuối sẽ là trình hướng dẫn cấu hình dựa trên web, bạn cần một Ngăn xếp IP, máy chủ web, v.v. và bộ xử lý để chạy chúng).

Nhưng bạn cũng nên nhận ra rằng một NAS tiêu dùng hiện đại thậm chí còn hơn thế, thông thường bạn có thể đăng nhập vào nó thông qua trình duyệt web và sẽ có quyền truy cập vào GUI với nhiều ứng dụng, hệ thống quản lý gói phần mềm, nhiều dịch vụ để truyền phát các tệp phương tiện, chạy cập nhật tự động, đọc các thiết bị lưu trữ khác được gắn vào cổng USB, v.v ... vì vậy gần như là một môi trường máy tính để bàn đầy đủ (mặc dù một số công việc cho GUI được chia sẻ rõ ràng với máy khách).


2

Tất cả các ổ đĩa cứng luôn có bộ xử lý. Tất cả các bộ định tuyến luôn có bộ xử lý.

Card đồ họa của bạn có bộ xử lý. Luôn luôn có. Thẻ giao diện mạng của bạn có bộ xử lý. Luôn luôn có. Máy in của bạn có bộ xử lý, bàn phím, chuột và bật và bật. Tôi sẽ khó mà nghĩ được một thiết bị được kết nối với máy tính của bạn KHÔNG có bộ xử lý nào đó.

Chúng hiện đang được quảng cáo nhiều hơn vì hiệu suất của chúng là quan trọng hơn, bởi vì chúng tôi yêu cầu các thiết bị này làm nhiều hơn và nhiều hơn nữa.


2

Hầu như không có thiết bị nào trong thiết bị điện tử máy tính câm đến mức nó có thể thực hiện vai trò của mình mà không cần bộ xử lý - ít nhất là mọi thứ phải mã hóa tín hiệu vào hoặc ra một lúc nào đó. Nếu tín hiệu đó thay đổi, phải có quy tắc về cách thay đổi và bộ xử lý thực thi các quy tắc đó.

Trôi sâu hơn một chút từ câu hỏi nhưng củng cố mọi thứ đều có chủ đề bộ xử lý , hồi những năm 80 tôi là một sysadmin phụ trách một vài máy tính lớn VAX / VMS.

Chúng tôi đã có một máy in băng tần rất nhanh (ồn ào) chạy một ngân hàng búa đập vào một dải tốc độ cao, độ bền kéo cao. Tôi nghĩ rằng đó là một máy in 600 dòng mỗi phút. Đó hoàn toàn là 132 dòng ký tự, không phải là một dấu chấm.

Để kiểm soát thời gian các búa đập vào ban nhạc, nó có một số mạch điện tử đơn giản. Điều này cần một chương trình khác tùy thuộc vào băng tần - bạn thậm chí có thể có các băng tần nhanh hơn chỉ có chữ in hoa (một vài bộ ASCII trên một băng tần).

Chương trình cho bộ xử lý đó được lưu trữ trên một miếng băng giấy cũng được đọc trong một vòng lặp liên tục, mỗi khi máy in được bật (vâng, nó vẫn luôn chạy trong hầu hết thời gian).

Tôi chỉ phát hiện ra khi người điều hành của tôi nhiệt tình làm sạch máy in và tìm thấy băng giấy. May mắn thay, anh nhận ra nó không chỉ là một mẩu giấy đi lạc và không cố xóa nó.


2

Điều đó có nghĩa là gì khi ổ cứng có bộ xử lý trên ổ cứng?

Nó có nghĩa là ổ đĩa có CPU nhỏ. Nói chung, bất kỳ thiết bị nào có CPU sẽ có phần sụn.

Làm thế nào nó hoạt động, và nó có lợi ích gì?

Thiết bị ngoại vi máy tính rất phức tạp. Ví dụ, hành động đọc và ghi dữ liệu vào ổ đĩa mềm khá liên quan. Bạn cần thao tác với phần cứng di chuyển đầu ổ đĩa, sau đó tìm kiếm các tiêu đề ngành, tìm hiểu xem dữ liệu đến trên một dòng đọc có ý nghĩa gì theo một giao thức, v.v.

Chúng ta hãy lấy một ví dụ đơn giản về việc đọc ổ đĩa mềm: Có lẽ cách thô sơ nhất mà CPU có thể giao tiếp với thế giới bên ngoài là thông qua các cổng I / O. Các cổng này được kết nối với các đường trên bo mạch chủ hoặc ổ cắm - nếu dòng điện chạy qua một đường dây, 1 sẽ hiển thị cho CPU trên cổng khi nó đọc, nếu không, thì CPU sẽ hiển thị 0. Tương tự như vậy để ghi, CPU có thể ghi 1 vào cổng để tạo ra dòng điện đi qua đường dây hoặc đặt thành 0 để dừng việc đó.

Vì vậy, đối với ổ đĩa mềm, giả sử bằng cách nào đó bạn có một đường kết nối với đầu đọc / ghi của đĩa mềm. Để đọc dữ liệu, bạn cần đợi "đảo chiều từ thông" - về cơ bản là sự thay đổi năng lượng từ tính sẽ khiến đường truyền đi từ 0 đến 1 hoặc 1 đến 0. Sau đó, bạn cần theo dõi thời gian cho đến khi bạn phát hiện sự đảo ngược thông lượng thứ hai và tiếp tục làm điều đó cho đến khi bạn có tất cả các bit trong khu vực của mình và đặt các khoảng thời gian được đo đó lại với nhau để tạo lại dữ liệu. Điều này thậm chí không đi vào những thứ như di chuyển đầu ổ đĩa hoặc chờ động cơ ổ đĩa đạt tốc độ bình thường để thời lượng của bạn không bị rối, và thực tế là không có hai động cơ có thể giống hệt nhau nên bạn cần để linh hoạt trong các phép đo của bạn bằng cách nào đó.

Hy vọng rằng điều đó nghe có vẻ phức tạp, bởi vì nó là.

Vì vậy, chắc chắn, bạn có thể lập trình CPU máy tính bình thường để làm điều đó, nhưng vì nó rất nhạy cảm với thời gian, CPU của máy tính của bạn thực sự không thể làm gì khác trong khi điều này đang diễn ra. Các máy tính cũ thực sự đã làm một cái gì đó như thế này trong tất cả CPU / tất cả phần mềm để tiết kiệm tiền, như Apple IIe cũ, không thể làm gì khác trong khi đọc / ghi vào đĩa vì lý do này.

Bằng cách đặt một CPU nhỏ vào ổ đĩa và có bộ điều khiển trên bo mạch chủ thực sự chỉ là một bus truyền thông, CPU của bạn có thể chạy các chương trình khác, nhận / gửi dữ liệu tới ổ đĩa bằng cách sử dụng bus và giảm hầu hết mức thấp vật lý mức độ làm việc để ổ đĩa chính nó. Hơn nữa, khi công nghệ cải tiến, lập trình cấp thấp để xử lý nó có thể ở trong ổ đĩa và không cần thay đổi chương trình trên máy tính của bạn để hoạt động với các định dạng ổ đĩa trong khác nhau.

Về bộ định tuyến, chức năng định tuyến cấp thấp thực tế không khó thực hiện trong phần cứng và nhiều bộ định tuyến cấp doanh nghiệp làm điều đó, nhưng đó là những thứ như tường lửa, chuyển tiếp cổng, kiểm soát truy cập và giao diện web hoặc bảng điều khiển đủ phức tạp để cần CPU để làm điều đó.

Tôi ngạc nhiên, vì mô hình máy von Neumann không bao gồm bộ xử lý lưu trữ

Không có gì trong mô hình von Neumann nói rằng bất kỳ thiết bị ngoại vi nào cũng không thể là máy von Neumann. Điều làm cho thiết bị ngoại vi trở thành thiết bị ngoại vi là thực tế là CPU có thể gửi lệnh cho nó qua một số loại bus hoặc cơ chế I / O khác và lấy lại kết quả.


2

---- Tất cả các câu trả lời trên trang này quá dài (hoặc vì vậy tôi cảm thấy) - - - Vì vậy, id muốn thêm một ...

  • Đĩa có bộ xử lý sử dụng hoạt động vật lý của việc chuyển từ "Spot" sang "Spot" trên đĩa, theo thứ tự tốt, là một nhiệm vụ khó khăn

  • Nếu bạn đọc / ghi dữ liệu theo thứ tự "Xấu" hoặc "chậm", dựa trên khoảng cách và từ đó đến từng khoảng cách, bạn có thể làm chậm quá trình truyền dữ liệu.

Cách tốt nhất để ghi lại điều đó, là nếu bạn làm việc trong một cửa hàng, và bạn được yêu cầu lấy đồ từ những góc xa nhất, trước khi có được mọi thứ trên đường.

Một lệnh thông minh là chọn mọi thứ trên đường = = Đây là cách AHCI hoạt động với NCQ.

NCQ cần xử lý thông minh hơn vì nó có kế hoạch tìm kiếm tốt hơn.

Trước khi điều này được thực hiện, đôi khi được gọi là PIO hoặc "Bộ xử lý được kiểm soát ... umm ... I / O. Chậm vì 1. khoảng cách giữa CPU và ổ cứng là rất lớn về mặt máy tính: Độ trễ. Độ trễ để quyết định các lệnh = truyền chậm 2. CPU không (cần phải làm) những thứ khác 3. Đó là ... thực sự là những điều chính.

Máy tính yêu cầu các tệp ở đây và ở đây Đĩa chịu trách nhiệm "CÁCH" để đưa nó vào máy tính.

... tôi đã làm xong


Những gì bạn đang mô tả được gọi là một thuật toán thang máy . Hàng đợi lệnh (chẳng hạn như NCQ của SATA) cho phép CPU gửi nhiều lệnh tới ổ đĩa thành một nhóm, để ổ đĩa có thể quyết định thứ tự hiệu quả nhất để thực hiện chúng. Không có lệnh xếp hàng, CPU phải đợi ổ đĩa phục vụ từng yêu cầu trước khi gửi yêu cầu tiếp theo, vì vậy ổ đĩa phải phục vụ các yêu cầu theo thứ tự mà CPU gửi cho chúng. Điều đó có thể kém hiệu quả hơn do CPU không biết cách bố trí vật lý bên trong của đĩa.
Wyzard

PIO là một cái gì đó khác nhau, mặc dù. Đó là chế độ mà CPU phải chạy mã để nhận dữ liệu được đọc bởi ổ đĩa, không hiệu quả. Nó thường được thay thế bởi DMA , cho phép ổ đĩa lưu trữ dữ liệu trực tiếp vào RAM trong khi CPU hoạt động trên những thứ khác.
Wyzard

Vâng tôi đã không [chính xác] [chính xác] nhưng chức năng của hiệu suất là độ trễ kết quả cho mỗi giao dịch.
TardisGuy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.