총 8개
-
프로그래밍 언어론: 기계어 명령어 수행 과정 및 고급 언어 구현 방법2025.01.021. 기계어 명령어 수행 과정 컴퓨터의 CPU가 메모리에 적재된 프로그램의 기계어 명령어를 수행하는 과정은 다음과 같습니다. ① 명령어 인출: CPU는 Program Counter(PC) 레지스터에 저장된 주소를 참조하여 메모리에서 해당 기계어 명령어를 가져옵니다. ② 명령어 해독: CPU의 명령어 디코더가 인출된 기계어 명령어를 해석하여 어떤 연산을 해야 하는지, 어떤 데이터나 레지스터가 필요한지 파악합니다. ③ 데이터 인출: 명령어 실행에 필요한 데이터를 메모리나 CPU 내부 레지스터에서 가져옵니다. ④ 명령어 실행: CPU는 ...2025.01.02
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해 보세요2025.01.181. 이중 패스 어셈블러 이중 패스 어셈블러는 소스 코드를 두 번 스캔하여 어셈블리 과정을 수행합니다. 첫 번째 패스에서는 레이블 정의를 찾아 기호 테이블에 추가하고, 두 번째 패스에서는 기호 테이블을 참조하여 실제 기계 코드로 변환합니다. 이를 통해 데이터 기호의 순방향 참조 문제를 해결할 수 있습니다. 2. 원 패스 어셈블러와의 비교 원 패스 어셈블러는 소스 코드를 한 번만 스캔하여 즉시 기계 코드를 생성하지만, 데이터 기호의 순방향 참조 문제를 해결하기 어렵습니다. 이에 비해 이중 패스 어셈블러는 두 번의 스캔을 통해 이 문제...2025.01.18
-
2023학년도 2학기 방송통신대학교 중간과제물 프로그래밍언어론2025.01.241. 메모리에 적재된 프로그램의 기계어 명령어 수행 과정 CPU는 인출, 해석, 실행의 세 가지 단계를 반복하며 명령어를 처리합니다. 인출 단계에서는 메모리(RAM)에 있는 명령어를 가져오고, 이를 해석하여 해당 명령어에 적혀있는 메모리 주소와 레지스터 값 등을 실제로 처리합니다. 2. 고급 프로그래밍 언어 구현 방법 고급 프로그래밍 언어로 작성된 프로그램을 CPU가 수행하기 위해서는 컴파일러와 인터프리터 두 가지 방법이 사용됩니다. 컴파일러는 소스코드 전체를 한 번에 기계어 코드로 번역하여 하드웨어에 전달하고, 인터프리터는 명령어...2025.01.24
-
마이크로프로세서응용 ATmega128 Module, 노트북과 ISP 이용한 LED 제어 결과보고서2025.01.241. 프로그래밍 언어 프로그래밍 언어는 사람이 컴퓨터에게 어떤 처리 작업을 수행시키기 위한 특정 형식을 갖춘 일련의 순차적인 작업지시서라고 볼 수 있습니다. 컴퓨터는 기계어만 실행 가능하기 때문에 우리가 사용하는 프로그래밍 언어로는 컴퓨터가 알지 못하므로, 기계어로 변환시키는 번역 프로그램을 이용하여 기계어로 변환하고 운영체제와 연결하여 실행 가능한 모드로 변환해서 실행시켜야 합니다. 2. 컴파일러 컴파일러는 고급언어로 쓰여진 프로그램을 컴퓨터에서 실행될 수 있는 형태의 목적 프로그램으로 바꾸어 주는 번역 프로그램입니다. Cross...2025.01.24
-
인터프리터와 컴파일러의 공통점과 차이점2025.01.251. 인터프리터 인터프리터는 프로그램을 실행할 때 한 번에 소스코드 한 줄씩 차례대로 번역한다. 번역 시간은 빠르지만 실행 속도가 느리다. 오류가 있을 경우 빠른 시점에 확인할 수 있어 수정이 쉽고, 하드웨어 환경에 맞게 변환이 가능하여 플랫폼과의 종속성이 낮다. 대표적인 인터프리터 언어로는 Python, JavaScript, Ruby 등이 있다. 2. 컴파일러 컴파일러는 프로그램 소스코드 전체를 한 번에 해석해서 일괄 기계어로 변환한다. 초기 번역 시간이 오래 걸리지만 실행 속도가 빠르다. 오류 확인과 수정이 용이하지 않으며, 하...2025.01.25
-
방통대 방송대 컴파일러구성 출석수업과제물 A+2025.01.251. 컴파일러 기법과 인터프리터 기법 컴퓨터 구조가 발전함에 따라서 프로그래밍 언어가 저급 언어부터 고급 언어까지 다양한 언어들이 나오고 있다. 고급 언어일수록 컴퓨터가 작성한 코드를 바로 인식하기 어렵기 때문에 이 내용을 번역하는 과정이 필요하다. 이렇게 고급 프로그래밍 언어로 작성된 프로그램을 입력 받아서 기계어로 번역해주는 대표적인 두가지 번역기 방식으로 '컴파일러'와 '인터프리터'가 있다. 이 두 가지 기법은 번역 방식에 따라서 구분할 수 있고 각각의 특징을 가지고 있다. 2. context-free 문법을 이용한 문자열 생...2025.01.25
-
방통대 방송대 C프로그래밍 핵심요양노트 교재요약본 (1장~15장)2025.01.251. C프로그래밍 언어 C프로그래밍 언어는 사람과 컴파일러(번역기)가 이해할 수 있도록 약속된 언어입니다. 컴파일러는 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해하도록 기계어로 번역해주는 번역기이며, 어셈블러는 기호로 표현된 어셈블리 코드를 기계어로 번역하는 번역기, 인터프리터는 한 단계씩 기계어로 해석해서 실행하는 언어처리 프로그램입니다. C언어는 UNIX 운영체제 구현에 사용할 목적으로 개발되었으며, 높은 프로그램 이식성, 간단한 문법표현, 저급언어 특성을 가진 고급언어입니다. 2. C프로그램 개발 단계 C프로그램 개발 단...2025.01.25
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해보세요2025.01.221. 이중 패스 어셈블러 알고리즘 이중 패스 어셈블러 알고리즘은 프로그램을 처음부터 끝까지 소스 프로그램을 전체 스캐닝한 뒤 한 번 더 읽으며 전체 번역이 이루어지도록 하는 번역기입니다. 첫 번째 패스 단계에서는 기호표를 형성하고 두 번째 패스에서는 번역하며 목적 프로그램을 형성하는 방식으로 현재는 대부분 어셈블러가 이러한 방식을 채택하고 있습니다. 2. 패스 1 알고리즘 패스 1 알고리즘은 명령어의 크기, 형태 등을 나타내는 명령어 표를 참조하고 명령어의 상대 주소를 결정합니다. 또한, 기호표를 작성하고 기호 재배치 여부를 결정하...2025.01.22