CS/컴퓨터구조

[컴퓨터 구조] 용어정리

lingk 2021. 6. 6. 00:20

4장

 

Forwarding Limitations

- Since ALU complete in a cycle (ALU가 cycle 안에서 완료되었을때)

- Memory does not return until the end of MEM

 

Branch Prediction

- 정적과 동적 예측 : 분기 조건의 결과를 미리 예측하고, 예측된 결과에 기반하여 다음 명령을ㅁㅁ fetch하고 파이프라인을 계속 진행

 

Dynamic Branch Prediction

- 프로그램 실행 중 계산 이력에 따라 분기를 동적으로 예측

 

Precise Exception

- 파이프라인 컴퓨터에서 정확한 명령어와 연관짓는 인터럽트 또는 예외

 

프로세서와 입출력방식

Polling

장점 : 프로세서가 완전히 제어되고 모든 작업을 수행한다.

단점 : pollin overhead는 많은 CPU 시간을 소비할 수 있다.

 

Interrupt

- CPU가 프로그램을 실행하는 중에 I/O 하드웨어장치나 다른 예외 상황의 발생으로 인해 특별한 처리가 필요할 때 CPU에 이를 알려 처리하도록 하는 것 (CPU 관여)

 

DMA

- CPU의 간섭없이 메모리와 하드웨어 장치 간의 데이터전송을 하는 것 (CPU 관여 X)

 

 

5장

 

Memory hierarchy

 

write-through

- data가 update되면 Cache에도 쓰고 Memory에도 쓰는 방식. 두 계층의 data가 일치함을 보장

write-back

- data를 일단 Cache에만 쓰고 data가 쫓겨날 때 Memory에 쓰는 방식. 

 

 

Types of Cache Misses

Compulsory Misses

- 최초 데이터 접근 시 반드시 발생하는 miss (처음에 캐쉬는 비어있을 테니까 반드시 miss 발생)

 

Conflict Misses

- 캐시 메모리에 A데이터와 B데이터를 저장해야되는데, A와 B가 같은 캐시 메모리 주소에 할당되어서 나는 캐시 미스.

-  direct나 set asscociate mapping에서 ​같은 부분을 번갈아 가면서 사용하게 되서 발생하는 miss이다. 이 miss는 전체적인 캐시 용량이 부족해서 발생하는 miss가 아니다.

 

Capacity Misses

- 캐시 메모리에 공간이 부족해서 나는 캐시 미스.

- 전체적인 용량이 부족해서 발생하는 miss이다. 캐쉬가 메모리보다 작기 때문에 캐시에 적재되어 있다가 캐시가 꽉차서 쫓겨났다가 다시 캐시로 적재될때 발생한다.

 

Misses 줄이기

1. Conflict Misses

- fully associative로 바꾼다.

 

2. Capacity misses

- 큰 캐시

 

3. Compulsory misses

- 블록 사이즈를 증가시킨다?

 

6장

Superscalar

-  프로세서 사이클 동안에 하나 이상의 명령어를 실행시킬 수 있는 프로세서 아키텍처

 

Deep Pipeline

파이프라인 stages의 수를 증가시키는 것

 

Dynamic Pipeline Scheduling

 

Simultaneous Multithreading

- 다중 보내기와 동적 스케줄링을 지원하는 마이크로아키텍처의 자원을 활영하요 멀티스레딩 비용을 줄이는 멀티스레딩의 한 방식

 

Speculation

- 컴파일러나 프로세서가 명령어의 결과를 예측하여 다른 명령어들과의 종속성을 제거하도록 하는 기법

 

Out-of-Order Execution

- 명령어가 cpu에 넣어지는 순서가 아니라 더욱 효율적인 방법으로 실행하는 것

 

Loop Unrolling

- loop의 개수를 줄여 프로그램의 속도를 최적화 시키는 방법. loop body를 복제하여 서로 다른 레지스터 사용.

 

shared-memory multiprocessor

- 커널(OS)가 memory protection을 위해 대리 전달해주는 것

- 장점: 안전하고 동기화 문제가 없다

- 단점: 성능이 떨어진다

message passing multiprocessor

- 두 프로세스간의 공유된 메모리를 생성 후 이용하는 것

- 장점: 성능이 좋다

- 단점: 동기화 문제가 발생한다

 

Cache Coherence 및 해결방안

- 두개의 서로 다른 프로세서가 각자 자신의 캐시를 통해 메모리에 접근하게 되고, 주의하지 않으면 두 개의 다른 값을 갖게 되는 것이 cache coherence의 문제이다.

해결 방법은 스투핑 프로토콜로, 프로세서가 데이터를 쓰기 전에 그 데이터에 배타적인 접근을 하는 것이다.

반응형