검수요청.png검수요청.png

하드웨어

위키원
(H/W에서 넘어옴)
이동: 둘러보기, 검색

하드웨어(hardware)는 컴퓨터 시스템이 작동하는 데 필요한 물리적 구성 요소이다. 중앙처리장치(CPU), 모니터, 프린터, 메인보드, 메모리, 그래픽카드, 사운드카드 등이 있다. H/W 또는 HW라고 쓰기도 한다. 하드웨어에 반대되는 용어로 소프트웨어(Software)가 있다.

개요[편집]

'쇠붙이'라는 뜻을 가지고 있는 하드웨어는 컴퓨터의 중앙처리장치, 기억장치, 출력장치와 같은 전자장치 및 기계장치의 몸체 그 자체를 뜻한다. 하드웨어의 전자 부품은 컴퓨터에서 가장 중요한 중앙처리장치의 연산 및 제어회로, 기억장치, 출력장치의 제어와 판독 및 쓰기 회로 등에서 사용된다. 기계 부품은 대용량 기억장치와 출력장치에서 중요하며, 고정밀도의 강고한 것이 요구된다. 보통 컴퓨터를 구성하는 기계 장치의 몸체를 의미하는 하드웨어는 전화와 통신 네트워크 기반시설의 물리적인 측면을 나타내기 위한 집학적 의미로도 사용된다. 컴퓨터의 본체, 모니터, 키보드, 마우스, 프린터 등의 각종 기계장치와 디스크, 씨디 등의 소모품도 해당한다. 또한, 방송국의 각종 송수신 시설과 텔레비전 역시 하드웨어에 속하며, 카세트 플레이어와 음악 테이프 및 음악씨디 등도 하드웨어이다.[1]

특징[편집]

방화벽[편집]

전용 통신망에 불법 사용자들이 접근해 컴퓨터 자원을 사용하거나 또는 교란하여 중요한 정보를 외부에 유출하는 것을 방지하기 위해 만들어진 시스템이다. 하드웨어 방화벽은 물리적으로 독립된 형태로, 방화벽 자체 운영체제를 가지고 있어, 외부로부터의 공격에 대해 자체적으로 침입을 탐지 또는 차단에 대한 정책을 적용하기에, 서버에 과부하가 걸리지 않는다.[2] 하드웨어 방화벽의 경우 일반적인 컴퓨터용 중앙처리장치나 네트워크 처리 전용 NPU(Network Processing Unit)가 장착된 네트워크 장비의 형태로 공급된다. 네트워크 처리 전용 NPU는 일반 중앙처리장치보다 방화벽 관련 처리 속도가 빠르고, 보안 설정에 유연한 기능을 제공한다.[3]

하드웨어 웹방화벽은 아이피 서버 체크 및 장애 대응에 탁월한 아마존 루트53(amazon route 53) 기능과 결합했으며, 잠재된 공격에도 위치에 상관없이 최상의 보안을 유지할 수 있다. 해킹 공격 방어, 부정 로그인 차단, 도메인별로 보안 정책을 수립하는 것이 가능하다. 서버 부하가 없으며, 장애 우회 처리(Fail Over)를 통해 빠르고 안정적으로 실시간 장애 복구를 수행한다. 하드웨어 웹방화벽은 유지보수가 지원되기 때문에 전문 보안 인력이 없어도 안정적인 보안이 가능하며, 중소규모 기업들은 소프트웨어 웹방화벽보다 하드웨어 웹방화벽을 더 선호하는 추세이다.[4]

취약점[편집]

멜트다운과 스펙터 버그가 하드웨어와 펌웨어의 취약점을 공격할 수 있다. 2018년 1월에는 멜트다운과 스펙터라는 이름의 중앙처리장치 보안 버그를 발견하여 중앙처리장치 메모리를 커널 공간과 사용자 공간으로 분리한다는 운영체제 보안의 기본 개념에 결함이 생겼다. 이 보안 결함은 중앙처리장의 특징인 추측 실행에서 비롯되었다. 이 결함을 해결하기 위해서 중앙처리장치 제조사, 디바이스 제조업체, 운영체제 개발업체가 힘을 모아 큰 규모의 조정 작업을 진행하기도 했다. 또한, 학계와 민간 연구자들은 중앙처리장치와 기타 하드웨어 구성요소에서 이루어지는 로우 레벨 작동 과정을 연구하는 등 이전보다 더욱 많은 문제를 찾아낸 바 있다. 하드웨어의 보안 취약점 중에서는 하드웨어 칩에 내장된 펌웨어를 업그레이드하는 방법과 새로운 구성요소를 출시해야 개선할 수 있는 방법 등이 있다. 중앙처리장치 부채널을 공격하는 변종 버그는 스펙터 변종인 'CVE-2017-5753'와 'CVE-2017-5715'가 있으며, 멜트다운 변종인 'CVE-2017-5754'가 있다. 'CVE-2017-5753' 스펙터 변종은 중앙처리장치의 캐시를 부 채널로 사용함으로써 다른 프로세스에 할당된 메모리 속 정보를 추출한다. 이 경우에는 하나의 프로세스가 다른 프로세스의 중요 정보를 유출할 수도 있고, 사용자 메모리와 커널 메모리 사이의 권한 경계를 우회할 수도 있다. 'CVE-2017-5715' 스펙터 변종은 'CVE-2017-5753' 스펙터 변종과 같은 영향을 끼치지만, 분기 표적 주입법(branch target injection)이라는 기법을 사용한다. 이 변종 스펙터를 효과적으로 예방하기 위해서 중앙처리장치의 마이크로코드를 업데이트해야 한다. 멜트다운 변종인 'CVE-2017-5754' 버그는 불량 데이터 캐시 적재(RDCL)와 제3의 중앙처리장치 추측실행 기능 결함이라고도 불린다. 이 취약점을 이용하면 사용자 프로세스별로 설정된 보안 경계를 넘어 보호된 커널 메모리를 읽을 수 있다. 취약점 수정을 위해서는 운영 체제만 업데이트하면 된다. 민감한 정보를 가진 커널 메모리를 좀 더 엄격하게 분리하는 작업이 수반된다.

