2024/12 7

Lecture 20: Additional Lecture

경희대학교 김정욱 교수님의 컴퓨터 구조 수업을 기반으로 정리한 글입니다.Program vs. Process vs. Thread1. Program실행 가능한 파일들의 집합으로, 정적인 개념이다.Program은 disk에 일반적으로 저장되어 있어, 수명에는 제한이 없다.▶ Program2. Process실행중인 Program으로, 동적인 개념이다.Process는 main memory에 일반적으로 저장되어 있어, 수명에는 제한이 있다. (Process 종료 or 컴퓨터 off)▶ Process3. ThreadProcess의 가장 작은 실행 가능한 unit으로,Process 안에서 할당받은 자원을 이용하고, 실제로 작업을 수행하는 주체이다. (일꾼)Process는 일반적으로, mutiple threads를 가진..

Lecture 19: Memory Hierarchy - 3

경희대학교 김정욱 교수님의 컴퓨터 구조 수업을 기반으로 정리한 글입니다.Common Framework for Memory Hierarchy▶ cache / main memory TLB는 address를 mapping하는 정보밖에 없기 때문에, data를 포함한 캐시보다 작다. 용량이 클수록 miss rate가 낮다. 때문에 miss rate은 L1 > L2 > main memory ※ 용량 - L1: layer 1 cache Block Placement of Memory HierarchyQ1. Block이 어디에 위치할 수 있는가?▶ Direct mapped / Set associative / Fully associative ▶ Miss rate 확률 cache size가 증가할수록 miss rate 감..

Lecture 18: Memory Hierarchy - 2

경희대학교 김정욱 교수님의 컴퓨터 구조 수업을 기반으로 정리한 글입니다.Misses in Direct-Mapped Cache (Problem)Example▶ 0, 8, 0, 6, 8 address를 cache(size: 4)에 저장하는 상황0 -> cache memory의 index 0 위치에 Memory[0]에 대응되는 data 저장8 -> cache memory의 index 0 위치(switch)에 Memory[8에 대응되는 data 저장 0 -> cache memory의 index 0 위치(switch)에 Memory[0]에 대응되는 data 저장6 -> cache memory의 index 2 위치에 Memory[6]에 대응되는 data 저장8 -> cache memory의 index 0 위치(sw..

Lecture 17: Memory Hierarchy - 1

경희대학교 김정욱 교수님의 컴퓨터 구조 수업을 기반으로 정리한 글입니다.ROM vs. RAMROM (Read Only Memory)Write는 못하고 (저장 불가) Read만 할 있는 MemoryNon-volatile memory (비휘발성 메모리): 전원이 꺼져도 데이터가 없어지지 않음※ Mask ROM: 반도체 생산 공정인 마스킹 단계에서 고정된 데이터 회로 패턴으로 생산하는 방식 (책을 대량 인쇄하는 것처럼) ※ ROM은 공장에서 애초에 0과 1의 패턴들이 다 만들어져 나오기에 Write 할 수 없다.▶ ROM RAM (Random Access Memory)temporary MemoryRead-write memory: 읽고, 쓰기 둘 다 가능Volatile memory (휘발성 메모리): 컴퓨터가 ..

Lecture 16: The Processor - 5

경희대학교 김정욱 교수님의 컴퓨터 구조 수업을 기반으로 정리한 글입니다.3. Control HazardsProblemControl Hazard는 branch hazard라고도 하며, Data Hazard와 마찬가지로 pipeline시 발생하는 문제이다.즉, branch할 때 pipeline에서 발생하는 hazard가 control hazard이다.▶ Control hazard beq 조건 만족시 44, 48, 52줄의 instruction은 필요없게 된다.하지만, 이때 pipeline시 조건을 만족하면 문제가 발생한다. (조건을 만족하지 않으면 문제가 발생하지 않는다.) EX/MEM의 Zero signal에 기반하여, MEM/WB의 결과값인 branch or not (PC + 4)로 branch 여부가 ..

Lecture 15: The Processor - 4

경희대학교 김정욱 교수님의 컴퓨터 구조 수업을 기반으로 정리한 글입니다.Pipeline HazardsPipelining는 속도가 향상된다는, 즉 성능이 향상된다는 장점이 있다.하지만, 매 cycle마다 instruction을 실행해야 하는데 그렇지 못하는 경우, 3가지 Hazards가 발생한다. Three types of pipeline hazards1. Structure hazards: 구조적 문제2. Data hazards: 필요한 데이터를 아직 못 받은 문제3. Control hazards: 브랜치 문제1. Structure HazardsProblem현재에는 데이터가 저장된 메모리, instruction이 저장된 메모로 나눠져 있다.하지만 과거엔 영역이 나누어져 있긴 하지만 메모리가 하나로 되어 있..

Lecture 14: The Processor - 3

경희대학교 김정욱 교수님의 컴퓨터 구조 수업을 기반으로 정리한 글입니다.Overview of PipeliningPipelining▶ Pipelining - Laundry Example동기: 직렬적으로 작동하는 방식으로, 하나의 task가 끝날 때까지 기다렸다가 다음 task가 실행된다.비동기: 병렬적으로 작동하는 방식으로, 한 번에 여러 task가 동시에 병렬적으로 실행된다.Pipelining 기법은 여러개의 명령어를 비동기로 처리하는 기술로, 속도가 빠르다는 장점이 있다.여러 instruction이 overlapped 되도록, 즉 동시에 수행하도록 하는 implementation technique (구현 기술)이다. ※ single cycle path 방식 (하나의 instruction이 끝나야 그다음..