홈으로

성열의 컴퓨터공학

예비 컴공생, 비전공자를 위한
인터랙티브 컴퓨터공학 시리즈

Gray Tree by Piet Mondrian
Apple Tree by Piet Mondrian

현재 -명이 구독 중

커리큘럼

4개 파트, 30+ 글 예정

파트 1 — 0과 1로 컴퓨터 조립하기

01

컴퓨터의 손가락이 두 개인 이유

이진법, 아날로그와 디지털

02

전기가 논리를 배우다

불 대수, 진리표, 클로드 섀넌

03

컴퓨터는 엄마가 좋은지 아빠가 좋은지로 구성됨

AND, OR, NOT 게이트, 완전성

04

사실 엄마 아빠가 둘 다 좋지는 않았던 컴퓨터

NAND 게이트, 기능적 완전성

05

데이터야, 어디로 가고 싶니?

multiplexer, decoder

06

스위치로 만든 계산기

half adder, carry

07

앞자리가 뒷자리한테 넘기는 것

full adder, ripple carry adder

08

기억상실증 걸린 컴퓨터 고쳐주기

조합 논리 vs 순차 논리, SR latch, D latch

09

컴퓨터에게 박자감 가르치기

clock, D flip-flop, edge trigger

10

계산만하면 계산기지 그게 컴퓨터니?

튜링 머신, 보편 튜링 머신, 계산 가능성

11

컴퓨터 조립법은 폰 노이만에게

내장형 프로그램 방식, 기계어, 메모리, 입출력 장치

12

CPU와 대화하기

레지스터, ALU, Zero Flag, 명령어 집합

13

가져오고 해석하고 실행하고

Fetch-Decode-Execute 사이클, 제어 장치

14

계산은 빠른데 떠올리는 건 느린 컴퓨터

cache, cache hit, cache miss, 지역성, 메모리 계층 구조

파트 2 — 컴퓨터스럽게 문제 해결하기

01

할 일을 쪼개면 그게 알고리즘

자료구조, 알고리즘

02 다음 글 준비 중
파트 3 — 프로그램이 혼자 쓰는 컴퓨터는 없다 준비 중
파트 4 — 컴퓨터끼리 대화하는 법 준비 중

인터랙티브 데모

01. 컴퓨터의 손가락이 두 개인 이유

픽셀화된 이미지
64x32
글 읽기 →

01. 컴퓨터의 손가락이 두 개인 이유

2진법 (2레벨)오류 0/24
10진법 (10레벨)오류 6/24

수신된 신호를 가장 가까운 레벨로 판독한다. 초록은 정확한 판독, 빨강은 오류이다.

노이즈±20%
글 읽기 →

02. 전기가 논리를 배우다

A AND B
000
010
100
111
글 읽기 →

04. 사실 엄마 아빠가 둘 다 좋지는 않았던 컴퓨터

글 읽기 →

07. 앞자리가 뒷자리한테 넘기는 것

1+
100

1의 자리 반가산기

HALFADDERABSumCarry

2의 자리 전가산기

FULLADDERABCinSumCout
글 읽기 →

09. 컴퓨터에게 박자감 가르치기

A
-
B
-
C
-
글 읽기 →

09. 컴퓨터에게 박자감 가르치기

A
-
B
-
C
-
글 읽기 →

10. 계산만하면 계산기지 그게 컴퓨터니?

현재 상태읽은 기호다음 상태쓸 기호이동

초기 상태: q0 / 정지 상태: q_halt / 빈 칸: _ / 실행 전 테이프 클릭으로 값 수정 가능

글 읽기 →

11. 컴퓨터 조립법은 폰 노이만에게

화면 (10×10)

VRAM

0: 흰색, 1: 검은색

글 읽기 →

12. CPU와 대화하기

메모리
레지스터
R00
R10
R20
R30
글 읽기 →

12. CPU와 대화하기

레지스터
R05
R13
R20
R30
Rd
Rs
결과
Z 플래그0
글 읽기 →

12. CPU와 대화하기

MOVE Rd, Rs

Rs의 값을 Rd로 복사한다.

00004bit
Rd2bit
Rs2bit
MOVE R1, R200000110
글 읽기 →

13. 가져오고 해석하고 실행하고

주소이진수어셈블리
001100001LDI R0, 1
101100110LDI R1, 2
200010001ADD R0, R1
310010101STORE 5
411000010JUMP 2
500000000데이터
PC0
글 읽기 →

13. 가져오고 해석하고 실행하고

0110
Rd
Imm
LDI R0, 3

즉시값을 Rd에 로드한다.

레지스터즉시값 → Rd
메모리사용 안 함
ALU사용 안 함
글 읽기 →

14. 계산은 빠른데 떠올리는 건 느린 컴퓨터

메모리 주소
0
1
2
3
4
5
6
7
글 읽기 →

14. 계산은 빠른데 떠올리는 건 느린 컴퓨터

메모리 주소
캐시
····
RAM모든 주소 보유
글 읽기 →

14. 계산은 빠른데 떠올리는 건 느린 컴퓨터

·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
히트미스
적중률 -%
글 읽기 →

14. 계산은 빠른데 떠올리는 건 느린 컴퓨터

메모리 주소
L1
··
~4 사이클
L2
····
~10 사이클
L3
········
~40 사이클
RAM
모든 주소 보유
~200 사이클
글 읽기 →

15. 할 일을 쪼개면 그게 알고리즘

14327821
  1. 정렬되지 않은 부분에서 가장 작은 값을 찾는다.
  2. 그 값을 정렬되지 않은 부분의 첫 번째 값과 자리를 바꾼다.
  3. 정렬된 부분이 한 칸 늘어난다.
  4. 정렬되지 않은 부분에 값이 하나 남으면 끝난다. 아니면 1로 돌아간다.
글 읽기 →

15. 할 일을 쪼개면 그게 알고리즘

찾는 값: 123
35812141719232628313537404246495154586163667073757882858790949699103106108111115118120123127130132135139141144148
글 읽기 →

15. 할 일을 쪼개면 그게 알고리즘

찾는 값: 123
35812141719232628313537404246495154586163667073757882858790949699103106108111115118120123127130132135139141144148
글 읽기 →