왜 "프로세서"를 하드 드라이브에 넣습니까?


54

하드 드라이브에 하드 드라이브에 프로세서가있는 경우 무엇을 의미합니까? 어떻게 작동하고 어떤 이점이 있습니까?

이해가 안됩니다-컴퓨터의 CPU가 프로세서이며 하드 드라이브의 내용이 호스트 컴퓨터의 RAM으로 전송됩니다. 추가 프로세서가 어떻게 든 데이터를 사전 처리합니까?

여기 몇 가지 예가 있어요.

  1. Western Digital WD Black WD1002FAEX 1TB "듀얼 프로세서 속도"
  2. NETGEAR ReadyNAS 312 2 베이 디스크리스 네트워크 연결 스토리지 "듀얼 코어 Intel 2.1GHz 프로세서 및 2GB 온보드 메모리"

또한 라우터에는 이제 프로세서도 있습니다. 왜 필요한가요? 어떤 종류의 패킷을 보낼지 알기 위해 패킷을 읽어야하는 논리가 필요하지만 왜 오래된 라우터에는 필요하지 않습니까?

프로세서있는 무선 라우터의 예 : "듀얼 코어 프로세서"

폰 노이만 머신 모델에는 스토리지에 프로세서가 포함되어 있지 않기 때문에 놀랍습니다 도표.


19
Netgear는 단순한 라우터가 아니라 본격적인 파일 서버입니다. 하드 드라이브를 사용하면 하나의 전처리를 수행하고 다른 하나의 IO를 처리합니다. 이론적으로는 조금 빠르지 만 SSD는 여전히 속도의 왕입니다. ASUS 라우터에는 일부 VPN 기능과 약간의 처리 능력이 필요한 다른 환상적인 기능이 있으므로 듀얼 코어가있는 것 같습니다.
user341814

17
Von Neumann 모델은 I / O 장치의 구조에 대해서는 아무 것도 말하지 않습니다 . 모델이 단일 "출력"블록 아래에 모두 모여 있지만 모니터를 구동하려면 그래픽 카드가 여전히 필요합니다.
user253751

10
Von Neumann 아키텍처 (1945 년)는 개념적으로 저장된 프로그램 컴퓨터를 이해하기에 좋은 출발점 입니다. 최신 컴퓨터 (대부분의 주변 장치 포함) 의 실제 구현이 훨씬 더 자세합니다. 1945 년에는 "스마트 주변 장치"가 없었으므로 다이어그램에 표시되지 않았습니다. 자동차는 개념적으로 1945 년 (4 륜, 엔진, 스티어링 휠)과 동일하지만 1945 년부터 단순화 된 자동차 다이어그램이 오늘날 자동차에 대한 포괄적 인 이해를 제공하지는 않을 것입니다.
맥스 Daymon

7
폰 노이만 아키텍처 다이어그램에는 "메모리"와 "스토리지"사이에 화살표가 없습니다. DMA를 고려하십시오 .
CVn

3
(Woz로 인해 애플과는 별도로) 모든 초기 가정용 마이크로 컴퓨터 (내 생각할 수있는)는 플로피 드라이브에 프로세서가 있다는 것을 알고 있습니까? 초기 애플 플로피 드라이브의 청크 청크 소리를 기억하십니까? 드라이브 암을 최대 거리까지 3 번 움직여서 섹터 0을 발견했기 때문입니다.
Elliott Frisch

답변:


82

글쎄, HDD에는 항상 데이터를 캐시하고 불량 블록 표시 등과 같은 다른 HDD 작업을 수행하는 프로세서가 있습니다.

연결 한 Netgear 제품은 NAS이므로 네트워크를 통해 미디어를 스트리밍 할 수 있으므로 실제로는 HDD가 아닙니다. 네트워크를 통해 정보를 스트리밍 할 수있는 멋진 소프트웨어가있는 네트워크 연결 HDD와 더 비슷합니다.

오래된 라우터에는 프로세서가 있었지만 속도가 느리고 전혀 광고되지 않았습니다. 2002 년에 나온 WRT54G는 125Mhz에서 실행되는 Broadcom BCM4702를 가지고있었습니다. 실제로 빠르지는 않습니다. 그러나 요즘 우리는 라우터에서 더 많은 것을 요구하며 VPN과 같은 기능에는 더 빠른 프로세서가 필요합니다.


14
HDD는 항상 인식 가능한 "프로세서"를 가지고 있지는 않았지만 15-20 년 동안 확실히 일반적이었습니다.
Daniel R은

21
ST-506 드라이브는 "멍청한"드라이브였으며 1990 년대 초에 널리 사용되었습니다. IDE (Integrated Drive Electronics 일명 "스마트"드라이브)는 SCSI와 마찬가지로 컨트롤러 (CPU)를 드라이브에 바로 배치합니다.
Maxx Daymon

11
프로세서가 포함 된 하드 드라이브는 1960 년대 초반까지 CDC 6000 시리즈주변 장치 프로세서 와 IBM System / 360 (및 이전 시스템)의 해당 프로세서로 되돌아갑니다 .
Andrew Medico