디램 메모리 로우 해머 공격은 에스디램(SDRAM) 칩 안에서 메모리 셀의 같은 행을 물리적으로 빠르게 여러 번 읽을 때 발생할 수 있는 물리적 효과이다. 이 효과를 해머링이라 불리기도 한다. 해머링을 당한 행의 셀에서 발생한 전하는 인접한 행으로 누출되면서 행에 있는 셀의 값을 변화시킬 수 있다. 비트 플립으로도 알려진 이 효과가 발생 가능한 이유는 DDR3와 DDR4와 같은 최신에스디램 칩의 셀 집적도가 증가했기 때문이다. CVE-2016-6728 드래머(Drammer)는 안드로이드 기기를 대상으로 이뤄지는 것으로 알려진 로우 해머 유형의 공격이다. 모바일 기기 내의 메모리칩은 드래머가 발견되기 전까지는 공격의 영향권에 있지 않다. 또한, 플립 풍수(Flip Feng Shui)는 가상머신을 대상으로 한 로우 해머 공격이다. 악의적인 게스트 가상머신은 물리적 메모리의 비트를 플립(flip)해 통제 상태에 있는 다른 가상머신에 영향을 줄 수 있다.[5]

구성[편집]

하드웨어 구성

중앙처리장치[편집]

중앙처리장치(CPU)는 컴퓨터의 두뇌 역할을 한다. 중앙에서 사용자들이 입력한 명령어를 해석, 연산한 후 그 결과를 제어하는 역할을 한다.[6] 주기억장치에서 프로그램 명령어와 데이터를 읽어 처리하고 명령어의 수행순서를 제어한다. 비교와 연산을 담당하는 산술논리연산장치(ALU)와 명령어의 해석과 실행을 담당하는 제어장치, 그리고 속도가 빠른 데이터 기억장소인 레지스터로 구성된다.

산술논리연산장치

두 숫자의 산술연산과 논리연산을 계산하는 디지털 회로이다. 산술연산 장치는 덧셈과 뺄셈 같은 사칙연산을 수행하고, 논리연산 장치는 논리곱(AND), 논리합(OR), 배타적 논리합(XOR), 부정(NOT) 등의 논리연산을 수행한다. 산술논리연산장치의 음수화하는 보수기(Complementer)는 데이터에 대하여 2의 보수를 취하며, 비트들을 좌우로 이동시키는 기능을 가진시프트 레지스터(Shift Register)가 있다.[7]

제어장치

주기억장치에 저장되어있는 프로그램의 명령어를 해석하고, 실행을 위해 제어 신호들을 차례대로 발생시킨다. 명령을 읽고 실행하는데 필요한 중앙처리장치 내부의 각 장치 간의 데이터 흐름을 제어한다. 데이터 연산을 위해, 적절한 회로를 동작시키고, 어느 장치 또는 레지스터에 전송할 것인가를 지시한다. 중앙처리장치의 명령어 수가 많을수록 제어장치 내부의 회로가 복잡해진다.[8] 제어장치에는 현재 실행중인 명령어의 내용을 기억하는 명령 레지스터가 있으며, 명령 레지스터에 있는 명령어를 해독하는 것을 명령 해독기(Decoder)라고한다. 또한, 제어신호 발생기 및 부호기(Encoder)는 해독된 명령에 따라 각 장치로 보낼 제어 신호를 생성하고, 제어 주소 레지스터(CAR)는 다음에 실행할 마이크로 명령어의 주소를 저장한다. 매핑(Mapping)의 결과값과 주소 필드, 서브루틴 레지스터의 내용들이 있다. 제어 기억장치로부터 읽혀진 마이크로 명령어 비트들을 일시적으로 저장하는 레지스터는 제어 버퍼 레지스터(CBR)이다. 제어장치에는 제어 기억장치가 있는데, 마이크로 명령어들로 이루어진 비트들을 일시적으로 저장한다. 또한, 마이크로 명령어의 실행 순서를 결정하는 회로인 순서 제어 모듈과 명령 해독기에 의해 선택된 번호에 해당하는 타이밍 신호를 생성하는 순차카운터(Sequence Counter) 기능도 있다.[9]

