CS 105

컴퓨터 구조론 6장 [보조저장장치-하드 디스크]

하드 디스크의 원래 명칭은 자기적 하드 디스크(magnetic hard disk)이며, 간단히 디스크로 부르기도 한다.디스크는 자화될 수 있는 물질(magnetizable material)로 코팅된 플라스틱이나 금속을 이용한 원형 평판(circular platter)으로 만들어 지는데, 그 평판 위에 헤드(head)라고 불리는 전도성 코일을 통하여 표면을 자화시킴으로써 데이터를 저장하게 된다.헤드는 디스크에 저장된 데이터를 읽을 때도 사용된다. 디스크의 표면에는 여러 개의 동심원들이 존재하는데, 이 원들을 트랙(track)이라고 부른다.데이터들은 트랙 위에 저장되며, 헤드가 그 트랙을 지나가는 동안에 데이터가 저장되거나 인출된다.트랙 상에 데이터를 저장하는 동작을 디스크 쓰기(disk write)라고 한..

컴퓨터 구조론 5장 [기억장치-차세대 비휘발성 기억장치]

EROM이나 플래시 메모리는 비휘발성이라는 큰 장점을 가지지만 액세스 시간, 특히 삭제 및 쓰기 시간이 다른 반도체 기억장치들에 비해 매우 길다는 결점을 지니고 있다.반면 DRAM은 속도가 빠르지만 휘발성이라는 큰 단점을 가지고 있다.만약 비휘발성의 특징을 가지면서 읽기, 쓰기 속도도 높은 기억장치가 출현한다면 컴퓨터 시스템에 많은 도움이 될 것이다.현 시점에서 실용화가 가능할 것으로 예상되는 기억장치는 PRAM, FRAM 및 MRAM이 주목을 받고 있다.이들은 비휘발성의 특징을 가지면서도 플래시 메모리에 비하여 액세스 속도가 1000배 정도 더 빠르다. DRAM보다 속도는 느리지만, 집적도는 별 차이가 없으며, 전력 소모가 더 적다는 장점을 지니고 있다.PRAM(Phase-change RAM)화합물 반..

컴퓨터 구조론 5장 [기억장치-DDR SDRAM]

CPU 반도체 기술의 발달과 내부 구조의 개선을 통해 속도가 계속 높아지지만, 기억장치의 속도는 그 상승률을 따라기지 못하고 있다. 주기억장치로 사용되어 온 DRAM은 집적도가 높아져 칩 당 용량은 증가하고 있지만, 액세스 속도는 CPU에 비하여 현저히 떨어지고 있다. 특히, 동영상 처리나 음성/영상 압축 등과 같은 대규모 데이터가 연속적으로 CPU와 주기억장치 사이에 전송되어야 하는 최근의 컴퓨터 응용 환경 속에서, 주기억장치 속도로 인한 성능 병목(performance bottleneck)은 반드시 해결되어야 할 문제이다.이 문제점을 극복하기 위해 개발된 여러가지 기술가장 먼저 출현한 성공적인 제품 : 전통적인 DRAM 칩 내부 조직의 개선과 함께 CPU와의 데이터 전송 방식을 변경한 SDRAM이다...

컴퓨터 구조론 5장 [기억장치- 교체 알고리즘, 쓰기 정책, 다중 캐시]

교체 알고리즘캐시 미스가 발생하여 새로운 블록이 주기억장치로부터 캐시로 올라왔을 때 그 블록이 적재될 수 있는 라인들이 이미 다른 블록들로 채워져 있다면, 그 블록들 중 하나가 교체(replace)되어야 한다.직접 사상에서는 새로운 블록이 적재될 수 있는 라인이 하나뿐이기 때문에 선택의 여지가 없다. 완전-연관 사상과 세트-연관 사상에서는 적절한 교체 알고리즘이 필요하다.가장 널리 사용되고 있는 네 가지 알고리즘최소 최근 사용(LRU)알고리즘세트 라인에 적재되어 있는 블록들 중에서 최근의 사용 빈도가 가장 낮은 블록을 선택하여 교체하는 방식이다.가장 효과적인 것으로 알려진 것은 최소 최근 사용(Least Recently Used:LRU) 알고리즘이다.이 알고리즘은 사용되지 않은 채로 가장 오랫동안 적재되..

컴퓨터 구조론 5장 [기억장치- 캐시 메모리]

CPU와 주기억장치의 속도 차이로 인한 성능 저하를 방지하기 위한 방법으로서, 대부분의 컴퓨터시스템에서는 CPU와 주기억장치 사이에 고속의 기억장치 칩들을 이용한 소용량의 캐시 메모리를 설치하고 있다.캐시 메모리(Cache memory)CPU와 주기억장치의 속도 차이를 보완하기 위하여 그 사이에 설치하는 반도체 기억장치캐시는 CPU 칩과 인접한 곳에 위치하며, CPU 칩 내부에 포함되기도 한다.명령어와 데이터를 별도의 캐시에 분리하여 저장하며, 여러 레벨의 계층적 캐시로 구성하는 방법도 널리 사용되고 있다.캐시로는 고속의 반도체 기억 장치 칩들을 사용하기 때문에, 캐시 액세스 시간이 주기억자이 액세스 시간보다 짧다. 그러나 칩의 가격이 그만큼 더 높아지고 설치할 수 있는 공간도 제한되기 때문에, 캐시의 ..

컴퓨터 구조론 5장 [기억장치- 기억장치 모듈]

