본문 바로가기

공부

[컴퓨터구조와원리] 중앙처리장치(CPU) , 주기억장치




컴퓨터 구조와 원리 요점정리


중앙처리장치

제어장치의 구성요소
 - 기억장치 주소 레지스터 : 명령어 레지스터에 저장된 명령어의 주소 번지를 저장한다
 - 기억장치 버퍼 레지스터 : 주기억장치에서 읽어온 명령어를 임시적으로 저장하는 곳이다
 - 명령어 레지스터 : 명령어를 저장하는 곳이다
 - 명령어 해독기 : 명령어를 해독하여 수행할 연산을 결정
 - 프로그램 카운터 : 다음번에 수행할 명령어의 주소 번지를 저장하고 있는 곳


산술 논리 연산장치 (ALU)




상태비트



C (Carry) : 자리올림 비트가 1이면 자리 올림수가 발생한다.
Z (Zero) : ALU의 연산결과 모든 비트의 출력이 0이면 제로비트는 1이되고, 그렇지 않으면 제로비트는 0이된다.
S (Sign) : 부호비트가 1이면 음수이고, 0이면 양수 상태를 나타낸다.
V (Overflow) : ALU의 두 자리 올림수를 XOR 한 결과가 1이면 오버플로우가 발생한 것이고,
                    그렇지 않고 0이면 오버 플로우는 발생하지 않은 상태이다.



제어장치의 유형
 - 하드웨어만으로 설계된 하드와이어적 제어장치 (Hardwired Control Unit)
 - 소프트웨어가 포함된 마이크로 프로그램된 제어장치 (Micro-programmed Control Unit)


JUMP 동작 방식
 현재 프로그램카운터와 현재 값을 스택에 저장하고 Jump 하고자하는 위치의 주소를 프로그램카운터에 업데이트 한다.


파이프라이닝 (Pipelining) 기법
하나의 명령이 끝나기 전에 다음 명령어를 수행을 해서 중첩으로 명령을 수행

병렬처리
다수의 CPU로 구성된 컴퓨터에서 한번에 여러 개의 명령어를 동시에 수행시킬 수 있는 방법




주기억장치

기억장치 접근방법에 따른 유형

순차적 접근 (Sequential Access)
기억장치에 데이터가 저장되는 순서에 따라 순차적으로 접근
대표적인 장치 : 자기테이프

직접 접근 (Direct Access)
기억장소 근처로 이동한 다음 순차적 검색을 통하여 최종적으로 원하는 데이터에 접근한다.
대표적인 장치 : 자기 디스크, 광 디스크

임의 접근 (Random Access)
데이터를 주면 일정시간 후에 디코더를 통해 디코딩 한 후에 데이터에 접근
대표적인 장치 : RAM, ROM



주기억장치의 분할 구조

운영체제 상주구역 
운영체제가 항시 올라가서 사용하는 프로그램을 올려놓은 구역


비 상주 구역 
운영체제가 필요할 때 프로그램을 올렸다가 수행이 끝나면 제거하는 구역


사용자 응용프로그램 구역
사용자가 응용프로그램을 올려놓고 실행


주기억장치 할당 기법 (단일 사용자 할당, 고정 분할 할당, 가변 분할 할당)

단일 사용자 할당 기법
할당할 공간이 오직 하나만 존재한다.

고정 분할 할당 기법
같은 크기로 여러개 쪼개어 할당한다.

가변 분할 할당 기법
주기억장치 내에 새로움 프로그램이 들어올 때마다 그 프로그램의 크기에 맞추어
가변적으로 기억공간을 분할하여 할당



가변 분할 할당 기법을 사용하면 빈공간이 생긴다. 이 빈공간을 집약을 하는데 자주하면 느려지기 때문에
일정한 시간을 두고 집약을 한다.



가변 분할 할당 기법에서 공백 영역 탐색 알고리즘

최초 적합 방법
공간들을 차례로 검색하다가 새로운 프로그램을 저장 할 수 있는 크기를 가진 부분을 최초로 찾으면 그 곳에 할당

최적 적합 방법
공백 중 새로운 프로그램이 요구하는 크기보다 크면서 가장 크기가 비슷한 공간에 할당

최악 적합 방법
여러 공백 중 가장 큰 부분을 찾아 할당


반도체 기억장치의 IC칩 용량 계산


(a) 주소의 길이가 5bit 이고 워드의 길이는 4bit 이다.
     2의 5승 = 32비트와 워드의 길이를 곱한다.
     32 bit X 4 bit  = 128 bit
     (a) 기억장치의 용량은 128 bit 이다.

(b) 주소의 길이가 12bit 이고 워드의 길이는 8bit 이다.
     2의 12승 = 4096 비트와 워드길이를 곱한다.
     4096 bit X 1byte = 4096 byte
     워드의 8bit = 1byte 이다.
     (b) 기억장치의 용량은 4096 byte 이다.



동적 RAM (DRAM)

 


충전기 커패시터(capacitor)에 전하를 저장하는 방식이다.
Capacitor에 충전된 전하는 조금씩 방전되므로 기억된 정보를 잃게 된다. 그래서 DRAM은 재충전(refresh)을 위한
제어회로를 탑재해야 한다.





Mask ROM
한번의 기록으로 내용 변경이 불가능하다.

PROM (Programmable ROM)
최초의 PROM은 1회에 한해서 새로운 내용으로 변경할 수 있는 ROM이다.
특별한 장비인 PROM writer 가 있어야만 필요한 논리 기능을 직접 기록할 수 있다.

EPROM (Erasable PROM)
레이저를 이용한 ROM writer를 사용하면 새로운 데이터의 쓰기가 가능하다.

플래시 메모리 (Flash Memory)
capacitor 대신에 반도체 퓨즈를 붙여서 램을 만드는 비슷한 방식으로 만든다.
읽기와 쓰기 동작이 자유로운 편이어서 RAM과 ROM의 중간적인 위치이다.
블록단위로 데이터를 입력한다.