인프런 워밍업 클럽 스터디 4기 - CS 전공지식 > 1주차 발자국
◼만들면서 쉽게 배우는 컴퓨터 구조Section1) 컴퓨터 구조 개요컴퓨터는 트랜지스터라는 반도체 소자로 만들어지고, 여러 트랜지스터로 NAND 게이트를 만들며, 이로부터 컴퓨터가 구성된다. 프로그램의 동작방식 (2가지)컴파일러전체 코드를 미리 번역해 실행 속도가 빠름컴파일 시 문법 오류 사전 발견 가능인터프리터한 줄씩 번역하며 실행, 실행 중 문법 오류 가능실행 속도는 컴파일러보다 느림 Section2) 컴퓨터 구성 요소CPU컴퓨터의 두뇌 역할을 하는 장치로, 산술연산장치(ALU), 제어장치 등으로 구성된다. 메모리RAM, ROM, 캐시 메모리 등이 있다. 주변 장치입력 장치 (키보드, 마우스 등), 출력 장치 (모니터, 프린터 등) 등이 있다. 8비트, 32비트, 64비트 컴퓨터가 표현할수 있는 데이터 차이8비트: 2^8 = 256개32비트: 약 42억개 (RAM 4GB 한계)64비트: 약 18경개 (RAM 한계없음, 거의 무한대) Section3) 불 대수불 대수의 등장클로드 섀넌이 0과 1 (false, true)만으로 모든 논리 연산과 계이 가능함을 발견 주요 불 연산NOT: 입력의 반대값 출력AND: 둘 다 1일 때만 1 출력OR: 둘 중 하나 이상 1이면 1 출력NAND: AND의 결과를 반전NOR: OR의 결과를 반전XOR: 입력이 서로 다를 때 1 출력 (입력개수 2개일때), 1의 개수가 홀수이면 1, 아니면 0 (입력개수가 3개이상일때) 불 연산 우선순위 : NOT -> AND -> OR 불 대수의 성질과 법칙항등원 법칙, 교환법칙, 분배법칙, 동일법칙, 이중부정법칙, 흡수법칙, 드모르간 법칙 등이 있다 불 연산을 바탕으로 진리표 작성 가능방정식 -> 진리표 -> 논리회로로 변환 Section4) 비트10진법, 2진법, 16진법10진법은 0~9까지 10개의 숫자 사용2진법은 0과 1 두 가지 숫자만 사용16진법은 0~9, A~F(10~15)를 사용 바이트 저장 순서 방식리틀 엔디안: LSB(Least Significant Byte, 가장 낮은 자리 바이트)를 낮은 주소에 저장빅 엔디안: MSB(Most Significant Byte, 가장 높은 자리 바이트)를 낮은 주소에 저장 오버플로우표현할 수 있는 비트 수를 초과하는 계산 결과 발생 시 결과가 제대로 저장되지 못하는 현상 음수 표현MSB(Most Significant Bit, 최상위 비트)가 0이면 양수, 1이면 음수로 해석 2의 보수법음수를 표현하는 방법음수 = 1의 보수(모든 비트를 반전) + 1 Section5) 컴퓨터의 기초가 되는 하드웨어 만들기 Logisim-evolution 같은 시뮬레이터를 사용해 논리 회로를 직접 설계·실험 가능,설치하려면 JDK 필요, GitHub에서 최신 버전 다운로드 가 기본 논리 게이트NAND 게이트, NOT 게이트, AND 게이트, OR 게이트, XOR 게이트 Mission1)https://inf.run/wLEBH ◼그림으로 쉽개 배우는 자료구조와 알고리즘Section1) 개요선형 자료구조 : 배열, 연결 리스트, 스택, 큐비선형 자료구조: 트리, 그래프, 힙 P-NP 문제 개념 이해빅오 표기법 (시간 복잡도)결정 문제와 최적화 문제P 문제 (Polynomial time 문제)NP 문제 (Nondeterministic Polynomial time 문제)NP-hard 문제P vs NP 문제 Section2) 트리와 이진트리트리노드(Node)와 간선(Edge)으로 구성된 계층적 자료구조 트리의 구성요소노드, 간선, 루트 노드, 자식 노드, 형제 노드, 리프 노드, 레벨, 높이 이진트리각 노드가 최대 2개의 자식 노드를 갖는 트리포화이진트리와 완전이진트리도 존 Section3) 이진 탐색트리각 노드가 값의 기준점 역할을 하며, 찾고자 하는 값이 현재 노드의 값보다 크면 오른쪽 서브트리를, 작으면 왼쪽 서브트리를 탐색하는 구조 Section4) AVL 트리높이 균형을 유지하는 이진 탐색 트리로, 각 노드의 왼쪽과 오른쪽 서브트리 높이 차이(균형 인수)가 최대 1 이내여야 한다.이 균형 조건을 벗어나면 회전 연산을 통해 트리의 균형을 맞춰 탐색, 삽입, 삭제 수행 🗒회고컴퓨터 구조와 자료구조(알고리즘) 강의를 동시에 완벽히 이해하기엔 시간적으로 무리가 있을 것 같아 컴퓨터 구조 심화 학습에 좀 더 집중해볼 예정이다.강의에서 Logisim-evolution을 활용해 AND, OR, NOT, XOR 등의 게이트를 직접 만들어보는 과정이 인상 깊었다. 회로를 하나하나를 쌓아가며 구조를 이해하는게 재미가 있어 몰입이 잘 되었다.강의를 완강할 즈음에는, 정말 작은 컴퓨터 하나쯤은 스스로 만들어 낼 수 있을 것 같은 기대감이 든다 🏷출처https://inf.run/y1hhdhttps://inf.run/7mNZ2https://inf.run/uHJ1a