바이트 단위로 생각하기
  • 홈
  • 태그
  • 방명록
Computer Architecture/ISA

[RISC-V] Instruction (명령어)

RISC-V의 Instruction은 역할에 따라 크게 세 종류로 나눌 수 있다.Arithmetic/Logical InstructionsData Transfer InstructionsControl Transfer Instructions1. Arithmetic/Logical InstructionsArithmeticExampleadd a, b, c // a ← b + csub a, b, c // a ← b - cUpper Immediate Operationslui rd, imm20Instruction 안에 내재되어있는 12-bit immediate가 부족할 때 사용한다.상위 20비트를 먼저 load하고 sign-extension 한 후, 하위 12비트를 load하여 합..

2024. 11. 16. 04:00
Computer Architecture/ISA

[RISC-V] Operand (피연산자)

RISC-V의 OperandsRISC-V를 포함한 모든 RISC 아키텍처에서는 피연산자로 레지스터 및 즉시값(Immediate)만 사용할 수 있다.(단, Data Transfer Operation에서는 데이터를 로드하거나 저장할 때에 한해 메모리도 피연산자로 사용할 수 있다.)+ 반면, x86과 같은 CISC 아키텍처에서는 메모리 값을 피연산자로 바로 사용하는 것도 가능하다.1. Register Operands레지스터는 CPU가 데이터를 가장 빠르게 접근할 수 있는 저장소이다.RV32에서 레지스터 하나의 크기는 32비트이다. 이 32비트를 한 단위로 취급하며, word라고 부른다.RV64에서 레지스터 하나의 크기는 64비트이다. 64비트 단위는 doubleword라고 한다.RISC-V 아키텍처에는 32개..

2024. 11. 15. 00:39
Computer Architecture/ISA

ISA 이해하기: RISC-V를 중심으로

ISA란?Instruction (명령어): 하드웨어가 수행할 특정 작업을 정의하는 기본 단위이다. 주로 산술 연산, 데이터 이동, 조건 분기와 같은 기능을 수행하며, low-level 언어에서 한 단어로 표현된다​​ (ex. add, lw, beq...)Instruction Set (명령어 집합): 특정한 구조가 이해할 수 있는 명령어들의 모음이다. 하드웨어가 실행할 수 있는 명령어들의 유형과 형식을 정의하며, 프로그램을 기계어로 변환하는 기준이 된다.ISA (Instruction Set Architecture, 명령어 집합 구조): 하드웨어와 Low-level 소프트웨어 간의 인터페이스이다. ISA는 Instruction Set뿐만 아니라 바이너리 기계어 프로그램을 작성하기 위해 필요한 모든 정보(데이..

2024. 11. 14. 12:59
Computer Architecture/Compilation

C 프로그램 번역과 실행

C로 쓰인 프로그램을 컴퓨터가 실행할 수 있는 프로그램으로 변환하기 위한 4단계를 설명한다.1. Compilation컴파일러가 C 소스 코드 (.c) → 어셈블리 코드 (.s)를 수행한다. (A+B → add A, B)어셈블리 언어: binary machine code로 번역할 수 있는 기호화된 언어이다.2. Assembly어셈블러가 어셈블리 코드 (.s) → 목적 파일 (.o)를 수행한다.어셈블리 코드를 기계어로 변환하여 목적 파일을 생성한다. (add A, B → 1001010100101110)Pseudoinstruction(의사명령어): 실제 하드웨어에서 지원되지 않는 어셈블리 언어의 명령어를 어셈블러가 마치 존재하는 것처럼 처리하여 변환하는 명령어 (ex. move, li, bge 등)목적 파일(..

2024. 11. 14. 11:15
  • «
  • 1
  • »

Category

  • 분류 전체보기 (4)
    • Data structures and Algorit.. (0)
    • Logic Circuits (0)
    • Computer Architecture (4)
      • ISA (3)
      • Processor (0)
      • Memory (0)
      • Compilation (1)
      • Optimization (0)
    • Database (0)
    • Software Engineering (0)
      • Debugging (0)
    • Framework (0)
      • Spring (0)
    • AI (0)

태그

  • #base register
  • #어셈블리 언어
  • #어셈블러
  • #Little Endian
  • #Compilation
  • #컴파일러
  • #operand
  • #Assembly
  • #alignment restriction
  • #memory
  • #컴파일
  • #compile
  • #immediate
  • #loading
  • #base addressing
  • #Register
  • #pc-relative addressing
  • #로딩
  • #linking
  • #addressing
MORE

블로그 인기글

Copyright © 바이트 단위로 생각하기 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바