주기억장치를 구성하는 ROM과 RAM은 각 칩 당 저장할 수 있는 용량에 한계가 있다.원하는 만큼의 기억장치 용량을 가지도록 하기 위해서는 여러 개의 칩들을 사용해야 한다.칩의 각 기억 장소에 저장되는 비트 수가 일반적으로 단어의 길이보다 적기 때문에, 한 번에 한 단어식 액세스할 수 있도록 하기 위해서는 여러 개의 칩들을 병렬로 접속해야 한다.컴퓨터의 단어 길이가 N 비트이고 기억장치 칩의 데이터 입출력 비트 수가 B개일 때, 한 번에 한 단어씩의 데이터 액세스가 가능하도록 하기 위해서는 N/B개의 칩들로부터 동시에 B비트씩 액세스 할 수 있어야 한다. 그렇게 하기 위해서는 기억 장치 칩들을 병렬로 접속해야 한다.ex) 단어 길이가 8비트인 컴퓨터에서 두 개의 16 x 4bit RAM 칩들을 이용하여 ..

컴퓨터 구조론 5장 [기억장치- 반도체 기억장치]

초기의 컴퓨터에서 주기억장치로 가장 널리 사용되었던 임의 액세스 저장장치는 자기 코어(magnetic core)라고 불리는 자화철 고리들로 구성된 배열이었다.미세 전자공학(microelectronics)의 발전과 더불어 자기 코어 기억장치가 사라진 지는 오래 되었고, 최근에는 거의 모든 컴퓨터 시스템에서 주기억장치 소자로서 반도체 기억장치 칩들이 사용되고 있다.RAMRAM(Random Access Memory)읽기와 쓰기가 모두 가능한 반도체 기억장치임의 액세스 방식을 이용하는 반도체 기억장치이다.이 기억장치에 저장된 각 단어들은 CPU가 전송하는 주소에 의해 지정되어 직접 액세스 된다. 따라서 칩 내의 어느 위치에 있든 액세스에 걸리는 시간이 동일하다. RAN의 특징은 데이터를 읽는 것과 쓰는 것이 모..

컴퓨터 구조론 5장 [기억장치- 계층적 기억장치시스템]

컴퓨터시스템의 성능에 가장 중요한 영향을 미치는 요소는 CPU이다. 그러나 CPU가 아무리 빠르더라도 기억장치가 느리다면, CPU는 명령어나 데이터를 액세스하는 과정에서 많은 시간을 기다리게 되어 시스템 성능이 저하될 수밖에 없다.최근 기억장치 제조 기술의 발전으로 인하여 반도체 기억장치의 속도가 계속 높아지고 있지만, CPU의 속도는 더욱 급속히 향상되고 있기 때문에, 그들 간의 속도 격차는 줄어들지 않고 있다. 그러한 차이로 인한 성능 저하를 줄이기 위하여 가격이 높은 고속의 반도체 기억장치를 CPU와 주기억장치 사이에 위치시킨다. 더 심한 문제는 보조저장장치들이다. 컴퓨터 시스템에서 용량이 크고 영구저장 능력을 가진 보조저장장치도 필요하지만, 그들 대부분은 기계장치를 포함하고 있기 때문에 액세스 속..

컴퓨터 구조론 4장 [제어 유니트- 제어유니트의 기능과 구조]

제어 유니트가 수행하는 주요 기능들명령어 코드의 해독명령어 실행에 필요한 제어 신호들의 발생마이크로 연산(micro-operation)명령어 실행 사이클의 각 주기동안 수행되는 기본적인 CPU 동작제어 유니트는 컴퓨터 프로그램을 구성하고 있는 명령어들을 해독(decode)하고, 그 결과에 따라 명령어 실행에 필요한 동작들을 수행시키기 위한 제어 신호들을 발생하는 장치이다.명령어 사이클이 적절히 수행되도록 모든 동작들을 제어하는장치이다.명령어 사이클은 부 사이클인 인출 사이클, 간접 사이클, 실행 사이클 및 인터럽트 사이클로 이루어지며, 각 사이클에서는 여러 개의 마이크로 연산들이 수행된다.ex) 인출 사이클에서 수행되는 마이크로-연산들t0 : MAR t1 : MBR t2 : IR  마이크로명령어(micr..

컴퓨터 구조론 3장 [컴퓨터 산술과 논리 연산6]

부동소수점 산술연산부동소수점 형식은 가수 필드와 지수 필드로 이루어지므로, 부동소수점 수들 간의 산술 연산에서는 두 부분이 별도로 처리되어야 한다.부동소수점 형식으로 표현된 수에서는 덧셈과 뺄셈 과정이 곱셈과 나눗셈보다 더 복잡해진다. 이유 : 덧셈과 뺄셈 연산에서는 먼저 두 수의 지수들이 같아지게 한 다음에 연산을 수행해야 하며, 연산이 완료된 다음에는 다시 정규화 시켜야 하기 때문이다.지수들을 일치시킨다는 것은 두 수의 소수점 위치를 같게 한다는 것을 의미한다. 곱셈과 나눗셈에서는 그러한 절차가 필요하지 않다.  덧셈과 뺄셈부동소수점 산술에서는 덧셈과 뺄셈이 곱셈과 나눗셈보다 더 복잡하다.연산을 수행하기 전과 완료한 후에 소수점의 위치조정(alignment)이 필요하기 때문이다.덧셈과 뺄셈 알고리즘은..