CS 12

[CSAPP] 3챕터 - 프로그램의 기계수준 표현(8) - 조건 이동 인스트럭션

다시 CSAPP 시간입니다. 추석에 실컷 놀고.. OS랑 통계 공부하다 다시 돌아왔습니다. 원래부터 사람은 당장 어떤 위험이 눈앞에 닥치기 전까진 실감을 잘 못하는 것 같습니다. 분명히 근 시일 내에 치나 3차 쓰알이 나올거라 알고 있었음에도, 성능에 한눈에 팔려 감사제 코토네에 반천장 돌을 박은 제가, 분명 분명 알고 있었는데 왜 그랬는지 이해가 가지 않습니다. 남은 돌은 긁어 모아도 반 천장이고, 출시는 다음주 입니다. 노래가 별로면 패스해도 되겠죠~~ 근데.. 왜 작곡에 에반콜이 보일까요...? 오케스트라 거장이 왜 우리 게임에 왔냐고.. 부자집 영애님이라는 설정 맞추려고 진짜 돈 다 털어서 모셔온거야?? 근데 이러면 노래가 별로일 수가 없는거 아냐?? 담주에 안보이면 시험 끝나자마자 돌 캐러 간겁..

CS 2025.10.15

[CSAPP] 3챕터 - 프로그램의 기계수준 표현(7) - 조건 연산 인스트럭션

이제 좀 패턴이 선 것 같습니다. 이터널리턴도 메테오라이트를 찍었고(릴까지 가기엔, 점점 롤할 때 인성으로 돌아가는 기분이라 못하겠더라고요.) 모비노기도 길드 함선 건조 끝났고.. 가쿠도 인자작 적당히 했습니다. 난 치나 발사대가 될거야!!! 남은 건, 곧 올 아키라 솜인형이 DIY라 바느질 배워야 한다는거 정도? 아직 도안만 받아봤는데 정말 잘 뽑혔더라고요. 지인P랑 같이 맡긴거라 커미션비 반띵하니까 비용도 얼마 안나온.. 10월에 받을 수 있다 하니, 바로 뚝딱뚝딱 해서 11월 라이브에는 이 친구들로 데려갈 것 같습니다. 아 이러면 가방도 하나 마련해야하는데.... 하 콜라보 굿즈로 지갑 말고 가방을 샀어야 했던건데... 완성하면 자랑하러 오겠습니다. 진짜 너무너무너무너무 귀여움 저거 그럼 이제 다시..

CS 2025.09.24

[CSAPP] 3챕터 - 프로그램의 기계수준 표현(6) - 산술 연산 인스트럭션

기존 포스팅에선 값을 복사하여 옮기는 인스트럭션에 대해 공부했으니, 이제 본격적으로 연산과 관련된 인스트럭션을 진행할 차례입니다. 어셈블리 코드는 C와 같이 우리가 평소에 진행하는 고수준 언어와 달리, 저수준에서 명령을 형성합니다. 따라서 적어도 지시된 명령에 대해선 무조건적으로 시행 가능한 정교성과(물론 명령 자체가 잘못되었을 수는 있지만요) 자원과 비용 측면의 최적화된 정책이 요구됩니다. 이번 포스팅에서는 해당 부분에 대해 알아볼겁니다. 연산의 종류 먼저, 인스트럭션의 종류에 따라 그 연산 기법의 분류를 구분할 수 있습니다. 오퍼랜드(피연산자)가 하나인 연산의 경우 이를 단항 연산이라고 합니다. 단항 연산의 경우, 피연산자 본인이 소스이며 동시에 목적지가 됩니다. 이는 곧, 소스가 연산 처리 진행 후..

CS 2025.09.10

[CSAPP] 3챕터 - 프로그램의 기계수준 표현(5) - 데이터 이동 인스트럭션

