분류 전체보기58 5. CPU의 작동원리 : ALU와 제어장치 ALU는 계산하는 장치제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치 ALU계산을 하기 위해서는 피연산자와 수행할 연산이 필요 ex) 1+2=? ; 1, 2는 피연산자, + 수행할 연산 ALU는 레지스터로부터 피연산자를 받아들이고 제어장치로부터 제어 신호를 받아들인다. 이렇게 계산된 결괏값을 레지스터에 담는데 메모리가 아니라 레지스터에 저장하는 이유는 CPU가 레지스터에 접근하는 속도가 메모리에 접근하는 속도보다 빠르기 때문이다. ALU가 내보내는 또다른 정보중에서 프래그가 있다. 플래그는 연산결과에 대한 부가정보인데 CPU 내부에 있는 모든 숫자들은 양수 혹은 음수라고 하는 일종의 깃발을 들고 다니기 때문에 CPU는 결과값이 양수인지 음수인지 플래그를 통해서 이해할 수 있다. 다만, 연산결과가.. 2024. 10. 1. 4. 소스코드와 명령어 고급 언어와 저급 언어 개발자가 작성한 소스 코드#include int main() { printf("Hello, world!"); return o;} 컴퓨터는 이러한 소스코드를 바로 직독직해하지 못한다. C, C++, Java, Python 같은 프로그래밍 언어들은 개발자가 읽고 쓰기 편하게 만들어낸 언어로 '고급 언어'라고 한다. 고급 언어로 작성된 소스 코드가 컴퓨터 내부에서 실행될 때는 컴퓨터가 이해하고 실행하는 언어로 변환이 되어 실행한다. 이를 '저급 언어'라고 한다. 저급 언어는 기계어와 어셈블리어로 나뉜다. 기계어는 이진수 또는 십육진수 표현되며 컴퓨터가 이해할 수 있는 명령어로 이루어진 언어다.허나 이거는 컴퓨터가 이해하기 쉽게 만들어진 언어이기 때문에 이 기계어를 사람들이 읽기 .. 2024. 9. 30. 지옥에서 온 깃 (1)깃 설치하기 GitHub 깃허브 개발 관련 검색이나 공부를 하다보면 계속 나오는 이 깃허브라는 녀석 개발 관련해서 아주 중요한 녀석이라는 거는 알겠지만 홈페이지에 가입하고 입문 관련 글을 봐도 도무지 쉽게 다가가기 어려웠다. 왠지 이녀석을 모르고 계속 나아갈 수는 없을 것 같아 날 잡아 유튜브 영상과 입문 관련 글을 찾아보면서 설치에 성공하였다. 다른 좋은 영상과 글이 많지만 나와 같은 사람들을 위해 맥북 사용자가 깃허브를 설치하고 사용하는 과정을 정리하려고 한다. 1. 깃이란? Git = Version Control System깃은 버전 관리 시스템이라는 분류에 속하는 구체적인 프로그램 중 하나버전 관리 시스템이라는 말이 생소하지만 컴퓨터 문서 작업을 많이 해보신 분들은 아래 그림으로 한번에 이해가 가능하다. 깃.. 2024. 9. 29. 3.데이터 0과 1로 문자를 표현하는 방법 문자 집합과 인코딩문자 집합 character set : 컴퓨터가 이해할 수 있는 문자의 모음인코딩 encoding- 코드화하는 과정- 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정디코딩 decording- 코드를 해석하는 과정- 0과 1로 표현된 문자 코드로 문자를 변환하는 과정 대중적으로 사용되는 문자 집합 세가지아스키 ASCII 코드초창기 문자 집합 중 하나알파벳, 아라비아 숫자, 일부 특수 문자 및 제어 문자7비트로 하나의 문자 표현8비트 중 1비트는 오류 검출을 위해 사용되는 패리티 비트 parity bit아스키 코드로 표현할 수 있는 총 문자의 개수는 2의 7승계, 128개이다.문자에 부여된 값들을 그대로 인코딩 값으로 쓰면 되기 때문에 인코딩 방식이 아주 간단하다.그러나 한글을 포함.. 2024. 9. 28. 2.데이터 0과 1로 숫자를 표현하는 방법 컴퓨터의 정보 단위컴퓨터는 0과 1밖에 이해하지 못한다. 컴퓨터가 이해하는 정보단위비트(bit): 0과 1을 표현하는 가장 작은 정보 단위 (전구에 비유해서 꺼짐, 켜짐으로 표현)1비트로는 '0'과 '1'이라는 두가지 정보를 표현할 수 있다.2비트로는 '00', '01', '10', '11' 네가지 정보를 표현 할 수 있다.n비트로 $2^n$가지의 정보 표현 가능프로그램은 수많은 비트로 이루어져 있음비트보다 더 큰 단위를 사용 : 바이트, 킬로바이트, 메가바이트, 기가바이트, 테라바이트...워드(word)- CPU가 한 번에 처리할 수 있는 정보의 크기 단위- 하프 워드(half word): 워드의 절반 크기- 풀 워드(full word): 워드 크기- 더블 워드(double word): 워드의 두 배 .. 2024. 9. 28. 1.컴퓨터 구조 시작하기 "프로그래밍 언어의 문법과 함께 컴퓨터의 근간을 알아야 한다." 프로그래밍을 배우기에 앞서 컴퓨터의 구조를 알아야 하는 이유는 첫 번째, 문제 해결 능력을 기를 수가 있다. 두 번째, 성능, 용량, 비용을 고려한 개발을 할 수 있다. 개발했던 환경에서는 문제없이 돌아갔던 코드가 실제로 사용자들한테 릴리즈 했을 때 동작이 안 되는 경우가 있다.이런 경우에는 프로그래밍 언어의 문법상의 오류가 실제 문제는 아니기 때문에 문제의 원인은 프로그래밍 언어 그 너머에 근원적인 문제가 있을 것이다. 그렇다면 이를 해결하기 위해서는 컴퓨터 내부를 들여다보고 분석할 수 있어야 한다. 컴퓨터 구조를 학습하면 컴퓨터를 관조할 수 있는 능력을 배양할 수 있다. 문법에 맞는 소스 코드를 컴퓨터에 입력만 하는 개발자에서 컴퓨.. 2024. 9. 26. 이전 1 ··· 6 7 8 9 10 다음