목록전체 글 (382)
Priv's Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cO2xlk/btr6BThIeT5/oBwUcKmIpajaGX4EKkAiiK/img.png)
1. 장치 컨트롤러, 장치 드라이버 새로 산 프린터기를 컴퓨터에 연결했을 때 '장치 드라이버 마법사' 등의 프로그램이 자동으로 실행되는 모습을 보았을 것이다. 장치 컨트롤러, 장치 드라이버는 컴퓨터와 다양한 입출력장치들의 상호작용을 위해 필수적인 프로그램이다. 입출력장치는 종류가 굉장히 다양하고, 그 종류마다 속도, 데이터 전송 방식 등이 모두 제각각이다. 또한 외부 입출력장치들은 CPU, 메모리의 속도와 비교했을 때 압도적으로 속도가 느리다. 이를 '데이터 전송률이 낮다'라고 표현한다. 1.1) 장치 컨트롤러 장치 컨트롤러는 아래와 같은 역할을 담당하여 위에서 언급한 다양한 문제들을 해결해 줄 수 있다. CPU, 입출력장치 간의 통신 중계 오류 검출 데이터 버퍼링 장치 컨트롤러는 데이터 레지스터, 상태..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/813Tp/btr6AgQZllD/zhkYRlylxfw0EwEm1JwPi1/img.png)
1. 보조기억장치 보조기억장치의 종류는 실로 다양하다. CD, SD카드, 플로피 디스크, HDD, SSD 등이 그것이다. 1.1) HDD HDD는 하드 디스크 드라이브의 약자이다. 자기적인 방식으로 데이터를 저장하기 때문에 자기 디스크라고도 부른다. 플래터: 자기적인 방식으로 데이터가 기록되는 둥근 원판. 스핀들: 플래터를 회전시키는 구성 요소. RPM으로 속도를 나타낸다. 헤드: 플래터에 데이터를 읽고 쓰는 구성 요소. 일종의 바늘처럼 동작한다. 디스크 암: 헤드를 원하는 위치로 배치해 주는 구성 요소. HDD는 CD, LP에 비해 상당히 많은 양의 데이터를 기록하고 읽어야 하기 때문에 여러 겹의 플래터로 구성되어 있다. 또한 플래터는 양면으로 구성된다. 플래터와 헤드는 겹겹이 쌓여 있는 구조로 이루어..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/6G94d/btr5RSCxBXu/FL3bwXf6XazNkR8O2gzdYK/img.png)
1. RAM RAM은 대표적인 주기억장치에 해당하는 메모리이다. DRAM, SRAM, SDRAM, DDR SDRAM 등이 있다. 1.1) RAM의 특징 RAM은 휘발성 저장 장치에 해당하기 때문에 전원이 꺼지면 저장된 데이터들이 모두 지워진다. 이 단점 때문에 비휘발성 저장 장치에 해당하는 HDD, SSD 등의 보조기억장치를 별도로 사용하는 것이다. RAM은 주기억장치이기 때문에 CPU가 직접 접근할 수 있다. 그래서 일반적으로는 RAM에 실행할 대상을, HDD/SSD에는 보관할 대상을 저장한다. CPU가 실행할 대상이 보조기억장치에 있다면, 보조기억장치의 데이터를 복사해 RAM으로 가져와 실행한다. 1.2) RAM의 용량 및 성능 RAM의 성능을 결정하는 가장 기본적인 정보가 용량이다. RAM의 용량이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uuqC6/btr4yle54uk/CYUJ42TAODyvqB9Iid8ENK/img.png)
1. ALU와 제어장치 ALU는 CPU 내부에서 계산을 담당하고, 제어장치는 명령어를 읽고 해석하는 역할을 담당한다. 1.1) ALU ALU는 피연산자와 수행할 연산을 가지고 계산을 수행한다. ALU는 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들인다. 이렇게 받아들인 피연산자, 제어 신호를 가지고 ALU는 산술 연산, 논리 연산 등을 수행한다. ALU가 수행한 연산의 결과는 특정 숫자, 문자, 메모리 주소가 될 수도 있다. 이 값들은 일시적으로 레지스터에 저장된다. 이는 CPU가 메모리에 접근하는 속도보다 레지스터에 접근하는 속도가 압도적으로 빠르기 때문이다. ALU는 연산 결괏값과 함께 플래그를 내보낸다. 플래그는 연산 결과에 대한 추가적인 정보를 내..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/OaY8M/btr3kyzsZ4e/xhySzFOK00iNYeLKQ5heX0/img.png)
1. 소스 코드, 명령어 컴퓨터는 명령어를 읽어 동작한다. 우리는 C++, C#과 같은 프로그래밍 언어를 사용해 컴퓨터에게 내릴 명령들을 작성한다. 우리가 작성한 명령들은 '소스 코드'라고 부르며, 컴퓨터는 이 소스 코드를 컴파일러를 통해 명령어(기계어)로 변환하여 명령을 수행한다. 1.1) 고급 언어, 저급 언어 고급 언어: 사람이 이해하기 쉽게 작성된 프로그래밍 언어를 칭한다. 저급 언어: 컴퓨터가 이해하기 쉽게 작성된 프로그래밍 언어를 칭한다. 저급 언어보다 가독성이 높고 다루기가 쉽지만 저급 언어보다 상대적으로 속도가 느리다. 일반적으로 저급 언어는 기계어, 어셈블리어까지를 일컫는다. (C언어는 고급 언어에 해당) 저급 언어는 실행 속도가 고급 언어보다 상대적으로 빠르지만, 가독성이 낮고 다루기가..