GoWoong의 개발 블로그
close
프로필 배경
프로필 로고

GoWoong의 개발 블로그

  • 분류 전체보기 (189)
    • 크래프톤 정글 (83)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (29)
      • CS (15)
      • OS (13)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
  • 홈
  • 자소서
  • 포트폴리오
  • 이력서

컴퓨터 시스템 : CSAPP 3장 정리 - 3.6 장 제어문 Part.2

3.6.5 - 조건부 분기를 조건 제어로 구현하기 (Implementing Conditional Branches with Conditional Control)🎯 조건부 분기를 조건 제어로 구현한다는 건?우리 눈에 보이는 C 코드에서는 if, else 같은 조건문이 있다. 컴퓨터는 이걸 어셈블리 코드에서 점프(jump) 명령어를 써서 구현한다.👨‍🏫 예시 C 코드long absdiff_se(long x, long y) { if (x 여기서 lt_cnt랑 ge_cnt는 "x가 y보다 작을 때"와 "크거나 같을 때"를 센다는 의미다.🧱 이걸 어셈블리로 바꾸면?컴파일러는 이렇게 바꾼다.cmpq %rsi, %rdi ; x = y면 .L2로 점프addq $1, lt_cnt(%rip); lt_c..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/3장 프로그램의 기계수준 표현
  • · 2025. 4. 5.
  • textsms

컴퓨터 시스템 : CSAPP 3장 정리 - 3.6 장 제어문 Part.1

📘 3장 6절 도입부: "제어(컨트롤)"우리가 컴퓨터한테 “이거 해!” 하고 명령을 내릴 때, 컴퓨터는 순서대로 차례차례 그 명령들을 따라 한다. 그런데 어떤 때는 "만약 이 조건이 맞으면 이걸 하고, 아니면 저걸 해!"라고 조건을 걸 수도 있다. 마치 게임에서 “보스를 이기면 다음 스테이지로 가고, 아니면 다시 도전하기” 같은 것이다.이렇게 "조건에 따라 행동을 다르게 하기"를 제어 흐름(control flow)이라고 한다. 그리고 컴퓨터는 점프(jump)라는 특별한 명령을 써서 이 흐름을 바꾼다. “여기서 저기로 점프!”라고 말이다.🧠 3.6.1절 - 조건 코드 (Condition Codes): 컴퓨터가 생각하는 방법컴퓨터는 계산을 한 다음, 그 결과에 대해서 “이건 0인가?”, “음수인가?”, ..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/3장 프로그램의 기계수준 표현
  • · 2025. 4. 5.
  • textsms

컴퓨터 시스템 : CSAPP 3장 정리 - 3.5 장 산술 및 논리 연산

📘 3.5장 도입: 산술 및 논리 연산🎯 이 장에서 무엇을 배우는가?이 장에서는 컴퓨터가 덧셈, 뺄셈, 곱셈 같은 산술 연산이나AND, OR, NOT 같은 논리 연산을 어떻게 수행하는지를 배운다.🧠 왜 중요한가?우리가 프로그램에서 a + b, x * 2, if (x > y) 같은 걸 사용한다. 컴퓨터는 이걸 아주 빠르게 계산하기 위해 레지스터, 비트 연산, 이진수 덧셈기 같은 도구를 사용한다. 이걸 어셈블리어에서 어떻게 처리하는지를 보면 컴퓨터가 똑똑하게 일하는 방식을 이해할 수 있다.📌 3.5.1 Load Effective Address (LEA, 유효 주소 적재)🤔 LEA란?leaq 명령어는 주소를 계산하지만, 메모리에서 값을 읽지는 않는다💡 예: leaq 7(%rdx, %rdx, 4), ..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/3장 프로그램의 기계수준 표현
  • · 2025. 4. 5.
  • textsms

컴퓨터 시스템 : CSAPP 3장 정리 - 3.4 장 정보 접근하기 Part.3

3.4.3 "데이터 이동 예제(Data Movement Example)"🎯 이 절의 핵심메모리에서 값을 읽고 쓰는 방식을 실제 C 코드와 어셈블리 코드 예제를 통해 배워본다.📘 C 코드 예시long exchange(long *xp, long y) { long x = *xp; *xp = y; return x;}💡 무슨 뜻인가?xp는 숫자가 들어 있는 상자의 주소이다.y는 바꿔치기할 새 숫자*xp = y: xp가 가리키는 곳의 값을 y로 바꿔준다.return x: 바꾸기 전에 있던 값을 결과로 돌려준다.마치 “친구 상자에 있는 숫자를 내가 보고, 그 자리에 새 숫자를 넣고, 원래 있던 숫자를 기억해 두는 것” 같다.🔧 어셈블리 코드exchange: movq (%rdi), %rax..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/3장 프로그램의 기계수준 표현
  • · 2025. 4. 5.
  • textsms

컴퓨터 시스템 : CSAPP 3장 정리 - 3.4 장 정보 접근하기 Part.2

3.4.1 "오퍼랜드 지정자(Operand Specifiers)"🧠 오퍼랜드란?오퍼랜드(Operand)는 명령어에서 사용되는 값예를 들어, 계산기에서 3 + 5라면+는 연산자 (operator),3과 5는 오퍼랜드어셈블리에서도 똑같다mov %rax, %rbx여기서 %rax와 %rbx는 오퍼랜드야.→ “rax에 있는 값을 rbx로 복사해 줘!”🔧 오퍼랜드의 종류컴퓨터는 다양한 종류의 값을 계산에 쓸 수 있어! 대표적으로 3가지이다:종류예시설명즉시 값 (Immediate)$10, $0x20그냥 숫자 자체!레지스터 (Register)%rax, %rbx빠른 기억상자메모리 (Memory)(%rax), 8(%rbx)주소를 따라가서 값을 가져와요🧮 메모리 주소 지정 (주소 계산 방법들)컴퓨터는 주소를 숫자로 계..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/3장 프로그램의 기계수준 표현
  • · 2025. 4. 5.
  • textsms

컴퓨터 시스템 : CSAPP 3장 정리 - 3.4 장 정보 접근하기 Part.1

3.4장 "정보 접근하기 (Accessing Information)" 부분 전체를 살펴보겠다. 이 장은 컴퓨터가 값(정보)을 어디서, 어떻게 꺼내 쓰고 저장하는지 알려주는 아주 중요한 부분이다 😊🎯 3.4장 핵심 주제:컴퓨터가 값을 꺼내고 저장하는 방법을 배운다.🧠 왜 이게 중요할까?컴퓨터는 모든 걸 메모리에 저장하고 꺼내서 사용한다.어셈블리어에서는 "정보를 어디서 꺼내서, 어디에 놓을지"를 직접 알려줘야 한다📦 1. 컴퓨터에는 저장 공간이 3가지가 있다.종류예설명레지스터%rax, %rbx빠른 임시 상자!메모리(%rax)느리지만 큰 저장소즉시값$10, $0x40그냥 숫자 자체🧩 2. 레지스터란?레지스터는 컴퓨터 안에 있는 아주 빠른 기억 상자다.예를 들어:mov $10, %rax→ rax라는 상..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/3장 프로그램의 기계수준 표현
  • · 2025. 4. 5.
  • textsms
  • navigate_before
  • 1
  • ···
  • 6
  • 7
  • 8
  • 9
  • 10
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (189)
    • 크래프톤 정글 (83)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (29)
      • CS (15)
      • OS (13)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
최근 글
인기 글
최근 댓글
태그
  • #AWSKRUG
  • #saa-c03
  • #aws #iot
  • #AWS Community Day
  • #IOT
  • #serverless
  • #AWS
  • #Cloud Practitioner
  • #CLF-C01
  • #AWS 자격증
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바