Computer architecture 10

DDR-SDRAM 계열 RAM 에 대한 이해

DDR-SDRAM 계열 RAM 기본 정보 DDR/DDR2/DDR3/DDR4 표준이름/모듈 이름 목록 정리 PC 내 메모리 정보 확인 방법 DDR-SDRAM 계열 RAM 기본 정보 ▶ 서로 다른 속도의 RAM이 혼용될 경우 낮은 속도의 RAM에 맞추어 동작한다. ▶ 일부 Main Board 의 경우 특정 RAM 이 지원되지 않을 수 있다. (Main Board 사의 홈페이지에서 해당 보드에 지원하는 RAM 목록을 확인하고 장착한다.) 예 ) https://www.gigabyte.com/kr/Motherboard/GA-B150M-DS3H-rev-10/support#support-doc ▶ 성능이 낮은 RAM 이 항상 싼 것은 아니다. DDR/DDR2/DDR3/DDR4 표준이름/모듈 이름 목록 정리 DDR S..

캐시(Cache) 메모리에 대한 이해

주기억 장치 (일반적으로 DRAM) 성능이 많이 개선되었음에도 불구하고 CPU 에 비하면 느린 수준이다. 이와 같이 CPU 와 주기억장치의 성능 차이로 인해 CPU가 주기억장치에 접근할 때 마다 성능 저하가 발생하곤한다. 이를 방지하기 위해 CPU와 주기억장치 사이에 CPU 보다는 느리지만 주기억장치보다는 빠른 캐시(Cache) 메모리를 두어 성능 저하 빈도를 줄이고자 한다. 캐시 (Cache) 메모리 : 단위 용량당 가격이 비싸지만 빠르다 주기억장치 : 단위 용량당 가격이 캐시 메모리보다는 싸지만 상대적으로 느리다. 하지만 캐시 메모리와 주기억장치는 위와 같은 장단점을 가지고 있고, 아래와 같은 루틴을 통해 주기억장치의 용량을 캐시 메모리의 성능으로 사용하는 효과를 누리게 하고자 하는 것이 목표이다. ..

주기억장치에 대한 이해

