목록cpu (6)
개발자는 기록이 답이다

클럭과 코어, 스레드 라는 개념을 학습하고, 빠른 CPU를 만드는 설계 기법인 멀티 코어와 멀티 스레드란 무엇인지 이해해보자. 또한 맥에서 코어 수와 스레드 수를 보는 방법도 포스팅했으니 1절의 맨 마지막 부분을 확인하면 된다. 1. 빠른 CPU를 위한 설계 클럭 CPU를 설계하는 엔지니어는 조금이라도 더 빠른 CPU를 만들어야 한다. 그렇다면 CPU를 어떻게 설계해야 할까? 컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직인다 CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어들을 실행한다. 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직인다. 즉, 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복하고, 다른 부품들도 그에 맞춰 더 빠..

ALU와 제어장치가 어떤 정보를 내보내고 받아들이는지를 중심으로 두 장치의 역할을 학습하자. 또한, 레지스터를 통해 명령어가 처리되는 과정과 CPU가 하나의 명령어를 처리하는 사이클과 그 흐름을 방해하는 인터럽트에 대해 알아보자. ALU(계산하는 부품) 1+2를 계산할 때 1과 2라는 피연산자와 더하기라는 수행할 연산이 필요하듯, ALU가 계산을 하기 위해 피연산자와 수행할 연산이 필요하다. ALU가 받아들이는 정보 피연산자 제어신호 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들인다. ALU는 레지스터와 제어장치로부터 받아들인 피연산자와 제어 신호를 산술 연산, 논리 연산 등 다양한 연산을 수행한다. ALU가 내보내는 정보 결과값 플래그 연산을 수행한 결..

프로그래밍 언어로 작성한 소스 코드가 컴퓨터 내부에서 명령어가 되고 실행되는 과정을 학습한다. 명령어의 구조와 주소 지정 방식을 학습하며 명령어의 생김새와 작동 원리를 이해한다. 1. 소스코드와 명령어 고급언어와 저급언어 고급 언어 : 사람이 이해하고 작성하기 쉽게 만들어진 언어 저급 언어 : 컴퓨터가 이해하고 실행할 수 있는언어 기계어 : 0과 1의 명령어 비트로 이루어진 언어, 너무 길어지기 때문에 십육진수로 표현하기도 한다. 어셈블리어 : 기계어를 읽기 편한 형태로 번역한 언어 개발자들이 고급언어로 소스 코드를 작성하면 알아서 저급언어로 변환되어 잘 실행되는데. 저급 언어를 알아야 할까? 하드웨어와 밀접하게 맞닿아 있는 프로그램을 개발하는 임베디드 개발자, 게임 개발자, 정보 보안 분야 등의 개발자..

인프런 다른 강의를 통해 운영체제 파트를 공부했었는데, 좀 더 부족한 부분을 메꾸기 위해 혼공책을 도서관에서 빌려왔다. 강의에서는 핵심 부분만 뽑아서 설명해주긴했지만, 책으로도 좀 더 자세히 복습하고자 한다. 특히, 맨 앞장에는 실력있는 개발자가 되기 위해서 컴퓨터 구조를 알아야 하는 이유에 대해 설명이 잘 되어있다. 컴퓨터 구조를 알아야 하는 이유? 프로그래밍 강의나 책에 나오는 코드를 똑같이 따라 작성했는데도 에러가 날 경우, 컴퓨터의 구조를 이해하고 있다면 문제 상황을 빠르게 진달할 수 있다. 컴퓨터 → 미지의 대상 x, 분석의 대상o 컴퓨터 구조 지식은 문법에 맞는 코드만 작성할 줄 아는 개발자를 넘어 다양한 문제를 스스로 해결할 줄 아는 개발자로 만든다. 웹사이트를 개발할때, 서버 컴퓨터가 필요..