3
캐시 할 데이터를 결정하는 것과 같이 캐시가 최적의 기능을 수행하려면 프로세서가 필요합니다.
matthew5025

3
하드 디스크가 항상 내부적으로 불량 블록을 추적하지는 않습니다. 왜 MS-DOS 6.0이 불량 디스크 목록으로 FAT를 채우는 디스크 검사 및 디스크 검사 기능을 도입했다고 생각하십니까?
CVn

125

이해가 안됩니다-컴퓨터의 CPU가 프로세서이며 하드 드라이브의 내용이 호스트 컴퓨터의 RAM으로 전송됩니다. 추가 프로세서가 어떻게 든 데이터를 사전 처리합니까?

CPU는 인 프로세서; 다른 사람들이 있습니다. 프로세서는 프로그램 코드를 실행하는 것이므로 펌웨어가있는 장치 (코드)는 일종의 프로세서를 갖습니다.

하드 드라이브에는 인터페이스 프로토콜 (예 : SATA 또는 SCSI)을 구현하고 드라이브의 모터를 제어하는 ​​펌웨어를 실행하는 자체 (소형) 프로세서가 있습니다. 하드 드라이브를 컴퓨터 내부의 특수 컴퓨터로 생각하십시오. SATA 케이블은 "주"컴퓨터와 통신 할 수있는 네트워크 케이블과 같습니다. CPU는 메시지를 생성하여 (SATA 명령 패킷과 같은) 드라이브에 원하는 데이터를 알려주고 케이블을 통해 드라이브로 보냅니다. 드라이브의 프로세서는 CPU의 메시지를보고 실제로 데이터를 읽거나 쓰도록 드라이브의 모터와 자기 헤드를 제어합니다.

NAS는 파일 서버 소프트웨어를 실행하는 컴퓨터입니다. 원칙적으로 PC에서 공유 폴더를 설정하는 것과 다르지 않습니다. NAS는 더 느린 프로세서에서 더 가벼운 운영 체제를 실행하지만 본질적으로 동일한 작업을 수행합니다. 라우터도 마찬가지입니다.


53
나는이 답변을 좋아한다. CPU는 중앙 처리 장치 이므로 다른 CPU가 있어야합니다.
gronostaj

19
요점은 "펌웨어 (실행 코드)가있는 장치에는 일종의 프로세서가 있습니다." Wyzard로가는 길!
Mindwin

2
Power Loss Protection은 프로세서 및 프로그램 코드를 사용하여 하드 드라이브에 구현할 수있는 기능의 예입니다. 드라이브는 MB에서 전원이 끊기는시기를 감지 할 수 있습니다. 그런 다음 HD 프로세서에서 실행되는 프로그램은 버퍼링 된 데이터의 마지막 비트를 온보드 커패시터의 전원으로 디스크에 쓸 수 있습니다. 동력과 MB 이후, CPU 그것에는 힘이 없어서 미완성 HD 쓰기 작업에 쓸모가 없다. 따라서 HD에는 버퍼링 된 쓰기를 끝내고 깨끗하게 종료하기위한 자체 전원, 프로세서 및 프로그램 코드가 있습니다.
MikeM

2
Wikipedia에서 : "일부 초기 PC HDD는 전원이 조기에 끊어졌을 때 자동으로 헤드를 고정하지 않고 헤드가 데이터에 착륙했습니다. 다른 초기 유닛에서는 사용자가 수동으로 헤드를 고정하는 프로그램을 실행했습니다." -프로세서 및 프로그램 코드를 사용하면 해당 문제도 해결되었습니다.
MikeM

@gronostaj 그래서 분산 처리 장치가 필요합니까?
Thorbjørn Ravn Andersen

33

일반적인 데스크탑 PC의 작동 방식을 자세히 살펴보면 어디서나 프로세서를 찾을 수 있습니다. 키보드와 마우스를 USB 포트에 연결 한 경우 키보드 내부에 프로세서가 있고 마우스 내부에 USB 프로토콜을 말하는 프로세서가 있습니다.

하드 드라이브의 경우 해당 프로세서가 수행해야 할 작업이 많이 있습니다. 우선, 프로세서는 헤드를 위치시키고 올바른 순간을 기다린 다음 플래터로 데이터를 보내야합니다. CPU가 많은 양의 데이터를 읽으라고 요청하면 프로세서는 디스크에서 해당 데이터를 검색하는 최적의 순서를 찾고 CPU가 요청할 경우 캐시에 넣을 수 있도록 헤드 아래로 전달 된 추가 데이터를 가져올 수도 있습니다. 다음.

최신 하드 드라이브는 백그라운드에서 SMART 상태 점검을 수행 할 수도 있습니다. CPU는 주기적으로 결과를 요구하는 것 외에는 이러한 것들에 신경 쓸 필요가 없습니다.

현대의 소호 "라우터"는 단순한 라우터가 아닙니다. 또한 액세스 포인트, 스위치, DHCP 서버, 웹 서버이며 NAT, 방화벽, 때로는 NAS 기능 및 기타 다양한 기능을 구현합니다. 그들의 프로세서는 할 일이 많습니다.

