본문 바로가기

전체 글31

[컴퓨터구조] Tomasulo Algorithm Tomasulo Algorithm In-order Execution vs Out-of-order Execution In-order Execution 순차 실행 (순서대로 실행) 앞의 Instruction들이 Issue 되어야 현재 Instruction이 Issue 될 수 있다. RAW dependencies or structural hazards가 있을 때, 해결될 때까지 Issue 단계에서 Stall 된다. Out-of-order Execution 비순차 실행 (실행 순서가 유동적) In-order와 달리 hazards가 존재하더라도, 기다리지 않고 Reservation Station에 Instruction이 전달된다. Issue Buffer 안에 있는 앞선 Instruction들이 있더라도, 뒤에 나.. 2023. 10. 20.
[컴퓨터구조] Memory Hierarchy Memory Hierarchy 이번 포스팅에서는 Memory Hierarchy에 대해 소개해보겠다. CPU가 발전하면서 Computing Time은 빠르게 발전하였지만, Memory는 그것에 비해 발전 속도가 느렸다. 그 결과, 현재 Memory Wall 시대가 도래했다. 즉, 아무리 빨리 계산할 수 있어도, 메모리 접근하는 시간이 오래 걸려 성능이 저하되는 현상이 발생하는 것이다. Memory Hierarchy는 메모리를 어떻게 하면 최대한 효율적으로 접근하고, 사용할지에 대한 결과물이다. Capacity와 Latency 측면에서 Register 2023. 10. 18.
[컴퓨터구조] Basics of Computer Architecture Basics of Computer Architecture 컴퓨터구조를 배우기 위한 기본적인 지식들에 대한 정리이다. 추후에 계속 추가될 예정이다. Moore's Law The number of transistors on integrated circuits doubles roughly every two years 집적회로에 들어가는 트랜지스터의 수가 2년마다 2배 증가한다는 내용으로, 즉, 집적도가 증가한다는 뜻이다. Two principles of locality Temporal Locality: 한 번 참조되었으면, 곧 다시 같은 것이 참조될 가능성이 높다. (c.f. Loop) Spatial Locality: 한 개의 주소가 참조되면, 그 근처에 있는 주소도 접근할 확률이 높다. (c.f. array.. 2023. 10. 17.
PyTorch 2.0 Tutorial 이번에 PyTorch 2.0이 발표되었다. 아직 한국어로는 많은 리뷰가 없는 것 같아서, 쉽게 따라 할 수 있는 Tutorial을 작성하고자 한다. 이번 PyTorch 2.0의 핵심 아이디어는 바로 컴파일러의 지원이다. 많은 사람들이 알고 있겠지만 PyTorch는 이전까지 컴파일러를 사용하지 않았다. 이번에 컴파일러가 추가되면서 엄청난 속도 향상을 이뤄냈다. 대부분의 사람들은 컴파일러 엔지니어가 아니기 때문에 간단히 설명하도록 하겠다. 모르겠으면 그런가보다 하고 넘어가도 괜찮다. (사실상 User는 사용 방법만 알면 된다.) 전체적인 Compiler의 Overview이다. Dynamo 제일 먼저 그림 위에 있는 Dynamo는 Frontend에 해당하는데, 흔히 우리가 사용하는 Python Script를 .. 2023. 5. 29.
Systolic Array NPU에 대해 이해하려면 먼저 Systolic Array에 대한 이해가 필수적이다. Systolic Array는 NxN 개의 PE(Processing Element)로 구성되어 있으며, 각 PE는 Multiplication과 Addition을 수행한다. 이를 통해 partial sum을 계산하고 마지막 output으로 matrix multiplication의 결과가 생성된다. 이렇게 말을 통해서 말하면 이해가 어렵기 때문에 예시를 통해서 설명하도록 하겠다. 오늘은 이해를 돕기 위해서 weight stationary(WS)에 대해서만 예시를 들어 설명해 보겠다. Dataflow에는 Weight Stationary, Output Stationary, Input Stationary, Row Stationary.. 2023. 4. 22.
[논문 리뷰] YOLO (You Only Look Once:Unified, Real-Time Object Detection) You Only Look Once: Unified, Real-Time Object Detection Abstract 이전 연구에서는 Classifier를 따로 만들어서 사용하는 2 Stage 모델을 흔히 사용하였다. 이 논문에서는 Box Regression과 Class의 확률 예측을 동시에 수행하는 방법을 제안한다. 하나의 Network로 진행되기 때문에 논문의 이름처럼 한 번만 모델을 거치면 위치와 Class를 모두 알 수 있게 되는 것이다. 이 모델 구조의 장점은 빠르다는 것인데, 45 FPS를 보였고, Fast YOLO의 경우 155 FPS를 보였다. 심지어 정확도 측면에서 다른 모델과 비슷한 mAP를 보였다. 1. Introduction 사람의 경우 사진을 보자마자 빠르고 정확하게 물체의 위치와 .. 2022. 9. 14.