IT_Study55 [Computer Architecture] (4-4) RISC-V Data Transfer Operation Data Transfer Operation은 연산에 필요한 데이터를 메모리로부터 읽어오거나 연산 결과를 다시 메모리에 저장하는 동작을 말한다. RISC-V에서는 'ld'(Load)/'sd'(Store)를 통해서만 메모리를 접근할 수 있다. (나머지 Instruction은 Register를 통해서 데이터를 접근할 수 있다.)아래와 같이 메모리에 있는 Array 'A'의 Element 간의 연산을 수행하는 코드가 있다고 하자.// h in x21// base address of A in x22A[12] = h + A[8]Array 'A'는 메모리에 저장되어 있으므로, 'ld' 명령어를 통해서 데이터를 읽어오고, 'st' 명령어를 통해서 데이터를 저장해야 한다. 기본적으로 Array 내부의 Element를 접.. 2024. 4. 28. [Computer Architecture] (4-3) RISC-V Arithmetic / Logical Operation RISC-V에서는 Arithmetic/Logical Operation을 지원하는 Instruction이 존재한다. 아래와 같이 RV64I BASE INTEGER Instruction에서 Arithmetic 동작은 아래와 같이 addition/substraction 동작을 수행한다. 기본적으로 각 Instruction은 하나의 동작만 수행하도록 되어있다. 그리고 아래와 같이 각 동작들은 1개의 destination register와 2개의 source register로 구성되어 있다.Register의 주소를 나타내므로 register 개수만큼 표현할 수 있는 bit이 필요하다. RISC-V는 32개의 Register를 가지고 있으므로 5-bit으로 충분히 표현 가능하다. 이렇듯 Register로 표현하면.. 2024. 4. 27. [Computer Architecture] (4-2) RISC-V Register 설명 각 Register의 기능을 소개하기 앞서, "Caller saved" register와 "Callee saved" register를 알아보자.Caller는 Call를 수행하는 주체이며, Callee는 Call를 당하는 주체를 이야기한다. 예를 들어 Main에서 function foo()를 부르게 되면 Caller는 Main, Callee는 foo()가 된다. 그런데 동작을 수행할 때, Caller와 Callee 모두 Register를 사용한다. 그런데 사용할 수 있는 Register는 32개로 한정적이기 때문에 문제가 발생한다. 이를 Register saving problem이라 한다. 이 문제는 Caller가 사용 중이던 Register들을 Callee가 사용하게 되면 기존에 저장되어 있는 데이터가 .. 2024. 4. 27. [Computer Architecture] (4-1) RISC-V란 무엇인가? 여기서 RISC는 Reduced Instruction Set Computer이고 V는 로마숫자로 '5'를 의미하며, 5번째 Version이라는 의미이다. 위의 키워드를 보면 'Reduced' , 'Instruction Set', 'Computer'로 구분해 볼 수 있다. 'Computer'는 우리가 흔히 알고 있는 연산 장치이며, Instruction은 흔히 CPU에서 사용되는 명령어를 의미하고, Instruction Set은 명령어들의 집합을 나타낸다. 'Reduced'는 영어 사전을 찾아보면 'make smaller or less in amount, degree, or size.'로 크기를 작게 혹은 수량을 적게 만든다는 의미이다. 작고 적다는 건 기준이 있어야 하는데, 이와 대비되는 개념으로 CI.. 2024. 4. 27. 이전 1 2 3 4 5 6 7 8 ··· 14 다음