본문 바로가기
반응형

시스템 반도체48

컴퓨터 구조 Cache 종류 ( 4-Way set associative, Fully associative, 2-Way set associative, Direct mapped cache, cache friendly code, LRU ) 오늘은 Cache의 종류에 대해 알아보자. 우리는 AMAT를 줄이는 방향으로 나아가야 한다. 어떻게 줄일 수 있을까? AMAT란 무엇인지 모른다면 다음 포스팅을 참고하면 좋다. 2022.03.23 - [내가 하는 전자공학/컴퓨터 구조] - 컴퓨터 구조 AMAT ( Average Memory Access Time, cache 성능 평가 ) 컴퓨터 구조 AMAT ( Average Memory Access Time, cache 성능 평가 ) cache의 성능을 어떻게 평가할 것인가에 대한 지표가 AMAT이다. cache는 instruction과 Data가 존재하는데 cache에 cpu가 찾는 데이터가 있다면 이걸 HIT이라고 하고 cache에 없다면 miss라고 한다. 없다면 메인 wpaud16.tistory.. 2022. 3. 24.
컴퓨터 구조 AMAT ( Average Memory Access Time, cache 성능 평가 ) cache의 성능을 어떻게 평가할 것인가에 대한 지표가 AMAT이다. cache는 instruction과 Data가 존재하는데 cache에 cpu가 찾는 데이터가 있다면 이걸 HIT이라고 하고 cache에 없다면 miss라고 한다. 없다면 메인 메모리로부터 가져와야 하는데 이걸 miss penalty라고 한다. 왜 penalty 냐면 메인 메모리의 접근은 오래 걸리기 때문이다. AMAT의 계산을 아래와 같이 이루어진다. AMAT = Hit time + Miss rate * Miss penalty Hit time = cpu로부터 cache캐시에 있는 정보를 가져오는 데 걸리는 시간이다 Miss rate = cache에서 메인 메모리로 접근하는 비율을 말한다. 다시 말해, cpu에서 cache에 명령을 보냈.. 2022. 3. 23.
컴퓨터 구조 Cache 주소, Write 동작 (word address, chunk id, Direct Mapped Cache, Write-allocation policy, Write-back policy) address의 개념을 잡고 가자. 메인 메모리는 byte로 구성돼 있다. Word는 4byte로 구성돼 있는데. Word address는 byte 주소를 2진수로 바꿨을 때, 제일 오른쪽 2개 비트를 제외하고 제일 첫 번째 주소를 Word주소로 취한다. 이게 왜 이렇게 되냐면, 4byte는 4번마다 00, 01, 10, 11이 반복되는데 이 반복되는 건 의미가 없기 때문에 무시하고 주소를 얻는 것이다. 그렇다면 Block address는 어떻게 구할까?? 아래를 보면 block address는 cache size에 따라 달라진다. cache size는 쉽게 말해 캐시의 저장 공간 크기다. 16byte라면 하나의 entry에 16byte를 저장할 수 있다는 의미다. 32byte라면 아래 5 bit를 무시.. 2022. 3. 23.
컴퓨터 구조 Cache ( Locality, Temporal Locality, Spatial Locality, Direct-Mapped-Cache, 캐시 동작, 캐시 ) cpu와 memory사이에서 데이터를 주고받는데 이때 cpu는 memory한테 주소를 전달하고 반환될 때까지 기다린다. 다시 말해 cpu 내부에서의 처리는 빠르지만 메모리로부터 불러오는데 시간이 오래 걸린다는 말이다. 조금 바꿔 말하면 pipeline에서 Fetch는 오래 걸리고 Decoding, Execution은 빨리 처리한다는 의미다. 예를 들어 5 stage pipeline design인데 cpu는 1 GHz(1ns)라고 하자, memory로부터 정보를 얻는 시간은 100ns이다. 이런 식이니 메모리로부터 Fetch 하는데 너무 많은 시간이 든다. 꼭 메인 메모리로부터 가져와야 할까? 하는 생각을 하다 해결방안으로 나온 것이 Cache이다. Cache 캐시는 프로세서 안에 cpu와 메인 메모리 사.. 2022. 3. 22.
컴퓨터 구조 Pipelining hazards ( stage수 차이, Structure hazards, Data hazard, Control hazard, Critical path, pipeline, 파이프라인, 구조적 해져드, 데이터 해져드, 컨트롤 해져드 ) single cycle은 딜레이가 길다. 그래서 산업에서는 쓰지 않는다. 그렇다면 어떻게 더 나은 결과를 도출할 수 있을까?? 2가지 정도 생각할 수 있다. 1. 반도체 기술이 발전하는 것이다. 트랜지스터의 사이즈를 줄이는 것이다. 즉, 공정 기술의 발전 2. 새로운 컴퓨터 구조를 고안해 내는 것이다. 이것이 바로 Pipelineing이다. 이번엔 Pipelining에 대해 알아보자 Pipelining Pipelining이란, 명령어를 하나하나씩 실행하는 게 아니라 병렬적으로 실행하는 것이다. 응답 시간에 대해선 single cycle과 다를 게 없지만 throughput에는 더 나은 성능을 낸다. 정확한 설명은 이전 포스팅을 참고하면 된다. https://wpaud16.tistory.com/214?ca.. 2022. 3. 16.