본문 바로가기

분류 전체보기

(16)
[3주차] Chapter 08. 장치 컨트롤러, 장치 드라이버, 다양한 입출력 방법 Chapter 08 입출력장치 08-1 장치 컨트롤러와 장치 드라이버 1. 장치 컨트롤러 ① 장치 컨트롤러(device controller) -입출력장치의 종류가 다양하여 정보를 주고받는 방식을 규격화할 수 없고, CPU와 전송률(transfer rate, 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표)이 비슷하지 않아 통신이 어렵기 때문에 입출력장치는 컴퓨터에 직접 연결되지 않고 장치 컨트롤러를 통해 연결된다. -입출력 제어기(I/O controller), 입출력 모듈(I/O module) 등 다양하게 불린다. -장치 컨트롤러의 역할 : CPU와 입출력장치 간의 통신 중개, 오류 검출, 데이터 버퍼링 ② 데이터 버퍼링 -버퍼링(buffering) : 전송률에 차이가 나는 장치 사이에 주고받는 ..
[3주차] Chapter 07. 하드 디스크, 플래시 디스크, RAID Chapter 07 보조기억장치 07-1 다양한 보조기억장치 1. 하드 디스크(HDD; Hard Disk Drive) ① 하드 디스크 -자기적인 방식으로 데이터를 저장하는 보조 기억장치로, 자기 디스크(magnetic disk)의 일종으로 지칭하기도 한다. ② 하드 디스크의 구성 -플래터(platter) : 하드디스크에서 실질적으로 데이터가 저장되는 곳, 자기 물질로 덮여서 N(0)극과 S(1)극을 저장한다. -스핀들(spindle) : 플래터를 회전시키는 구성 요소, 스핀들이 플래터를 돌리는 속도는 RPM(Revolution Per Minute, 분당 회전수) 단위로 나타낸다. -헤드(head) : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소, 디스크 암에 부착되어 있다. -많은 양의 데이터 저장을..
[3주차] Chapter 06. RAM, 메모리 주소, 캐시 메모리 Chapter 06 메모리와 캐시 메모리 06-1 RAM의 특징과 종류 1. RAM의 특징 ① 휘발성 저장 장치(volatile memory) -전원을 끄면 저장된 내용이 사라진다. ex) RAM ② 비휘발성 저장 장치(non-volatile memory) -전원을 꺼도 저장된 내용이 유지된다. ex) 하드 디스크, SSD, CD-ROM, USB 메모리와 같은 보조기억장치 ③ RAM과 보조기억장치의 활용 -CPU는 보조기억장치에 직접 접근할 수 없다. →비휘발성 저장 장치(보조기억장치)에 '보관할 대상', 휘발성 저장 장치(RAM)에 '실행할 대상'을 저장 →CPU가 실행하고자 하는 프로그램이 비휘발성 저장 장치에 있다면, RAM에 복사, 저장 후 실행한다. 2. RAM의 용량과 성능 ① RAM의 용량 ..
[2주차] Chapter 05. 클럭, 멀티코어, 멀티스레드, 명령어 병렬 처리 기법, CISC, RISC Chapter 05 CPU 성능 향상 기법 05-1 빠른 CPU를 위한 설계 기법 1. 클럭 ① 클럭 속도 -1초에 클럭이 몇 번 반복되는지를 나타내는 헤르츠(㎐) 단위로 측정하며, CPU 속도 단위로 간주되기도 한다. 1㎓=10⁹㎐ 컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직이고, CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어들을 실행한다. = 클럭 신호가 빠르게 반복된다면, 명령어 사이클도 빨라진다. -클럭 속도는 일정하지 않다. 기본 클럭 속도(Base)와 최대 클럭 속도(Max)가 있고 필요한 성능에 따라 유연하게 조절한다. -오버클럭킹(overclocking) : 최대 클럭 속도를 강제로 더 끌어올리는 기법 -클럭 속도 만으로 CPU의 성능을 올리는 것에는 한계가 있다. ..
[2주차] Chapter 04. ALU, 제어장치, 레지스터, 명령어 사이클, 인터럽트 Chapter 04 CPU의 작동원리 04-1 ALU와 제어장치 1. ALU ① ALU -컴퓨터 내부에서 수행되는 대부분의 계산을 하는 부품 ②ALU가 받아들이는 정보 -레지스터로부터 계산에 필요한 피연산자를 받아들인다. -제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들인다. ③ ALU가 내보내는 정보 -결괏값(특정 숫자, 문자, 메모리 주소)을 레지스터에 우선 저장한다. CPU가 메모리에 접근하는 속도는 느리고, 모든 결괏값을 메모리에 저장하게 되면 CPU가 메모리에 접근하는 횟수가 늘어나 프로그램 성능 저하가 일어날 수 있기 때문이다. - 플래그(flag, 연산 결과에 대한 추가정보, Chapter 02-1 2.②-1 항목 아래에 한 번 나온 적 있다.)를 플래그 레지스터라는 레지스터에 저장..
[1주차] Chapter 03. 소스 코드, 명령어, 명령어 구조 Chapter 03 명령어 03-1 소스 코드와 명령어 1. 고급 언어와 저급언어 ① 고급 언어(high-level programming language) -사람을 위한 언어 (사람이 읽고 쓰기 편하며, 더 나은 가독성, 편리한 문법 제공 덕분에 복잡한 프로그램을 구현할 수 있다) -대부분의 프로그래밍 언어가 고급 언어에 속한다. -고급 언어로 작성된 소스 코드는 반드시 저급 언어(명령어)로 변환되어야 실행이 가능하다. ② 저급 언어(low-level programming language) -컴퓨터가 직접 이해하고 실행할 수 있는 언어 (프로그래머에게 작성의 대상이자 관찰의 대상, 프로그램의 작동 절차를 추적하고 관찰할 수 있다) -명령어로 이루어져 있다. -저급 언어에는 기계어와 어셈블리어 두 가지가 ..
[1주차] Chapter 02. 이진법, 십육진법, 아스키코드, 유니코드 Chapter 02 데이터 02-1 0과 1로 숫자를 표현하는 방법 1. 정보 단위 1kB는 1,024byte, 1MB는 1,024kB는 잘못된 관습이다. 이전 단위를 1,024개 묶어 표현한 단위는 KiB, MiB, GiB, Tib이다. ① 비트(bit) -컴퓨터가 이해하는 가장 작은 정보 단위(0,1) -n비트는 총 2^n가지 정보를 표현할 수 있다. ② 바이트(byte) -1비트를 8개 묶은 단위 -1바이트=8비트=2^8=256개의 정보 ③ 킬로바이트(kB; kilobyte) -1바이트를 1,000개 묶은 단위 ④ 메가바이트(mB; megabyte) -1킬로바이트를 1,000개 묶은 단위 ⑤ 기가바이트(GB; gigabyte) -1메가바이트를 1,000개 묶은 단위 ⑥ 테라바이트(TB; teraby..
[1주차] Chapter 01. 컴퓨터 구조, 데이터, 명령어 Chapter 01 컴퓨터 구조 시작하기 01-1 컴퓨터 구조를 알아야 하는 이유 1. 문제 해결의 측면 문제 상황 분석과 해결을 보다 더 빠르게 할 수 있다. 더보기 이는 학교에서 프로그래밍 및 실습 과목을 들을 때 많이 느꼈던 부분이다. 자바를 배울 때, 교수님께서 실무에서도 자주 발생하는 일이라고 언급하신 race condition이 발생하는 이유와 원리에 대한 이해가 없으면 과제를 수행할 수가 없었다. 이 외에도 대표적으로 컴퓨터가 어떻게 데이터를 받아들이고 처리하는지, 어떤 순서로 처리를 하는지 알아야 프로그래밍 언어도 배우기 쉽다고 느꼈다. 2. 성능, 용량, 비용의 측면 웹사이트, 프로그램 등의 요구사항을 정확하게 알고 개발할 수 있다. 더보기 아직 구체적인 사항을 요구하는 웹사이트나 프로그..