본문 바로가기
반응형

시스템 반도체/컴퓨터 구조 (RISC-V)24

설계한 RISC-V CPU에서 연산자를 추가하는 접근법 1. 먼저 eclipse에서 code의 Dump file을 확인한다. 하면 아래와 같은 코드들로 이루어져 있다. 32bit라 가정하면, Hex를 2진수로 분해한다. 58: 3ff7c793 xori a5,a5,1023 80: fee7f4e3 bgeu a5,a4,68 2022. 7. 1.
컴퓨터 구조 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.