컴퓨터 언어의 이해

September 12, 2018    Data Structure & Algorithm

Von Neumann Architecture

  • Von Neumann Architecture는 모든 현대 컴퓨터에 기저가 되는 컴퓨터 프로그램의 설계방식을 의미한다.
  • 컴퓨터구조 설계는 아래의 같은 구성요소가 있다.
  • Input device: 우리가 컴퓨터에 입력할 때 사용하는 키보드를 의미한다.
  • Output device: 우리가 컴퓨터를 결과를 볼때 사용되는 모니터를 의미한다.
  • Arithmetic and Logic Unit (ALU): 컴퓨터연산에 사용되는 operation으로 $+$(add), $-$( subtract)를 기본적으로 연산으로 사용된다. ($\div, \ \times$는 $+$, $-$로도 표현됨)
  • Register: 높은 속도를 가지고 있는 CPU의 저장소이다. 처리 전 데이터들은 모두 여기(Register)에 저장된다.
Type Registers Decriptive
MAR Memory Address Register 데이터에 접근하기 위한 메모리 위치 유지
MDR Memory Data Register 메모리에 이동되는 데이터 유지
AC Accumulator 산술결과들을 저장
PC Program Counter 수행되는 다음 지시사항을 담고 있음
CIR Current Instruction Register 진행중인 현재 지시사항을 담고 있음
  • Memory unit: 직접적으로 일시적인 메모리에 접근하기 때문에, CPU의 operation이 더 빠르게 작동된다.
  • Control unit: ALU, memory, input/output 장치들을 제어하기 위한 장치


Fetch-Execute Cycle

  • Fetch: CPU는 HDD나 SSD에서 instruction을 찾고, register location(MAR)에 저장한다.
  • Decode: CPU는 instruction을 수행하기 위해 어떤 구성요소가 필요한지 결정한다.
  • Execute: instruction을 수행하기 위해 CPU는 구체적인 action을 정해진 구성요소에 할당한다.
  • Store: 그 새롭게 처리된 것이 HDD나 SSD에 쓰여진다.
  • i-time(instruction time): Fetch & Decode 수행시간
  • e-time(execution time): Execute & Decode 수행시간


컴퓨터 언어의 설계

앞서 게시글에서 언급했던 것처럼, 우리가 컴퓨터 언어를 설계할 때는 작은 단위의 기능을 가진 함수로 설계를 해야 반복적인 재사용이 가능해 진다. 또한 작은단위의 function들을 parell 하게 작동시키는 것이 궁극적인 목표라고 할 수 있다.


DSBA