프로그래밍 Programming/Python 파이썬

프로그래밍에 앞서 알아야할 것들 (폰노이만구조, 기계어, 어셈블리어, 고급언어)

잡과사전 2020. 12. 26. 21:14
반응형

컴퓨터란?
계산(compute)을 하고 프로그램에 따라 데이터를 처리하는 기계
컴퓨터 = 하드웨어+ 소프트웨어

소프트웨어 = 프로그램
컴퓨터에게 해야 할 작업의 내용을 미리 약속된 형태로 알려주는 문서


컴퓨터에게 작업을 지시하려면 아주 자세하고 구체적으로 일을 지시해주어야 함 

프로그램의 목적
컴퓨터를 범용적으로 만들기 위해

폰노이만구조
폰 노이만이 제안한 프로그램은 메인 메모리(CPU)에 저장한다는 구조
메인 메모리는 읽거나 쓰기가 가능하고 쉽게 변경할 수 있어서 유연한 작업 처리 가능
메인 메모리에 저장된 프로그램 명령어 순차적 가져와서 실행

메인 메모리에 저장된 프로그램에서 명령어들을 순차적으로 가져와서 실행

프로그래밍 언어의 분류
1.기계어(Machine Language)
2.어셈블리어(assembly language) 
3.고급 언어(high-level language

1.기계어


컴퓨터가 바로 이해할 수 있는 언어는 이진수(0과 1)로 구성되어 있는 기계어
기계어의 예 사진
하드웨어(CPU)에 종속되어있음

이진수로 프로그램을 작성하여야 하는 것은 아주 불편한 일이어서
다른 프로그래밍 언어를 사용하면 더 쉽게 작성할 수 있음

2. 어셈블리어
CPU의 명령어들을 영어의 약자인 기호로 표기 
기계어보다는 더 높은 수준에서 프로그램을 작성 가능
기호와 CPU의 명령어가 일대일 대응

 
어셈블러(assembler): 기호를 이진수로 변환하는프로그램

3.고급 언어
특정한컴퓨터의구조, 프로세서와 무관하게, 독립적으로 프로그램을작성할수있는언어
예: Python, C, C++, JAVA, FORTRAN, PASCAL


컴파일러(compiler)는 고급 프로그래밍 언어를 기계어로 통역해주는 프로그램
인터프리터(interpreter)는 고급 프로그래밍 언어로 작성된 프로그램을 해석해서
바로 컴퓨터에게 일을 시키는 프로그램

반응형