본문 바로가기

B1:기초 Basement

시스템 프로그래밍(System Programming)

반응형
강의주제 세부내용
시스템소프트웨어의 개요 컴퓨터 시스템의 기본구성
   CPU = ALU + CU
   저급언어
   고급언어
시스템 소프트웨어의 발전
   어셈블러
   컴파일러
   로더,재배치로더
   매크로프로세서
   운영체계
컴퓨터 시스템의 개요(I) 컴퓨터 연산단위
   비트(Binary Digit의 줄임말)
   니블(4개의 bit):16진수표기에서 최소단위
   바이트
   워드
   ASCII,EBCDIC,UNICODE
   보수
   사이클타임
   시스템클럭
   레지스터:프로세서 내의 기억장소
   누산기
   시스템버스
   명령어포인터
   선형기억장치
   세그먼크기억장치
컴퓨터 조직
컴퓨터 시스템의 개요(II) 명령어 실행 개념
   판독사이클:판독요구>주소전송>데이터수신>완료신호
   기록사이클:기록요구>주소전송>데이터전송>완료신호
   명령실행:인출>해독>데이터인출>실행사이클
기억장치 관리
   기억장치를 관리하기 위해 주소 사용
   컴퓨터는 기억장치의 2진수가 어떤 의미인지 알지 못함
   선형(Linear) 기억장치
   세그먼트(Segment) 기억장치
프로세서 구조(I) 학습내용
- 인텔프로세서의 발전과정
- 8086프로세서와 80i86프로세서의 개요
- 인텔 펜티엄IV프로세서 개요
- 명령어 형태와 구성
용어
- 간접주소지정방식
  메모리 주소를 지정할 때 정해진 상수를 이용하는 것이 아니라, 어떤 값으로부터 주소를 지정하는 것
참고문헌
CPU의 역사(berkeley)
25 Years of Intel Architecture
프로세서 구조(II)

학습내용
- 레지스터의 개념과 종류
  * 개념 : 데이터의 빠른 기록,읽기를 위한 메모리. CPU내부에 존재함. 명령어의 임시보관. 데이터 계산 중간결과를 일시적으로 보관. 레지스터의 수를 늘이고 명령어의 수를 줄인 시스템이 RISC시스템
  * 종류 :
     데이터R = 일시적인 결과를 기록
     포인터R = 스택포인터와 베이스포인터
     인덱스R = 데이터의 주소 저장
     플래그R = 연산결과의 정보저장
     세그먼트R = 세그먼트의 시작주소 저장
- 세그먼트레지스터와 물리주소
- 논리주소와 물리주소
- 명령어 포인터의 동작
- 데이터의 표현
용어
- 모토로라 프로세서

어셈블리어(I) 학습내용
- 명령어의 형식과 프로그램의 형태
- MOV명령에서 연산항의 조합
- 명령어의 조건적 분기와 예
- 무조건 분기와 예
용어
- 라이브러리
어셈블리어(II) 주요 학습내용
- 주소지정방식의 예
  값 즉시 지정 방식
  직접 주소지정 방식
  간접 주소지정 방식 (레지스터간접/베이스/인덱스/베이스인덱스)
- 값 즉시지정방식과 실행 예
- 레지스터 직접지정 방식
- 메모리 직접지정 방식과 실행 예
- 간접주소지정방식과 기본개념
용어
- CISC
- RISC
어셈블리어(III) 주요 학습내용
- 레지스터 간접주소지정과 예
- 인덱스 주소지정과 예
- 베이스 주소지정과 예
- 베이스 인덱스 주소지정과 예
용어
- 토큰 : 프로그램에서 문법적으로 더 이상 나눌 수 없는 기본적인 언어요소. 예> 키워드, 연산자, 구두점 등
식별자(레이블,변수), 터미널(연산자,지정어),리터럴(숫자상수,문자열)
매크로프로세서(I) 학습내용
- 매크로의 개념과 역할
  반복부분을 약어로 등록하여 필요한 부분에서 호출 사용
  1) 반복명령 정의
  2) 매크로 호출에 의한 확장
  3) 확장은 매크로프로세서가 처리
  4) 대부분 어셈블리언어에서 사용
  5) 프로그램 작성 용이성 제공
- 매크로 정의 형식, 호출과 확장
- 매크로프로세서와 번역기와의 관계
  매크로프로세서는 각 매크로 호출을 매크로내용으로 Expansion(확장)
- 서브루틴과의 차이점
  * 서브루틴 : 실행 후 본래 호출했던 프로그램으로 제어가 되돌아옴
  * 매크로 : 제어는 그대로 유지됨
- 매크로 인수의 사용과 확장
  * 매크로 호출에 인수 부가
  * 매크로 정의시 형식인수 사용
  * 매크로 호출시 실인수 사용
  * 형식인수는 실인수로 치환됨
  * 매크로의 정의와 호출시 여러 개의 인수사용 가능
