전체 글
-
[Computer Science] 메모리 : 캐시 메모리Computer Science 2024. 5. 15. 21:25
메모리의 캐시 메모리에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다. CPU가 메모리에 접근하는 시간은 CPU의 연산 속도보다 압도적으로 느립니다. 이를 보완하기 위해 캐시 메모리가 탄생했습니다. CPU와 메모리 사이에 위치한, 레지스터봐 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치입니다.CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생했습니다. [ 계층적 캐시 메모리 ]현대 CPU는 일반적으로 계층적으로 캐시 메모리를 구성합니다. +. 일반적으로 L1 캐시와 L2 캐시는 ..
-
[Computer Science] 메모리 : 메모리의 주소 공간Computer Science 2024. 5. 15. 17:48
메모리의 주소 공간, 주소 체계에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'CPU와 현재 실행 중인 프로그램은 현재 몇 번지에 어떤 프로그램/명령어가 저장되어 있는지 알지 못합니다.이러한 점을 극복하기 위해 메모리의 주소 체계를 논리주소와 물리주소로 나누었습니다. 메모리에 저장된 값들은 시시각각 변하기 때문에 CPU와 현재 실행 중인 프로그램은 메모리의 몇번지에 어떤 프로그램/명령어가 저장되어 있는지 알지 못합니다.새롭게 실행되는 프로그램은 새롭게 메모리에 적재실행이 끝난 프로그램은 메모리에서 삭제같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소는 달라짐 논리 주소는 CPU와 실행 중인 프로그램 입장에서 바라본 주소입니다.=> ..
-
[Computer Science] 메모리 : RAM의 특징과 종류Computer Science 2024. 5. 15. 13:19
메모리의 특징과 종류에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'RAM은 실행할 대상을 저장하고, 휘발성 저장 장치입니다.(보조기억장치는 보관할 대상을 저장하고, 비휘발성 저장 장치입니다.)RAM의 용량이 클수록 많은 프로그램들을 동시에 실행하는 데에 유리합니다. 주기억장치의 종류에는 크게 RAM과 ROM 두 가지가 있고, 메모리라는 용어는 그 중 RAM을 지칭하는 경우가 많습니다. RAM의 종류에는 크게 DRAM, SRAM, SDRAM, DDR SDRAM 가 있습니다. [ DRAM (Dynamic RAM) ] 저장된 데이터가 동적으로 사라지는 RAM입니다.=> 데이터 소멸을 막기 위해 주기적으로 재활성화 해주어야 합니다. 상대적으..
-
[Computer Science] CPU : 명령어 집합 구조, CISC와 RISCComputer Science 2024. 5. 15. 12:35
CPU의 언어인 명령어 집합 구조에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'CPU가 이해할 수 있는 명령어들의 모음, 즉 CPU의 언어입니다.=> CPU는 명령어 집합에 속해 있는 명령어들만 이해할 수 있습니다.대표적으로 CISC와 RISC가 있습니다. +. 인텔의 CPU는 일반적으로 "x86 (x86-64)" 명령어 집합을, 애플의 CPU는일반적으로 "ARM" 명령어 집합을 따릅니다. +.같은 소스코드를 컴파일 하더라도 CPU의 종류에 따라서 Assemblier의 종류도 달라질 수 있습니다. CISC는 복잡하고 다양한 수의 가변 길이 명령어 집합을 활용하는 CPU를 말합니다.x86, x86-64는 CISC 기반 명령어 집합 구조입니다...
-
[Computer Science] CPU : 명령어 병렬 처리 기법Computer Science 2024. 5. 14. 23:37
CPU가 시간을 효율적으로 사용하기 위한 명령어 병렬 처리 기법에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'명령어 파이프라인 : 명령어 실행 단계 중 같은 단계가 겹치지만 않는다면 CPU는 각 단계를 동시에 실행할 수 있습니다.명령어 파이프라이닝은 동시에 여러 개의 명령어를 겹쳐 실행하는 기법입니다. 명령어 인출(Instruction Fetch)명령어 해석(Instruction Decode)명령어 실행(Execute Instruction)결과 저장(Write Back) 명령어 파이프라이닝에 실패하는 경우를 파이프라인 위험이라고 합니다.- 데이터 위험 (Data Hazard)- 제어 위험 (Control Hazard) - 구조적 위험 (St..
-
[Computer Science] CPU : 빠른 CPU를 위한 설계 기법Computer Science 2024. 5. 14. 22:09
빠른 CPU를 위한 다양한 설계 기법을 소개합니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'클럭이란 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위 클럭 속도 : 헤르츠(Hz) 단위로 측정헤르츠(Hz) : 1초에 클럭이 반복되는 횟수 (1초에 한 번 반복되면 1Hz, 1초에 100번 반복되면 100Hz) 일반적으로 클럭 속도를 높이면 CPU 속도가 빨라지지만, 필요 이상으로 클럭을 높일 시 발열 문제가 심각해집니다.그래서, 클럭 속도를 늘리는 방법 외에 코어 수를 늘리거나 스레드 수를 늘리면서 CPU의 속도를 향상시킵니다. 오늘날 CPU에는 명령어를 실행하는 부품이 여러개 존재하는데, 이 '명령어를 실행하는 부품'을 코어라고 합니다. ..
-
[Computer Science] CPU : 명령어 사이클과 인터럽트Computer Science 2024. 5. 10. 20:18
CPU의 작동원리 중 명령어 사이클과 인터럽트에 대하여 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'프로그램 속 명령어들은 일정한 주기가 반복되며 실행되는데, 이 주기를 명령어 사이클(인출-실행-간접)이라고 합니다.1. 인출 사이클 : 실행할 명령어를 CPU로 가져옵니다.2. 실행 사이클 : 가져온 명령어를 실행합니다.3. 간접 사이클 : 추가적으로 메모리에 접근해야 하는 경우(간접 주소 지정 방식 등) : 명령어 사이클 인터럽트란 CPU가 현재 실행 중인 프로그램을 중단하고 다른 코드를 실행하도록 요청하는 신호입니다.: CPU가 얼른 처리해야 할 다른 작업이 생겼을 때, CPU가 꼭 주목해야할 때 발생인터럽트의 종류에는 동기 인터럽트(예외), 비..
-
[Computer Science] CPU : 레지스터Computer Science 2024. 5. 10. 11:05
CPU를 구성하는 여러가지 부품 중 레지스터에 대하여 정리하였습니다. 참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' 레지스터에는 여러 종류가 있지만, 반드시 알아야 할 레지스터는 다음과 같습니다.- 프로그램 카운터 : 메모리에서 가져올 명령어의 주소(메모리에서 읽어 들일 명령어의 주소)> 프로그램 카운터를 Instruction Pointer(명령어 포인터)라고 부르는 CPU도 있습니다.- 메모리 주소 레지스터 : 메모리의 주소> CPU가 읽어 들이고자 하는 주소를 주소 버스로 보낼 때 거치는 레지스터- 메모리 버퍼 레지스터 : 메모리와 주고받을 값(데이터와 명령어)> CPU가 정보를 데이터 버스로 주고받을 때 거치는 레지스터- 명령어 레지스터 : 해석할 명령어 (..