레지스터

용도에 따라 전용 레지스터와 범용 레지스터로 구분되고, 사용 용도에 따라 사용자 가시 레지스터(user-visible), 사용자 불가시 레지스터(user-invisible)로 구분할 수 있다. 저장하는 정보의 종류에 따라 데이터 레지스터, 주소 레지스터, 상태 레지스터로 나뉜다. 이밖에도 범용적으로 사용될 수 있는 레지스터인 전용 레지스터, 특수한 목적으로 사용하는 레지스터인 범용 레지스터, 연산 결과의 상태를 알려주는 플래그 비트가 모인 레지스터인 상태 레지스터 등이 있다.[10]

  • 사용자 가시 레지스터
데이터 레지스터, 주소 레지스터, 기준 주소 레지스터, 인덱스 레지스터, 스택 포인트 레지스터 등이 있다. 데이터 레지스터는 함수 연산에 필요한 데이터를 저장하고, 문자나 값 등을 저장하므로 산술연산이나 논리연산에 사용한다. 또한, 연산 결과로 플래그 값을 저장한다. 주소 레지스터는 유효 주소를 계산하는데 필요한 주소 일부분을 저장하며, 기준 주소 레지스터는 프로그램을 실행할 때 사용하는 기준 주소 값을 저장한다. 유효 주소를 계산하는 데 사용하는 주소 정보를 저장하는 레지스터는 인덱스 레지스터이며, 메모리에 프로세서 스택을 구현하는 데 사용하는 레지스터를 스택 포인터 레지스터라고한다. 스택 포인터 레지스터는 보통 반환 주소나 프로세서 상태 정보, 서브루틴의 임시변수를 저장한다.[11]
  • 사용자 불가시 레지스터
다음 실행할 명령어의 주소를 보관할 경우에는 프로그램 카운터(PC) 레지스터를 사용한다. 실행할 명령어를 메모리에서 읽으면 명령어의 길이만큼 증가하여 다음 명령어를 가리킨다. 명령어 레지스터(IR)는 현재 실행하는 명령어를 보관하는 레지스터이며, 데이터를 일시적으로 저장하는 데 사용되는 레지스터는 누산기(ACC)가 있다. 메모리 주소 레지스터(MAR)는 프로세서가 참조하려는 데이터의 주소를 명시하여 메모리에 접근하는 버퍼 레지스터도 있다. 또한, 프로세서가 메모리에서 읽거나 메모리에 저장할 데이터 자체를 보관하는 버퍼 레지스터를 메모리 버퍼 레지스터(MBR)라고 하며, 메모리 데이터 레지스터(MDR)라고도 불린다.[11]
시스템 버스

하드웨어를 물리적으로 연결하여 데이터를 서로 주고받을 수 있게 하는 통로이다. 컴퓨터 내부의 다양한 신호가 시스템 버스로 전달된다. 하드웨어 구성 요소를 물리적으로 연결하는 선을 의미하며, 용도에 따라 데이터 버스, 주소 버스, 제어 버스로 분류된다. 데이터 버스는 프로세서와 메인 메모리 및 주변 장치 사이에서 데이터를 전송한다. 기억장치와 출력장치의 명령어와 데이터를 중앙처리장치로 보내거나, 중앙처리장치의 연산 결과를 기억자치와 입출력 장치로 보내는 등 데이터를 주고받아야 하므로 양방향 버스이다. 또한, 주소 버스는 프로세서가 시스템의 구성 요소를 식별하는 주소 정보를 전송한다. 중앙처리장치가 주기억장치와 입출력 장치로 기억장치 주소를 전달만 하므로 단방향 버스이다. 주소 버스를 구성하는 배선 수는 메모리 최대 용량을 결정한다. 데이터를 정확히 실어 나르기 위해서는 기억장치 주소를 정해주어야 하며, 주소 선의 수가 많을수록 접근할 수 있는 기억 용량이 커진다. 예를들어, 주소 선의 수가 8비트이면 주소를 256개 지정할 수 있고, 16비트이면 65,536개를 지정할 수 있다. 마지막으로, 제어 버스는 주소 버스와 데이터 버스가 모든 장치에 공유되기 때문에 프로세서가 시스템의 구성 요소를 제어하는 데 사용된다. 제어 신호로 메인 메모리의 읽기나 쓰기 동작을 결정한다. 읽기와 쓰기 동작을 모두 수행하므로 양방향 버스이다. 기억장치 읽기 및 쓰기, 버스 요청 및 승인, 인터럽트 요청 및 승인, 클락, 리셋 등이 있다. 읽기 동작과 쓰기 동작을 모두 수행한다.[10]가기.png 중앙처리장치에 대해 자세히 보기

