CS 공부/컴퓨터구조6 컴퓨터구조_ILP(Instruction Level Paralleism) 문제 풀이 다음 프로그램을 dual-issue 에서 수행하고자 한다. Loop: lw $t0, 0($s1) # $t0=array element addu $t0, $t0, $s2 # add scalar in $s2 sw $t0, 0($s1) addi $s1, $s1,–4 bne $s1, $zero, Loop # branch $s1!=0 1) 2개의 루프를 하나의 루프로 Unrolling한 프로그램을 작성하시오. Loop: addi $s1, $s1, –8 lw $t0, 8($s1) addu $t0, $t0, $s2 sw $t0, 8($s1) -------------------------------- lw $t1, 4($s1) addu $t1, $t0, $s2 sw $t1, 4($s1) bne $s1, $zero, Lo.. 2023. 5. 30. 컴퓨터구조_ILP(Instruction Level Paralleism)_(1) ILP란? 여러 개의 명령어들을 병렬적으로 처리하는 것 명령어는 아래 과정들을 거쳐 처리를 합니다. 1. 명령어 인출(Instruction fetch) 2. 명령어 해독(Instruction decode) / Register file read 3. 명령어 실행_ALU 실행 4. Memory access 5. Register Write 예를 들어, add s0, t0, t1 명령어의 경우에는 1. s0과 t0에서 값을 가져오고(IF, ID) 2. 더하기 연산을 하고(Ex) 3. t1 register에 더한 값을 저장한다.(Register Write) 위의 과정을 거칩니다. 이러한 명령어 처리 과정들을 보다 빠르게, 많이 처리하기 위해 명령어를 병렬적으로 처리하며 이를 ILP라고 부릅니다. 병렬적으로 처리할.. 2023. 5. 30. 이전 1 2 다음 반응형