stddb
close
프로필 사진

stddb

github: @denev6

  • 분류 전체보기 (236) N
    • TIL (15)
    • WIL (9)
    • 별 잡다 (29)
    • 문제풀이 (72) N
    • 구현하기 (38)
      • Unity (8)
    • 컴퓨터 이론 (54)
      • CS:APP (28)
      • Unity (4)
    • with Nest (4)
  • 홈
  • 태그
  • 방명록

Young한 Y86-64로 구조 알아보기 [CSAPP Chap 4]

4장에 돌입함으로써, 현대 CPU의 핵심인 파이프라이닝이 왜 필요한지와 어떻게 성능을 극대화 하는지를 알아본다. 5장도 동시에 하고 있는데, 진짜 이렇게까지 해야 1KB씩 줄이는구나라는 마음에 보다 램 용량 걱정을 덜 하는 시대에 태어난 것은 다행이라고 생각한다.x86-64를 단순화 한 Y86-64 명령어 집합(ISA)를 살펴보자. 수십 년에 걸쳐 기능이 추가된 x86-64와 달리 교육용 모델 엔진을 사용하는 개념이다.데이터 이동 (Move):irmovq: immediate → register (상수 값을 레지스터로)rrmovq: register → register (레지스터 간 이동)mrmovq: memory → register (메모리에서 레지스터로)rmmovq: register → memory (레..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 8. 31.

BOJ 31834 : 미로 탈출

세상에 백준에서 미로가 나오면 엥간하면 그래프 문제였는데 약간 빡빡하게 느껴질수도 있는 조건형 문제라니 너무 맛있다. 사실 GeminiPT 도움을 받을 뻔 했는데, 혼자 정리를 해보니까 딱 한 줄에서 미스가 나서 그것만 고쳐보니 잘 풀어냈다. https://www.acmicpc.net/problem/31834 import sysinput = sys.stdin.readline# 3 - 4 , 1 - 2, 7 - 6 - 5?# 그럼 3 시작을 찍고 4 1 2를 갈 수 없다. 당연한거긴 한데..# 내가 가는 길이 조건에 부합하지 않은 ending route라는걸 인지하는 방법 # 3 4 [5]에 왔는데 다 들른게 아니라서 갈 수 없어요 : 근데 직전 칸이었던 4를 와버렸으니 이제 5에 가려면 6에서부터 ..

  • format_list_bulleted 문제풀이
  • · 2025. 8. 29.

제어 흐름도 논하는 어셈블리 명렁어 [CSAPP Chap 3]

어셈블리어를 알아두는건 정말정말 실제로 열어볼까 말까겠지만 이런 단계가 기저에 있다는 것을 알아두는 것은 도움이 된다고 한다. 현재의 개발 형태들이 보다 저급을 추구하는 형태의 고점이 C라는건 맞는데 요즘 돈 버는 서비스들이 거기까지 가는지 정말 궁금하다.그럼 오고가는 명령어인 mov에 대해 알아보자. mov + 8바이트인 movq는 3가지 채널을 활용 할 수 있다.즉시 값을 레지스터에 부여하기 : movq $0x123, %rax$는 온전히 그 숫자 값을 말한다.숫자 0x123을 %rax에 넣는다.레지스터의 값을 레지스터에 부여하기 : movq %rdi, %rax%rdi의 값을 %rax에 넣기메모리의 값을 레지스터에 부여하기 : movq (%rdi), %rax()는 메모리 주소를 뜻한다.%rdi 내..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 8. 27.

어 셈블리 어 를 논하겠 어 (+ 레지스터) [CSAPP Chap 3]

1장에서 어셈블리어로 구성된 소스 파일이 만들어지는 일련의 과정을 보았던 적이 있었다. 우리는 이 글에서 3장을 다룰 것인데, 보다 상세하게 이 부분을 다시 다룬다. 정리하고 있으면 글을 어디서 끊는게 딱 좋은지 고민이 많다.어셈블리어어셈블리 코드는 기계어로 전환되기 직전 상태의 소스 파일 내의 구성이다. C 언어 코드는 여러 단계의 변환을 거쳐 어셈블리 코드로 전환되고, 마지막에 기계어로 전환된다. 이 어셈블리 코드는 변수 조작을 레지스터라는 CPU 내의 정말 작고 정말 빠른 저장공간을 활용한다.여러가지 레지스터가 있지만, 가장 중요한 범용 레지스터들을 알아두면 좋다.%rax : 보통 함수의 반환 값을 저장하는 용도로 사용된다.%rdi, %rsi, %rdx, %rcx, %r8, %r9 : 함수에 인자를..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 8. 27.

부동소수점과 엔디안 논하기 [CSAPP Chap 2]

다룬다고 생각은 해도 참 와닿지 않는 두 주제이다. 어쨌든 2장에서 다루는 것도 있지만 이후의 내용들에서도 나올 수 있는 만큼 책을 읽어 내려가는데 있어 나름의 배경지식이라고 여기는 것도 좋은 학습 자세라고 생각한다. 2장의 핵심 내용은 여기서 마무리 된다고..부동소수점 수1,230,000은 1.23 * 10^6과 같다 그치? 이걸 그대로 컴퓨터에 적용하게 된다.부동소수점이라 불리는 float는 32비트 = 4바이트로 구성되어있다 :1비트는 부호. 숫자의 음수 여부를 결정한다. boolean isMinus8비트는 지수. 소수점의 위치를 결정한다. 2^x에서 x를 맡는다23비트는 가수. 실제 숫자 부분을 나타낸다. 앞의 예제에서, 1.23을 말한다부동소수점은 이 셋의 구성을 합쳐서 표현한다. 그리고 부동은..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 8. 21.

16비트와 2의 보수는 왜 있는거임 [CSAPP Chap 2]

CSAPP의 2장의 초반부를 알아보는 시간이다. 이번 내용은 의외로 대학 1학년 과목이랑 비슷한 난이도 수준인데, 꼬아서 내면 대응이 쉽진 않을 것 같다. 이런거까지 이해해줘야하는 컴퓨터를 받아줘야 또 나중에 LLM도 잘 쓰고 MCP도 잘쓰지 않을까?컴퓨터는 0과 1로 모든걸 표현한다는데 16진수 같은거 왜 있나요?;2의 4승이니, 1010을 "A"로 바꾸듯 같은 길이라면 더 많은 내용을 담을 수 있다.사람의 10진수에 알파벳을 붙였어서 10진수의 Extension Pack 같은 것이다. 보다보면 보인다 보여!가 가능해진다. 10진수에 알파벳 들어가는게 됐으면 아주 32진수도 하지 그랬어요. 0 - 9에 A - Z도 다 들어가네?umm.. 2^5니까 5비트씩 묶어서 표현해야한다. (16진수가 4비트 단위..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 8. 21.
  • navigate_before
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • ···
  • 40
  • navigate_next
공지사항
  • WHO I AM
전체 카테고리
  • 분류 전체보기 (236) N
    • TIL (15)
    • WIL (9)
    • 별 잡다 (29)
    • 문제풀이 (72) N
    • 구현하기 (38)
      • Unity (8)
    • 컴퓨터 이론 (54)
      • CS:APP (28)
      • Unity (4)
    • with Nest (4)
인기 글
전체 방문자
오늘
어제
Copyright © pwerty 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바