기억 장치[편집]

프로그램, 데이터, 연산의 중간 결과 등을 저장하는 장치로, 주기억장치와 보조기억장치로 나누어진다. (RAM)과 (ROM)도 여기서 나온다.[12]

메인 메모리

주기억장치로, 중앙처리장치 외부에 있다. 전원이 꺼지면 데이터가 날아가는 휘발성 메모리이지만 데이터 처리 속도가 빠르다. 중앙처리장치에서 즉각적으로 수행할 프로그램과 데이터를 저장하거나 처리한 결과를 메인 메모리에 저장한다. 출력장치도 메인 메모리에 데이터를 받거나 저장한다. 메인 메모리는 다수의 셀로 구성되며, 각 셀은 비트로 구성된다. 메인 메모리는 프로세서와 보조기억장치 사이에 있고, 디스크 입출력 병목현상을 해결하는 역할을 한다.[10][13]

  • 디램(DRAM) : 전원이 공급되어 있어도 저장된 내용이 사라지기 때문에 0.1초에서 0.5초 간격으로 자체 내장된 배터리에 의해 지속적으로 전원을 공급하는 리플래쉬(Reflash) 과정을 통해야만 데이터의 기억을 유지한다. 하지만, 본체의 전원이 꺼지면 저장된 내용은 사라지며, 비교적 회로가 간단하고 값이 저렴해서 주기억장치로 사용되고 있다. 컴퓨터를 통한 모든 작업이 저장되며, 입력되는 데이터 및 명령어와 연산처리된 결과 및 출력된 내용 등은 이곳에 저장된 후에 처리된다.
  • 에스램(SRAM) : 디램과 마찬가지로 전원이 공급되고 있으면 저장된 내용이 사라지지 않지만, 전원이 꺼지면 저장된 내용이 사라진다. 가격이 높아 디램보다 속도가 빠르며 캐시 기억장치로 사용되고, 마더보드에 장착할 수 있다. 중앙처리장치와 디램의 속도 차이를 줄이기 위해서 사용되며, 한 번 이상 작업된 내용은 이 곳에 저장되었다가 다시 작업할 경우에는 중앙처리장치가 데이터를 읽어 작업하여 속도가 더욱 빨라진다.
  • (ROM) : 본체에 전원이 공급되지 않아도 저장된 내용을 그대로 유지하며, 마더보드에 장착할 수 있다. 또한, 이 곳의 내용은 컴퓨터 제조회사에서 기억시킨다. 주로 부팅에 필요한 바이오스(BIOS)와 제어장치를 가동하는 제어프로그램 등이 기억되어 있다.[14]
보조 기억장치

불필요한 프로그램이지만 저장되어야 할 것들을 저장한다. 예전의 시디(CD)나 디브이디(DVD), 플로피디스크 등의 장치들로, 오프라인 저장매체는 보조기억장치라고 할 수 있다. 전원이 꺼져도 데이터가 날아가지 않는 비휘발성 메모리로 반영구적으로 데이터를 보관할 수 있다. 하지만 데이터 처리 속도가 느리다. 중앙처리장치와 직접적인 데이터 교환이 이루어지지 않는다. 가장 큰 이유는 접근시간이 오래 걸리기 때문이다. 보조기억장치는 데이터에 접근할 때 순차적 접근 방식을 이용한다. 또한, 대량의 정보를 저장하는 매체이기 때문에 정보를 찾으러 가는 길이 램(RAM)에 비해 길고 정보의 위치에 따라 거리가 달라진다.[13][15]

  • 플로피디스크(floppy disk) : 비휘발성 기억장치로, 읽기, 쓰기 및 삭제가 가능하다. 또한, 3.5인치 1.44MB의 디스크에서만 사용되고 있다. 그 이유는 디램에 저장된 간단한 작업내용을 영구적으로 보관하기 때문이다.
  • 하드디스크(hard disk) : 비휘발성 기억장치이며, 10GB에서 30GB 정도의 기억 용량은 가장 대용량이다. 보조기억장치 중 데이터의 처리속도가 가장 빠르며, 읽기, 쓰기 및 삭제가 가능하다. 운영체제, 하드웨어에 대한 정보와 각종 소프트웨어, 작업내용 등이 저장되어 있다.
  • 씨디롬(CD-ROM): 레이저를 이용하여 데이터를 기억시키는 장치이며, 기억된 내용을 읽기만 할 수 있다. 씨디에 데이터를 기록하기 위해서 장치가 추가로 필요하다. 또한, 일기와 쓰기가 모두 가능한 씨디가 출시되기도 했으며, 주로 각종 소프트웨어 음악과 영화 등의 데이터 저장에 사용된다.[14]