기본적으로 프로세서는 요즘 구현하기에 너무 저렴하여 거의 모든 경우에 적합합니다. 작업이 매우 단순하거나 고성능이 필요한 경우는 예외입니다. 팬 전원을 관리하고 전력 소비를 최적화하기 위해 전원 공급 장치에 하나가있을 수도 있습니다.


1
"키보드와 마우스가 USB 포트에 연결되어 있으면 키보드 내부에 프로세서가 있고 마우스 내부에 USB 프로토콜을 말하는 프로세서가 있습니다." 나는 이것이 컨트롤러 의 일이라고 생각했다 . 컨트롤러는 때때로 프로세서와 동일한 것으로 간주됩니까?
Celeritas

1
컨트롤러 순수한 하드웨어 일 수 있지만 요구 사항이 증가하는 경향이있어 하드웨어가 점점 더 복잡해집니다. 복잡한 특정 지점에서는 프로세서를 사용하고 소프트웨어로 작업을 수행하는 것이 더 쉽습니다. 그러나 이것이 컨트롤러에 다른 이름을 부여하지는 않습니다. 사용자는 일반적으로 컨트롤러의 구현 방식을 원하지 않거나 알 필요가 없습니다. 또한 요즘 복잡한 하드웨어 ASIC 및 FPGA로 인해 프로세서와의 구분이 다소 모호해진다.
Guntram Blohm

그 첫번째 :)에서 "마우스 눌리는"과 같이
톰 지치

21

현재 많은 "스마트"어플라이언스는 실제로 본격적인 컴퓨터이며 종종 일부 Linux 복제본을 실행합니다. 장치가 충분히 허용되거나 루팅 / 탈옥 된 경우 장치를 땜질하거나 새 패키지를 설치하거나 OS를 변경할 수도 있습니다. 물론 CPU를 사용합니다.

예를 들어 전화, TV, DVD 플레이어, 전자 책 리더, NAS 박스, 홈 라우터, 모뎀 및 서버의 대역 외 관리 (실제로 OS가있는 전체 컴퓨터)가 있습니다.

그러나 벙어리 장치에도 종종 마이크로 컨트롤러라고하는 프로세서가있어 데이터 읽기 및 쓰기를 담당합니다. 휴대 전화의 Micro SD 카드에는 프로세서가 포함되어 있고 SIM 카드에는 Java 응용 프로그램을 실행할 수있는 다른 SIM 카드가 있습니다.

신호등과 같은 단순한 어린이 완구조차도 개별 부품보다 마이크로 컨트롤러 소프트웨어에서 조명 로직을 구현하는 것이 더 쉽고 저렴 하기 때문에 microntroller를 가지고 있습니다 .


8
실제로 SIM 카드가 실제 컴퓨터라는 사실을 아는 사람은 거의 없으며 특별한 SMS를 통해 즉시 재 프로그램 할 수도 있습니다.
phuclv


SIM 카드뿐만 아니라 ISO 표준을 준수하는 모든 칩 및 핀 스마트 카드. 은행 카드, 로열티 카드 및 그 밖의 모든 것들이 현재 이러한 것들을 가지고 있으며 그중 일부는 놀랍도록 강력합니다.
shawty

20

아무도 해결하지 않은 것으로 보이는 하드 디스크 드라이브 에 대한 특정 질문에 대답합니다 .

SATA (및 내가 생각할 수있는 다른 모든 디스크 연결 인터페이스)는 블록에서 작동합니다. 명령은 (다른 많은 것들 중에서도) 특정 물리적 스토리지 블록을 읽고 쓰도록 정의되며, 데이터는 어태치먼트 인터페이스 케이블을 통해 제공됩니다. 이 명령은 온보드 프로세서에서 실행되는 소프트웨어 또는 거의 동일한 작업을 수행해야하는 순수한 하드웨어 설정을 사용하여 수행 할 수있는 어딘가에서 처리해야합니다.

저렴하고 물리적으로 더 작고 작업하기가 쉽지 않고 일반적으로 훨씬 더 다양한 것을 추측하십시오. 그렇습니다. 프로세서, 소량의 프로그램 메모리 (플래시, EPROM, ROM 또는 기타 요구 사항에 맞는 것)와 소량의 RAM이 필요합니다. 프로세서 자체 (예 : PIC 마이크로 컨트롤러 제품군 참조 ).

또한 디스크 플래터는 실제로 비트를 저장하지 않습니다. 그들은 저장 비트 자속 인코딩. 무언가 가 읽기 헤드에서 나오는 플럭스 판독 값을 처리하거나 쓰기 헤드에 제공 할 데이터를 플럭스 전이로 처리해야합니다. 읽기가 불완전한 경우, 오류 정정 데이터 (데이터와 함께 저장 됨)가 이상적으로 (불행히도 항상 그런 것은 아닙니다 ) 오류를 정정하고 가비지 대신 양호한 데이터를 리턴하거나 문제가 너무 큰 경우 오류를 리턴하는 데 이상적으로 사용됩니다 고칠 수있다. 다시 말하지만, 그것은 무언가에서 실행되어야하는 소프트웨어로 구현하는 것이 가장 쉽고 메모리가있는 프로세서는 계산서에 아주 잘 맞습니다.

