본문 바로가기

컴퓨터.반도체15

컴퓨터 구조 1 - MIPS nested loop 저번 시간 답 공개 일단 저번 수업 while문의 MIPS 답부터 공개하겠습니다. Loop code 1 L: stli $2,$1,0 beq $2,$0, EXIT nop addi $1,$1,-1 j L nop EXIT: Loop code 2 addi $1,$0,0 L:stli $3,$1,10 beq $3,$0,EXIT nop add $2,$2,$1 addi $1,$1,1 j L nop EXIT: Loop code 3 L: Add $2,$2,$1 Addi $1,$1,1 Stli $3,$1,10 Bne $3,$0, L Nop 지금까지 나왔던 내용으로 충분히 풀 수 있을 것이라고 생각합니다. 추가 예제 1 ( 피보나치 수열 ) 내용이 좀 어렵습니다. 어느 코딩 문제나 초급 단계에서 심화문제는 항상 피보나치 수열.. 2023. 6. 20.
컴퓨터 구조 1 - MIPS loop AND Operations, OR Operations, NOT Operations 위 operation들은 c언어의 bitwise와 같이 작동합니다. 예를 들어 OR op에서는 위 그림과 같이 두 레지스터 중 1이 있는 레지스터는 모두 1이 됩니다. MIPS는 NOR 3-operand 명령어를 가지고 있으며, a NOR b는 NOT(a OR b)와 같습니다. 그래서 not op을 하기위해서는 not $1 $2 $3이 아닌 아래와 같은 과정을 통해 답을 구합니다. 0을 넣음으로써 0과 다른 즉, 해당 값의 보수를 추출하게 됩니다. Conditional Operations (조건 연산자) 분기하다라는 말의 뜻에대해 설명하고 갈게요 MIPS에서는 조건부 연산에 대한 내용이 있습니다. 레이블 지정된 명령어로 분.. 2023. 6. 19.
컴퓨터 구조 1 - I format MIPS I-format Instructions MIPS I-format Instructions은 immediate arithmetic 및 load/store 명령을 포함하며, 32비트 명령어를 통일적으로 사용할 수 있는데, 이때 상수 값은 -215에서 +215 - 1까지 설정할 수 있으며, 주소는 기준이 되는 rs 레지스터에 오프셋 값을 더하여 계산됩니다. 이와 같은 형식의 instruction set은 decoding을 복잡하게 만들 수 있지만, 형식을 유지하고 유사하게 유지함으로써 32비트 명령어를 균일하게 사용할 수 있습니다. 이는 좋은 디자인의 원칙 중 하나인 "좋은 디자인은 좋은 타협을 필요로 한다"를 따르는 것입니다. 앞 수업에서 R -format에 대해 설명했었죠? I - format에서도.. 2023. 6. 3.
컴퓨터 구조 1 - C to MIPS code C to MIPS assembly - pointer c언어와 지금까지 사용한 mips 명령어에 대해서는 이미 안다고 가정하고 코드에 대한 설명을 진행하겠습니다. # int *a, *b, *c; lui $s0, 0x1001 # 1 2023. 5. 31.