캐시 메모리

중앙처리장치의 내부 또는 외부에 있다. 처리 속도가 빠른 프로세서와 상대적으로 느린 메인 메모리의 속도 차이를 보완하고 데이터를 메인 메모리에서 블록 단위로 가져와 프로세서에 워드 단위로 전달하여 속도를 높인다.[10] 메모리 중에서 중앙처리장치와 가장 가까우므로 가장 빠르다. 캐시 메모리는 중앙처리장치가 필요한 데이터를 메인메모리에서 찾기 전에 캐시에서 먼저 찾는다. 캐시의 성능은 중앙처리장치가 찾으려는 내용이 많을수록 좋다. 데이터 접근이 시간적 및 공간적으로 가깝게 일어나는 것으로 시간적 지역성은 특정 데이터가 한 번 접근될 경우에 가까운 미래에 또 접근할 가능성이 큰 것을 뜻하고, 공간적 지역성은 특정 데이터와 가까운 주소가 순서대로 접근될 경우에 그 근처에서 접근할 가능성이 큰 것을 뜻한다.[13]가기.png 기억장치에 대해 자세히 보기

출력장치[편집]

출력장치는 주변기기라고도 불리며, 프로세서와 메인 메모리를 제외한 나머지 하드웨어의 구성요소이다. 컴퓨터 출력장치는 컴퓨터의 본체를 제외한 부분을 말한다. 예를 들어, 모니터, 키보드, 마우스, 프린터 등이 있다. 출력장치에는 크게 입력장치, 출력장치, 저장장치로 구성되어 있다. 입력장치는 컴퓨터에서 처리할 데이터를 외부에서 입력하는 장치이다. 대표적인 예로는 키보드, 마우스, 스캐너, 마이크 등이 해당한다. 출력장치는 입력장치에 의해 입력된 자료를 처리 장치에 의해 나온 결과를 화면이나 프린터로 출력하게 해주는 장치이다. 대표적인 예로는 모니터, 스피커, 프린터, 그래픽 카드 등이 해당한다. 저장장치는 메인 메모리와 달리 거의 영구적으로 데이터를 저장하는 장치이다.[11][16]가기.png 출력장치에 대해 자세히 보기

네트워크 장치[편집]

모뎀

가까운 거리에서는 모뎀이 없어도 자료를 주고받을 수 있지만, 거리가 멀어지면 디지털 파형의 특성상 전송되는 도중에 파형이 깨지는 현상이 발생하여 인식할 수 없다. 이를 디지털 신호를 아날로그 신호로 변조하여 보내고, 아날로그 신호를 받아 원래의 디지털 신호로 복조하는 것이 모뎀의 역할이다. 디지털 신호를 전송선에 보내면 신호 전달이 잘 안 되기 때문에 변조한다. 좁은 의미에서 개인용 컴퓨터와 전화선을 이어주는 주변기기이다. 모뎀을 크게 외형상 분류한 모뎀, 용도상 분류한 모뎀, 사용처에 따른 모뎀 등 세 가지로 나눌 수 있다. 외형상 분류한 모뎀에는 내장형, 외장형, 집합형 등의 모뎀이 해당한다. 내장형 모뎀은 개인용 컴퓨터 내부에 비어있는 ISA 버스나 혹은 PCI 버스에 장착되는 형태로, 전원을 이용하여 동작한다. 외장형 모뎀은 컴퓨터 외부에 설치하여 별도의 인터페이스 케이블로 컴퓨터의 직렬포트와 연결된다. 자체 전원 공급기가 있어 컴퓨터의 전원을 사용하지 않으며, 주로 신뢰성이 요구되는 네트워크나 컴퓨터 내부의 자원이 충분하지 못해 충돌이 발생하는 경우에 사용된다. 집합형 모뎀은 전산실과 전산센터 등 여러 대의 모뎀을 사용한다. 많은 양의 모뎀을 모두 단독형으로 사용하려면 많은 전원 콘센트와 넓은 공간이 필요하게 되는데, 이러한 불편을 해결하고자 여러 개의 모뎀을 선반 형태의 랙마운트 슬롯에 장착하여 사용하는 카트 형태의 모뎀이다. 용도상 분류한 모뎀에는 교환 회선이라고도 불리는 공중선 모뎀과 비교환 회선이라고 불리는 전용성 모뎀이 해당한다. 공중선 모뎀은 통신선의 전화국 쪽 끝단에 전화국의 교환기가 연결된 통신회선에 연결하는 모뎀으로 대부분 일반가정에서 사용하고, 전용선 모뎀은 통신선 및 통신 구간의 양 끝단에 24시간 고정적으로 연결하여 사용된다. 또한, 전용선 모뎀은 회사나 관공서에서 많이 사용된다. 사용처에 따른 모뎀에는 일반 모뎀인 원거리 모뎀과 인하우스 및 LDM 모뎀인 근거리 모델로 나뉜다. 원거리 모뎀은 일반적으로 거리 제한 없이 사용하는 전용선 또는 공중선의 모든 모뎀이다. 근거리 모뎀은 공장 내, 빌딩 내 등 주로 국선 통신선을 사용하지 않고, 근거리의 사설 통신선에서 사용되는 전용선 모뎀이다.[17][18]