온보드 처리 성능이 높다는 것은 고급 인코딩 및 오류 복구 구성표를 사용할 수 있다는 것을 의미합니다. 하드 디스크의 경우 동일한 물리적 표면 영역에 더 많은 데이터를 넣을 수 있습니다. 결과적으로 가능한 것보다 더 큰 저장 용량이 제공됩니다. 그러나 하드 디스크 마이크로 컨트롤러 자체의 처리 능력은 드라이브 사용자에게 중요하지 않습니다.


1
마이크로 컨트롤러 (나중에 언급 한 바와 같이)와 커스텀 ASIC은 훨씬 더 일반적이었던 "일부 순수 하드웨어 설정 사용"에 대해 자세히 설명합니다. 요즘은 맞춤형 ASIC을 설계 및 제조하고 마이크로 컨트롤러를 위해 고도로 전문화 된 펌웨어를 작성하는 것보다 ROM에서 임베디드 OS를 실행하는 "실제"프로세서로 구축하는 것이 더 저렴하고 간단합니다. 하드웨어 문제는 소프트웨어 문제가되고 구성 요소는보다 표준화됩니다. 이 두 가지 모두 비용을 절감하고 새로운 기능을위한 문을 엽니 다.
에 에코

12

이 점을 읽었지만 답변에서 아직 읽지 않은 경우 용서하십시오 (다른 모든 답변은 훌륭하지만).

하드웨어 장비에 프로세서를 배치하면 메인 보드의 CPU 인 중앙 프로세서의 워크로드도 줄어 듭니다.

수행해야 할 모든 작업을 수행해야하는 단일 CPU가있는 컴퓨터를 생각해보십시오. 제어 메모리, 제어 버스, 하드 드라이브 특정 계산 관리 (드라이브 회전, 액세스, 쓰기 크기, 읽기 등)

경우 모든 일을해야 당신의 CPU가 수행해야 많이 없을 것보다 시간이 실제 작업을 떠났다.


9

"프로세서"는 항상 어느 정도 수준에있었습니다. 구형 드라이브,이 컨트롤러 카드에 있었고, 아무것도에 접근 현대적인 하드 드라이브는 있었다 디스크 컨트롤러 - PATA 드라이브의 "IDE"지정은 별도의 카드를 가진 반대로 전자가 온보드 있다는 사실을 의미한다.

전통적으로 이것들은 마이크로 컨트롤러 였지만, 내 SSD-삼성 840에는 3 개의 코어 암 기반 프로세서가 있습니다. 하드웨어가 있습니다 -이 칩은 두 개의 요소 (ATA 나 SCSI 뭔가 드라이브 전자 groks에 명령을 변환 등) 다양한 내부 번역을 처리,웨어 레벨링과 같은 일을 많이 예전보다 더 복잡하고, 프로세서는 저렴 하고 빠르게 이전에 사용했던 것보다 다목적 코어를 드라이브에 척킹하는 것이 의미가 있습니다. 그러나 이러한 프로세서는 항상 존재합니다.

라우터를 사용하면 항상 밉 또는 암 코어가 있었으며 기본적으로 웹 서버 및 라우팅 등을 실행하기위한 전원이 필요합니다. 많은 네트워크 연결 드라이브는 비슷하거나 더 나은 코어를 사용하므로 smb 또는 관리 페이지와 같은 것을 처리 할 수 ​​있습니다.

수년 동안 키보드에는 많은 오래된 컴퓨터에서 볼 수있는 것과 동일한 M68K 프로세서가 있으며 멋진 조명과 같은 반응을 처리하는 팔 코어가있는 마우스가 있으며 더 빠른 반응을 보입니다.


키보드에 68K 마이크로 프로세서가 장착 된 적이 있습니까!? ST-225와 같은 드라이브에는 실제로 프로세서가 있습니까?
supercat

글쎄요, 이것은 4-5 년 전에 낡은 엉터리 패커드 벨 키보드 였고 당시에는 중고품이었습니다. 조금 놀랐습니다. ST 225는 IDE를 예정하고 있으므로 별도의 컨트롤러가 필요했습니다. 지난 15 년 정도의 기간 동안 PC에서 찾을 수있는 내용은 거의 고려하지 않았습니다.
Journeyman Geek

68HC05와 비교하여 68K입니까?
supercat

Re ST 225. MFM 드라이브는 기본 컴퓨터 CPU를 사용할 수있을 정도로 오래되었습니다. 드라이브 자체는 단지 드라이브 헤드 (들)로부터의 원시 신호, 트랙을 변경하기위한 신호, 트랙 변경 방향을위한 신호 (더 높은 트랙 또는 더 낮은 트랙으로) 및 트랙 제로를 나타내는 신호를 갖는 케이블을 갖는다. 에 도달했습니다. 모든 관리 (디스크 레이블에 인쇄 된 불량 섹터 추적 포함)는 기본 컴퓨터의 소프트웨어에서 수행되었습니다.
Hennes

