[컴퓨터구조] 2. Instructions: Language of the Computer(3) - 컴퓨터 내부의 데이터 표현

2025. 7. 10. 01:32·Computer Science/컴퓨터구조

 

2. Instructions: Language of the Computer(3) - 컴퓨터 내부의 데이터 표현

#Computer_Architecture


상수 0

MIPS에서는 레지스터 0 ($zero)에 항상 상수 0을 저장해놓는다. 레지스터 간의 값 이동에 사용할 수 있다.

  • 덮어쓸 수 없습니다.
  • 자주 사용하는 연산에서 유용하게 사용됩니다.

예시: 두 레지스터 간의 이동에 사용

add $t2, $s1, $zero  // $t2 = $s1

Unsigned Binary Integer

기초 지식이니 부가 설명 X

  • 주어진 n비트 숫자는 다음과 같이 계산됩니다:
    • 범위는 0에서 +2^n - 1까지입니다.
    • 예: 32비트 부호 없는 정수의 범위는 0에서 4,294,967,295까지입니다.

2의 보수 부호 있는 정수(2s-Complement Signed Integer)

기초 지식이니 부가 설명 X

  • n비트 숫자의 경우, 범위는 -2^n-1에서 +2^n-1 - 1까지입니다.
    • 32비트의 경우 -2,147,483,648에서 +2,147,483,647까지입니다.
    • -(2^(n-1))은 2의 보수 표현에서 표현할 수 없습니다.
  • 가장 작은 수 : 1000 0000 …. 0000
  • 가장 큰 수 : 0111 1111 …. 1111

Signed Negation (부호 변환)

애도 아는 내용이니 패스(디논을 수강했다면?)

  • 값을 음수로 바꾸는 방법은 1의 보수를 취하고 1을 더하는 것입니다.
    • 예시: +2를 -2로 변환
      +2 = 0000 0000 0000 0000 0000 0000 0000 0010
      -2 = 1111 1111 1111 1111 1111 1111 1111 1110 + 1 = 1111 1111 1111 1111 1111 1111 1111 1111
      
  • 증명

Sign Extension (부호 확장)

  • 더 많은 비트를 사용하여 숫자를 표현할 때, 숫자의 값은 유지되어야 합니다.
    • ex) 16비트로 표현한 수를 32비트로 확장해야 할 때, 이 값이 바뀌면 안 된다.
  • 부호 비트를 확장하는 왼쪽에 기존 수의 MSB(부호 비트)를 쫙~ 채워준다.
    • unsigned 타입이면 무조건 0으로 모두 채워준다
  • 예시: 8비트를 16비트로 확장
    • +2: 0000 0010 → 0000 0000 0000 0010
    • -2: 1111 1110 → 1111 1111 1111 1110
  • MIPS 명령어 set에는 다음과 같은 명령어들이 있다.
    • addi : 더할 때 immediate value의 부호가 확장된다.
    • lb, lh(load byte, load halfword) : 메모리에서 byte/halfword만큼 로드하고 부호가 확장된다.
    • beq(branch equal), bne(branch not equal) : 두 레지스터의 값을 비교하여 조건에 따라 분기하는데, 분기 오프셋(displacement)은 부호 확장됩니다.

'Computer Science > 컴퓨터구조' 카테고리의 다른 글

[컴퓨터구조] 2. Instructions: Language of the Computer(5) - 논리 및 제어 흐름 명령어  (0) 2025.07.10
[컴퓨터구조] 2. Instructions: Language of the Computer(4) - MIPS 명령어 형식 (Instruction Formats)  (0) 2025.07.10
[컴퓨터구조] 2. Instructions: Language of the Computer(2) - MIPS 기본 연산 및 피연산자  (0) 2025.07.10
[컴퓨터구조] 2. Instructions: Language of the Computer(1) - ISA와 MIPS 아키텍처 소개  (0) 2025.07.10
[컴퓨터 구조] 01. Computer Abstractions and Technology  (0) 2024.10.07
'Computer Science/컴퓨터구조' 카테고리의 다른 글
  • [컴퓨터구조] 2. Instructions: Language of the Computer(5) - 논리 및 제어 흐름 명령어
  • [컴퓨터구조] 2. Instructions: Language of the Computer(4) - MIPS 명령어 형식 (Instruction Formats)
  • [컴퓨터구조] 2. Instructions: Language of the Computer(2) - MIPS 기본 연산 및 피연산자
  • [컴퓨터구조] 2. Instructions: Language of the Computer(1) - ISA와 MIPS 아키텍처 소개
lumana
lumana
배움을 나누는 공간 https://github.com/bebeis
  • lumana
    Brute force Study
    lumana
  • 전체
    오늘
    어제
    • 분류 전체보기 (457)
      • Software Development (27)
        • Performance (0)
        • TroubleShooting (1)
        • Refactoring (0)
        • Test (8)
        • Code Style, Convetion (0)
        • DDD (0)
        • Software Engineering (18)
      • Java (71)
        • Basic (5)
        • Core (21)
        • Collection (7)
        • 멀티스레드&동시성 (13)
        • IO, Network (8)
        • Reflection, Annotation (3)
        • Modern Java(8~) (12)
        • JVM (2)
      • Spring (53)
        • Framework (12)
        • MVC (23)
        • Transaction (3)
        • AOP (11)
        • Boot (0)
        • AI (0)
      • DB Access (1)
        • Jdbc (1)
        • JdbcTemplate (0)
        • JPA (14)
        • Spring Data JPA (0)
        • QueryDSL (0)
      • Computer Science (130)
        • Data Structure (27)
        • OS (14)
        • Database (10)
        • Network (21)
        • 컴퓨터구조 (6)
        • 시스템 프로그래밍 (23)
        • Algorithm (29)
      • HTTP (8)
      • Infra (1)
        • Docker (1)
      • 프로그래밍언어론 (15)
      • Programming Language(Sub) (77)
        • Kotlin (1)
        • Python (25)
        • C++ (51)
        • JavaScript (0)
      • FE (11)
        • HTML (1)
        • CSS (9)
        • React (0)
        • Application (1)
      • Unix_Linux (0)
        • Common (0)
      • PS (13)
        • BOJ (7)
        • Tip (3)
        • 프로그래머스 (0)
        • CodeForce (0)
      • Book Review (4)
        • Clean Code (4)
      • Math (3)
        • Linear Algebra (3)
      • AI (7)
        • DL (0)
        • ML (0)
        • DA (0)
        • Concepts (7)
      • 프리코스 (4)
      • Project Review (6)
      • LegacyPosts (11)
      • 모니터 (0)
      • Diary (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
lumana
[컴퓨터구조] 2. Instructions: Language of the Computer(3) - 컴퓨터 내부의 데이터 표현
상단으로

티스토리툴바