(LAN)은 범위가 넓지 않은 일정 지역 내에서 다수의 컴퓨터나 사무 자동화(Office Automation) 기기 등을 속도가 빠른 통신선로로 연결하여 기기 간에 통신이 가능하도록 하는 근거리 통신망이다. 제한된 지역 내에서 통신이 가능하고, 광대역 전송 매체의 사용으로 고속 통신이 가능하다. 공유 매체를 사용하여 경로 선택 없이 연결된 모든 장치로 데이터를 전송한다. 랜은 토폴로지에 따라 버스형, 링형, 스타형, 계층형, 메쉬형 등의 형태로 구분할 수 있다.[19] 버스형(Bus Topology)은 확장성과 신뢰성이 좋고, 모든 노드가 T자형으로 연결되어있다. 케이블 사용량이 적어 투자 비용이 적게 든다. 링형(Ring Topology)은 통신 제어가 간단하고, 신뢰성이 좋다. 장거리 네트워크에서 사용할 수 있으며, 각 노드에서 신호 재생이 가능하기 때문에 거리 제약이 적고 잡음에 강하다. 스타형(Star Topology)은 중앙 제어 방식으로 문제 해결이 쉽다. 하나의 기기 고장이 전체에 영향을 미치진 않지만, 중앙 제어 장비가 고장 나면 모든 시스템에 영향을 미치게 된다. 또한, 케이블 사용량이 많아 비용이 많이 든다. 메쉬형(Mash Topology)은 네트워크상의 모든 컴퓨터가 연결된 형태로, 연결된 기기나 노드가 고장 나더라도 다른 경로를 통해 통신이 가능하다. 하지만, 네트워크에 연결된 기기의 수가 많으면 모든 기기와 연결해야 하므로 케이블 사용량이 많아지고, 구조 또한 복잡하여 네트워크 관리가 힘들어진다.[20] 마지막으로, 트리형(Tree Topology)은 계층형과 분산형이라고도 한다. 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결한다. 데이터는 양방향으로 모든 노드에 전송이 되고, 케이블 사용량이 적고, 네트워크 확장에 용이하다. 하지만 상위 노드에 문제가 생길 경우, 하위 노드에 영향이 미친다. 중앙 지점에서 병목 현상이 생길 수 있고, 중앙 지점에 고장이 나게 될 경우 네트워크가 마비될 수 있다.[14]

마더보드[편집]

메인보드(Mainboard)라고도 하며, 컴퓨터와 같은 전자적 장치에서 주회로가 내장된 보드이다. 마더보드(Motherboard)는 확장성이 있는 프로세스 제어 블록(PCB)을 가리키는 용어이고, 메인보드는 하나의 프로세스 제어 블록(PCB)으로 이루어진 확장성이 없거나 요구되지 않는 임베디드 시스템의 프로세스 제어 블록(PCB)을 가리키는 용어이다. 컴퓨터의 경우 마더보드라는 용어를 사용하는 것이 옳다. 시스템 보드(System Board), 애플에서는 로직 보드(Logic Board)로도 불린다. 마더보드에는 중앙처리장치, 마이크로프로세서, 보조프로세서, 메모리, 바이오스, 확장슬롯, 접속 회로 등의 부품들이 들어간다.[21][22]

활용[편집]

알렉스넷

인공지능은 다른 일반 프로그램과는 다르게 많은 연산을 해야 하며, 이 때문에 좋은 하드웨어를 필요로한다. 알렉스넷은 인공지능 알고리즘으로, 최초로 그래픽처리장치(GPU)를 사용했다. 당시 알렉스넷을 학습시키면서 2개의 그래픽처리장치를 사용하여 2주 정도의 학습시간이 주어졌다. 일반 중앙처리장치를 사용하는 것보다 학습 능력이 50배나 빨랐으며, 그래픽처리장치는 게임을 할 때 쓰는 그래픽 카드에 내장된 그래픽용 중앙처리장치이다. 그것을 인공지능 알고리즘에 계산에 활용할 수 있다는 것은 생각하지 못했던 부분이다. 결국, 인공지능을 사용하기 위해서는 그래픽처리장치라는 하드웨어를 구매해야 한다. 인공지능을 개발하는 텐서플로(Tensor Flow)와 파이썬(Python) 기반의 파이토치(PyTorch)에 연결해야하며, 연결이 되는 유일한 그래픽처리장치를 엔비디아(nVIDIA)에서 만들었다. 이에 대항해서 많은 소프트웨어가 나왔지만, 엔비디아의 탁월한 그래픽처리장치 성능과 소프트웨어 표준으로 인해서 인공지능 하드웨어 시장은 엔비디아가 거의 독식을 하고 있다. 이에 삼성전자㈜(Samsung)의 파운드리에서 엔비디아의 7나노 그래픽처리장치 칩 생산 계약을 체결하는 등 한국에서도 인공지능 하드웨어 분야에 관심을 두고 투자하고 있다.[23]

