[컴퓨터구조] #0~1. 소개, MIPS 명령어(1)
Lec 0. Course_Intro
- Abstraction 추상화
: Hardware -> Instruction Set -> Operationg System -> Programming
- Computer System
: CPU, Main Memory, Disk, Chip Set
- Goal 수업 목표
: Understand How Your Computer Works Really!
MIPS라는 CPU에 대해 배울 예정.
- programability
: 한가지 하드웨어로 여러 가지 애플리케이션 실행 가능한 CPU
Lec 1. MIPS Instructions_1 (Language of the Computer)
- Instructions 명령어
- Instruction Set Architecture (ISA)
: collection of instructions
-> CISC vs RISC
- CISC
: 복잡, 명령어 길이 가변. ex) x86 (Intel, AMD)
- RISC
: 단순, 명령어 길이 고정. ex) MIPS, ARM, SPARC(어셈)
- MIPS
: 우리는 32-bit version 공부할 예정.
cf) MIPS기반의 CPU 사용하는 곳? Playstation2, Cisco routers
- MIPS (RISC) Design Principles (암기x)
: 규칙적->단순화, 작게->빠르게, 빈번->빠르게, 적절히 타협
- Stored Program Concept ★
: 명령어와 데이터를 이진수로 메모리에 저장,
Bus를 통해 하나씩 CPU로 이동하여 실행.
- MIPS 명령어
: Data processing (Arithmetic산술/Logical논리 연산),
Memory access (Load읽기/Store쓰기),
Branch
- Arithmetic Operations 산술 연산
: 덧셈, 뺄셈.
항상!! three operands 피연산자 3개.
ex) add a, b, c # a gets b + c
- Registers 레지스터
: 피연산자를 레지스터에서 가져옴.
MIPS는 32개의 32bit 레지스터를 가짐. (32bit = 1word)
- Simplified Version of CPU Internal 덧셈 과정
: binary format으로 메인메모리에 들어있는 명령어 add $3, $1, $5 (32bits)를
Bus를 통해 CPU(MIPS)로 가져옴,
해석,
two sources and one destination 레지스터에 값 저장,
R1과 R5 값을 레지스터에서 읽어와서 덧셈기로 계산 후
R3 레지스터에 결과 저장.
- Memory Hierarchy 계층적
: 상위 레벨일수록 빠름, 하위 레벨일수록 용량 큼.
->레지스터(CPU내부) : 빠름, 용량 작음, 비쌈.
->메인메모리(DRAM) : 느림, 용량 큼.
->Disk(HDD) : 더 느림, 용량 더 큼, 저렴.
- Overview of MIPS Operation
: 산술 명령어의 피연산자는 레지스터로부터 꺼내온다! f = g+ h;
예외) 상수는 명령어 안에 표기함(immediate field) f = g + 3;
: 레지스터는 프로그래머가 직접 지정/조작 가능함.
- MIPS Register File
: 32개의 32bits 레지스터를 모아놓은 것.
flip-flops or SRAM 으로 만들 수 있음.
source를 위한 2개의 read port와 destination을 위한 1개의 write port가 있음.
write port에는 오동작 방지용 write control 이 있음.
- MIPS Assembler Register Names
: 32개의 레지스터가 각각 이름을 가짐.
$t0 ~ $t9 : temporary values. 계산 과정에서 발생하는 임시 결과 저장공간
$s0 ~ $s7 : saved values. 프로그래머가 기억하기 위해 만든 저장공간