5

또한 라우터에는 이제 프로세서도 있습니다. 왜 필요한가요? 어떤 종류의 패킷을 보낼지 알기 위해 패킷을 읽어야하는 논리가 필요하지만 왜 오래된 라우터에는 필요하지 않습니까?

라우터에는 항상 프로세서가 있습니다. 두 개의 원래 라우터는 PDP-11에서 실행되는 소프트웨어였습니다 (예, Unix가 원래 작성된 머신의 후속 버전). 하나는 스탠포드에서, 다른 하나는 MIT에서 개발되었습니다. Stanford 라우터는 나중에 Cisco Systems라는 소규모 신생 기업에 라이센스를 부여했습니다. 시스코는 PDP 컴퓨터를 맞춤형 인클로저에 재 포장하고 "Cisco"레이블에 걸고 라우터로 판매했습니다.

이것이 바로 오래된 라우터가 사용한 프로세서입니다.

Cisco의 창업자 중 한 사람이 인터뷰 한 내용을 읽은 것을 기억합니다. "소프트웨어를 금속 상자로 판매하는 것이 장점입니다. 내 google-fu가 오늘 나에게 실패하여 실제 견적을 찾을 수 없습니다. 마이크로 소프트라는 소규모 회사의 특정 설립자가 사람들에게 소프트웨어 비용을 지불해야한다고 설득하기 전 (이전 버전은 Basic의 초기 버전이었습니다).


4

컴퓨터 혁명이 시작된 이래로 모든 반 자율 장비에는 일종의 "프로세서"가있었습니다.

당신이보고있는 것은 세일즈맨이 점점 더 많은 사람들을 격려하고 그들이 쇼의 스타라고 믿게 만드는 열정적 인 마케팅 대행사에 의해 우리 사회를 통해 퍼져 나가는 지속적인 부패와 반 진실입니다. 이익.

문제의 사실은 이것이지만, 프로세스의 다음 반복이 이전 반복과 다를 수있는 일련의 작업을 수행 해야하는 것은 장치에 주어진 지침을 이해할 수있는 일종의 해석기를 가져야합니다. 그런 다음 지침에 따라 어떤 방식 으로든 반응합니다.

과거에는 "컨트롤러"와 같은 용어가 표준으로 사용되었지만 여전히 같은 문제로 사라졌습니다.

예를 들어 "온보드 IDE 컨트롤러가있는 IDE 하드 드라이브"를 예로 들겠습니다. 이것은 PC의 메인 보드에있는 CPU를 생각하는 것과 같은 의미의 CPU는 아니지만 결코 CPU의 형태는 아닙니다.

호스트 PC는 버스 (PCI, ISA, MCI, PCIe 또는 기타)를 통해 "OP 코드"(동작 코드에 대한 짧은)를 드라이브 컨트롤러로 전송하고 컨트롤러는이 코드와 함께 제공된 모든 데이터를 읽고 설정합니다. 그런 다음 드라이브가 헤드를 올바른 위치로 옮기고 요청 된 데이터를 읽도록합니다.

라우터는 더 오랜 역사를 가지고 있으며, 시스코는 지난 50 년 이상 최고의 네트워킹 네트워크를 구축했으며,이 장치들 각각은 항상 맞춤형 컨트롤러 / CPU를 가지고 있습니다. 이 CPU는 Cisco가 전체 범위 또는 라우터 및 스위치를 프로그래밍하고 제어 할 목적으로 명시 적으로 설계되었습니다.

그래픽 카드는 또 다른 것입니다. 사람들은 그래픽 만하는 신비로운 일처럼 사람들이 "GPU"라는 용어를 사용한다고 들었습니다. 그것은 엄청나게 평행 한 수학적 알고리즘 프로세서가 아니며, 나는 Nvidia CUDA에 관한 책에서 기술 편집을 마쳤습니다. 그리고 Nvidia GPU에 대해 배운 것은 오히려 놀랍습니다. 이것은 프로세서 자체입니다. 전문 작업 세트를 수행하도록 설계되었지만 여전히 반 지능형이며 다양한 유형의 작업이 가능합니다.

이미 지적했듯이 Netgear Readynas는 실제로 자체 PC의 풀 PC와 같습니다. 원격 저장 장치로만 작동하도록 특별히 설계되었습니다.

새로운 소프트웨어로 Netgear 장치를 재 프로그래밍하거나 웹 서버, 데이터베이스 서버 또는 소규모 Linux 개발 서버로 완벽하게 작동하게 만드는 것을 막을 수는 없습니다. (빠른 검색은 이러한 NAS 장치로 그러한 일을하려는 소수의 프로젝트 이상을 보여줍니다)

프로세서 측면에서 요즘 "프로세서"가있는 하드 드라이브가 아니라는 사실을 알고 놀랄 수도 있습니다.이 작은 실험을 해보십시오.

