컴퓨터 구조 1 - 컴퓨터 시스템의 이해
이 포스트는 패스트캠퍼스의 “컴퓨터 공학 전공 필수 올인원 패키지 Online.” 강의를 보고 정리한 내용입니다.
컴퓨터 구조
컴퓨터 구조를 배워야 하는 이유를 다음과 같이 정리해주었다.
- 빠르게 발전하는 컴퓨터의 역사에서 현대의 컴퓨터란 어떤 기계인가?
- 상태 머신(State Machine)1과 소프트웨어
- 소프트웨어의 고성능, 저전력을 이루기 위해
- 도메인적 측면으로 보면 IT 분야 직종의 시작점 역할
컴퓨터의 구성
컴퓨터의 구성을 간단하게 살펴보자.
컴퓨터의 구성은 하드웨어와 소프트웨어의 결합체라고 볼 수 있다.
소프트웨어는 운영체제같은 시스템 소프트웨어와 엑셀, 카카오톡 등의 프로그램같은 응용 소프트웨어가 있다. 이런 소프트웨어들은 하드웨어에 들어간다.
하드웨어는 만드는 회사가 여러곳이기 때문에, 응용 소프트웨어와 충돌이 발생할 수 있는데 이것을 호환성 문제라고 한다. 이것을 해결해주기 위한 방법이 운영체제이다. 운영체제는 전세계적으로 나와있는 시스템과 응용 소프트웨어의 중계역할을 한다.
가장 기본적인 입력/출력 장치가 있고, 이러한 입력에 따른 출력을 만들어내기 위한 과정을 처리(process)장치에서 진행한다.
이 처리 과정은 주로 주기억장치에서 처리가 되고 처리된 내용이 보조기억장치에 담겨진다.
구성요소의 기능 및 이해
중앙 처리 장치(CPU; Central Processing Unit)
사람의 두뇌같은 역할을 한다.
CPU
- 실행 프로그램의 명령 해석, 실행한다.
- ALU, CU 같은 장치를 제어한다.
- 각종 레지스터로 구성되어있다.
MPU(Micro Processor Unit)
- CPU 를 LSI(고밀도 집적회로)화 한 일종의 통합 장치
- CISC(Complex Instruction Set Computer)
- 컴퓨터 부팅시 동작하는 내용처럼 반복적이고 동일한 명령은 소프트웨어로 일일이 처리하지 않고 하드웨어로 처리하겠다.
- RISC(Reduced Instruction Set Computer)
- CISC 와 반대 개념
- Bit Slice MPU 등이 존재한다.
- 위의 두 종류의 MPU 를 사용자들의 요구에 따라 작게 쪼개서 조합시키는 MPU
IOT Device H/W 플랫폼
- 아두이노(Arduino): 대표적인 오픈소스 H/W 플랫폼
- 2005년 이탈리아에서 탄생
- Atmel 사의 AVR 이나 Coretex-M3 를 탑재한 마이크로 컨트롤러 보드.
- Raspberry Pi, Galileo, Edison
주변장치(Peripheral Device)
CPU 를 기준으로 주변에 있는 장치들. 대표적으로 기억장치(Memory Unit) 이 있다.
주기억장치(Computer Memory, Primary Memory)
CPU 가 처리할 내용을 가져오는 곳
- RAM(Random Access Memory)
- 컴퓨터를 끄면 정보가 날아간다.(Refresh)
- DRAM(Dynamic RAM)
- SRAM(Static RAM)
- ROM(Read Only Memory)
- 외부의 프로그램을 불러오는 기억장치
- ROM 바이오스에 의해 하드디스크의 운영체제를 불러오는 부팅과정에 사용됨
보조기억장치(Auxiliary memory device)
주기억장치에서 불러오는 정보가 있는 장치. 가격이 저렴하고 많은 양의 데이터를 저장할 수 있지만 동작 속도가 느리다.
- 플래시 기억장치 - EEPROM 의 한 종류(RAM 과 ROM 의 중간 위치)
- CF(Compact Flash) 메모리
- SSD(Solid State Drive)
- USB 기억장치
- SD card(Secure Digital Card)
- 메모리 스틱(Memory Stick)
주기억장치와 보조기억장치의 관계
아이콘 제작자2
입/출력장치(Input/Output device)
- 키보드(Keyboard)
- 마우스(Mouse)
- 스캐너(Scanner)
- 터치 스크린(Touch Screen), 조이스틱(Joystick), 광학 마스크 판독기(OMR)
- 바코드 판독기(Barcode Reader)
데이터의 표현 및 단위
- 정보(information)
- 어떤 사물에 대한 소식이나 자료
- 가공된 데이터
- 데이터(data)
- 정보를 작성하기 위해 필요한 자료나 정보를 처리하거나 전송할 때 이진(binary)이나 디지털과 같은 좀 더 편리한 형태로 바뀌어진 재료
- 정보의 원재료(날 것)
컴퓨터가 데이터를 처리해서 정보를 찾아낸다.
데이터를 표현하는 방법과 단위는 다음과 같다.
- 수치 데이터(Numerical data): 연산용 데이터
- 비 수치 데이터(Alphanumerical data): 입출력용 데이터
- 특수문자(Special Character): 입출력/연산용 데이터
단위명 | 범위 |
---|---|
비트(Bit) | 0, 1 |
바이트(Byte) | 1 byte = 8 bit |
워드(Word) | 기계에 따라 상이. 1 Word = 32 bit or 64 bit |
킬로바이트(KB, KiloByte) | 1 KB = 1024 byte = $2^{10}$ byte |
메가바이트(MB, MegaByte) | 1 MB = 1024 Kbyte = $2^{20}$ byte |
기가바이트(GB, GigaByte) | 1 GB = 1024 Mbyte = $2^{30}$ byte |
테라바이트(TB, TeraByte) | 1 TB = 1024 Gbyte = $2^{40}$ byte |
각주
컴퓨터가 취할 수 있는 정해진 상태들(Ex. 자료 입력, 프로세스 처리, 저장, 결과내기, …)을 시키기 위한 장치 ↩
Rom 아이콘 제작자: madness - Flaticon, Hdd 아이콘 제작자: Freepik - Flaticon, 램 아이콘 제작자: Smashicons - Flaticon, 아이콘 제작자: Smashicons - Flaticon ↩