용어
- 데이터베이스
매크로프로세서(II)

학습내용
- 매크로 프로세서의 기능
  정의 인식/정의 저장/호출 인식/확장과 인수 치환
- 매크로 프로세서의 자료구조
  매크로 정의표(MDT)
  매크로 이름표(MNT)
  매크로 정의표 계수기(MDTC)
  매크로 이름표 계수기(MNTC)
  형식인수표와 실인수표
- 이중패스 매크로프로세서의 개념
- 형식인수표와 실인수표의 형태
- 매크로정의표와 매크로이름표의 형태
- 이중패스 알고리즘의 흐름

용어
- 연결리스트
  여러 자료가 서로 다른 메모리에 존재하면서, 각각 자신의 바로 다음 자료를 가리키고 있는 자료구조. 단순연결리스트와 이중연결리스트. 삽입과 삭제의 속도가 빠르지만 검색 속도가 느린 단점

어셈블러(I) 어셈블러의 역할
이중패스 어셈블러
스케줄링 단계와 스케줄링 정책
어셈블러(II) 이중패스 어셈블러의 설계
단일패스 어셈블러
링커와 로더(I) 링커와 로더의 역할, 로더의 형태
링커 및 재배치로더 설계 개요
링커와 로더(II) 링커 및 재배치로더 설계
자료구조 및 알고리즘
인터럽트 인터럽트 동작원리
인터럽트의 종류
인터럽트 핸들러의 작성
매개변수와 스택
고급언어번역시스템 고급언어 번역시스템의 개요
컴파일러와 인터프리터
운영체제(I) 운영체제의 기능
운영체제의 발전 및 종류
운영체제(II) 프로세스의 개념과 상태
프로세스 관리와 프로세서 관리
운영체제(III) 기억장치 관리
파일관리
전제요약 1강에서 19강까지 요약
시스템 소프트웨어의 미래 방향


중간고사 기출문제
2005년 1학기 중간고사
※ 다음 3문제를 모두 기술하라.
  1. 어셈블러와 컴파일러에 대해 각각의 개념 및 장단점을 기술하라. (10점)
  2. 플래그 레지스터와 명령어 포인터에 대해 각각의 개념과 기능을 기술하라. (10점)
  3. 다음 용어들에 관해 간략하게 기술하라. (10점)
   1) 링커             2) 사이클타임        3) 매크로지시어

2004년 1학기 중간고사
※ 다음 3문제를 모두 기술하라.
  1. 운영체제를 구성하는 4개의 서브시스템을 나열하고 각각의 기능을 간략하게 기술하라. (10점)
  2. 논리주소와 물리주소의 개념을 설명하고 인텔 8086 프로세서의 물리주소 계산방법을 기술하라. (10점)
  3. 다음 용어들에 관해 간략하게 기술하라. (10점)
  1) UNICODE           2) 인터프리터          3) 매크로

2003년 1학기 중간고사
※ 다음 3문제를 모두 기술하라.
  1. 컴파일러와 인터프리터에 대해 각각의 기능 및 관련 언어들을 설명하라(10점).
  2. 매크로프로세서가 수행할 기본적인 작업들에 관해 설명하라(10점).
  3. 다음 용어들에 관해 간략하게 설명하라(10점).
   1) 시스템클록      2) 명령어 포인터       3) 어셈블러 지시어

2002년 1학기 중간고사
※ 다음 3 문제를 모두 기술하라.
  1. 시스템 소프트웨어와 응용 소프트웨어를 구분하여 기술하고 각각의 예를 들어라(10점).
  2. ASCII, EBCDIC, UNICODE 에 대해 각각의 개념을 간략하게 기술하라(10점).
  3. 매크로 호출과 서브루틴 호출에 관해 각각의 개념 및 차이점을 기술하라(10점).

2001년 1학기 중간고사
※ 다음 3 문제를 모두 기술하라.
  1. 운영체제의 역할과 기능을 기술하라. (10점)
  2. 명령어의 실행을 4단계로 나누어 설명하라. (10점)
  3. 플래그 레지스터와 명령어 포인터의 기능에 관해 설명하라. (10점)



참고사이트
[어셈블리]
- Assembly Language
- 어셈러브 : 어셈블리어 개발자그룹
- 충북대 정근채 조교수 홈페이지 - 강의노트
- 충남대 김형신 교수 홈페이지 - 어셈블리어 프로그래밍
- 전광성의 어셈블리어 이해하기(korea.internet.com)
반응형

'B1:기초 Basement' 카테고리의 다른 글

촘스키 계층구조(Chomsky Hierarchy)  (0) 2006.07.29
동서양 고전 : 사상 고전을 중심으로  (0) 2006.07.28
데이터베이스  (0) 2006.07.28
디지털 논리회로  (0) 2006.07.28
알고리즘-Algorithm  (0) 2006.07.28