CS(Computer Science)/짧은 컴퓨터 지식

넓게 본 컴퓨터 지식(2)

MoonjuLee 2023. 7. 2. 22:53

 

컴퓨터
- 크게 하드웨어, 소프트웨어로 나뉜다.
- 그중 하드웨어는 또, 중앙처리장치(CPU), 기억장치(주기억장치 : RAM, 보조기억장치 : HDD), 입출력장치(모니터, 키보드)로 나뉜다.
- 또 CPUALU(산술논리연산장치), CU(제어장치), 레지스터 3가지로 구분할 수 있다.
- 연산과정(매우 간단히...)
1. 주기억장치가 입력장치에서 입력된 데이터나 보조기억장치의 데이터를 가져온다.
2. CPU(ALU : 연산장치)가 연산을 하기 전 레지스터에 데이터를 임시 저장하고 이 저장된 값을 통해 연산을 한다.
3. 연산이 완료되면 마찬가지로 레지스터에 결과를 저장한다.
4. 레지스터에 저장된 것을 주기억장치로 옮긴다.
5. 이후 주기억장치는 상황에 따라 보조기억장치로 결과를 옮기거나 출력장치로 나타낸다.
- 이 과정에서 제어장치가 적절한 순서로 실행되도록 제어한다.
- RAM이라는 주기억장치가 CPU가 연산하기 위해 서포트를 해준다.

 

기억장치
- 기억장치는 레지스터, 캐시메모리, RAM(여기까지가 1차 메모리), SSD, HDD, USB, 다른 기억 장치 등(이 외의 것은 2차 메모리)으로 나뉜다.

- 1차 메모리속도빠르고, 고가이고, 휘발성이라는 특징을 가지고 있다.
- 2차 메모리속도가 상대적으로 느리고, 저가이고, 비휘발성이다.(휘발성이란 전원이 꺼지면 저장이 안 된다고 생각하자.)
- 그래서 왜 1차 메모리와 2차 메모리로 나눠져 있냐? : 어쩌면 당연한 말이지만 용도에 따라 가격에 따라 타협하며 사용하기 위해서이다. 예를 들어 어떤 사람은 데이터의 기억보다는 연산 속도만 빠르면 OK라고 생각할 수 있고 나는 문서 작업이 많으니 저장 공간이 많이 필요해라는 생각을 할 수 있기 때문이다.
- 속도 문제 : 1차 메모리는 속도가 매우 빠르다. 하지만 2차 메모리는 1차 메모리보다 속도가 느립니다. (그 이유를 하나만 보자면 RAM은 병렬적으로 처리가 가능하지만 HDD는 헤드를 통해 데이터를 저장하기 때문에 상대적으로 느린 것 같습니다. (물리적인 제약) 더 많은 이유가 있을 듯...) 
- CPU의 연산 속도RAM의 속도 차이를 줄이기 위해 캐시메모리가 존재한다. 유명한 예로 CPU박사님이 연구를 할 때 보조를 하는 캐시 메모리 조교가 박사님이 어떤 연구를 하기 위해 A 자료를 요청하면 조교는 아.. 우리 박사님 A 자료를 보면 B 자료도 필요할 텐데라는 생각으로 RAM이라는 브랜드의 책상에서 A, B 자료를 가져왔다. 박사님이 예상한 대로 B자료를 달라고 하셨고(cache hit) 칭찬을 해주셨다. 조금 있다가 박사님은 또 다른 C 자료를 찾으셨고 센스있는 캐시메모리 조교였다면 A 자료를 요청할 때 B, C 자료를 RAM 책상에서 둘 다 가져왔겠지만 C 자료를 못 가져와 캐시가 미스(cache miss)되어 SSD 도서관에 가서 눈물을 머금고 C 자료를 가져왔다는 이야기가 있다.
- 기본적으로 프로그램설치했다는 것은 당연히 비휘발성 기억장치설치한 것이고, 실행이라는 것은 설치된 프로그램을 copy하여 RAM에 올리고 프로그램 내부의 명령들CPU에게 보내 연산을 시키는 것이라고 이해하자.

 

비전공자가 살아남기 위해 정말 컴퓨터를 처음 배운다고 생각하고 작성했습니다! 내용이 틀렸다면 조언 부탁드리겠습니다!