목록전체 글 (37)
보근은 참고 있다
컴퓨터가 단순한 계산기와 다른 점은 판단 기능이 있다는 것이다. ----------------------------------------------------------------------------------------------------------------------------------- 판단을 위한 명령어에는 ① beq, ② bne, ③ slt, ④ slti, ⑤ sltu, ⑥ sltiu 들이 있다. ① beq (Branch if EQual), ② bne (Branch if Not Equal) 이 두 명령어들은 두 값이 같은지 다른지 결과에 따라 프로그램 내의 다른 주소로 제어를 넘길 수 있다. 이것을 조건부 분기라고 한다.(if-then-else) ① beq는 두 피연산자를 비교해 같으면 ..
초기의 컴퓨터는 워드 전체를 처리하는 데에만 관심을 가졌으나, 워드 내의 일부 비트들을 처리하는 것에 필요성을 느꼈다. 그로인해 비트들을 워드로 묶는 packing 작업과 워드를 비트 단위로 나누는 unpacking 작업을 하는 명령어들이 생겨났다. ----------------------------------------------------------------------------------------------------------------------------------- MIPS에는 이러한 논리연산 명령어가 7가지가 있는데, ① sll ② srl ③ and ④ or ⑤ not ⑥ nor ⑦ xor 들이다. ① sll (Shift Left Logical) 과 ② srl (Shift Right L..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/u1k08/btqKXjUTBKP/mWN0dSmuFSgs1zFieGSkx0/img.png)
사람이 컴퓨터에 명령을 내리는 방법과 컴퓨터가 명령어를 해석하는 방법의 차이를 알아보자. 명령어도 컴퓨터 내부에서는 높고 낮은 전기 신호의 연속으로 저장된다. 실제로 명령어의 각 부분을 숫자로 볼 수 있으며, 이 숫자들을 나란히 늘어놓으면 명령어가 된다. 레지스터 역시 명령어에 참조되기 때문에 레지스터 각각을 숫자로 매핑하는 규칙이 있다. $s0 ~ $s7은 16~23, $t0 ~ $t7은 8~15 등등. MIPS 명령어의 길이는 데이터 워드와 마찬가지로 32비트이다. "간단하게 하기 위해서는 규칙적인 것이 좋다"라는 설계 원칙을 따른 것이다. MIPS 어셈블리 언어를 기계어로 변환하면 다음과 같다. 위의 명령어 형식(instruction format)으로 나타낸 기계어는 "add $t0, $s1, $s..