이제 본격적인 명령어, 인스트럭션 단계로 넘어가겠습니다. 각 인스트럭션 유형별로, 그 종류와 기능, 최적화된 모습 등을 이야기하겠습니다. 이번 포스팅에서는 가장 먼저, MOV 클래스를 다루도록 하겠습니다. 우리가 메모리와 레지스터를 이용하면서 프로그램을 동작시킬 때, 가장 기본이 되는것은 적재와 저장입니다. 이용할 자원을 메모리에 띄우고, 그리고 그 결과 값을 다시 저장하고, 또 이는 레지스터에서도 마찬가지로 적용되니, 모든 프로그램에서 사용하는 가장 기초적인 명령어가 됩니다. 오늘은 이를 집중적으로 알아볼 겁니다. MOV클래스 먼저 오리지널 MOV 계열 인스트럭션은, 데이터를 소스위치에서 목적지로 옮길 때, 어떤 변화도 거치지 않고 복사합니다. 즉 소스가 표현하는 값의 범위와, 목적지가 받고자 하는 값..

CS 2025.09.09

[CSAPP] 3챕터 - 프로그램의 기계수준 표현(4) - 오퍼랜드

이제 본격적으로 어셈블리 코드를 다뤄보겠습니다. 우선 기초 문법 먼저 살펴볼까요?말씀드렸다시피, 여러분 생각보다 컴퓨터는... 훨씬.. 무식합니다. 당장의 뉴로사마를 보아도, D&D 실황에서 주사위를 굴리지 못해 누군가 대신 굴려주지 않습니까?(...) 그리고 무엇보다, 빨라야합니다. 우리가 어셈블리코드까지 뜯는다 함은, 고수준에서의 꼬임이 곧 입대할 제 지인의 군생활 만큼 꼬여있거나, 아니면 상당한 속도 향상을 위해 뜯어보는 걸텐데.. 간단명료하고 빠르지 않다면 아무 의미 없지 않겠습니까? 따라서, 어떠한 고정된 형태로, 최대한 간결하게, 그래서 삼척동자 컴퓨터가 전달받아도 매우 빠르게 처리할 수 있도록 세팅되어야 합니다. 이는 저희에게도 상당한 이점입니다. 간결하게 키워드만 딱 딱 있으니까, '트이기..

CS 2025.09.06

[CSAPP] 3챕터 - 프로그램의 기계수준 표현(3) - 스택 프레임 규칙

직전 포스팅에서, 레지스터의 여러가지 사용 규칙을 알아보았습니다.함수 인자의 전달이나 반환값에 대한 레지스터 규칙과, caller 나 callee 저장 레지스터 등이 활용되는 레지스터 보존 규칙 등이 있었죠. 이번엔 마지막으로, 스택 프레임 규칙을 공부해보겠습니다. 먼저 여기서 말하는 스택 프레임은, 메모리의 스택 영역을 말합니다. 해당 스택 영역에는, 지역변수나 매개변수, 모든 명령어의 동작을 마치고, 반환해야하는 포인터의 주소값이 저장됩니다. 또한 스택 자체는, 함수 할당과 함께 생성되며, 함수 호출이 완료되었을 때 소멸합니다. 정확히는 쓰레기 값이 남게되는거지만.. 해당 공간이 다시 누군가에게 할당되었을 때, 덮어씌워지니 사실상 소실됨을 의미합니다.본격적인, 어셈블리 코드에 들어가기에 앞서, 레지스..

CS 2025.09.02

[CSAPP] 3챕터 - 프로그램의 기계수준 표현(2) - 레지스터의 종류

네.. 수료하고.. 조금 놀다왔습니다.. 1주일 정도 내리 논거 같네요.. 놀만큼 놀았으니 다시 일할 시간입니다..그동안 친구들 조금 만나고, 같이 게임도 하고, 밀린 만화도 보고... 덕질도 하고.. 덕질도 하고.. 덕질도 하고.....예전이라면 가끔씩 들어가던 게임도, 서비스 종료 예고가 뜨니까 매일 들어가게 되더라고요.. 있을 때 잘해야합니다 진짜..게임은 마비노기 모바일 잡고 있는데.. 애들이 진짜 너무너무너무너무너무너무 귀여워요!!! 원래 무과금 선호인데, 패스 보상으로 나오는 의상 보고 뒤도 안돌아보고 패스 샀습니다.. 염색하는데만 4시간 쓴거 같은데.. 너무 귀엽게 나와서 만족 중입니다.. ㅠㅠㅜㅠ그럼 3챕터 포스팅 이어가겠습니다. 이번에는 레지스터와 오브젝트 파일에 대한 전반적인 설명을 진..

