본문 바로가기

야곰커리어캠프_TIL

20220210 / D4 / 컴퓨터의 구조(Feat. Cs공부방법..?)

# 오늘 배운것 요약

# 폰노이만 구조

폰노이만은 CPU, 메모리, 프로그램 구조를 갖는 범용 컴퓨터의 구조를 확립한 인물이다.

$ 특징

- 산술 논리 장치와 프로세서 레지스터를 포함하는 처리 장치

- 명령 레지스터와 프로그램 카운터를 포함하는 컨트롤 유닛

- 데이터와 명령어를 저장하는 메모리

- 외부 대용량 스토리지

- 입출력 매커니즘

 

$장점

다른 작업을 시키려고 할때 굳이 하드웨어를 재배치할 필요없이 소프트웨어만 교체하면되기때문에 범용성이 크게 향상됨

폰노이만구조를 도입하면 프로그램 교체가 쉬워 편의정때문에 많은 컴퓨터들이 폰노이만 구조를 따른다.

 

$단점

병목현상이있음

- 내장 메모리 순차처리방식으로 데이터 메모리와 프로그램 메모리가 구분되있지 않고 하나의 버스를 가지고 있는 구조라서

CPU가 명령어와 데이터를 동시 접근할 수 없다. 이를 해결하고자 나타난것이 하버드 구조임

 

- 메모리의 값을 읽고 쓰는 구조라서 기억장치에 병목현상이 생길 수 밖에없다 이를 해결하고자 나타난 기술에는 메모리 계층구조나 NUMA, DMA 등이 있다.

 

# 하버드 구조

하버드 아키텍처는 본래 명령용 버스와 데이터용 버스로 물리적으로 분할한다.

컴퓨터 아키텍처를 나타내는 용어이다.

 

$장점

폰노이만 구조에서는 CPU가 명령어와 데이터에 동시에 접근이 불가능해서 한번에 하나씩 처리할 수 없었던 반면, 하버드 아키텍처의 

컴퓨터에서는 명령을 메모리로부터 읽는것과 데이터를 메모리로 부터 읽는것을 동시에 할 수 있다. 따라서 현재 명령의 처리를 끝냄과 동시에 다음 명령을 읽어 들여 더 빠른속도를 낸다.

 

$단점

이러한 처리속도를 높이려면 보다 많은 전기회로가 필요하다. 두개의 버스와 메모리를 가지게되므로 CPU코어에 공간을 많이 차지하여 요류가 많이 발생하고 비용이 비싸다

 

# 현대

그래서 둘 중 뭐가 더좋아 ? -> 현대는 둘다 합친 구조를 사용함(역시 기술은 계속 보안되고 발전하는법,,,) 

현대구조

 

현대에는 CPU의 외부적으로는 폰 노이만구조를, 내부적으로는 하버드 구조를 적용하여 속도를 향상 시킨것이 많다. 그러나 

이것 또한 폰노이만 구조를 기반으로 만들어져 병목현상만 어느정도 해결할 뿐 메모리 속의 프로그램을 순차적으로 실행하는

근본적은 구조자체는 변하지 않는다.

 


 

# bit

8bit == 1byte

32bit == 4byte

64bit == 8byte

 

스위프트는 64bit라서 8byte 사용한다.

 

32bit / 64bit

cpu가 한번 일을 할때 0과 1을 32개 처리하느냐 64개 처리하느냐의 차이이다.

 

# 주기억장치는 왜 주기억장치라고 불릴까

- 주기억장치는 현재 사용중인 데이터를 보관하며, CPU의 직접적인 접근이 가능하다. 주기억장치는 현재 필요한 데이터를 보관하므로 주가되고, 주기억장치인 램은 휘발성 기억장치이므로 현재 사용중인 데이터를 영구 보존하기 위해서는 비휘발성의 특성을 지닌 보조기억장치가 필요하다.

 

# 인코딩이 필요한 이유

컴퓨터에서 다른 컴퓨터로 데이터를 전솔할때 사용자가 보는데이터를 직접 전송할 수 없다.

 

예시로 Hello world를 한 컴퓨터에서 다른 컴퓨터로 보내는경우 Hello World로 전송할 수 없다. 왜냐하면 이는 사람의 언어이기때문이다. 그래서 대표적으로 인코딩을 하는 유니코드 같은 기계언어를 통해 다른 컴퓨터를 전송하고 받은 컴퓨터는 그걸 디코딩 하여 Hello World라는 문자열로 변환할 수 있는것이다.

 

# cs공부하는 방법은 가까이있다!?!

Mac활성상태에서 프로세스,CPU, 스레드는,  PID 등이 무엇인지 가볍게 생각하지 않고 하나하나 짚어 공부해보자.