부엌에 서서 셀 수있는 CPU 수를 확인하십시오.

냉장고 / 냉동고, 세탁기, 식기 세척기, 오븐 및 전자 레인지 (최소한)에는 모두 일종의 프로세서가 있지만 기꺼이 Intel Core i7이 아닐 수도 있지만 여전히 프로세서입니다. 그리고 다른 전기 / 디지털 회로에 의해 전송 된 명령을 해석하여 조용히 앉아 설계 한 다음 물리적 인 동작으로 바꿉니다.

그렇다면 프로세서 정의는 무엇입니까?

요즘에는 고정하기가 약간 어렵지만 일반적으로 "프로세서"의 정의는 " 자체가 포함 된 유닛으로, 외부 입력에 대해 반 지능형 방식으로 작동하고 해당 입력에서 파생 된 알려진 출력 세트 "

따라서 사전 정의 된 입력 세트를 기반으로 알려진 프로세스의 물리적 표현에 영향을 줄 수있는 독립형 장치, 회로, 칩 또는 자율 기계는 가장 기본적이고 일반적인 의미에서 일부 설명의 프로세서로 간주 될 수 있습니다.


+1 이것이 좋은 추가 답변입니다. "1024 코어가 동시에 동일한 명령을 모두 수행합니다"라는 관점에서 GPU의 대규모 병렬화에 대해 읽고 싶었을 것입니다. 그러나 어쨌든 나는 당신의 대답을 좋아합니다 :)
Stefan

1
고마워 :-) GPU의 대규모 병렬 처리에 관심이 있다면 "CUDA Succintly"에 대한 Syncfusions free Ebook 범위를 주시하십시오.
shawty

4

하드 드라이브 및 플래시 미디어 카드는 항상 프로세서를 포함하지 않은 반면, 그들의 디자인은 아주 간단한 원칙이 적용됩니다 뭔가 한 프로세서가 데이터를 저장하고 검색하는 데 필요한 것을 알고있다. 저장 장치에 프로세서가 포함되어 있지 않지만 연결된 장치에 연결된 경우 하드웨어는 연결된 장치가 예상하는 정확한 단계를 사용하여 정보를 저장하고 검색 할 수 있어야합니다. 다른 방법으로 정보를 저장하고 검색하는 것이 더 효율적 일지라도 연결된 시스템이 정보를 알 수있는 방법이 없을 수 있습니다.

예를 들어, 대부분의 하드 드라이브는 디스크의 각 부분을 두 방향 중 하나로 자화하여 작동합니다. "L"이 특정 시간 동안 한 방향으로 자화를 나타내고 "R"이 같은 시간 동안 다른 방향으로 자화를 나타내는 경우 "L"을 사용하여 "1"및 " "0"을 나타내는 R "은 다음 두 가지 요인 때문에 매우 신뢰할 수 없습니다.

  1. 1 또는 0의 긴 문자열은 Ls 또는 Rs의 긴 문자열을 나타내며, 이는 약간 더 길거나 약간 더 짧은 줄로 오판 될 수 있습니다. 예를 들어, 데이터를 쓸 때보 다 데이터를 읽을 때 드라이브 모터가 5 % 느리게 실행되면 20L의 문자열로 쓰여진 내용이 21L의 문자열로 잘못 읽힐 수 있습니다.

  2. 적은 수의 R로 분리 된 2 개의 L의 스트링은 그 작은 스트링의 Rs로 확산되어 "퍼블릭"할 수있다. 마찬가지로 적은 수의 L로 분리 된 2 개의 R 스트링.

이러한 요인으로 인해 드라이브는 일반적으로 길이가 최대 값과 최소값 사이 인 L과 R로 정보를 코딩해야합니다. 최대 및 최소 길이에 대한 최적의 값은 전자 제품, 모터, 헤드 및 미디어의 품질에 따라 달라질 수 있습니다. 또한 디스크의 외부 트랙이 내부 트랙보다 길기 때문에 외부 트랙보다 짧은 L 및 R 실행을 저장할 수 있습니다.

정보를 드라이브에 저장하려면 미디어가 보유 할 수있는 L 및 R 문자열로 데이터를 변환하는 방법을 알고있는 무언가에 연결해야합니다. Ls 및 Rs 변환 작업이 드라이브 자체와 분리 된 컨트롤러의 책임 인 경우 드라이브는 연결된 컨트롤러에서 이해할 수있는 형식 만 사용해야합니다. 컨트롤러를 드라이브 어셈블리로 옮기면이 문제가 완화됩니다. 각 제조업체가 데이터 저장 방식을 이해할 수있는 컨트롤러와 함께 드라이브를 제공하면 다른 컨트롤러가 해당 데이터를 이해하는지 여부에 대해 걱정할 필요가 없습니다. 드라이브 어셈블리에 포함 된 컨트롤러에 의해 저장되고 검색됩니다.


3

