본문으로 바로가기

[프로그래밍 기초]

category ETC 2021. 10. 27. 12:10
반응형
프로그래밍 언어

컴퓨터와 명령을 주고받기 위해서는 코드 + 컴퓨터 가 필요로 한다

코드는 컴퓨터가 알아듣기 위한 언어이고, 프로그래밍 언어는 그 코드를 전달하기 위한 도구라고 할 수 있다.

python, c, java 등 다양한 언어가 존재하지만, 궁극적으로 컴퓨터에게 명령을 전달하기 위한 도구이다.

프로그래밍 언어마다 문법(syntax)과 문맥(semantics)이 다르다.

 

파이썬(Python)의 장점

  • 인터프리터 언어
  • 높은 확장성
  • 동적인 데이터 타입 지원
  • 다양한 데이터 타입
  • 간단하고 쉬운 문법
  • 메모리 자동 관리

 

Computer Architecture

  폰 노이만 구조 하버드 구조
장점 범용성이 크다 명령과 데이터를 동시에 접근 할 수 있어 속도가 빠르다
단점 병목현상으로 CPU가 명령어와 데이터에 동시 접근 할 수 없다 CPU코어에서 공간을 많이 차지한다

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

그럼에도 메모리 속 프로그램을 순차적으로 실행한다.

 

컴퓨터 구성요소
CPU RAM SSD
fast   slow
small   large
instructions program files
  • CPU : 속도는 빠른데 많이 저장 불가능, 무조건 메인 메모리랑만 일을 함.
    메인 메모리에 데이터가 올라와야 CPU가 일을 할 수 있음. 즉, 프로그램을 실행하려면 메인 메모리에 올라와야 실행이 된다.
    ex) os가 메인 메모리에 올라와야하고, 카카오톡도 스토리지 파일에 있다가 메인 메모리로 올라오는데 그것을 로드라고 한다.
    세이브 = 메인 메모리에서 스토리지로 저장
  • RAM : 메인 메모리, CPU와 디스크 사이에서 중간 역할.
    ex) 16기가의 프로젝트를 사용하려면 ram에서 가용 메모리가 16기가 이상인지 아닌지를 확인하고, 메인 메모리를 늘리거나, 데이터를 쪼개서 가져오게 된다.
    영구 저장장치가 아니기 때문에 전원이 꺼지면 모두 날라감.
  • storage(SSD) : 영구저장 가능, 많이 저장 가능

 

 

 

References

 

5 Major Difference Between Von Neumann And Harvard Architecture - Viva Differences

The Von Neumann architecture is a theoretical computer design based on the concept of stored-program where programs and data are stored in the same memory. The concept was designed by a mathematician John Von Neumann in 1945 and currently serves as the fou

vivadifferences.com

반응형

'ETC' 카테고리의 다른 글

[파일전송 프로토콜] SCP와 SFTP  (0) 2021.11.21
[논리적 사고] MECE에 대하여  (0) 2021.11.01
[개발 환경] iTerm2 환경설정  (0) 2021.10.27