╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

CS/프로그래밍 언어론

[프로그래밍 언어론] Impact of Machine Architecture (2)

재안안 2024. 4. 25. 02:25

 

[2] Impact of Machine Architecture


Computer
- Data
-  Primitive Operations
-  Sequence Control
-  Data Access
-  Storage Management
-  Operating Environment

@Machine Cycle
-  Fetch-Decode-Execute Cycle

Firmware Computers
-  하드웨어 + 마이크로 프로그램

@Firmware
-  마이크로 프로그램


@Emulation
-  소프트웨어 적으로 마이프로그램 수행을 흉내 (VM)

Virtual Architecture
-  Language Machine (특정 언어를 펌웨어 형태로 지원)
-  프로세서 + 언어 처리기 (고비용)
-  구현 : translation/interpreter -> loading -> execution
-  구현된 프로그래밍 언어는 그 자체로 가상기계로 볼 수 있다. (계층도 이룸)

언어 구현의 차이 원인
-  가상 기계에 대한 관점의 차이
-  구현 플랫폼의 차이
-  구현 방법의 차이 (calling convenction)

Binding
-  Program constructs와 properties의 묶음
-  바인딩 시각 : 바인딩이 일어나는 시점 (언어에 따라 다름)

@바인딩 시각의 종류
-  Static Binding (compilation)
-  Dynamic Binding (interpretation)

@바인딩 시각의 의미
-  바인딩 시각은 정확한 정보량과 관련있다
-  프로그램의 어떤 개체를 보았을 때 해당 개체에 대해 얼마나 정확한 정보를 말할 수 있는가 하는 문제