사람들이 이미 설명했듯이 많은 주변 장치 / 장치에는 항상 핵심 기능을 제공하는 프로세서가 있으며 상대적으로 기본 라우터조차도 작은 서버입니다 (최종 사용자에게 가장 눈에 띄는 부분은 웹 기반 구성 마법사 일 것입니다. IP 스택, 웹 서버 등을 실행하는 프로세서).

그러나 최신 소비자 NAS는 그 이상입니다. 일반적으로 웹 브라우저를 통해 로그온 할 수 있으며 많은 응용 프로그램, 소프트웨어 패키지 관리 시스템, 미디어 파일 스트리밍을위한 여러 서비스, 자동 업데이트 실행, USB 포트에 연결된 다른 저장 장치 등 읽기 등 거의 모든 본격적인 데스크톱 환경 (GUI에 대한 일부 작업은 클라이언트 시스템과 분명히 공유되지만).


2

모든 하드 드라이브에는 항상 프로세서가 있습니다. 모든 라우터에는 항상 프로세서가 있습니다.

그래픽 카드에 프로세서가 있습니다. 항상 있습니다. 네트워크 인터페이스 카드에 프로세서가 있습니다. 항상 있습니다. 프린터에는 프로세서, 키보드, 마우스가 있습니다. 어떤 종류의 프로세서가없는 컴퓨터에 연결된 장치를 생각하기가 어려울 것입니다.

우리는 이러한 장치가 점점 더 많은 작업을하도록 요구하기 때문에 성능이 더 중요하기 때문에 더 많이 광고되고 있습니다.


2

컴퓨터 전자 장치에는 프로세서 없이도 그 역할을 수행 할 수있는 멍청한 장치가 거의 없습니다. 최소한 거의 모든 시간에 신호를 인 / 아웃해야합니다. 해당 신호가 다양하면 신호가 어떻게 변하는 지에 대한 규칙이 있어야하며 프로세서가 해당 규칙을 시행합니다.

질문에서 조금 더 멀어 지지만 모든 것이 강화되는 것은 프로세서 테마입니다. 80 년대에 나는 VAX / VMS 메인 프레임을 담당하는 sysadmin이었습니다.

우리는 고속, 고인 장 밴드를 치는 해머 뱅크를 구동 하는 매우 빠른 (잡음) 밴드 프린터 를 가지고있었습니다 . 나는 그것이 분당 600 라인 프린터라고 생각합니다. 그것은 점의 선이 아닌 132 개의 문자 선으로 완전히 형성됩니다.

해머가 밴드를 때리는 타이밍을 제어하기 위해 간단한 전자 회로가있었습니다. 이것은 밴드에 따라 다른 프로그램이 필요했습니다. 대문자 만있는 더 빠른 밴드를 가질 수 있습니다 (한 밴드에 여러 ASCII 세트).

해당 프로세서에 대한 프로그램은 프린터를 켤 때마다 연속 루프로 읽은 종이 테이프에 저장되었습니다 (예, 대부분 실행 시간이 남았습니다).

운영자가 프린터를 열심히 청소하고 종이 테이프를 찾았을 때만 알게되었습니다. 다행스럽게도 그는 종이 조각이 아니라 종이를 제거하려고하지 않았다는 것을 깨달았습니다.


2

하드 드라이브에 하드 드라이브에 프로세서가있는 경우 무엇을 의미합니까?

드라이브에 작은 CPU가 있음을 의미합니다. 일반적으로 CPU가있는 모든 장치에는 펌웨어가 있습니다.

어떻게 작동하고 어떤 이점이 있습니까?

컴퓨터 주변 장치는 복잡합니다. 예를 들어, 플로피 디스크 드라이브에 데이터를 읽고 쓰는 작업은 상당히 복잡합니다. 드라이브 헤드를 움직이는 하드웨어를 조작 한 다음 섹터 헤더를 찾아서 읽기 라인에서 들어오는 데이터가 프로토콜 등에 따라 의미가 있는지 확인해야합니다.

플로피 드라이브를 읽는 간단한 예를 들어 보겠습니다. 아마도 CPU가 외부 세계와 통신 할 수있는 가장 기본적인 방법은 I / O 포트를 통하는 것입니다. 이 포트는 마더 보드 또는 소켓의 라인에 연결됩니다. 전기가 라인을 통과하는 경우 포트를 읽을 때 포트의 CPU에 1이 표시되고, 그렇지 않으면 0이 CPU에 표시됩니다. 쓰기와 마찬가지로 CPU는 포트에 1을 써서 전기가 라인을 통과하도록하거나 0으로 설정하여 중지합니다.

플로피 드라이브의 경우 플로피의 읽기 / 쓰기 헤드에 연결된 선이 있다고 가정하겠습니다. 데이터를 읽으려면 "플럭스 역전"을 기다려야합니다. 기본적으로 자기 에너지의 이동으로 인해 라인이 0에서 1로 또는 1에서 0으로 이동합니다. 그런 다음까지의 시간을 추적해야합니다. 두 번째 플럭스 반전을 감지하고 섹터에 모든 비트가있을 때까지 계속 수행하고 측정 된 지속 시간을 합쳐 데이터를 재생성합니다. 이것은 심지어 드라이브 헤드를 움직이거나 드라이브 모터가 정상 속도에 도달하기를 기다리는 등의 작업에도 영향을 미치지 않으므로 지속 시간이 엉망이되지 않으며 두 개의 모터가 똑같지 않을 수 있으므로 실제로 필요한 것은 아닙니다. 어떻게 든 측정을 유연하게 할 수 있습니다.

