Written by coh at home
[혼공컴운]1주차 정리 본문
1장 인트로
컴퓨터 구조를 배우는 이유
- 에러 발생 시 근본적인 원인을 해결
- 장비의 트레이드 오프를 계산
무엇을 학습하는가
- 컴퓨터의 7요소 : 데이터, 명령어, CPU, 메모리, 보조메모리, 입출력장치, 시스템버스
프로그램 = 데이터와 명령어의 집합
메모리 : 실행중인 프로그램의 데이터와 명령어를 저장
CPU : 1.ALU(연산) 2.제어유닛(명령어 해석 → 메모리 읽기 / 쓰기 요청) 3.레지스터(임시 저장공간)
보조기억장치 : 비휘발성 메모리.
입출력장치 : 컴퓨터 외부의 장치(키보드, 마우스, 모니터)
시스템 버스 : 1.데이터버스 2.주소버스 3.제어버스
2장 데이터
2-1 이진법
비트: 0또는 1을 갖는 가장 작은 정보 단위
바이트: 킬로, 메가, 테라, 등등 데이터의 크기 단위
2의 보수: 1’s complement → + 1
16진법 : 2진법과 변환이 쉽다.
2-2 문자
인코딩 : 0 or 1로 표현
디코딩 : 사람이 이해할 수 있는 문자
아스키코드는 한글을 표현 불가 → ECU-KR → 여전히 모든 문자 표현 불가, 각 나라별 인코딩 방식 다름 → 유니코드 등장 → UTF-8인코딩 방식 소개
3장 명령어
3-1 고급언어와 저급언어
c/c++, python, java → 컴파일 or 인터프리터 → 저급언어
저급언어 : 기계어 or 어셈블리어(기계어를 읽을 수 있게 번역)
e.g) c언어 → 컴파일 → 목적파일
→ 각 목적파일 링크 → 실행파일
3-2 명령어 = operation + operand
시소 때 배운 어셈블리어를 생각해보자. 명령어는 연산자가 먼저 나오고 피연산자가 필요하다면 이어서 나왔다.
- 피연산자는 주소를 참조한다.
명령어의 크기(h bit) = 연산자(n bit) + 피연산자 (h - nbit)
따라서 피연산자의 bit크기가 제한되므로 해당 피연산자의 주소를 참조 한다.
이때 주소를 참조하는 방식은 5가지가 있다.
- 즉시주소 : 피연산자 자리에 데이터. 가장 빠름. 크기 제한됨.
- 직접주소 : 피연산자 자리에 메모리 주소. 참조할 수 있는 주소크기 제한.
- 간접주소 : 피연산자 자리에 메모리 주소의 주소. 모든 데이터 참조가능. 느림.
- 레지스터 직접주소 : 피연산자 자리에 레지스터 주소. 메모리 접근 보다 빠름. 주소크기 제한됨.
- 레지스터 간접주소 : 피연산자 자리에 레지스터 주소의 주소. 모든 주소 참조 가능.
1주차 과제 인증


추가 숙제 Stack과 Queue
Stack 은 LIFO(Last In First Out) 자료구조이다.
보통 접시를 쌓는 것을 예로 들 수 있다. 되는데 파이썬에서는 list타입을 이용하여 push, pop이라는 명령어를 통해 구현할 수 있다.
Queue는 FIFO(First In First Out) 자료구조이다.
주문을 하기 위해 줄을 서는 것으로 예를 들 수 있다. 마찬가지로 파이썬에서는 Deque이라는 자료구조를 통해 Queue형식을 손 쉽게 쓸 수있다.
'Etc > 도서' 카테고리의 다른 글
[혼공컴운] 3주차 (3) | 2024.07.21 |
---|---|
[혼공컴운] 2주차 (0) | 2024.07.15 |
[부트캠프 QA] (0) | 2024.06.23 |
[한권으로 배우는 도커 & 쿠버네티스] (0) | 2024.05.18 |
[도서리뷰] 함수형 프로그래밍 with 자바 (0) | 2024.04.22 |