CS 2025.08.10

[CSAPP] 3챕터 - 프로그램의 기계수준 표현(1) - 인스트럭션 셋 아키텍처(ISA)

1챕터에서는 우리의 언어가 컴퓨터로 전달될땐 어떻게 번역되는지, 그리고 그 과정에서 거치는 물리적인 경로는 어떻게되는지, 이를 저장하는 저장 장치와, 처리의 전반적인 운영 과정은 어떻게되는지를 배웠습니다. 축약하자면, 우리의 명령이 하달되는 과정과 그 명령이 처리되는 공정 시스템 개요를 공부한 겁니다. 이제는 현장직의 소리에 귀를 기울일 시간입니다. 단순히 프로세스가 작업하는 내용이 아닌 프로세스가 사용하는 언어, 현장의 의사소통을 공부할 시간입니다. 1. 인스트럭션(Instruction) 프로그래밍을 하면서 우리는, 정말 많은 함수를 사용합니다. 단순히 사칙연산만 사용하는게 아니죠. 제곱도 시키고... 괴상한 그래프도 만들고.. 매칭도 시키고.. 그런데 이런 함수들이 번역되어 프로세서에게 전달될 때,..

CS 2025.07.30

[CSAPP] 1챕터 - 컴퓨터 시스템에게로 떠나는 여행 (3) - 운영체제

이거 1챕터가 이렇게 길었나..? 일단 나눠서 쓰고 있습니다... 생각해보니 1챕터만 2주동안 했었죠.. 글이 길게 나올만도 하고..이번엔 운영체제와 기타 프로세스에 대한 글입니다. 앞에선 우리가 입력한 텍스트가 컴퓨터에게 전달되기까지 번역되는 과정과, 물리적인 경로, 그 저장공간에 대해 이야기했다면 이번에는 이 모든 과정을 직접적으로 통제하는 운영체제와 그 프로세스 시스템에 대한 글입니다. 이전까진 말단 직원들에 대한 소개였고, 이번엔 관리자를 소개시켜드린다 생각해주시면 편하겠습니다.아 들어가기 전에, 해당 글은 단일 프로세서 시스템의 CPU라는 전제가 내포되어 있습니다. 그게 뭔데 싶으시다면 그냥 읽으셔도 무방합니다. 멀티 프로세서에 대해서는 이후 다시 설명하겠습니다. 1. 운영체제는 하드웨어를 관리..

CS 2025.07.29

[CSAPP] 1챕터 - 컴퓨터 시스템에게로 떠나는 여행 (2) - 하드웨어의 물리 구조와 저장장치

원래 1챕터가 이렇게 양이 많았나...? 글 하나로 줄일 수 있을 줄 알았는데 생각보다 나눠 적어야 할 것 같습니다.. 뒷 챕터는 두배 세배는 되는 애들도 있는데.. 앞길이 좀 막막 하네요... 이거 매번 서문엔 가볍게 얘기를 적고 스타트하려 했는데, 이거 적을 거리 생각하는 것도 일이네요.. 아, 본 글 작성하던 중에 하나 생겼습니다. 12월에 최애 라이브가 또 또 또 잡혔습니다. 1년에 네번이나 한다고..? 한번밖에 못 뛴 애도 두눈 시퍼렇게 뜨고 지켜보고 있는 상황에서? 11월 공연은 보러가는데.. 아마 거기서 칼을 맞든, 돌을 맞든 그냥 업이구나.. 하고 받아들여야할 것 같습니다. 11월에 한국인 폭행 뉴스가 뜨거든 혐한 이슈가 아니라, 적폐 캐릭 러버인거 티내다 당했겠거니... 원인제공 했겠구나..

CS 2025.07.28