Computer Science 64

[혼공컴운] Ch3. 명령어 주소 지정 방식

명령어 주소 지정 방식 오퍼랜드 필드에 레지스터가 담길 수도 있고, 메모리 주소가 담길 수도 있고, 데이터가 직접 담길 수도 있다. CPU 입장에서는 연산에 사용될 데이터가 메모리 주소에 있든, 레지스터에 있든, 아니면 명령어에 직접적으로 명시되어 있든 연산에 사용될 데이터들을 빠르게 찾아 실행시킬 수 있어야 한다. '어떻게 해야 CPU가 데이터를 빠르게 찾을 수 있을까?' 에 대한 방법이 명령어 주소 지정 방식이다. 명령어 주소 지정 방식 (Addressing modes) - 연산에 사용할 데이터가 저장된 위치를 찾는 방법 - 유효 주소를 찾는 방법 - 다양한 명령어 주소 지정 방식들 즉시 주소 지정 방식 (Immediate addressing mode) 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명..

[혼공컴운] Ch3. 명령어, 컴파일

고급 언어와 저급 언어 고급 언어: 개발자가 이해하기 쉽게 만든 언어 C, C++, 파이썬, 자바, 자바스크립트 등 저급 언어: 컴퓨터가 이해하고 실행하는 언어 기계어: 0과 1로 이루어짐 어셈블리어: 기계어를 사람이 이해하기 편하도록 만듦 컴파일 언어와 인터프리트 언어 고급 언어 → 저급 언어 변환 과정 컴파일 인터프리트 고급 언어는 변환 방식에 따라 컴파일 언어 혹은 인터프리터 언어로 구분된다. 그러나 칼로 무 자르듯 딱 나뉘는 것은 아니고(파이썬은 A, 자바는 B ..), 그냥 컴파일 방식과 인터프리터 방식 두 가지가 있다고 이해하는 편이 낫다 컴파일 언어 고급 언어(소스 코드) → 컴파일(컴파일러) → 저급 언어(목적 코드) 작성된 소스 코드는 컴파일러에 의해 저급 언어로 변환되고(컴파일), 컴파..

[혼공컴운] Ch2. 데이터

1. 이진법 컴퓨터는 Binary만 이해 가능. 전기가 들어온 경우 vs 안 들어온 경우 이진법으로 음수를 표현하는 방법 2의 보수법: 음수를 표현하는 대표적인 방법 (보수: 보충해 주는 수) 현재의 숫자에서 자릿수가 1단계 올라갈 수 있는 수가 몇인지를 구하면 된다. 어떤 수를 그보다 큰 2^n에서 뺀 값 2의 보수 쉽게 구하는 법: 모든 0과 1을 뒤집고 1을 더한 값 Q1. 왜 2의 보수가 음수인가요? B가 A의 음수라면, -B 는 -(-A), 즉 A이겠지? 2의 보수로 구한 값의 보수를 또 구하면 제자리로 돌아오기 때문에, 음수를 표현하는 최적의 방법이다. Q2. 어떠한 이진수를 봤을 때 그게 음수인지 양수인지 어떻게 구별하죠? 예를 들어, -(1011)을 표현하기 위한 0101과 십진수 5를 표..

[혼공컴운] Ch1. 컴퓨터 구조 개괄

1. 컴퓨터 구조를 알아야 하는 이유 좋은 개발자가 되기 위해서는, 프로그래밍 언어의 문법과 함께 컴퓨터의 근간을 알아야 한다. 이를 알아야 문제해결 능력이 향상되고, 성능/용량/비용을 고려한 개발을 할 수 있기 때문이다. 1) 문제해결능력 컴퓨터구조에 대한 이해는 프로그래밍 언어의 문법만으로는 해결하기 어려운 문제들을 해결할 수 있도록 돕는다. 분명 코드는 제대로 작성했는데 동작하지 않는 경우가 있다. 내 개발환경에서는 문제없이 돌아갔는데 실제 사용자들에겐 오류가 뜨는 것이다. 이런 케이스는 문법 오류가 원인이 아니다. 여기서 더 나아가지 못하는 개발자가 있고, ‘한 번 들여다 봐야겠다!’ 하고 컴퓨터 내부를 거리낌없이 들여다 보는 개발자가 있다. 좋은 개발자는 컴퓨터를 미지의 대상으로 여기지 않고, ..