Assembly, Architecture

비순차 프로세서 파이프라인 (Out-of-order Processor Pipeline)의 핵심기술 (2)

지난 포스팅에서 비순차 프로세싱의 핵심기술인 register renaming, reoder buffer, reservation station 에 대해서 알아보았는데요. 여기에 또 하나 빠지지말아야할 기술이 있습니다.바로 메모리 연산을 위한 로드-스토어 큐(Load-Store Queue)입니다. 이번 시간에는 이 로드스토어큐에 대해 알아보겠습니다.Load-Store Queue 는 다음과...

비순차 프로세서 파이프라인 (Out-of-order Processor Pipeline)의 핵심기술 (1)

비순차 실행은 명령어 수준에서 병렬성(Instruction Level Parallelism)을 찾아서 이를 순차적이 아닌 비순차적, 즉 병렬적으로 처리할 수 있도록 한 기술을 말합니다.그러면, 큰 그림에서 이러한 비순차적 명령어 처리를 하려면 어떤 기술들이 필요한지 살펴봅시다.이를 위해 비순차 실행에서 필요한...

명령어수준 병렬성(ILP, Instruction-level Parallelism)

ILP 는 비순차 실행에서 사용되는 기술입니다.말그대로 명령어 수준에서 프로그램에 기록된 순서대로 순차적으로 처리하는게 아니라, 명령어간의 상관관계를 잘 따져서 병렬처리가 가능하도록 하는 기술입니다.예를 들어, 다음과 같은 코드가 있다고 가정하면… int main() { int x, y, a,...

파이프라인에서의 Commit Stage 의 역할

파이프라인에서의 Commit Stage 의 역할

내부적으로는 비순차적으로 실행하는 것을 결과적으로 순차적 실행처럼 보이게 하려면 pipeline 의 마지막에 특정한 단계를 하나 추가해야 하는데 이를 Commit Stage 라고 합니다.비순차 프로세서에서는 중간의 실행과정들이 순서가 뒤바뀔 수 있습니다. 그런데, 이런 뒤죽박죽인 순서대로 사용자에게 결과를...

Cache Coherence 동영상 강의

Cache Coherence 동영상 강의

Cache Coherence 에 관한 카네기멜론대 Onur Mutlu 교수님의 동영상 강의를 모두 들어보았는데 내용이 굉장히 좋습니다.MSI, MESI, Directory 방식 모두에 대해 다루고 있고 핵심 내용 위주로 설명을 아주 잘해주고 있는 동영상입니다. 이 교수님의 Computer Architecture 강의...

파이프라인상에서의 dmb(Data Memory Barrier) 동작방식

파이프라인상에서의 dmb(Data Memory Barrier) 동작방식

이전 포스팅에서 살펴본 사전 지식들을 바탕으로 아래 문서의 문구들을 참고하여 파이프라인 상에서 dmb 가 동작하는 방식을 그냥 제 나름대로 상상으로 정리해 봅니다. 관련 자료를 찾기가 상당히 어렵더군요. Memory Barriers: a Hardware View for Software Hackers...

비순차 프로세서 파이프라인 단계 (Out-of-order Processor Pipeline Stage)

비순차 프로세서 파이프라인 단계 (Out-of-order Processor Pipeline Stage)

비순차 프로세서에서 각 Stage 별로 어떤 일을 수행하는지 간단히 정리해보자. fetch명령어를 메모리(캐쉬)로부터 가져오는 단계 decodefetch buffer 에서 명령어를 하나씩 인출하여 해독하는 단계. rename register물리 register 를 이용하여 operand 의 가짜 의존성을 제거하는 단계 issue가짜 의존성...

Cache Coherence Protocol Flow (MSI, MESI)

Cache Coherence Protocol Flow (MSI, MESI)

MSI, MESI State Machine 그림에 대한 Flow 설명을 어떻게하면 쉽게 할수 있을까 2 시간이나 고민하면서 ppt 그림을 그리고 있었는데, 우연히 정말 잘 만들어진 Flow 설명 문서를 찾았습니다.Slideshare 에 올려두었습니다. 아래 slide 자료를 보기 전에 먼저...