Service | Code in $v0 | Arguments | Result |
---|---|---|---|
$v0 contains integer read | |||
'학부과정 > 컴퓨터 구조' 카테고리의 다른 글
MIPS assembly code (0) | 2022.12.21 |
---|---|
컴퓨터 구조 (0) | 2022.10.11 |
Service | Code in $v0 | Arguments | Result |
---|---|---|---|
$v0 contains integer read | |||
MIPS assembly code (0) | 2022.12.21 |
---|---|
컴퓨터 구조 (0) | 2022.10.11 |
.text
.globl_start
__start:
la $a0, str
li $v0, 4
syscall
li $v0, 10
syscall
.data
str: .asciiz “hello world\n”
hello world를 출력하는 프로그램
str 안에 hello world라는 문장이 들어간 것을 볼 수 있고,
la $a0, str을 보면 str에 들어간 값을 $a0에 집어넣는 것
li $v0, 4 ==> 4번에 해당하는 서비스 해줘 : 4라는 값을 $v0에 넣으라는 것 이다
여기서 4번이란, print를 의미한다
내가 직접 print하는 건 귀찮으니, 원하는 서비스 번호를 입력하여 사용하는 것
li $v0, 10 ==> 10번에 해당하는 서비스 해줘
syscall로 해당 서비스 실행
Assembly Language
: 사람이 이해하기 쉬운 언어
Machine Language
: 기계가 이해하기 쉬운 언어
어셈블리 언어를 0과1로 바꾼 것에 불과하다(그래야 Cpu, 하드웨어가 이해하기 때문)
Architecture(아키텍쳐) : 명령어들의 집합
어떤 명령어를 지원하는가
MicroArchitectur : 컴퓨터 내부구조
과거에도 지금에도, 아키텍쳐는 대부분 그대로였다. 하지만 마이크로아키텍쳐는 다르다.
시간이 지나면서 CPU 구조가 더 빠르게, 더 전력소모가 적게 발전했기 때문에 마이크로 아키텍쳐는 계속 발전했다
아키텍쳐가 바뀌지 않는 이유
: 호환성 때문, 아키텍쳐가 바뀌면 과거 프로그램들이 호환이 안되기 때문
아키텍쳐 : 프로그래머가 보는 관점
이 CPU가 얼마나 좋든 나쁘든 우리는 CPU를 조정하는 명령어에 관심있다
마이크로아키텍쳐
: 어떻게 이 명령어들을 실제로 구현할 것 인가
(instruction)명령어란?
: 컴퓨터에 있어서 하나의 언어
(Instruction set)명령어 집합이란?
: 그런 언어들의 집합, 단어모음(vocabulary)
MIPS_info (0) | 2022.12.21 |
---|---|
MIPS assembly code (0) | 2022.12.21 |