총 19개
-
시스템프로그래밍(명령어 실행 4단계 및 논리주소와 물리주소)2025.01.031. 명령어(instruction) 명령어(instruction)란 컴퓨터가 직접 실행할 수 있는 프로그램의 최소 단위를 의미합니다. 명령어는 프로세서가 외부적으로 작동하는 '판독'과 '기록' 사이클, 기억장치에서 읽은 프로그램 명령어를 '실행시키는 4단계'로 구분해서 이해할 수 있습니다. 2. 명령어 실행 4단계 명령어 실행은 '명령어 인출 → 명령어 해독 → 데이터 인출 → 명령어 실행'의 4단계로 진행되며, 각 단계별 내용이 자세히 설명되어 있습니다. 3. 물리 주소와 논리 주소 메모리의 구조는 크게 물리 주소와 논리 주소 두...2025.01.03
-
8086 어셈블리어의 명령어에 대한 조사2025.04.281. 컴퓨터의 구성 컴퓨터는 하드웨어와 소프트웨어로 구성되어 있으며, 하드웨어는 중앙처리장치, 기억장치, 입출력장치로, 소프트웨어는 시스템소프트웨어와 응용소프트웨어로 구성되어 있다. 컴퓨터는 데이터를 받아 제어장치와 연산장치를 통해 변환시킨 후 출력장치를 통해 출력하고, 출력 내용을 주기억장치에 저장하는 기능을 한다. 2. 컴퓨터 언어 시스템소프트웨어는 어셈블러, 매크로 프로세서, 링커, 로더, 트랜스레이터, 운영체제 등의 진화 과정을 거쳐왔으며, 어셈블리어는 기계어에 가장 가까운 저급 언어로서 기계어와 1대1 대응이 가능한 프로그...2025.04.28
-
매크로 프로세서의 기능에 대한 조사2025.05.071. 매크로 정의와 확장 매크로 프로세서는 프로그래머가 코드를 작성할 때 작업을 단순화하고 코드의 재사용성을 높이는 도구로 사용됩니다. 매크로 프로세서는 프로그램에서 자주 사용되는 코드 조각이나 패턴을 단순한 키워드로 정의할 수 있게 해줍니다. 이렇게 정의된 키워드는 나중에 코드에서 사용될 때 자동으로 원래의 코드 조각이나 패턴으로 확장되어집니다. 이 과정은 매크로 확장이라고 합니다. 매크로 확장의 장점은 코드 중복의 최소화, 가독성 향상 등입니다. 2. 매개변수화된 매크로 매크로 프로세서는 매개변수화된 매크로를 지원하여, 프로그래...2025.05.07
-
[A+ 레포트] 시스템프로그래밍 - 레지스터의 역할과 종류를 설명하시오.2025.01.141. 레지스터의 역할 컴퓨터 시스템 내에서 레지스터는 중앙 처리 장치(CPU)의 핵심적인 부분이다. 이는 데이터를 일시적으로 저장하는 작은 저장 공간으로, 컴퓨터의 성능과 직접적인 관련이 있다. 레지스터는 CPU가 처리할 데이터를 임시로 보관하거나, 명령 실행에 필요한 정보를 저장하는 등 다양한 역할을 수행한다. 이러한 레지스터의 특성과 역할을 이해하는 것은 시스템 프로그래밍을 공부하는 학생들에게 있어 매우 중요하다. 왜냐하면, 레지스터의 효율적인 사용은 프로그램의 실행 속도와 시스템의 전반적인 성능에 영향을 미치기 때문이다. 2....2025.01.14
-
시스템프로그래밍 레지스터의 역할과 종류2025.05.091. 레지스터의 종류 레지스터에는 데이터 레지스터, 포인터 레지스터, 인덱스 레지스터, 플래그 레지스터, 세그먼트 레지스터 등이 있다. 데이터 레지스터는 일시적인 결과를 기록하고, 포인터 레지스터는 스택 포인터와 베이스 포인터로 구성되어 스택 조작에 사용된다. 인덱스 레지스터는 데이터의 주소를 저장하고, 플래그 레지스터는 연산 결과의 정보를 저장한다. 세그먼트 레지스터는 세그먼트의 시작 주소를 저장한다. 2. 논리주소와 물리 주소의 관계 8086에서 출력된 주소 데이터는 세그먼트 레지스터 값을 4비트 시프트 한 것에 오프셋 값을 가...2025.05.09
-
쓰레드 구현 모델과 쓰레드 폴링에 대해 조사하시오.2025.01.171. 쓰레드 쓰레드는 프로그램 내에서 동시에 여러 작업을 처리하기 위한 실행 단위를 의미한다. 프로세스는 완전히 독립된 두 개의 프로그램의 실행을 위한 것이지만, 쓰레드는 하나의 프로그램 내에서 둘 이상의 실행을 위하기 때문에 독립시키는 구조가 필요하지 않다. 그래서 쓰레드를 이용하면 하나의 프로세스 내에서 여러 작업을 동시에 수행할 수 있으므로 프로그램의 성능과 효율성이 향상된다. 2. 쓰레드의 구현 모델 쓰레드는 크게 두 가지 방법으로 구현될 수 있다. 유저 레벨 쓰레드는 프로그램이 직접 쓰레드를 관리하는 방법으로 쓰레드를 구현...2025.01.17
-
어셈블리어의 특징과 명령어 형식2025.01.031. 어셈블리어 어셈블리어는 컴퓨터 프로그래밍 언어의 한 종류로 저급언어에 속하는 언어입니다. 어셈블리어는 어셈블러라는 프로그램을 사용하기 위해서 쓰는 프로그램 언어로, 기계어와 거의 일대일로 이루어집니다. 어셈블리어는 하드웨어에 직접 접근해서 프로그램을 처리하며, 명령의 실행 속도가 가장 빠르지만 세밀하게 프로그래밍해야 한다는 단점이 있습니다. 하지만 하드웨어를 효율적으로 제어할 수 있기 때문에 많은 사람들이 이 언어를 배웁니다. 2. 어셈블리어 명령어 형식 어셈블리어의 명령어 형식은 다음과 같습니다. Label은 명령어나 데이터...2025.01.03
-
쓰레드 구현 모델과 쓰레드 폴링에 대해 조사하시오2025.05.151. 쓰레드 구현 모델 쓰레드 구현 모델은 운영체제에서 사용되는 것으로 사용자 수준, 커널 수준, 두 수준을 혼합한 방식이 있다. 사용자 수준 쓰레드는 커널 쓰레드를 지원하지 않는 운영체제에서 사용되며 다대일 쓰레드 매핑이다. 커널 수준 쓰레드는 사용자 수준 쓰레드가 가지는 한계를 해결하기 위해서 사용되기 시작했으며 일대일 쓰레드 매핑을 지원한다. 혼합형 쓰레드는 여러 개의 사용자 수준 쓰레드에 여러 개의 커널 쓰레드가 매핑되는 다대다 쓰레드 모델이다. 2. 쓰레드 폴링 쓰레드 폴링은 혼합형 쓰레드에서 사용되며 과부하를 줄여 프로그...2025.05.15
-
레지스터의 역할과 종류2025.01.031. 레지스터의 역할과 특징 레지스터는 메모리의 일종으로 컴퓨터의 중앙처리장치 내부에 있는 여러 개의 비트로 이루어진 고속 데이터 기억장치로써, 소량의 데이터를 저장함으로써 용량은 다른 장치에 비해 낮다. 중앙처리장치는 연산을 위해 메모리에 있는 데이터를 레지스터에 옮기고, 연산을 하는 중 결과 값을 레지스터에 임시 저장한다. 레지스터는 CPU와 직접 연결되어있어 연산 속도가 가장 빠르며, CPU는 자체적으로 데이터를 저장할 수 없기에 연산을 위해서는 반드시 레지스터를 이용해야 한다. 2. 레지스터의 종류 레지스터의 종류는 그 쓰임...2025.01.03
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해 보세요2025.01.181. 이중 패스 어셈블러 이중 패스 어셈블러는 소스 코드를 두 번 스캔하여 어셈블리 과정을 수행합니다. 첫 번째 패스에서는 레이블 정의를 찾아 기호 테이블에 추가하고, 두 번째 패스에서는 기호 테이블을 참조하여 실제 기계 코드로 변환합니다. 이를 통해 데이터 기호의 순방향 참조 문제를 해결할 수 있습니다. 2. 원 패스 어셈블러와의 비교 원 패스 어셈블러는 소스 코드를 한 번만 스캔하여 즉시 기계 코드를 생성하지만, 데이터 기호의 순방향 참조 문제를 해결하기 어렵습니다. 이에 비해 이중 패스 어셈블러는 두 번의 스캔을 통해 이 문제...2025.01.18