USB형 보안토큰

2020년 1월 19일, ㈜엘지유플러스(LG U+)는 양자컴퓨터의 공격을 막을 수 있는 양자내성암호(PQC) 기술을 USB에 담은 'Q-PUF USB' 보안토큰을 개발하여 디지털뉴딜 사업에 적용했다. 양자컴퓨팅시대에는 암호화통신을 수행할 대상을 인지하고 데이터가 조작되지 않았는지 검증하는 인증기술이 중요하다. Q-PUF USB는 ㈜아이씨티케이(ICTK)의 하드웨어 보안기술인 PUF(퍼프)와 양자난수발생기(QRNG)를 결합하여 만들었다. 양자난수를 이용하여 응용서비스에서 사용하는 암호키를 생성하고 물리적 복제 방지기능을 이용하여 보호하기 때문에 높은 보안성을 제공한다. 기존의 보안토큰은 관리자가 키 및 인증서를 주입하는 방법이었지만, Q-PUF USB는 인증서를 자체 하드웨어로 발급하고 발급된 개인키를 내부 보안 스토리지에 저장한다. 외부에 유출될 염려가 없어 보안성도 뛰어나다.[24]

랜섬웨어 보안

인텔(Intel)이 하드웨어 기반 보안 기술 '하드웨어 실드'와 위협탐지기술(TDT) 및 사이버리즌의 랜섬웨어 보안 기술을 결합하여 백신 앱 등 보안 소프트웨어가 접근할 수 없는 영역에 존재하는 멜웨어를 탐지한다. 하드웨어 실드는 바이오스(Basic Input/Output System)를 노리는 펌웨어 단계 공격을 보호해준다. 운영체제를 정상적인 하드웨어에서 실행할 수 있게 하고, 바이오스에서 메모리를 잠가 컴퓨터에 설치된 멜웨어가 운영체제를 손상하는 것을 막는다. 인텔 위협탐기지술(TDT)는 하드웨어 상태 정보와 머신러닝을 활용해 다형성 멜웨어, 파일리스 스크립트, 크립토마이닝, 랜섬웨어 감염 등 사이버 공경 행위를 실시간으로 탐지한다.[25]

오픈소스 하드웨어

하드웨어, 임베디드 개발은 환경 자체가 하드웨어와 컴퓨터를 인터페이스 하기 위한 부분이 필요하다. 하드웨어에 대한 지식을 갖추고 있어야 하며, 소프트웨어 개발보다 더욱더 많은 정보와 지식이 필요하다. 또한, 대량 생산이 아닌 개별적으로 몇 개의 제품만 만드는 개인 개발자들이 쉽게 접근하기에는 쉽지 않은 과정을 거쳐야 한다. 개발보드라는 형태로 보드에 필요한 부품이 사전 조립된 형태로 제공되는 하드웨어가 있고, 필요한 기능을 모듈 방식으로 연결해 사용한다. 이를 더 확장한 방식이 오픈소스 하드웨어(OSHW)이다. 누구나 배우고, 수정하고, 배포하고, 제조하고, 판매할 수 있도록 공개된 하드웨어이다. 즉, 개인이 하드웨어를 만들고, 이 하드웨어의 사용을 극대화하기 위해, 쉽게 구할 수 있는 부품과 재료, 표준 가공 방법, 개방된 시설, 제약 없는 콘텐츠, 그리고 오픈소스 디자인 툴을 사용하는 것이다. 오픈소스 하드웨어는 어떠한 제품과 똑같은 모양, 기능을 가진 제품을 만드는 데 필요한 모든 것을 대중에게 공개한 전자제품이다. 회로도, BOM, 인쇄회로기판, 개발 환경 등이 해당하며, 이들을 공개하여 활용할 수 있도록 허락한 제품이 오픈소스 하드웨어이다. 물리적인 제품을 만들기 위해서는 물리적인 자원의 투입이 반드시 필요하다는 점에서 하드웨어는 소프트웨어와는 다르다. 오픈소스 하드웨어 라이선스에 따라 제품을 생산하는 개인이나 회사는 이런 제품이 원래의 설계자가 제조, 판매, 보증, 승인된 것으로 암시하는 것을 표시하지 않을 의무가 있고, 원래 설계자가 소유한 상표를 사용하지 않을 의무가 있다. 오픈소스 하드웨어 연합(OSHWA)은 오픈소스 하드웨어 인증을 받은 246개의 프로젝트의 리스트를 제공하고 있다. 여기에는 3D 프린팅, 예술, 교육, 전자제품, 사물인터넷(IoT), 과학, 로보틱스, 항공우주, 웨어러블 등 다양한 분야에서 사용된다. 오픈소스 하드웨어의 시초라고 할 수 있는 아두이노는 2005년 이탈리아의 디자이너들이 개발한 제품이다. 또한, 보드를 만들기 위한 회로와 BOM 및 아두이노 통합 개발 환경인 통합 개발 환경(IDE)은 모두 활용이 가능한 완벽한 오픈소스 하드웨어이다. 다양한 업체에서 보드를 개발 및 제공하고 있다. 수많은 용도로 사용됨에 따라 아두이노에 장착할 수 있는 모듈인 쉴드의 종류도 다양해졌다. 온도, 습도, 지자기, 가속도, 자이로스코프, GPS, 와이파이, 블루투스 등 원하는 거의 대부분의 기능을 확장할 수 있는 수준이다.[26]

