Bộ xử lý làm gì khi tôi sao chép mọi thứ từ đĩa USB này sang đĩa khác?


21

Là tất cả dữ liệu mà tôi sao chép đi qua nó hoặc có một cách khác trực tiếp hơn?


Bộ xử lý đang hoạt động và kiểm soát bằng USB, nhưng không phải với firewire (vì thẻ đó có cpu riêng)
tobylane

Câu trả lời:


31

Mánh khôn! Dữ liệu không thực sự đi qua CPU mỗi lần.

Dữ liệu và 1 và 0 quan trọng đi qua chipset hoặc chip I / O chuyên dụng và bộ nhớ, tuy nhiên, khi bạn đang sao chép tệp, lệnh thực hiện sao chép sẽ được chạy bởi bộ xử lý.

Hãy tưởng tượng có một vật thể trước mặt bạn (dữ liệu), cánh tay của bạn (chip Chipset / I / O) và bộ não của bạn (CPU). Bạn không thực sự sử dụng bộ não của mình để di chuyển đối tượng, bộ não của bạn chạy "mệnh lệnh" đến cánh tay của bạn để di chuyển đối tượng.


1
Ẩn dụ hay, @Wil.
Shinrai

4
@Shinrai - mặc dù, nó không đứng lên nếu họ là nhà ngoại cảm! Tôi rất thích di chuyển đối tượng bằng bộ não của tôi!
William Hilsum

Không phải DMA hay cái gì đó bỏ qua CPU?
o0 '.

2
DMA giúp bằng cách cung cấp cho CPU interruptbất cứ khi nào lệnh IO đến một block device, chẳng hạn như thanh USB, đã hoàn thành . CPU sau đó tiếp tục thực hiện sao chép. Trong thực tế, những gì CPU đang làm là chạy ioctlmã hạt nhân có giao diện với trình điều khiển thiết bị để sao chép chunks(tên thực tế) DMA. CPU cũng xử lý asynchronous IOsync IOhơi khác so với phối cảnh thực thi mã-nhân.
Henrik

1
Tôi không làm điều đó cho đại diện, chỉ yêu thích trang web này và giúp đỡ mọi người! Tôi thực sự không nghĩ nó tốt hơn là hai câu, nhưng hy vọng bây giờ nó tốt hơn .... nếu bạn không thích nó, tôi nghĩ có một điều mới cho các thành viên thấp hơn, hãy thử tự chỉnh sửa nó!
William Hilsum

5

CPU phải chạy chương trình đọc tệp nguồn và sau đó ghi tệp đích.

Dữ liệu được đọc sẽ (thường) sẽ được đọc vào bộ nhớ chính theo từng khối, nhưng thực tế không đi qua CPU.


4

Trên một máy tính lớn có các kênh thông minh, cpu sẽ chỉ cho các kênh thực hiện sao chép. Rất hiệu quả và cho phép sao lưu lớn nhanh chóng với ít chi phí CPU.

Thật không may, chúng tôi không có các kênh thông minh để CPU kết thúc trong một vòng lặp tương tự như:

cho mỗi tệp (dev1); làm
   sinh vật (dev2);
   copyfilecontent (dev1, dev2);
kết thúc;

Chi phí hoạt động của CPU không cao, trừ khi có rất nhiều tệp nhỏ, đặc biệt là rất nhiều tệp trong cùng một thư mục. Các hoạt động tạo tập tin thường có chi phí cao nhất. Sao chép đĩa sang đĩa chỉ coi mỗi đĩa là một tệp có sẵn.


Các kênh thông minh là gì? Bạn có thể hiển thị một đoạn mã giả cho điều đó?
Henrik

Kênh thông minh là thiết bị phần cứng xử lý I / O trên máy tính lớn. Tôi hy vọng họ là các máy vi tính chức năng hạn chế theo cách riêng của họ. Không biết mã của họ trông như thế nào. Chúng rất quan trọng khi các máy tính lớn xử lý 100 người dùng trực tuyến trong 8 MB bộ nhớ. Tôi tin rằng máy tính Commodore đã từng có CPU thứ hai trong hệ thống đĩa của họ. Họ có thể đã có chức năng tương tự.
BillThor
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.