컴퓨터 구조

[컴퓨터 구조] - 2. Arithmetic Operations

dietken1 2024. 10. 28. 11:58
반응형

A컴퓨터가 알아들을수있는 instruction set과 B컴퓨터 알아들을수있는 instruction set이 다르다.

[Computer “Architecture” defines(컴퓨터 아키텍쳐 정의)]
1. Instruction set architecture (ISA)]
- Instruction set : 명령어 세트
- Operand types : 피연산자 유형
- Data types (integers, floating points, …) : 데이터 유형(정수, 부동 소수점, ...)
- Memory addressing modes, … : 메모리 주소 지정 모드 등등..

2. Registers and other state(레지스터 및 기타 상태)

3. Memory management and protection(메모리 관리 및 보호)

4. Virtual and physical address layout(가상 및 물리적 주소 레이아웃)

[Microarchitecture(마이크로아키텍처)]
- Organization of the machine below the visible level(눈에 보이는 수준 아래의 기계 구성)
- Number/location of functional units(기능 단위의 수/위치)
- Pipeline/cache configurations(파이프라인/캐시 구성)
- Programmer transparent techniques: prefetching, …(프로그래머 투명 기술: 프리페칭, …)
- E.g., Intel Skylake, AMD Threadripper(예: Intel Skylake, AMD Threadripper)
- 가시적 아키텍처 모델과 동일한 의미(의미론)를 제공해야 한다.

[Implementation(구현)]
- Hardware realization(하드웨어 구현)
- Logic circuits, VLSI technology, process, …(논리회로, VLSI 기술, 프로세스, …)
- E.g., 7nm fabrication(예: 7nm 제조)

[Instruction Set]
• 컴퓨터 명령의 레퍼토리
– 명령어 세트
• 컴퓨터마다 명령어 세트가 다릅니다.
– 하지만 공통점이 많다.
• 초기 컴퓨터에는 매우 간단한 명령어 세트가 있었습니다.
– 단순화된 구현
• 많은 최신 컴퓨터에도 간단한 명령어 세트가 있습니다.
– RISC(축소 명령어 세트 컴퓨터)


[MIPS]
- 덧셈 뺄셈 가능
- 32비트짜리 레지스터가 32개 있다.
- 레지스터에서만 가져올수있다 (메모리에서 바로 연산 불가능)
=> 메모리에서 레지스터로 값을 불러온다(lw) (해당 메모리의 주소를 불러옴)
=> 레지스터에서 메모리로 결과값을 전달하여 저장한다(sw)

[MIPS의 기초 명령어]
add $t2, $t0, $t1 => t2= 7 + 4 = 11
lw $s1, 0($s0) => s1에 s0(=0x10이 가리키는 값 로드) => s1 = 6
lw $s2, 4($s0) => s2에 s0부터 4바이트 떨어진곳의 값 로드 => s2 = 0xdeadbeef
sw $s2, 0xc($s0) => 

[addi]
- common case fast 개념 사용
addi s3, s3, 4 => (가능)
addi s3 4, 3 => (불가능)
즉, 상수 두개는 불가능하다.
마이너스 상수 불가능 ex) -1, -5, -54 ....

[$zero(제로 레지스터)]
0값을 가진다. (고정)
add $t1, $s1, $zero 을 이용하면 s1의 값을 t1에 그대로 줄수있다.
(MIP에는 바로 대입하는 명령어는 없기에 이 제로값을 이용한다.)

반응형