인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
NEW

만들면서 쉽게 배우는 컴퓨터 구조

이 강의를 통해 수강생은 컴퓨터 구조의 기초를 다질 수 있을 것으로 예상합니다.

54명 이 수강하고 있어요.

Thumbnail

입문자를 위해 준비한
[컴퓨터 구조, 개발 · 프로그래밍] 강의입니다.

이런 걸 배울 수 있어요

  • 컴퓨터 구조

  • 진짜 계산이 되는 컴퓨터

  • 기계어

  • 어셈블리어

실제로 동작하는 컴퓨터를 만듭니다.

컴퓨터가 어떻게 작동하는지 궁금했던 적이 있나요? 이 강의는 컴퓨터 구조와 동작 원리를 처음부터 끝까지 체계적으로 알려드립니다! 😃
단순히 개념만 익히는 것이 아닌, 트랜지스터를 이용해 동작하는 컴퓨터를 만들어 보는 강의입니다.

강의를 듣고 나면 이런 기본기가 생겨요

진짜로 동작하는 컴퓨터

단순히 도식화된 설명만으로 개념을 익히는 것이 아니라, 트랜지스터라는 기본 반도체 소자를 사용하여 실제 작동하는 컴퓨터를 직접 만들어봅니다. CPU의 핵심 구성 요소인 ALU와 제어 장치를 만들고, 레지스터(컴퓨터의 가장 작은 메모리 단위)와 프로그램이 저장되는 RAM을 직접 구현하면서 컴퓨터의 특성을 깊이 이해할 수 있습니다.

컴퓨터의 진짜 밑바닥

트랜지스터를 이용하여 컴퓨터에 필요한 모든 논리 게이트를 만들어봅니다. 논리 게이트를 이해하기 위해 논리 연산과 그 법칙들을 학습합니다. 논리 연산은 컴퓨터 구조뿐만 아니라 computer-science 전반에서 사용되는 핵심 개념이므로, 다양한 지식을 습득하는 데 필수적인 기초가 됩니다.

컴퓨터 메모리에 대한 이해

직접 컴퓨터를 만들며 메모리를 구현해보면 메모리를 구성하는 소자들과 그 구조를 직접 눈으로 확인하며 이해할 수 있습니다. 메모리를 실제로 만들어보고 눈으로 직접 확인하는 것만큼 확실한 학습 방법이 있을까요? 이는 고급 개발자로 성장하는 과정에서 매우 값진 경험이 될 것입니다.

저수준 언어

기계어를 직접 정의하고 이를 활용한 프로그래밍, 그리고 기계어와 1:1로 매칭되는 어셈블리어를 통한 프로그래밍 경험을 통해 저수준 언어에 대한 이해력을 기를 수 있습니다.
저수준 언어에 대한 이해는 고수준 언어 사용 시에도 더 깊은 통찰력을 제공합니다. 코드를 "왜 이렇게 작성해야 하는지" 근본적으로 이해할 수 있게 되기 때문입니다.
또한 고수준 언어로는 달성하기 어려운 수준의 성능 최적화도 가능해집니다.

학습 내용

컴퓨터 구조 개요

현대 컴퓨터가 만들어지기까지의 컴퓨터 역사를 살펴보고, 컴퓨터가 프로그램을 실행하는 방식을 알아봅니다.

컴퓨터의 구성 요소

그림을 통해 컴퓨터의 구성 요소를 학습하고 전체적인 컴퓨터 구조를 시각화합니다. 또한 64비트, 32비트, 그리고 우리가 직접 만들어볼 8비트 컴퓨터의 차이점을 살펴봅니다.

0과 1 다루기

컴퓨터를 이해하기 위해서는 컴퓨터가 다루는 0과 1을 알아야 합니다. 컴퓨터가 비트를 이용해 논리 연산을 수행하는 방법과 다양한 논리 연산 기법을 살펴봅니다. 또한 비트로 숫자를 표현하는 방법과 비트 관련 핵심 개념들을 함께 학습합니다.

컴퓨터에 필요한 부품 만들기

트랜지스터라는 컴퓨터를 이루는 최소 단위 부품을 이용하여 컴퓨터에 필요한 모든 부품을 만들어보는 시간입니다. 이를 통해 논리 회로를 자연스럽게 이해할 수 있습니다. 이론과 실습이 유기적으로 연결됩니다.

CPU 만들기: 산술 논리 연산 장치(ALU)

컴퓨터의 핵심 부분인 CPU를 만드는 첫 번째 시간입니다. 상대적으로 간단한 산술 논리 연산 장치(ALU)를 먼저 만들어 봅니다.

메모리 만들기

프로그램을 구성하는 코드와 데이터를 저장하기 위해서는 메모리가 필수적입니다. 가장 기본이 되는 1비트 메모리부터 시작하여 RAM을 만드는 과정을 살펴봅니다.

수동으로 계산해보기

지금까지 만든 회로를 조립하고 제어 장치가 없는 컴퓨터에서 우리가 직접 제어 장치 역할을 수행하며 계산을 진행합니다. 이를 통해 ALU가 메모리에서 데이터를 가져와 계산하는 과정을 이해하고, 제어 장치의 필요성을 체감할 수 있습니다.

CPU 만들기: 제어 장치(CU)

컴퓨터의 핵심 부분인 CPU를 만드는 마지막 시간입니다. CPU의 가장 복잡한 구성 요소인 제어 장치를 제작하고 명령어 체계를 정의한 후, 이를 바탕으로 프로그래밍이 가능한 컴퓨터를 최종 조립하게 됩니다.

기계어와 어셈블리어 프로그래밍

우리가 제작한 컴퓨터와 정의한 명령어를 이용해 기계어 프로그래밍을 실습합니다. 여기서 기계어 프로그래밍의 단점을 체감하고 'Gamjabler'라는 어셈블러를 이용해 어셈블리어 프로그래밍을 해보며 어셈블리어의 편의성을 알아봅니다.

수강 전 참고 사항

실습 환경

  • 운영체제 및 버전(OS): Windows, Mac, Linux

  • logisim-evolution 3.9.0


학습 자료

  • 실습에서 나오는 모든 회로 파일(.circ)

  • Gamjabler

선수 지식 및 유의사항

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 컴퓨터 공학을 처음 접하는 학생

  • IT 업계에서 기술적 기반을 다지고 싶은 직장인

  • 컴퓨터를 직접 만들어 보고싶으신 분

  • 컴퓨터의 내부 작동 원리를 알고 싶은 호기심 많은 분들

안녕하세요
입니다.

6,649

수강생

369

수강평

291

답변

4.9

강의 평점

7

강의

저는 인프런에서 컴퓨터 과학(CS) 강의를 준비하고 있는 감자라고 합니다! 😄
학생과 주니어 개발자들이 AI 시대에 단순히 AI에 밀려나지 않고, 기본기를 탄탄히 다져 AI를 능숙히 활용하는 개발자로 성장할 수 있도록 돕는 것을 목표로 합니다.

 

커리큘럼

전체

68개 ∙ (7시간 0분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!