본문 바로가기

isa4

# 03. Procedure Call in MIPS # Procedure Call in MIPS * 모든 MIPS instruction은 32bit(=4byte)로 크기가 균일 † procedure : 특정 작업을 수행하기 위한 여러 연산의 묶음 ( =함수) + 호출 이후에도 값이 유지되어야 하는 registe의 저장 + return address의 저장 + argument의 전달 in MIPS, 레지스터의 각 칸은 나름의 각자 역할이 있다. * 0번째 칸은 항상 0만 저장한다 * A함수가 작업하다가 B함수를 호출할 때, A는 이미 레지스터를 맵핑을 하여 사용하고 있었을 것이다. 하지만 B도 레지스터에 맵핑해서 사용하고 싶을 것이다. 더 빠르니까 근데 B가 맵핑해버리면 A함수가 사용하던 데이터가 B에 덮여서 사라져버린다. 따라서 A가 사용하던 데이터(레지.. 2020. 10. 9.
# 02. MIPS의 ISA ▶MIPS ISA # MIPS : 밉스 테크놀로지에서 개발한 RISC ISA - MIPS에서는 메모리 주소를 나타내기 위해 총 32bits를 이용한다. # MIPS register & memory ▶ 레지스터 * 레지스터는 총 32개로 나누어져 있어 각 칸은 $0 - $31로 나타낼 수 있다. * instruction에서 피연산자와 결과는 레지스터의 주소값을 지정하는데 이때 레지스터를 구별하기 위해 32(= $$2^5$$ )개의 수를 표현할 수 있어야 하고 즉 최소 5bits가 필요하다. * 레지스터 한 칸은 4byte이고 1byte가 8bit이므로 레지스터 한칸은 32bit로 메모리의 주소를 가리킨다 + 실행할 다음 명령어를 가리키는 특수 목적 레지스터 PC(program counter)가 존재한다. .. 2020. 10. 9.
# 01. Instruction + ISA (Instruction Set Architecture) # Instruction? instruction이란 기계어로 컴퓨터가 이해가능한 유일한 단어이며 0과 1의 조합으로 이루어진다. # ISA : 하드웨어와 시스템 소프트웨어의 규약 * CPU애서 사용되는 기계어 하나하나가 ISA에 정의되어있어 CPU는 0과 1의 조합을 정의된 기계어로 해석하여 연산을 실행한다. * 컴파일러는 프로그래머가 작성한 소스코드를 주어진 ISA에 맞게 기계어로 변환한다. + 기계어의 정의에는 연산자와 피연산자 그리고 연산결과 출력 위치가 포함되어야 한다. + 기계어 처리 방법이나 캐시 메모리, I.O디바이스는 정의할 필요 없다. + pipelining 사용여부는 포함되지 않는다. Instruction의 수행 순서 1: Instruction을 memory에서 CPU로 가져간다 2: .. 2020. 10. 9.
# 00. 컴퓨터 시스템 컴퓨터의 다음과 같은 명칭의 의미는 이렇다. * 소프트웨어 = 시스템 소프트웨어 + 응용 소프트웨어 * 하드웨어 = 하드웨어 * 시스템소프트웨어 = 운영체제 + 언어처리기 * 컴퓨터시스템 = 하드웨어 + 시스템소프트웨어 그리고 하드웨어와 시스템 소프트웨어의 규약을 ISA , instruction set architecture 라고 한다. 시스템 소프트웨어는 ISA에 의존적인 SW를 의미하며 운영체제와 언어처리기 모두를 일컫는다. + 운영체제(OS) : 컴퓨터 시스템의 자원(하드웨어와 솦트웨어)를 관리하며 컴퓨터 시스템을 사용자가 사용하기 편하도록 UI를 제공한다. + 언어처리기 : 고급언어로 작성한 프로그램을 ISA에 맞게 기계어로 변환 ex) 컴파일러, 어셈블러 * 응용 소프트웨어는 machine in.. 2020. 10. 9.