일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 노개북
- 북클럽
- ARP
- 이것이 취업을 위한 코딩 테스트다
- 리스트
- 시스템 소프트웨어
- CS
- 쿠키
- 데이터 통신과 컴퓨터 네트워크
- 파이썬 자료형
- RARP
- GIT
- 기억장치
- 컴퓨터 동작방식
- 데이터통신
- 노마드코더
- 파이썬 연산자
- sort()
- 이코테
- 컴퓨터네트워크
- 자료형
- IT5분잡학사전
- OSI7계층모델
- DP
- 라우팅
- 이것이 취업을 위한 코딩테스트다
- icmp
- data type
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- 파이썬 정렬
- Today
- Total
뚝딱햄 탈출기
[CS] 컴퓨터 구조 : 기계어/어셈블리어/고급언어, 기억장치, CPU, 동작 흐름, 시스템 버스 본문
EliceAcademy - <실전 압축 컴퓨터 개론> 01. 컴퓨터 구조 강의 내용 정리
1. 컴퓨터에 대해 알아야 하는 이유
컴퓨터의 능력은 제한적이기 때문에, 제한된 환경에서 효율적으로 동작하는 프로그램을 만들어야 함.
효과적인 코딩을 하기 위해 컴퓨터의 환경, 즉 컴퓨터 구조를 이해하고 있어야 함.
2. 컴퓨터 동작 방식
컴퓨터 종류
데스크톱 컴퓨터, 스마트폰, 아두이노 등
컴퓨터 동작 방식
2023.07.24 - [CS] - [CS] 컴퓨터 시스템 구조 1-1. 컴퓨터 동작 방식 참고
키보드나 마우스 같은 입력 장치(→ 하드웨어)로 명령어를 전달(→ 소프트웨어)하여 데이터가 처리됨.
즉, 컴퓨터는 데이터와 명령어로 동작함.
데이터 종류
숫자, 문자, 이미지, 비디오, 파일 데이터 (ex. 엑셀 파일) 등
3. 명령어
기계어
- 컴퓨터는 트랜지스터라는 부품으로 이루어져 있고, 트랜지스터는 전류의 흐름에 따라 0과 1로 구분됨.
- 2023.07.25 - [CS] - [CS] 소프트웨어 2-1. 트랜지스터 참고
- 따라서 컴퓨터는 이진수(0, 1)만을 이해함.
- 기계어는 0과 1로 이루어진 이진수로 나타냄.
- 컴퓨터는 기계어를 통해 데이터와 명령어를 처리함.
어셈블리어
- 컴퓨터가 사용하는 기계어와 일대일로 대응되는 프로그래밍 언어.
- 어셈블러는 어셈블리어를 기계어로 번역해줌. 기계어 → 어셈블리어로 번역해 주는 것은 디어셈블러(역어셈블러)
- 저급언어. 기계어와 문법 구조가 거의 유사하기 때문.
고급언어
- C, C++, Java, Python, JavaScript 등 사람이 이해하기 쉽게 작성된 프로그래밍 언어.
- 컴파일러, 인터프리터 등이 고급언어를 어셈블리어 또는 기계어로 번역해줌.
- 사람은 기계어를 이용하기 위해 프로그래밍 언어(= 고급 언어)를 사용함.
4. 컴퓨터 구성
컴퓨터 구성 핵심 부품 : CPU, 주기억장치, 보조기억장치, 입출력장치
CPU와 주기억장치가 컴퓨터의 성능에 큰 영향을 미침.
2023.07.24 - [CS] - [CS] 컴퓨터 시스템 구조 2. 마지막 부분 참고
즉, 처리장치인 CPU는 모든 데이터를 연산(복잡한 연산 수행)하고, 다른 장치들을 제어한다.
처리장치가 처리해야 할 데이터는 RAM과 같은 주기억장치에서 가져온다. 주기억장치의 데이터는 하드디스크와 같은 보조기억장치에서 복사해오거나 키보드와 같은 입력장치로부터 받아온 것이다.
처리장치(CPU)에서 처리한 정보는 그래픽카드를 거쳐 모니터와 같은 출력장치에 출력되어 사용자에게 전달된다.
4-1. 기억장치
컴퓨터는 메모리에 저장된 데이터를 주소를 참조해 식별함.
레지스터
- CPU 안에 있는 기억장치.
- CPU가 현재 처리하고 있는 데이터와 명령어를 저장.
캐시
- 주기억장치에서 자주 사용되는 데이터를 임시 저장.
- CPU가 필요한 데이터에 더 빠르게 접근할 수 있게 해줌.
주기억장치
- 현재 실행되고 있는 데이터와 명령어를 저장.
- ROM, RAM으로 분류.
- ROM(Read-only Memory)
- 읽기만 가능
- 비휘발성 메모리. 컴퓨터 구동 위한 기본적인 데이터들이 저장됨.
- 처리 속도 느림
- 저렴함.
- RAM(Random Access Memory)
- 읽기 쓰기 자유롭게 가능
- 휘발성 메모리. 임시 저장 메모리, 명령어들이 저장됨.
- 처리 속도 빠름. 데이터에 빠르게 엑세스 가능. 컴퓨터가 실시간으로 사용하는 정보 저장.
- 비쌈
- 일반적으로 메모리를 의미하며, 많은 애플리케이션을 실행할수록 더 많은 메모리가 필요.
보조기억장치
- 비휘발성 메모리.
- ex) HDD, SSD, CD-ROM, USB 플래시 드라이브
- SSD는 하드디스크보다 속도가 빠르고 소음이 적음.
- 2023.07.24 - [CS] - [CS] 컴퓨터 시스템 구조 2-2. HDD 참고
- 주기억장치에 비해 상대적으로 저렴하고 처리 속도가 느림.
속도: (느림) 보조기억장치 - 주기억장치 - 캐시 - 레지스터 (빠름)
용량: (작음) 보조기억장치 < 주기억장치 < 캐시 < 레지스터 (큼)
가격: (저렴) 보조기억장치 < 주기억장치 < 캐시 < 레지스터 (비쌈)
4-3. 입출력장치
입력 장치는 사용자가 원하는 데이터와 명령어를 컴퓨터에 전달함. ex) 조이스틱, 키보드, 마우스 등
출력 장치는 컴퓨터가 사용자에게 결과를 보여줌. ex) 스피커, 프린터
5. CPU (Central Processing Unit, 중앙 처리 장치. Processer)
- 입력된 명령어를 실행하고, 데이터를 처리함.
- 클럭과 코어가 CPU의 성능을 결정함.
- 클럭이 클수록 주파수 빠르고 더 빠른 처리가 가능함.
- 제어, 연산 기능을 수행하며,
제어 담당 유닛인 Control Unit과 연산 담당 유닛인 Arithmethic and Logic Unit이 나누어져 있음.
5-1. CPU 구성
ALU (Arithmethic and Logic Unit. 산술 논리 연산 장치)
- 다양한 산술 연산을 계산하는 디지털 회로.
- 논리 연산은 boolean 값으로 수행하는 연산. (1: 참, 0: 거짓.)
and, or, not, xor 등의 연산이 있음.
레지스터
- 연산 과정을 기억하는 기억장치.
- CPU가 처리할 데이터를 일시적으로 보관.
- 용량이 적으나 처리 속도가 빠름.
Control Unit (제어 장치)
- 처리할 명령어를 해독 및 실행하며 CPU의 전체적 흐름을 제어.
2023.07.24 - [CS] - [CS] 컴퓨터 시스템 구조 2-2. CPU 참고
6. 컴퓨터 동작 흐름
6-1. 시스템버스
컴퓨터 시스템 내에서 신호를 전송하는 경로로, 모든 장치는 시스템 버스를 통해 데이터를 주고 받음.
메인보드(= 마더보드)에 있음.
종류
- 제어 버스 (제어신호 전송에 사용)
- 주소 버스 (메모리나 입출력장치의 주소 전송에 사용)
- 데이터 버스 (데이터 전송에 사용)
6-2. CPU 동작 흐름
전체(컴퓨터) 동작 흐름
입력장치로 데이터와 명령어 입력받음 → CPU에서 레지스터 및 ALU 통해 데이터와 명령어 처리 → 처리 결과 메모리에 저장하거나 출력장치 통해 출력
인풋과 아웃풋의 전체적인 흐름을 CPU의 Control Unit이 제어함.
CPU 동작 흐름
Fetch(;인출. CPU가 명령어를 가져옴. 명령어를 가리키는 주소는 프로그램 카운터에 들어있음.) → Decode(가져온 명령어 해석) → Execute(연산 또는 메모리의 데이터 읽거나 쓰는 작업 수행)
'CS + OS' 카테고리의 다른 글
[CS][Linux] 리눅스 다루기 : 파이프, 프로세스, 마운트 (0) | 2023.07.26 |
---|---|
[CS][Linux] 리다이렉션 (0) | 2023.07.26 |
[CS] 운영체제 : 프로세스, 스레드, 커널, 셸 (0) | 2023.07.25 |
[CS] 소프트웨어 : 시스템/프로그래밍/응용 소프트웨어, 소프트웨어 생명주기, 데이터, 트랜지스터, 데이터 단위 (5) | 2023.07.25 |
[CS] 컴퓨터 시스템 구조 : 동작 방식, 하드웨어, CPU/HDD/RAM/그래픽카드/GPU (0) | 2023.07.24 |