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

하드웨어

해시넷
Asadal (토론 | 기여)님의 2021년 1월 20일 (수) 22:39 판
이동: 둘러보기, 검색

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

개요

하드웨어는 연산, 기억, 입력, 출력, 제어의 다섯 가지 기능을 구현한다.[1] 그리고 하드웨어에는 중앙처리장치, 기억장치, 입출력장치로 구성되고, 각 장치는 시스템 버스로 연결되어 있다.[2]

구성

중앙처리장치

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

산술논리연산장치

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

제어장치

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

레지스터

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

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

하드웨어를 물리적으로 연결하여 데이터를 서로 주고받을 수 있게 하는 통로이다. 컴퓨터 내부의 다양한 신호가 시스템 버스로 전달된다. 하드웨어 구성 요소를 물리적으로 연결하는 선을 의미하며, 용도에 따라 데이터 버스, 주소 버스, 제어 버스로 분류된다.

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

기억 장치

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

메인 메모리

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

  • 디램(DRAM) : 전원이 공급되어 있어도 저장된 내용이 사라지기 때문에 리플래쉬(Reflash) 과정을 통해야만 데이터의 기억을 유지한다. 하지만 본체의 전원이 꺼지면 저장된 내용은 사라진다.
  • 에스램(SRAM) : 디램(DRAM)과 마찬가지로 전원이 공급되고 있으면 저장된 내용이 사라지지 않지만, 전원이 꺼지면 저장된 내용이 사라진다. 값이 비싸지만, 디램(DRAM)보다 속도가 빨라 캐시 기억장치로 사용된다.
  • (ROM) : 본체에 전원이 공급되지 않아도 저장된 내용을 그대로 유지한다.[11]
보조 기억장치

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

  • 플로피디스크 : 비휘발성 기억장치로, 읽기, 쓰기 및 삭제가 가능하다.
  • 하드디스크 : 비휘발성 기억장치로, 대용량이다. 보조기억장치 중 데이터의 처리속도가 가장 빠르며, 읽기, 쓰기 및 삭제가 가능하다. 운영체제, 하드웨어에 대한 정보와 각종 소프트웨어, 작업내용 등이 저장되어 있다.
  • 시디롬(CD-ROM): 레이저를 이용하여 데이터를 기억시키는 장치이며, 기억된 내용을 읽기만 할 수 있다. 시디(CD)에 데이터를 기록하기 위해서 장치가 추가로 필요하다.[11]
캐시 메모리

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

입출력장치

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

네트워크 장치

모뎀

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

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

마더보드

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

방화벽

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

취약점

멜트다운과 스펙터 버그가 하드웨어와 펌웨어의 취약점을 공격할 수 있다.

중앙처리장치 부채널 공격
  • 스펙터 변종 1 – CVE-2017-5753: 중앙처리장치의 캐시를 부 채널로 사용함으로써 다른 프로세스에 할당된 메모리 속 정보를 추출한다. 이 경우 하나의 프로세스가 다른 프로세스의 중요 정보를 유출할 수도 있을 뿐 아니라, 사용자 메모리와 커널 메모리 사이의 권한 경계를 우회할 수도 있다.
  • 스펙터 변종 2 – CVE-2017-5715: 변종 1과 같은 영향을 끼치지만, 분기 표적 주입법(branch target injection)이라는 기법을 사용한다. 이 변종 스펙터를 효과적으로 예방하기 위해서 CPU의 마이크로코드를 업데이트해야 한다.
  • 멜트다운 변종 3 – CVE-2017-5754: 멜트다운 버그는 불량 데이터 캐시 적재(RDCL) 또는 제3의 중앙처리장치 추측실행 기능 결함이라고도 불린다. 이 취약점을 이용하면 사용자 프로세스별로 설정된 보안 경계를 넘어 보호된 커널 메모리를 읽을 수 있다. 취약점 수정을 위해서는 운영 체제만 업데이트하면 된다. 민감한 정보를 가진 커널 메모리를 좀 더 엄격하게 분리하는 작업이 수반된다.[23]
디램 메모리 로우 해머 공격
  • 로우 해머: 에스디램(SDRAM) 칩 안에서 메모리 셀의 같은 행을 물리적으로 빠르게 여러 번 읽을 때 발생할 수 있는 물리적 효과이다. 이 효과를 해머링이라 불리기도 한다.
  • 드래머 – CVE-2016-6728: 드래머(Drammer)는 안드로이드 기기를 대상으로 이뤄지는 것으로 알려진 로우 해머 유형의 공격이다. 모바일 기기 내의 메모리칩은 드래머가 발견되기 전까지는 공격의 영향권에 있지 않다.
  • 플립 풍수(Flip Feng Shui): 가상 머신을 대상으로 한 로우 해머 공격이다. 악의적인 게스트 가상 머신은 물리적 메모리의 비트를 플립(flip)해 통제 상태에 있는 다른 가상 머신에 영향을 줄 수 있다.[23]

활용

알렉스넷

인공지능(AI) 알고리즘으로, 최초로 그래픽 처리 장치(Graphics Processing Unit, GPU)를 사용했다. 일반 중앙처리장치(CPU)를 사용하는 것보다 학습 능력이 50배나 빨랐다. 그래픽 처리 장치(GPU)는 게임을 할 때 쓰는 그래픽 카드에 내장된 그래픽용 중앙처리장치이다. 그래픽 카드는 많은 계산을 동시에 할 수 있다는 것이 알려져 있었지만, 그것을 인공지능 알고리즘에 계산에 활용할 수 있다는 것은 생각하지 못했던 부분이다.[24]

Q-PUF USB

인증 시 보안 위협을 해결할 양자 내성 알고리즘을 업그레이드 시켜 USB 형태의 보안토큰을 개발했다. 하드웨어 보안 기술인 물리적 복제 방지기능(PUF)과 양자 난수 발생기(QRNG)를 결합해 만들었다. 양자 난수를 이용해 응용서비스에서 사용하는 암호키를 생성하고 물리적 복제 방지기능을 이용하여 보호하기 때문에 높은 보안성을 제공한다.[25]

랜섬웨어 보안

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

오픈소스 하드웨어

하드웨어, 임베디드 개발은 환경 자체가 하드웨어와 컴퓨터를 인터페이스 하기 위한 부분이 필요하고, 하드웨어에 대한 지식을 갖추고 있어야 하므로 소프트웨어 개발보다 더 많은 정보와 지식이 필요하다. 대량 생산이 아닌, 개별적으로 몇 개의 제품만 만드는 개인 개발자들이 쉽게 접근하기에는 쉽지 않은 과정을 거쳐야 한다. 개발보드라는 형태로 보드에 필요한 부품이 사전 조립된 형태로 제공되는 하드웨어가 있다. 필요한 기능을 모듈 방식으로 연결해 사용한다. 이를 더 확장한 방식이 오픈소스 하드웨어이다. 누구나 배우고, 수정하고, 배포하고, 제조하고, 판매할 수 있도록 공개된 하드웨어이다. 즉, 개인이 하드웨어를 만들고, 이 하드웨어의 사용을 극대화하기 위해, 쉽게 구할 수 있는 부품과 재료, 표준 가공 방법, 개방된 시설, 제약 없는 콘텐츠, 그리고 오픈소스 디자인 툴을 사용하는 것이다.[27]

각주

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

참고자료

같이 보기


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