잘만되면 그것이 복잡한 것처럼 들렸다.

따라서 일반적인 컴퓨터 CPU를 프로그래밍하여 그렇게 할 수 있지만 시간에 민감하기 때문에 컴퓨터 CPU는 실제로 진행되는 동안 다른 많은 작업을 수행 할 수 없습니다. 구형 Apple IIe와 같이 비용을 절약하기 위해 모든 CPU / 모든 소프트웨어에서 실제로 이와 같은 작업을 수행 한 구형 컴퓨터는 이러한 이유로 디스크를 읽거나 쓰는 동안 다른 작업을 수행 할 수 없습니다.

드라이브에 작은 CPU를 배치하고 실제로 통신 버스 인 마더 보드에 컨트롤러를두면 CPU가 다른 프로그램을 실행하고 버스를 사용하여 드라이브에 데이터를 가져 오거나 보낼 수 있으며 대부분의 물리적 로우를 오프로드 할 수 있습니다. 드라이브 자체의 수평 작업. 또한 기술이 향상됨에 따라이를 처리하기위한 저수준 프로그래밍이 드라이브에 남아있을 수 있으며 컴퓨터의 다른 내부 드라이브 형식으로 작동하도록 프로그램을 변경할 필요가 없습니다.

라우터와 관련하여 실제 하위 수준 라우팅 기능은 하드웨어에서 수행하기 어렵지 않으며 많은 엔터프라이즈 수준의 라우터가이를 수행하지만 방화벽, 포트 포워딩, 액세스 제어 및 웹 인터페이스 또는 콘솔과 같이 필요한만큼 복잡합니다. 그것을 할 CPU.

폰 노이만 머신 모델에는 스토리지에 프로세서가 포함되어 있지 않기 때문에 놀랍습니다.

폰 노이만 모델에는 주변 장치 자체가 폰 노이만 기계가 될 수 없다고 말하는 것은 없습니다. 주변 장치를 주변 장치로 만드는 것은 CPU가 일종의 버스 또는 다른 I / O 메커니즘을 통해 명령을 보내고 결과를 다시 얻을 수 있다는 사실입니다.


2

----이 페이지의 모든 답변이 너무 길었습니다 (또는 느꼈습니다).---그래서 하나를 추가하고 싶습니다 ...

  • 디스크에는 프로세서가 디스크의 "Spot"에서 "Spot"으로 이동하는 물리적 활동이 양호하기 때문에 반-어려운 작업이므로 프로세서가 있습니다.

  • 거리와 각 거리를 기준으로 "나쁜"또는 "느린"순서로 데이터를 읽거나 쓰면 데이터 전송 속도가 크게 느려질 수 있습니다.

이를 설명하는 가장 좋은 방법은 상점에서 일하고 가장 멀리 떨어진 곳에서 물건을 가져 가도록 지시하는 것입니다.

현명한 명령은 모든 경로를 선택하는 것입니다 = = 이것은 AHCI가 NCQ와 작동하는 방식입니다.

NCQ는 탐색을 더 잘 계획하기 때문에보다 지능적인 처리가 필요합니다.

이 작업을 수행하기 전에 PIO 또는 "프로세서 제어 ... 음 ... I / O라고 부릅니다. 1. CPU와 HDD 사이의 거리가 컴퓨터 용어로 광범위합니다. 느린 전송 2. CPU는 다른 것들을 할 필요가있다.

컴퓨터가 여기여기 에 파일을 요청합니다 . 디스크는 컴퓨터로 "HOW"를 가져옵니다.

... k 메신저 완료


당신이 설명하는 것을 엘리베이터 알고리즘이라고 합니다. 명령 큐잉 (예 : SATA NCQ)을 통해 CPU는 여러 명령을 그룹으로 드라이브에 보내므로 드라이브가 가장 효율적인 순서를 결정할 수 있습니다. 명령 대기열이 없으면 CPU는 다음 요청을 보내기 전에 드라이브가 각 요청을 처리 할 때까지 기다려야하므로 드라이브는 CPU가 요청을 보내는 순서대로 요청을 처리해야합니다. CPU가 디스크의 내부 물리적 레이아웃을 모르기 때문에 효율성이 떨어질 수 있습니다.
Wyzard

그러나 PIO 는 다릅니다. 이는 드라이브가 읽은 데이터를 수신하기 위해 CPU가 코드를 실행해야하는 모드이므로 비효율적입니다. 일반적으로 DMA로 대체되어 CPU가 다른 작업을 수행하는 동안 드라이브가 데이터를 RAM에 직접 저장할 수 있습니다.
Wyzard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.