[컴퓨터구조] 입출력 기법
·
컴퓨터 과학/컴퓨터구조
1. 장치 컨트롤러, 드라이버더보기장치 컨트롤러는 CPU와 입출력장치 사이의 통신을 중개하는 하드웨어- 여기서 입출력 장치는 보조기억장치를 포함- 장치 컨트롤러내에 RAM이 존재하는 경우도 있음- 정보를 주고받는 방법으로 프로그램 입출력, 인터럽트 기반 입출력, DMA 입출력 존재 장치 드라이버는 장치 컨트롤러가 컴퓨터 내부의 정보를 주고받을 수 있도록 하는 프로그램1-1. 프로그램 입출력더보기프로그램 속 명령어로 입출력 작업을 수행하는 방법프로그램 입출력 방식1. 고립형 입출력 : 입출력장치, 메모리에 접근하는 주소를 별도의 주소 공간으로 간주하는 방식2. 메모리 맵 입출력: 메모리에 부여된 주소 공간의 일부를 입출력장치를 식별하기 위한 주소 공간으로 사용하는 방식 1-2. 인터럽트 기반 입출력더보기P..
[컴퓨터구조] RAID 기법에 대해서
·
컴퓨터 과학/컴퓨터구조
1. RAID더보기보조기억장치 데이터의 안전성, 성능을 확보하기위해 사용하는 기술 RAID를 구성하는 방법에는 여러가지가 있으며, RAID 레벨이라고 표현한다.RAID0, RAID1, RAID4, RAID5, RAID6 등이 존재한다.1-1. RAID0 (스트라이핑)더보기데이터를 여러 보조기억장치에 나누어 저장하는 방식 Stripe(스트라이프) : RAID0 기법으로 저장된 데이터장점 : 입출력 속도가 빠르다.단점 : 저장된 정보가 안전하지 않다.1-2. RAID1 (미러링)더보기복사본을 만들어 저장하는 방식 장점 : 복구가 간단하고, 안전성이 높다.단점 : 사용가능한 용량이 적어진다.1-3. RAID4더보기패리티 정보를 저장하는 디스크를 따로 두는 방식 패리티 : 오류를 검출할 수 있는 정보장점 : R..
[컴퓨터구조] 캐시 메모리에 대해서
·
컴퓨터 과학/컴퓨터구조
1. 캐시 메모리더보기CPU의 메모리 접근속도를 향상하기위해 탄생한 SRAM 기반의 저장장치이다. 캐시 메모리는 CPU가 사용할 법한 것을 저장한다. (자주 사용할 것으로 예상되는)캐시 메모리의 종류1. L1 캐시 → L1I 캐시(명령어 저장) + L1D 캐시(데이터 저장)2. L2 캐시3. L3 캐시크기 : L1 속도 : L3 L1, L2는 코어 내부에 L3는 코어 외부에 위치한다. 멀티코어 프로세서의 경우 L1, L2는 코어마다 고유한 캐시 메모리로 할당되고, L3 캐시는 여러 코어가 공유하는 형태로 구현된다.2. 캐시 히트, 캐시 미스더보기캐시 히트: 캐시 메모리에 저장된 데이터를 CPU가 사용하는 경우캐시 미스: 캐시 메모리에 저장된 데이터를 CPU가 사용하지 않는 경우캐시 적중률: 캐시가 히트되..
[컴퓨터구조] 빅 엔디안 vs 리틀 엔디안
·
컴퓨터 과학/컴퓨터구조
1. 빅 엔디안더보기낮은 번지의 주소에 상위 바이트부터 저장하는 방식이다. MSB(Most Significant Bit)는 숫자의 크기에 가장 큰 영향을 미치는 가장 왼쪽에 있는 비트를 의미하는데, 빅 엔디안은 MSB부터 저장해나가는 방식이다.빅 엔디안의 특징: 인간이 숫자를 읽고 쓰는 순서와 동일하기때문에 메모리 값을 직접 읽거나, 디버깅 할 때 편리하다 예를 들어, 192837821이라는 숫자가 있다고 하자. 인간은 1의 자리수부터 읽지 않고, 가장 큰 자리의 수부터 읽는데 이러한 점에서 빅 엔디안이 유사하다는 특징이 있다.2. 리틀 엔디안더보기낮은 번지의 주소에 하위 바이트부터 저장하는 방식이다. LSB(Least Significant Bit)는 숫자의 크기에 가장 적은 영향을 미치는 가장 오른쪽에..
[컴퓨터구조] RAM의 종류에 대해서
·
컴퓨터 과학/컴퓨터구조
1. RAM더보기현재 실행되고있는 프로그램에 대한 정보를 저장하는 장치이다. RAM의 특징1. 휘발성이기때문에 전원이 공급되지 않을 경우 저장하고 있던 정보가 지워지게 된다.2. RAM의 용량이 작으면, 보조기억장치에서 데이터를 가져오는 일이 잦아져 실행시간이 길어진다.3. Random Access Memory로 임의접근 or 직접접근이 가능하기때문에 데이터에 접근하는 시간이 동일하다.1-1. DRAM더보기시간이 지나면 저장된 데이터가 점차 사라지는 RAM이다. D가 Dynamic을 뜻하고, 이는 저장된 데이터가 동적으로 변하는 특성을 의미한다. 비교적 소비전력이 낮고 저렴하며 집적도가 높다는 특징이 있다.1-2. SRAM더보기시간이 지나도 저장된 데이터가 사라지지 않는 RAM이다. S가 Static을 ..
[컴퓨터구조] CPU의 성능을 높이는 방법
·
컴퓨터 과학/컴퓨터구조
1. 클럭더보기클럭은 컴퓨터의 부품을 움직일 수 있게 하는 시간의 단위이다.  CPU가 1초에 100번 반복될 수 있다면 이 CPU의 클럭속도는 100Hz이다. 최근에는 CPU 클럭속도가 굉장히 빠르기때문에 Gz 단위(10^9 Hz)로 측정한다. 하지만, 클럭속도가 매우 높은 경우 발열이 심해질 수 있기때문에 클럭만으로 CPU 속도를 높이기에는 한계가 있다.2. 멀티코어, 멀티스레드더보기코어란 CPU 내에서 명령어를 읽고, 해석하고, 실행하는 부품을 뜻한다. 멀티코어 CPU 혹은 멀티코어 프로세스는 CPU가 여러 개의 코어를 포함하고 있는 것을 의미한다.하드웨어 스레드하드웨어 스레드란 하나의 코어가 동시에 처리하는 명령어의 단위를 뜻한다. 여기서 말하는 스레드는 운영체제에서 사용하는 스레드(소프트웨어적인..
[컴퓨터구조] 동기, 비동기 인터럽트
·
컴퓨터 과학/컴퓨터구조
1. 인터럽트더보기CPU의 작업을 방해하는 신호를 의미한다. 동기 인터럽트(예외), 비동기 인터럽트(하드웨어 인터럽트)로 구분할 수 있다. 동기 인터럽트는 CPU에 발생하는 인터럽트로, 프로그래밍 오류와 같은 예외상황을 마주쳤을 때 발생한다.비동기 인터럽트는 입출력장치에 의해 발생하는 인터럽트로, 알림의 역할을 한다. 일반적으로 비동기 인터럽트를 인터럽트라고 지칭하지만, 하드웨어 인터럽트라고도 한다.1-1. 하드웨어 인터럽트더보기효율적으로 명령어를 처리하기위해 사용된다. 예를 들어 하드웨어 인터럽트를 사용하지 않는다면, CPU는 프린터의 작업이 언제 끝나는지 모르기때문에 주기적으로 프린터의 작업완료여부를 확인해야한다. 이처럼 처리할 데이터가 있는지 주기적으로 확인하는 것을 "폴링"이라고 지칭하고, CPU..
[컴퓨터구조] 레지스터의 정의와 종류
·
컴퓨터 과학/컴퓨터구조
1. 레지스터더보기CPU안에 있는 임시 저장장치이다.레지스터의 종류1. 프로그램 카운터2. 명령어 레지스터3. 범용 레지스터4. 플래그 레지스터5. 스택 포인터1-1. 프로그램 카운터더보기메모리에서 다음으로 읽을 명령어의 주소를 저장한다. 명령어 포인터라고도 불린다.일반적으로 1씩 증가하는 구조이지만, 조건문 혹은 리턴문을 실행하는 경우 프로그램 카운터의 값이 임의의 위치로 변경된다.1-2. 명령어 레지스터더보기메모리에서 방금 읽은 명령어를 저장하는 레지스터이다. 제어장치는 명령어 레지스터 속 명령어를 해석한 후 다른 부품으로 제어신호를 보내 작동시킨다.1-3. 범용 레지스터더보기다양한 상황에서 범용적으로 사용할 수 있는 레지스터이다. 데이터, 명령어, 주소 등을 저장할 수 있다.1-4. 플래그 레지스터..