목록전체 글 (127)
Written by coh at home
코테 준비를 하면서 문제를 푸는데 계속 에러가 나고 있었다. 나는 로직 분명 개잘짰는데 왜 에러가 날까..?문제가 된 부분ArrayList v = new ArrayList();for i = 0 ... i = n: v.add(1000);for i = 0... i = n: for j = i + 1 ... j = n: if (v.get(i) != v.get(j) continue;Integer를 비교하는 부분에서 자동으로 언박싱이 된다고 생각했는데 그게 아니었던 것이어따...객체끼리의 비교이므로 주소를 비교하는 로직이 된 것이었다... ㅜㅜ내 1시간 돌려내..언박싱이 되기 위해서는원시타입과 비교가 되어야 했던 것...!원시타입 그래서 저 문제를 해결하기 위해서는equ..

8장 입출력장치8-1 장치컨트롤러와 장치드라이버등장배경 : 각 입출력장치 별 데이터 전송 형식이나 속도(전송률)이 다름.→ 장치 컨트롤러를 통해 이런 문제를 해결하자장치컨트롤러CPU와 입출력장치 통신중개와 오류검출 → 데이터 전송 형식 맞춰줌데이터 버퍼 → 전송률을 맞춰줌장치 컨트롤러는 세 개의 레지스터를 갖는다.데이터레지스터 → 버퍼역할상태레지스터 → 상태정보제어레지스터 → 수행할 제어정보와 명령 저장장치드라이버장치컨트롤러를 제어하는 프로그램. 즉, 장치컨트롤러가 하드웨어고 장치드라이버는 소프트웨어.8-2 다양한 입출력 방법장치컨트롤러와 CPU가 데이터를 주고받는 방식. 총 세가지 방식을 학습. 프로그램입출력, 인터럽트 기반 입출력, DMA 입출력.프로그램 입출력프로그램 명령어 중 입출력 함수를 만나면..
6장 메모리와 캐시메모리6-1 RAM(Random Access Memory): volatile memory. ↔ 보조기억장치(non-volatile memory)RAM 은 실행할 프로그램을 저장하는 역할이다. 따라서 실행할 프로그램이 많다면 램의 크기는 클수록 좋다.렘의 종류DRAM(Dynamic) : 우리가 아는 RAM. 시간이 지나면 저장된 데이터 사라짐. 소비전력 낮고, 저렴하고 집적도가 높다.SRAM(Static) : 시간이 지나도 사라지지 않는다. 속도도 빠르다. 집적도 낮고, 소비전력 크고, 가격비싸다. → 캐시메모리로 사용.SDRAM(Synchronous) : 클럭마다 CPU와 정보를 주고 받을 수 있는 RAMDDR SDRAM(Double Date Rate) : 최근 사용되는 RAM. 대역폭..
4장 CPU작동원리4-1 ALU & 제어유닛ReviewCPU = ALU + 제어유닛 + 레지스터 명령어를 읽어들이고 해석하고 실행하는 장치.ALU : 연산수행제어유닛 : 명령어 해석, 제어신호레지스터 : 저장공간ALUInput : 연산자(제어신호), 피연산자(레지스터)Output : 연산결과(레지스터), 플레그(레지스터)Flag :오버플로우, 제로, 부호, 캐리제어유닛 : 명령어 해석, 제어신호 발생Input : 클럭, 플레그, 명령어, 제어신호 ← 제어버스Output : 제어신호CPU내부 : ALU 연산, 레지스터(명령어, 데이터)CPU외부 → 제어버스: 메모리, 입출력장치(보조기억장치 etc)4-2 레지스터8가지 레지스터프로그램 카운터 : 다음 읽을 명령어 주소 저장.명령어 레지스터 : 읽어온 명령어..

1장 인트로컴퓨터 구조를 배우는 이유에러 발생 시 근본적인 원인을 해결장비의 트레이드 오프를 계산무엇을 학습하는가컴퓨터의 7요소 : 데이터, 명령어, CPU, 메모리, 보조메모리, 입출력장치, 시스템버스프로그램 = 데이터와 명령어의 집합메모리 : 실행중인 프로그램의 데이터와 명령어를 저장CPU : 1.ALU(연산) 2.제어유닛(명령어 해석 → 메모리 읽기 / 쓰기 요청) 3.레지스터(임시 저장공간)보조기억장치 : 비휘발성 메모리.입출력장치 : 컴퓨터 외부의 장치(키보드, 마우스, 모니터)시스템 버스 : 1.데이터버스 2.주소버스 3.제어버스2장 데이터2-1 이진법비트: 0또는 1을 갖는 가장 작은 정보 단위바이트: 킬로, 메가, 테라, 등등 데이터의 크기 단위2의 보수: 1’s complement → +..