[SPARC] 3. Computer System Organization (CPU Machine Type)

2023. 9. 13. 00:01·CS/어셈블리
반응형

지난 포스팅에서는 ISA 의 큰 두가지 분류 CISC, RISC의 특징과

RISC에 속하는 SPARC ISA의 멍령어 타입에 대해 정리하였다.

 

이번에는 컴퓨터 구조를 조금 더 들어가서, 기본적인 CPU가 연산 과정과

CPU Machine Type을 정리하고자 한다.


1. 메모리의 표현

32bit CPU 는 명령어(데이터) 의 사이즈가 32bit = 4byte = 1word 임을 의미한다.

연속된 메모리 공간의 칸을 나눠서 한칸에 1byte 라고 하였을 때

32bit 컴퓨터는 4byte 단위의 데이터를 처리하므로

4칸씩 묶어서 메모리 구조를 생각할 수 있다.

=> 한칸에 8bit 면 주소값이 8씩 증가하는게 맞지 않나 순간 궁금했는데,

메모리 주소는 '논리적인' 부분이니까 한 칸을 8bit 의 1byte 기본 단위로 정의했다면

기본 단위마다 주소값이 증가하는 것으로 이해했다.

이렇게 4칸씩 묶어서 본다.

이걸 다르게 표현하면 아래와 같이 표현할 수도 있다.

주소값이 4씩 증가한다는 말은, 4byte씩 증가한다는 의미이니 32bit CPU라는 의미

반대로 8씩 증가하면 64bit CPU로 이해할 수도 있다.

아무튼 메인 메모리를 이런 형식으로 표현할 수 있다.


2. 현대 CPU의 기본 연산 과정

CPU가 연산을 할 때는 메모리에 있는 데이터를 레지스터로 가져온 후,

레지스터의 데이터를 이용해 Processor 가 연산을 하면,

그 결과를 레지스터를 거쳐 메모리에 저장한다.

 

Z <- X+Y 를 수행하는 과정의 첫번째로

X, Y 주소의 값을 레지스터로 가져온다.

이를 위해 실행하는 어셈블리 명령어가 load 명령어이다.

 

ISA 에 따라 다르지만, 예시에서는 load memory주소, register주소 순으로 사용한다.

r2, r5 레지스터에 저장한 값을 토대로 + (add) 연산을 수행한다.

그 결과를 레지스터 r8 에 저장한다.

 

연산결과를 메모리에 저장한다.

Store 명령어를 이용한다.


3. CPU Machine Type

CPU 종류는 크게 3가지가 있다.

 

1. Stack Machine

레지스터 대신 Stack 을 이용한다.

연산 결과를 스택에 저장하며, 스택 구조의 특성상 '메모리주소' 값을 필요로하지 않는다.

 

A+B를 수행한다고 하면, A, B 라는 두 데이터를 스택에서 가져오면 되므로

그저 POP 을 두 번 할 뿐이다.

그리고 그 결과값은 다시 스택에 저장하므로, TOS(Top Of Stack) 에는 연산 결과값이 저장된다.

 

2. Single-Register Machine

레지스터를 이용하나, 단 하나의 레지스터를 이용한다.

중간 결과를 저장할 공간이 부족하기 때문에, 중간 결과를 메모리에 저장한다(..)

때문에 아주 연산이 느리다.

 

3. Multiple-Register Machine

현대의 CPU 형태이며, 레지스터를 여러개 사용한다.

 

> 그런데 그림을 보니 세가지 모두 PC와 IR 은 따로 존재한다.

PC와 IR은 공통으로 필요한 파트이고, 연산의 중간 값을 저장하는 용도의 레지스터 유무 및 개수로 구분하면 될 것 같다.

PC도 레지스터고, IR도 레지스터인데 왜 레지스터가 하나라고 함? 하는 의문이 들었었다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'CS > 어셈블리' 카테고리의 다른 글

[SPARC] 6. Pipelining Hazard  (2) 2023.09.21
[SPARC] 5. Pipelining Analogy & SPARC Pipeline Stage Example  (1) 2023.09.19
[SPARC] 4. Stack Machine, Single Register Machine, Multiple Register Machine  (0) 2023.09.14
[SPARC] 2. Computer System Organization  (2) 2023.09.08
[SPARC] 1. Introduction & Computer System Organization  (2) 2023.09.07
'CS/어셈블리' 카테고리의 다른 글
  • [SPARC] 5. Pipelining Analogy & SPARC Pipeline Stage Example
  • [SPARC] 4. Stack Machine, Single Register Machine, Multiple Register Machine
  • [SPARC] 2. Computer System Organization
  • [SPARC] 1. Introduction & Computer System Organization
에버듀
에버듀
개발은 좋은데 뭘로 개발할까
  • 에버듀
    Blog. 에버듀
    에버듀
  • 전체
    오늘
    어제
    • 분류 전체보기 (615) N
      • 개인 프로젝트 (43)
        • 토이 프로젝트 (3)
        • [2020] 카카오톡 봇 (9)
        • [2021] 코드악보 공유APP (22)
        • [2022] 유튜브 뮤직 클론코딩 (9)
        • [2025] 한글 SQL 데이터베이스 (0)
      • 팀 프로젝트 (22)
        • [2020] 인공지능 숫자야구 (4)
        • [2022] OSAM 온라인 해커톤 (10)
        • [2024] GDSC 프로젝트 트랙 (6)
        • [2025] 큰소리 웹 페이지 (2)
      • CS (335)
        • 자료구조 (19)
        • 어셈블리 (41)
        • 멀티미디어응용수학 (7)
        • 컴퓨터 구조 (29)
        • 알고리즘 분석 (4)
        • 컴퓨터 네트워크 (38)
        • 프로그래밍언어론 (15)
        • HCI 윈도우즈프로그래밍 (26)
        • 기초데이터베이스 (29)
        • 운영체제 (23)
        • 오토마타 (24)
        • 문제해결기법 (11)
        • 블록체인 (22)
        • 소프트웨어공학 (21)
        • 기계학습심화 (12)
        • 컴퓨터그래픽스와 메타버스 (8)
        • 분산시스템특론 (6)
      • 자기계발 (45) N
        • 생각 정리 (23) N
        • 대외활동 (11)
        • 동아리 (7)
        • 자격증 (3)
        • 머니 스터디 (1)
      • 알고리즘 (PS) (107)
        • BOJ (101)
        • Programmers (5)
        • 알고리즘 이모저모 (1)
      • WEB(BE) (8)
        • express.js (1)
        • Spring & Spring Boot (7)
      • WEB(FE) (2)
        • html, css, js (1)
        • React.js (1)
      • Tool & Language (6)
        • Edit Plus (1)
        • Git (1)
        • Python3 (2)
        • Java (2)
      • Infra (12)
        • AWS (1)
        • Oracle Cloud (8)
        • Firebase (2)
        • Network (1)
      • Android (18)
        • Java (6)
        • Flutter (12)
      • Window (2)
        • Visual Studio 없이 WPF (1)
        • MFC (1)
      • 독서 (14)
        • Inside Javascript (7)
        • Database Internals (6)
        • 한 글 후기 (1)
  • 링크

    • github
    • website
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
에버듀
[SPARC] 3. Computer System Organization (CPU Machine Type)
상단으로

티스토리툴바