주기억장치는 막연히 RAM이라 인지하고 있고, Register, Cache, 보조기억장치와 함께 기억장치의 계층 구조 중 일부를 구성하고 있는 것으로 이해하고 있었다. 그런데 Cache 를 공부하다 보니 cache 는 SRAM 으로 이루어져 있다는 것을 알게 되었고, 용어를 명확하게 구분하여 사용하지 못해 여러 면에서 의미에 혼동이 있다는 것을 깨달았다. 주기억장치 명령어(instruction) 혹은 관련 데이터들을 저장해놓고, CPU 가 직접 접근하여 읽거나 실행이 가능한 기억장치를 의미 직간접적으로 memory bus (address bus, data bus)를 통해 CPU 와 연결 일반적으로 DRAM 으로 구성 Booting 전 Computer 초기화를 위한 목적으로 ROM (BIOS)이 존재 (D..

컴퓨터 기억 장치들의 종류 및 특징

컴퓨터 내부에는 다양한 기억 장치들이 존재하고 있고, 대표적으로 다음과 같이 장치들이 있다. CPU 레지스터(Register) : CPU 내 위치한 고속 메모리로 극소량의 데이터를 저장할 수 있다. 캐시(Cache) : SRAM 으로 구성되었으며, CPU Core 외에 존재하여 주기억장치와 CPU 간 속도차를 극복하기 위해 사용된다. 주기억장치(Main Memory) : DRAM 으로 구성되었으며, CPU가 직접 접근하여 데이터를 사용할 수 있다. 보조기억장치(HDD, SSD) : CPU가 직접 접근할 수 없고, device controller 등을 통해 접근이 가능하다. 다 같이 기억(저장)한다는 점에서 유사할 텐데 이렇게 다양한 기억장치들이 한 컴퓨터 내에 존재하는 이유는 무엇일까. 하나의 종류로 저..

CPU 레지스터 (Register) 의 이해 및 종류

CPU 레지스터 : 중앙처리장치(CPU) 내에 위치한 기억장치로 많은 수의 레지스터를 CPU내에 포함시키는 것은 어렵기 때문에 특수 목적용 레지스터들과 몇몇 일반 목적용 레지스터만 존재한다. 대표적인 레지스터의 종류 : PC (Program Counter) : 다음 인출(Fetch) 될 명령어의 주소를 가지고 있는 레지스터 AC (Accumulator) : 연산 결과 데이터를 일시적으로 저장하는 레지스터 IR (Instruction Register) : 가장 최근에 인출된 명령어(현재 실행 중인 명령어)가 저장되어 있는 레지스터 SR (Status Register) : 현재 CPU 의 상태를 가지고 있는 레지스터 MAR (Memory Address Register) : PC 에 저장된 명령어 주소가 사용..

CPU 클럭 주파수 (Clock Frequency)

CPU clock frequency 는 CPU 동작 속도를 의미하고, '초당 사이클'을 의미한다. (단위는 Hz) (사이클은 명령어가 요구하는 동작들을 수행하는 단위) Clock Frequency 1초 기준 사이클의 수 1 사이클 기준 걸리는 시간 1 Hz 1초에 1개의 사이클을 수행 1개의 사이클을 수행하는데 걸리는 시간은 1초 100 Hz 1초에 100개의 사이클을 수행 1개의 사이클을 수행하는데 걸리는 시간은 1/100 초 즉, Hz가 높을 수록 더 빠르게 처리하는 것을 알 수 있다.

롬 (ROM, Read Only Memory)

Read-only memory (ROM) 는 비휘발성(non-volatile) memory 이다. (비휘발성이란 전원을 차단해도 내용이 삭제 되지 않음을 의미) 전통적으로 ROM은 제조사에 의해서만 programming 이 가능한 mask-programmed ROM이다. 많은 제약이 있지만 어느정도 수정이 가능한 ROM도 존재한다. ROM 의 종류 - semiconductor(반도체) 기반 PROM (Programmable read-only memory) or OTP (one-time programmable ROM) :PROM programmer 라는 장비를 통해서만 쓰기가 가능하다. 한번만 쓰기가 가능하다. EPROM (Erasable programmable read-only memory) :자외선을 ..

Interrupt (인터럽트), 그리고 Exception (예외)

CA (Computer architecture) 를 공부하면서 interrupt 부분을 공부하다보니 책마다 다소 상이한 부분이 있었다. interrupt 분류(종류) 부분이었는데 어떤 책에서는 외부 인터럽트의 한 종류로 I/O 인터럽트를 분류해 놓은 반면 어떤 책에서는 외부 인터럽트는 외부 인터럽트대로 있고, I/O 인터럽트는 또 다른 종류로 분류해 놓은 경우도 있었다. 인터럽트와 유사한 개념인 예외(Exception)와 혼용하는 경우도 있었고, 구분하여 분류한 곳도 있었다. 이래저래 찾다 보니 어느 정도 정리된 내용을 찾아 정리하고자 한다. Interrupt (인터럽트) : 제어 흐름에서 예상치 못한, 외부에서 전달되는 사건.Exception (예외) : 프로세서 내부에서 발생하는 예상치 못한 사건. ..

Memory Interleaving (메모리 인터리빙)

Memory interleaving, wikipedia 영문판에는 Interleaved memory 라고 되어 있고, 한글판에는 memory interleaving 이라고 되어 있다. 다소 용어에는 차이가 있지만 결론적으로 memory 를 interleaving 기법을 사용하여 성능을 향상시키는 방법을 의미한다. 일반적으로 메모리상에 존재하는 데이터에 접근할 때 메모리를 순차적으로 참조한다. 보통은 데이터가 메모리상에 올라갈 때는 순차적으로 올라가기 때문이다. 하지만 CPU가 한 워드(word)를 메모리상에서 읽어와서 조작하는 동안 해당 메모리는 접근할 수 없는 문제가 발생한다. [No interleaving] 위와 같이 No interleaving 상태에서는 1을 읽고 처리하는 동안 2에 접근할 수 없..

Addressing mode (주소 지정 방식)

컴퓨터 구조 관련 공부를 하다보니 주소 지정 방식에 여러 가지가 있는 것을 보게 되었다. 한글로 된 주소 지정 방식 관련 글들을 보다 보면 "직접(Direct) 주소 지정 방식", "간접(Indirect) 주소 지정 방식", "레지스터(Register) 주소 지정 방식" 등 널리 알려진, 우리가 흔히 접하는 방식 대로 언급되어 있었다. 그런데 wikipedia에서 addressing mode를 찾아 보면 방식들이 이렇게 단순하지가 않다. 해외에서 사용되는 기계들과 국내에서 사용되는 기계들이 다르지 않을 텐데 무엇때문일까. 제조사별로 같은 주소 지정 방식이더라도 다른 용어를 사용 (혹은 다른 지정 방식이더라도 같은 용어 사용) Architecture 별로 서로 다른 주소 지정 방식(addressing mo..