티스토리 뷰
728x90
컴퓨터의 핵심 부품

컴퓨터가 이해하는 정보

- 데이터: 숫자, 문자, 이미지, 동영상 등 정적인 정보
- 명령어: 수행할 동작과 수행할 대상으로 이루어져있음
비트
- CPU가 이해할 수 있는 0과 1을 나타내는 가장 작은 단위
- N비트는 2^N개의 정보를 표현할 수 있음
바이트
- 8비트를 묶은 단위.
- 2^8 = 256
| 단위 | 이전 단위 | 단위 | 이전 단위 |
| 1 Byte | 8 Bit | ||
| 1 kB | 1,000 Byte | 1 kiB | 1,024 바이트 |
| 1 MB | 1,000 kB | 1 MiB | 1,024 kiB |
| 1 GB | 1,000 MB | 1 GiB | 1,024 MiB |
| 1 TB | 1,000 GB | 1 TiB | 1,024 GiB |
명령어
- 연산 코드 (opcode): 명령어가 수행할 동작
- ex) MOVE, STORE, LOAD(FETCH), PUSH, POP, …
- 오퍼랜드 (operand): 동작에 사용될 데이터 또는 동작에 사용될 데이터가 저장된 위치
어셈블리어
- 기계어를 사람이 읽기 편한 형태로 단순 번역한 언어
- 구체적인 연산 코드의 종류나 레지스터의 이름, 명령어의 생김새가 CPU마다 다를 수 있음

명령어 사이클
- CPU가 명령어를 처리하는 과정에서 프로그램 속 각각의 명령어들이 반복적으로 실행되는 주기
- 인출 사이클 fetch cycle: 메모리에 있는 명령어를 CPU로 가져옴
- 실행 사이클 execution cycle: CPU로 가져온 명령어를 실행
- 간접 사이클 indirect cycle: 메모리 주소가 명시된 경우 명령어 실행을 위해 한번 더 메모리에 접근하는 단계
- 인터럽트 사이클: 인터럽트 서비스 루틴에 접근하는 단계

부동 소수점 (floating point)
- 소수점이 고정되어 있지 않은 소수 표현 방식
- 필요에 따라 소수점의 위치가 이동할 수 있고 유동적(floating)

| 용어 | 한자/어원 | 문자적 의미 |
| 지수(指数, exponent) | ‘지(指)’는 가리킬 지, ‘수(數)’는 수 | “수를 가리키는 값”, 즉 **기수(base)**를 몇 번 곱할지를 가리키는 값 |
| 가수(仮數, mantissa/significand) | ‘가(仮)’는 임시/거짓/붙여놓은, ‘수(數)’는 수 | “임시로 붙인 수”, 즉 실제 유효 숫자 부분, 크기(scale)를 지수로 조정하는 형태 |
10진수 123,123를 m x 10^n 꼴로 나타낼 수 있음
→ 1.23123 x 10^2
지수 = 2
가수 = 1.23123
→ 1231.23 x 10^-1
지수 = -1
가수 = 1231.23

변환 과정
| 단계 | 내용 | 값 | 설명 |
| 1 | 십진수 입력 | 107.6640625₁₀ | |
| 2 | 정수 부분 → 이진 | 107₁₀ = 1101011₂ | |
| 3 | 소수 부분 → 이진 | 0.6640625₁₀ = .1010101₂ | |
| 4 | 전체 이진 표현 | 1101011.1010101₂ | |
| 5 | 정규화 | 1.1010111010101₂ × 2^6 | 1.○○○⋯ x 2^지수 형태로 정규화. IEEE 754 부동소수점 표준에서 정한 규격 |
| 6 | 부호 비트 (Sign) | 0 (양수) | |
| 7 | 지수 (실제값) | 6 | |
| 8 | 바이어스 적용 (bias = 127) | 6 + 127 = 133 | 메모리엔 음수 저장이 까다롭기 때문에 bias를 더해서 지수의 음수여부 구분. bias = 2^(k-1)- 1 |
| 9 | 지수 비트 (8비트) | 133₁₀ = 10000101₂ | |
| 10 | 가수 (정규화된 소수부, 소수점 뒤 23비트 채움) | 10101110101010000000000 (총 23비트) | |
| 11 | 최종 32비트 배열 | 0 10000101 10101110101010000000000 |
참고: 이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접 (https://product.kyobobook.co.kr/detail/S000214014967)
728x90
'CS' 카테고리의 다른 글
| [CS] 보조기억장치, 입출력장치 (0) | 2025.11.26 |
|---|---|
| [CS] 메모리 - RAM, 엔디안, 캐시 (0) | 2025.11.19 |
| [CS] CPU - 레지스터, 인터럽트, 멀티코어/멀티스레드 (0) | 2025.11.12 |
| [컴퓨터 구조] 문자 인코딩 - ASCII, EUR-KR, 유니코드, Base64 (0) | 2025.11.05 |
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 몽고디비
- springboot
- laravel
- docker
- index
- kubernetes
- Container
- 대규모 데이터 처리
- AOP
- 캐시
- CS
- database
- 라라벨
- devops
- 스프링
- 샤딩
- NoSQL
- mongoDB
- kafka
- 카프카
- k8s
- phpUnit
- Infra
- 쿠버네티스
- 분산처리
- Spring
- java
- JUnit
- php
- MySQL
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함