분류 전체보기 8

A Cycle-level simulator for M2NDP

리뷰할 Simulator는 POSTECH PSAL에서 만든 M2NDP의 Cycle level simulator이다.https://github.com/PSAL-POSTECH/M2NDP-public?tab=readme-ov-file M2NDP가 뭔지 궁금한 사람들은 아래 논문 링크를 참고해 읽어보도록 하자.https://arxiv.org/abs/2404.19381 해당 논문에서 주장하는 low overhead GP NDP in CXL Memory를 실험하기 위해 직접 Simulator를 구현한 것이다. 해당 simulator의 특징은 크게 3가지이다. 1. NDP kernel operation이 정상적으로 이루어지는지 결과를 확인하는 FuncSim2. 정상적인 동작을 하는지 확인한 NDP Kernel을 cy..

Simulator 2025.01.21

Low-overhead GPNDP CXL Memory Expanders

- IntroductionCXL 기술은 Cost - effective 한 memory expansion 기술임하지만 아무리 memory bound application 이라고 해도 Latency sensitive application, bandwidth-sensitive application 따라 성능 하락이 발생함Local memory에 비해 Latency, bandwidth 모두 부족하기 때문이다.이러한 문제의 해결책으로 NDP를 사용하고 있지만 Domain-Specific NDP HW logic의 경우 Target-workload를 제한하는 문제가 발생그리고 이런 special-purpose NDP HW의 경우 total area도 높고, NRE(Non-recurring engineering, 제품..

논문 리뷰 2025.01.08

Computer Architecture - Memory (3)

※ 해당 내용은 Computer Architecture보다 OS에 가까운 내용 ※ 우리가 사용하는 프로그램들은 가상 주소(Virtual Address)를 사용한다.하지만 실제 Memory는 물리 주소(Physical address)를 사용한다. 이런 Virtual Address를 사용하는 이유로는- 프로그램이 Memory의 어디든 배치될 수 있다.- 여러 개의 프로그램이 동시에 수행될 수 있다. 라는 장점이 있다.  Virtual Address를 왜 사용하는지 예를 들어 설명하면 1. 만약 Virtual Address가 아닌 Physical Address를 사용했다면 각각의 프로그램이 각자의 Address Space를 보호하면서 Memory를 공유하는 것이 힘들어진다(e.g. 1번 프로그램이 0~10번 ..

Computer Architecture - Memory (2)

Cache Arrangement- 캐시 안에 데이터는 어떻게 정렬/저장되는가. 1. Direct Mapped Cache- Memory 주소가 캐시 특정 location에 directly mapping 된다. 2. Fully Associative Cache- Data가 cache 내 어디든지 위치될 수 있다. 3. N - way Set Associative Cache- Data가 cache내 특정 set 안에서는 어디든지 위치할 수 있다. Direct Mapped Cache - 각 Memory Block은 하나의 Single Cache Block에 Mapping 된다.- 따라서 캐시 내의 entry에 다른 Memory block이 mapping 될 수 있다→ 항상 동일한 data가 mapping 되는 것이..

Computer Architecture - Memory (1)

일반적으로 Memory 하면 DRAM, NAND Flash, Cache에 대해 많이 들어봤을 것이다.그렇다면 DRAM에서 RAM은 무엇을 의미하는 것일까? RAM(Random Access Memory)-Data의 위치에 상관없이, 일정한 access time을 가지는 Memory를 의미한다.- 그렇다면 왜 일정한 access time을 가지는 것이 더 중요할까?- 예측 가능한 access time( = 일정한 access time)이 access를 조금 더 빠르게 하는 것보다 더 좋기 때문이다.( HW복잡도 감소 등)e.g. DRAM, SRAM, Flash Memory, SSD Non-random access Memory-non-random access memory의 경우 데이터의 위치에 따라 acces..

Computer Architecture - Pipeline

processor는 여러 종류가 존재한다.1. Single cycle processor2. Multi cycle processor3. Pipeline processor 각 종류별 장단점을 확인해 보자종류Single cycle processorMulti Cycle ProcessorPipeline Processor장점1. 하드웨어 설계가 간편하고, 구성이 간단함1. Clock Cycle Time이 짧아진다.2. functional unit(e.g. ALU)을 한 명령어에서 여러번 사용 가능하다.3. 단순 명령에는 더 빠르게 동작할 수 있다.4. Processor 구성에 더 적은 하드웨어를 사용한다.1. 한 명령어의 IF(instruction fetch)가 끝나면 바로 다음 명령어를 IF 하므로 각각의 FU(..

Computer Architecture - Floating Points

소수를 표현하는데는 크게 2가지 방법이 존재한다1. Fixed-point Representation2. Floating-point Representation 대부분의 경우 FP(Floating Point) 방식을 많이 사용하기 때문에 Floating Point Representation에 대해 알아볼 예정이다. Floating Points Representation 방식은 말 그대로 소수점이 움직이는 방법이라고 볼 수 있다. Numerical form: -1^s * M * 2^E - s : singed bit를 의미- M: 보통 fractional value를 의미하고 [1.0, 2.0) == 1.xx 를 의미한다- E: 2의 제곱수로 해당 값에 따라 소수점의 위치가 바뀐다.( 자리수를 의미 )   - ..

Computer Architecture - Performance

Performance에 대해 설명하기 전, Parallelism과 RISC, CISC 개념을 확인해 보자 Parallelism에는 여러 종류가 존재한다.Instruction Level Parallelism(ILP)Data Level Parallelism(DLP)Task Level Parallelism(TLP)  1. Instruction Level Parallelism(ILP)ILP의 경우에는 쉽게 말해 명령어를 동시에 수행한다라고 볼 수 있다.-Pipelining-Superscalar- OoO(Out of Order) Execution- Branch Prediction- VLIW(Very Long Instruction Word)등이 예시이다.   2. Data Level Parallelism(DLP)D..