목록Interview/Computer Science (11)
꿈꾸는 개발자의 블로그
자료구조란? 데이터를 표현하고 저장하는 방법이다. 즉, 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 배열 (Array) & 리스트 (List) 인덱스와 그에 대응하는 데이터들로 이루어진 자료 구조를 나타낸다. 정적으로 메모리 공간에 할당할 사이즈를 미리 정해놓고 사용하며, 이 때 각 원소의 주소는 연속적으로 할당된다. C나 Java 등의 언어에서는 Array, Python에서는 List에 해당한다. Python의 리스트는 동적 배열이라고도 하는데 그 이유는 리스트의 크기를 자동으로 조절하기 때문이다. 또한, 배열과 같이 값(Value)을 저장하는 게 아닌 각각의 값이 저장되어 있는 객체를 가리키고 있는 주소값을 가진다. 배열 (Array) 시간 복잡..
ARM 프로세서 ARM : Advanced RISC Machine ARM은 진보된 RISC의 약자로 임베디드 기기에 많이 사용되는 RISC 프로세서이다. 즉, CPU 디자인중 하나를 뜻한다. CPU 종류마다 명령어 세트가 있는데, ARM 같은 경우에는 RISC가 들어있다고 보면 된다. 인텔 CPU 경우엔 x86, x64(AMD64) 등의 명령어 세트가 있음 RISC : Reduced Instruction Set Computing (감소된 명령 집합 컴퓨팅) CISC의 단점으로 인한 발상의 전환으로 탄생했다. 거의 사용하지 않는 비효율적인 복합 명령어보다 컴파일러로 하여금 기본 명령어의 최적 조합을 이용하며, 많이 쓰는 기본 명령어를 기본으로 제공한다. RICS vs CISC 비교 구분 RICS CISC ..
컴퓨터에서 실수를 표현하는 방법은 고정 소수점과 부동 소수점 두가지 방식이 존재한다. 고정 소수점(Fixed Point) 소수점이 찍힐 위치를 미리 정해놓고 소수를 표현하는 방식이다. (실수 = 정수부 + 소수부) 장점 : 실수를 정수부와 소수부로 표현하여 단순하다. 단점 : 표현의 범위가 너무 적어서 활용하기 힘들다. (정수부는 15bit, 소수부는 16bit) ex) -3.141592는 부호(-)와 정수부(3), 소수부(0.141592) 3가지 요소 필요 부동 소수점(Floating Point) 지수의 값에 따라 소수점이 움직이는 방식을 활용한 실수 표현 방법이다. 즉, 소수점의 위치가 고정되어 있지 않다. (실수 = 지수부 + 가수부) 가수 : 실수의 실제값 표현/ 지수 : 크기를 표현함. 가수의 ..
캐시(Cache)란? 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 말한다. 캐시 메모리 (Cache Memory) CPU와 메모리 사이의 속도 차이를 줄이기 위한 고속 메모리이다. CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상시킨다. CPU에는 이러한 캐시 메모리가 2~3개 정도 사용된다. (L1, L2, L3 캐시 메모리) 속도와 크기에 따라 분류한 것으로, 일반적으로 L1 캐시부터 먼저 사용된다. (CPU에서 가장 빠르게 접근하고, 여기서 데이터를 찾지 못하면 L2로 감) L1 : CPU 내부에 존재 L2 : CPU와 RAM 사이에 존재 L3 : 보통 ..
컴퓨터 HW의 기본 구성요소 중 하나인 중앙처리장치(CPU)에 대하여 좀 더 자세히 알아보자! CPU의 동작 과정 주기억장치는 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램 읽어온다. CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고, 결과를 다시 주기억장치에 저장한다. 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보낸다. 제어장치는 1~3 과정에서 명령어가 순서대로 실행되도록 각 장치를 제어한다. 이처럼 CPU는 프로그램 실행하기 위해 주기억장치에서 명령어를 순차적으로 인출하여 해독하고 실행하는 과정을 반복한다. CPU가 주기억장치에서 한번에 하나의 명령어를 인출하여 실행하는데 필요한 일련의 활동을 명령어 사이클이라고 말하..