알고리즘 OT
·
CS/알고리즘
1. 공부하는 이유 성능 최적화: 물리 시뮬레이션 등 대규모 연산이 필요한 게임 개발에서 알고리즘의 효율성은 결과물의 퀄리티와 직결된다. 문제 해결의 도구함: 특정 상황에서 검증된 최적의 해결책을 알고 있다면, 바닥부터 고민할 필요 없이 정확한 설계가 가능하다. 논리적 사고 훈련: 복잡한 문제를 작은 단위로 쪼개고 단계별로 제어하는 훈련을 통해 견고한 코드를 짜는 힘을 기른다.2. 학습 로드맵 Step 1. 기초 다지기 - 수학 (알고리즘적 사고의 시작) Step 2. 그래프 탐색의 기초 - BFS, DFS (가장 핵심적인 탐색 도구) ..
Chapter 8. 입출력장치
·
CS/컴퓨터 구조
키보드, 마우스, 모니터와 같은 다양한 입출력장치들은 장치 컨트롤러와 장치 드라이버를 통해 컴퓨터 내부와 연결된다.장치 컨트롤러장치 컨트롤러는 다음과 같은 이유에 의해서 사용된다.- 입출력장치의 종류는 너무나 많기 때문에 정보를 주고받는 방식을 규격화하기 어렵다.- 입출력장치와 CPU의 데이터 전송률이 매우 많이 차이 난다.위와 같은 이유로 입출력 장치는 장치 컨트롤러라는 하드웨어를 통해 연결된다.따라서, 장치 컨트롤러의 역할은 다음과 같다.- CPU와 입출력장치 간의 통신- 중개오류 검출- 데이터 버퍼링이 중 데이터 버퍼링은 위에서 말한 CPU와 입출력장치의 데이터 전송률 차이를 완화하기 위한 기능으로, 버퍼링을 통해 데이터를 모았다가 한꺼번에 전송하거나, 데이터를 한 번에 많이 받아 조금씩 내보내는 ..
Chapter 7. 보조기억장치
·
CS/컴퓨터 구조
보조기억장치는 크게 하드디스크(Hard Disk Drive)와 플래시 메모리에 해당하는 SSD(Solid State Drive), USB 등가 있다. 하드디스크하드디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치로, 다음과 같은 요소를 가지고 있다.플래터(platter)0과 1의 역할을 수행하는 N극과 S극을 저장한다. 스핀들(spindle)플래터를 회전시키는 구성 요소로, 회전 속도는 RPM(Revolution Per Minute) 단위로 표현한다. 헤드(head)플래터를 대상으로 데이터를 읽고 쓰는 장치로, 디스크 암에 부착되어 있다. 디스크 암(disk arm)헤드를 원하는 위치로 이동시키는 장치이다. 플래터에는 트랙(track)과 섹터(sector)라는 단위로 데이터를 저장한다. 아래의 그..
Chapter 6. 메모리와 캐시메모리
·
CS/컴퓨터 구조
RAMRAM은 휘발성 저장 장치로, 용량이 적을 경우, 보조기억장치에서 실행할 프로그램을 가져오는 일이 잦아 성능이 낮아지게 된다. 이러한 RAM에는 DRAM, SRAM, SDRAM, DDR SDRAM이 있다. DRAM(Dynamic RAM)데이터가 동적으로 사라지는 RAM을 의미한다. 즉, DRAM은 시간이 지나면 저장된 데이터가 점차 사라지기 때문에 일정 주기로 데이터를 재활성화(다시 저장) 해야 한다. 이러한 단점이 있음에도 소비 전력이 낮고, 저렴하고, 집적도가 높기 때문에 대용량으로 설계하기 용이하여 일반적인 메모리로써 자주 사용한다. SRAM(Static RAM)데이터가 변하지 않는 RAM을 의미하며, DRAM과는 대조적이다. 그리고, SRAM은 DRAM보다 일반적으로 속도가 빠르다. 하지만 ..