각주[편집]

  1. IT문화원강좌, 〈1.1.하드웨어와 소프트웨어의 구분〉, 《아이티문화원》
  2. 에이원네트웍스, 〈왜 하드웨어 방화벽을 사용해야만 하는가?〉, 《티스토리》, 2016-02-03
  3. 이문규, 〈(IT강의실) 네트워크를 지키는 최후의 보루 - 방화벽〉, 《아이티동아》, 2015-05-11
  4. 원병철 기자, 〈가비아, “고성능 하드웨어 웹방화벽이 10만 원대”〉, 《보안뉴스》, 2016-12-23
  5. Lucian Constantin, 〈하드웨어 및 펌웨어 취약점 33가지와 위협 가이드라인〉, 《아이티월드》, 2021-01-14
  6. 라임, 〈CPU란?/CPU 종류/CPU 고르기/중앙처리장치/인텔 CPU 고르기〉, 《메이크셰어》, 2017-01-09
  7. 지쳐가는 베베, 〈산술논리연산장치 ALU(Arithmetic and Logical Unit)〉, 《티스토리》, 2017-08-19
  8. Control Unit 제어 장치〉, 《정보통신기술용어해설》, 2020-10-31
  9. 코딩팩토리, 〈(H/W) 중앙처리장치(CPU)란 무엇인가? CPU의 구조 총정리〉, 《티스토리》, 2019-04-24
  10. 10.0 10.1 10.2 10.3 Jang Wonit, 〈(운영체제)1. 컴퓨터 하드웨어의 구성〉, 《티스토리》, 2019-12-07
  11. 11.0 11.1 11.2 운영체제-컴퓨터 하드웨어의 구성(CPU, RAM등)〉, 《티스토리》, 2019-07-22
  12. 안경잡이개발자, 〈컴퓨터의 구조를 설명해줄게!〉, 《티스토리》, 2016-06-08
  13. 13.0 13.1 13.2 (하드웨어기초) CPU와 메모리〉, 《티스토리》, 2020-04-15
  14. 14.0 14.1 14.2 하드웨어의 이해〉, 《위티쳐》
  15. 사용자 여름에 난로, 〈보조기억장치는 무엇일까? 여러 종류의 보조기억장치들〉, 《티스토리》, 2019-11-20
  16. 야무야무, 〈컴퓨터의 5대장치〉, 《네이버 블로그》, 2015-03-01
  17. 코리아맨, 〈모뎀(Modem) 이란?〉, 《다음 카페》, 2004-10-29
  18. 모뎀〉, 《위키백과》
  19. 네트워크 시스템〉, 《지수정보통신》
  20. 코딩팩토리, 〈(Web) LAN(근거리 통신망)이란 무엇인가?〉, 《티스토리》, 2019-04-12
  21. 메인보드〉, 《위키백과》
  22. 메인보드〉, 《두산백과》
  23. 김준배 기자, 〈(장동인의 AI와 일하는 법) 인공지능과 하드웨어 시장〉, 《아이티조선》, 2020-06-24
  24. 여용준 기자, 〈LGU+, 산업,의료 현장에 양자내성암호 기술 적용〉, 《글로벌이코노믹》, 2021-01-19
  25. 김윤희 기자, 〈인텔, 하드웨어 기반 '랜섬웨어 보안' 기능 내놨다〉, 《지디넷코리아》, 2021-01-14
  26. 신동윤 기자, 〈오픈소스 하드웨어 시장의 견인자 ‘IoT의 확산’〉, 《테크월드》, 2019-02-13

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 하드웨어 문서는 하드웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.