탐새보고서 12단원 피벗테이블보고서 문혜영교수 컴퓨터활용능력 1급 실기 2 1 피벗테이블 목차 2 그룹 3 값필드속성 4 피벗테이블 옵션 피벗테이블 피벗 테이블 보고서는 데이터를 요약하고 분석하고 탐색하며 요약 데이터를 제공하는 데 유용하다. 행과 열을 이용하여 원본 데이터를 다양한 방식으로 요약하여 표시할 수 있다. [삽입]탭- [표]그룹-[피벗 테이블]-[피벗 테이블]
탐새 13단원 피벗테이블보고서2 문혜영교수 컴퓨터활용능력 1급 실기 문제1 ▶ 피벗테이블 보고서의 레이아웃과 위치는 그림을 참조하여 설정하고 보고서레이아웃을 개요형식으로 표시하시오. ▶ 가공일은 월단위로 그룹을 지정하시오. ▶ 완성된 피벗테이블보고서에는 피벗스타일보통5를 지정하시오. ▶ 제조팀은 제조2팀,제조4팀,제조6팀만 나타나도록 한 후 단위당원가 와 목표매출액을 열합계비율을 기준으로 그림과 같이 나타나도록 작성 하시오. ▶ 값영역의 표시형식은 값 필드 설정의 셀서식을 이용하여 소수1자리까 지 표시하시오. ▶ 제조4팀의 1월 목표매출액 데이터만 자동생성한 후 시트이름을 1월 가공현황으로 지정하시오. 문제2 • ▶ 피벗테이블 보고서의 레이아웃과 위치는 그림을 참조하여 설 정하고 보고서레이아웃을 테이블형식으로 표시하시오. • ▶ 값 영역의 표시형식은 '값필드설정'의 셀서식을 이용하여 사 용자 지정에서 지정하시오. • ▶학번을 기준으로 그림과 같이 그룹을 설정하고 하위수준의 표 시여부를 설정하시오.(단 학번이 03으로 시작하면 1학년, 04로 시작하면 2학년임) • ▶∑값의 위치를 행 레이블로 이동시키고 수강과목은 엑셀만 나 타나도록 하시오. 문제3 • ▶ 피벗테이블 보고서의 레이아웃과 위치는 그림을 참조하여 설정하고 보고서레이아웃을 개요형식으로 표시하시오 • ▶ 대출금액×0.05/12를 계산하는 월이자 계산필드를 추가하 시오. • ▶ 대출지점이 그림과같이 표시되도록 정렬하시오. • ▶ 피벗스타일 밝게21을 설정하고 줄무늬행 옵션을 설정하시 오. • ▶ 각 그룹의 하단에 요약이 표시되도록 설정하고 대출금액과 월이자의 표시형식은 값필드설정의 셀서식을 이용하여 숫자범 주에서지정하시오.
탐새 14단원 목표값찾기/시나리오 문혜영교수 컴퓨터활용능력 1급 실기 2 1 목표값 찾기 목차 2 목표값 찾기 대화상자 3 시나리오 4 시나리오 요약 목표값 찾기 목표값 찾기 기능은 임의의 목표로 하는 값을 정해놓고 이 목표값을 달성하기위하여 특정한 셀값은 얼마이 어야 하는가를 알고 싶은 경우에 유용하게 사용할 수 있는 기능이다. [데이터]→[데이터 도구]→[가상 분석]→[목표값 찾기] 전체 평균을 78점으로 하려면 ‘호기주학생의 엑셀점수는 몇점이어야 하는가? 시나리오 시나리오는 작업시트에 입력되어 있는 데이터들에 대해 다양한 가상의 상황을 만들어서 그 결과를 분 석하고 예측하는 가상분석도구이다. 결과셀은 반드시 변경셀을 참조하는 수식으로 되어 있어야 한다. ‘장하나’의 ‘국어점수’가 88, 55 같이 변동되는 경우 ‘최종점수’의 변동 시나리오를 작성하시오.
탐새 15단원 데이터 표, 데이터 통합 문혜영교수 컴퓨터활용능력 1급 실기 2 1 데이터 표 목차 2 데이터 표 대화상자 3 데이터 통합 4 데이터 통합 대화상자 데이터 표 데이터 표는 특정 값의 변화에 따른 결과값의 변화과정을 표 형태로 표시해주는 가상분석도구이다. [데이터]탭-[데이터도구]그룹-[가상분석]-[데이터표] 데이터 통합 여러 시트에 입력되어 있는 데이터도 통합할 수 있고 다른 통합문서에 입력되어 있는 데이터도 하나 로 통합할 수 있다. 사용할 수 있는 함수 : 합계, 개수, 평균, 최대값, 최소값, 곱, 숫자 개수, 표준 편차, 표본 표준 편차, 표 본 분산, 분산 명령 : [데이터]→[데이터 도구]→[통합]
탐새 16단원 매크로 문혜영교수 컴퓨터활용능력 1급 실기 2 1 매크로 목차 2 매크로 기록 3 매크로 보안 4 양식단추 매크로 매크로는 반복적인 작업을 자동화하여 빠르게 작업할 수 있다. [개발도구]탭 표시 : [파일]-[옵션]-[리본사용자지정]-개발도구에 체크한다. 도형, 양식단추를 이용하여 매크로를 지정할 수 있다. 매크로 저장 : [파일]-[다른이름으로 저장]-[Excel 매크로 사용통합 문서] 매크로 실행 : [개발 도구]-[코드]-[매크로] 또는 바로가기 키, 또는 개체 Visual Basic Editor를 이용하여 통합문서에 연결된 매크로를 작성하고 편집할 수 있다. 매크로 지정 1. 도형을 그린 후 -바로가기메뉴 - [매크로 지정] 매크로 이름의 첫글자는 반드시 문자이어야 하며 나머지는 문자, 숫자, 밑줄등을 함께 사용할 수 있다. / ? ‘’ , - ※ 등과 같은 문자와 공백은 매크로 이름으로 사용할 수 없다. 매크로에서 지정한 바로 가기와 엑셀의 바로 가기키가 같은 경우 매크 로에서 지정한 바로가기 키가 적용된다. 매크로의 바로가기 키는 Ctrl+소문자, 또는 Ctrl+Shift+대문자의 결 합으로 구성된다. 2. 매크로 기록 3. [개발도구]탭-[코드]그룹-[기록중지] 매크로2 실습파일 문제 • 데이터 통합 기능을 이용하여 표4의 영역에 표1 표2 표3의 상품코드별 1사분기 합계를 구하는 매크로를 생성하고 매크로 이름은 판매합계로 정의하시오. • 기본도형의 직사각형을 H18:I19 영역에 생성한 후 텍스트를 판매합계로 입력하고 텍스트 맞춤 의 가로 가운데, 세로 가운데로 설정하며, 도형을 클릭할 때 판매합계 매크로가 실행되도록 설정 하시오. • 셀 포인터의 위치에 관계없이 매크로가 실행되 어야 정답으로 인정됨 • 부분합 기능을 이용하여 제품명별 단가와 금액의 합계를 계산하는 매크로를 생성하고 매크로 이름은 작성으로 정의하시오. • 부분합을 작성할 때 제품명에 대한 정렬기준은 오 름차순으로 지정하시오. • 부분합작성 매크로는 부분합 작성 단추에 지정하시 오. • 작성한 부분합을 제거하고 순번을 기준으로 오름차 순 정렬하는 매크로를 생성한 후 매크로 이름은 제 거로 정의하시오. • 제거 매크로는 부분합 제거단추에 지정하시오. • 작성매크로를 실행하시오. • 셀포인터의 위치에 관계없이 매크로가 실행되어야 정답으로 인정
탐새 17단원 차트 문혜영교수 컴퓨터활용능력 1급 실기 2 1 차트 목차 2 차트 종류 3 차트 도구 4 차트 속성 차트 기본 차트는 묶은 세로 막대형 차트이다 [삽입]-[차트]옵션 차트종류 차트 도구
탐새 18단원 차트2 문혜영교수 컴퓨터활용능력 1급 실기 sheet1 • 차트 제목은 '이용 현황', 가로축 제목은 고객명, 차트제목은 돋움, 14, 파랑, 밑줄 실선으로 설정 하시오. • 그림을 참조하여 이용일수와 누적점수계열을 묵은 세로막대형과 표식이 있는 꺾은선형 두가 지의 차트로 표시하시오. • 차트 범례의 배치는 위쪽, 글꼴은 굴림,도형스타 일은 색윤곽선-자주, 강조4로 설정하시오. • 차트 옵션에서 세로축주눈금선을 설정하고 표 식이 있는 꺾은선형차트의 모든 데이터 계열은 완만한 선으로 표시하시오. • 차트위치를 새 시트로 생성하고, 생성된 차트의 이름은 Chart로 설정하시오. sheet2 • 차트제목은 C2셀과 연결하여 표시하고, 가로축제목 은 이름, 세로축제목은 점수로 설정하시오. • 차트영역의 글꼴크기는 9, 테두리스타일은 둥근모서 리, 그림자는 오프셋 대각선 오른쪽 아래로 지정하 시오. • 필기시험 계열에 레이블이 표시되도록 설정하시오. • 실기시험 계열의 겹치기를 50%로 지정하시오. • 도형의 타원과화살표를 이용하여 그림과 같이 삽입 한 후 선색은 검정, 텍스트1, 선너비는 1pt, 채우기 는 채우기없음으로 지정하시오. sheet3 • 데이터 계열 위치를 열로 변경하시오. • 일본 인도계열은 제거하고 중국계열은 보조축으로 설정하시오. • 보조 세록축 눈금은 최소값 -300, 값을 거꾸로, 세 로축눈금은 최대값300으로 설정하시오. • 차트제목은 한국/중국의 무역수지로 설정하고 글 꼴은 돋움, 크기는 16으로 설정하시오. • 데이터 레이블을 위쪽으로 설정하고 그림영역은 분홍 박엽지 질감으로 설정하시오.
탐새 19단원 프로시저 문혜영교수 컴퓨터활용능력 1급 실기 1. 입력버튼을 클릭하면 사용자 정의 폼 ‘자료현 황'폼이 화면에 나타나도록 이벤트 프로시저 를 작성하시오. Private Sub 입력_Click() 자료현황.Show End Sub 2. ‘자료현황’폼이 화면에 나타나면 판매날자(txt판 매일자)텍스트상자에 현재 날짜가 표시되는 프로시 저를작성하시요 3. ‘자료현황’폼이 화면에 나타나면 워크시트 [I4:I13]셀의 내용이 제품목록(lst제품목록)리스트 박스에 목록으로 추가되는 프로시저) 4. ‘자료현황’폼이 화면에 나타나면 결제형태를 선 택하는 콤보상자(cmb결재형태)목록에 ‘현금’,’카 드’, ’어음’이 추가되는 프로시저 2. Private Sub UserForm_Initialize() txt판매일자 = Date lst제품목록.RowSource = "i4:i13“ cmb결재형태.AddItem "현금" cmb결재형태.AddItem "카드" cmb결재형태.AddItem "어음“ End Sub 5.'자료현황'폼 화면에서 <등록>버튼(cmb등록)을 클릭하면, '자 료현황'폼 화면의 입력내용중 판매날자(txt판매일자), 제품명(txt 제품명), 수량(txt수량), 단가(txt단가), 결재형태(cmb결재형태)가 '프로시저'시트의 표에 입력되어 있는 마지막행 다음에 연속해서 추가되는 프로시저를 작성하시오. 데이터는 [B3]셀부터 입력되어 있다. 제품명(txt제품명)을 입력하지 않았으면 '제품명을 입력하시오' 수량(txt수량)을 입력하지 않았으면 '수량을 입력하시오.' 단가(txt단가)를 입력하지 않았으면 '단가를 입력하시오.' 결재형태(txt결재형태)를 입력하지 않았으면 '결재형태를 입력하시 오.'라는 메시지를 출력하고 이 모두를 입력했을 때만 폼의 데이터를 워크시트에 입력하시오. 폼의 <등록>버튼을 클릭하면 제품명, 수량, 단가, 결재형태에는 새로운 값이 입력될 수 있도록 설정하시오. 데이터를 추가하거나 삭제하여도 항상 마지막 데이터 다음에 입력되 어야 한다. 금액은 입력받은 단가와 수량의 곱으로 계산하며, 금액에는 통화기호 를 붙인다. Private Sub cmd등록_Click() If txt제품명 = "" Then MsgBox "제품명을 입력하시오." ElseIf txt수량 = "" Then MsgBox "수량을 입력하시오." ElseIf txt단가 = "" Then MsgBox "단가를 입력하시오." ElseIf cmb결재형태 = "" Then MsgBox "결재형태를 입력하시오." Else 기준행위치 = [b3].Row 기준범위행수 = [b3].CurrentRegion.Rows.Count 입력행 = 기준행위치 + 기준범위행수 Cells(입력행, 2) = CDate(txt판매일자) Cells(입력행, 3) = txt제품명 Cells(입력행, 4) = txt수량 Cells(입력행, 5) = txt단가 Cells(입력행, 6) = Format(Val(txt수량) * Val(txt단가), "currency") Cells(입력행, 7) = cmb결재형태 txt제품명 = "" txt수량 = "" txt단가 = "" cmb결재형태 = "" End If 6.'자료현황' 폼화면에서 '조회(cmb조회)버튼을 클 릭하면 시트의 표에 입력된 제일 마지막의 판매날짜, 제품명, 수량, 단가가 폼의 판매일자(txt판매일자), 제 품명(txt제품명), 수량(txt수량), 단가(txt단가)에 각 각 표시되는 프로시저를 작성하시오. 7.'자료현황'폼화면에서 <종료>버튼(cmd종료)을 클 릭하면 '자료현황'폼이 화면과 메모리에서 사라지는 프로시저를 작성하시오. Private Sub cmd조회_Click() 기준행위치 = [b3].Row 기준범위행수 = [b3].CurrentRegion.Rows.Count - 1 입력행 = 기준행위치 + 기준범위행수 txt판매일자 = Cells(입력행, 2) txt제품명 = Cells(입력행, 3) txt수량 = Cells(입력행, 4) txt단가 = Cells(입력행, 5) End Sub Private Sub cmd종료_Click() Unload Me End Sub
탐새 20단원 분석/기타작업 연습문제 문혜영교수 컴퓨터활용능력 1급 실기 2 1 피벗테이블 보고서 목차 2 매크로 3 차트 4 프로시저 1 피벗테이블 보고서의 레이아웃과 위치는 <그림>을 참조하여 설정하시오. 값영역의 모든 필드는 표시형식을 값필드 설정의 셀서식에서 '사용자 지정' 범주를 이용하여 그림과 같이 지정하시오 열의 총합계가 표시되지 않도록 지정하시오. 부서명이 기술부인 자료만 기능을 이용하여 별도의 시트에 나타내시오. 시트명을 기술부로 하고 분석작업-1앞에 위치시킨다. 2 매크로 목표값 찾기기능을 이용하여 오디오의 목표달성률이 110%가 되려면 판매량이얼마가 되어야 하는지 계 산하는 매크로를 생성하고, 매크로 이름은 오디오로 정의하시오. 오디오 매크로는 도형 직사각형을 C8:D10영역에 생 성한 후 텍스트를 오디오목표달성률로 입력하고 텍스트 맞춤의 가로세로가운데로 설정하여 도형을 클릭할 때 오디오 매크로가 실행되도록 설정하시오. 도형의 채우기 색을 빨강으로 지정하시오. 3 수주합계(E3:E7)을 차트에 추가한 후 계열이름을 '수주'로 지정하 시오. 차트의 제목은 1,2차 수주내역, 가로축제목은 회사명 세로축제목은 금액으로 입력하시오. 가로축의 글꼴스타일 기울림꼴, 크기11로 지정하시오. 세로축의 주단위 100, 가로 축 교차 200, 글꼴크기11로 설정하시 오. 범례서식은 채우기색을 흰색,배경1,그림자를 오프셋 대각선 오른 쪽 아래로 설정하시오. 1차수주액 계열에 레이블이 표시되도록설정하시오. 차트영역의 테두리 스타일은 둥근모서리, 그림자는 오프셋 대각선 오른쪽 아래로 설정하시오. 4 프로시저 <콘도 이용요금>단추를 클릭하면 '콘도이용'폼이 나타나도록 설정하고, 폼이 초기화되면 콘도명(cmb콘도명)목록에는 G4:H9영역의 값이 표시되도록 프로시저를 작성하시오. 콘도이용 폼의 <조회>버턴(cmb조회)를 클릭하면 제일 마지막 데이터의 고객번호, 콘도명, 이용일수, 사용요금이 폼의 고객번호(txt번호), 콘도명(cmb콘도명), 이용일수(txt일수), 사용요금(txt요금)에 각각 표시되도록 프로시저를 작성하시오. 데이터를 추가하거나 삭제하여도 항상 마지막 데이터가 표시되어야 한다. 콘도이용 폼의 <종료>버튼(cmd종료)를 클릭하면 '콘도이용'폼이 화면과 메모리에서 사라 지도록 프로시저를 작성하시오. Private Sub cmd등록_Click() 콘도이용.Show End Sub Private Sub UserForm_Initialize() cmb콘도명.RowSource = "G4:H9" End Sub Private Sub cmd조회_Click() 입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count - 1 txt번호 = Cells(입력행, 1) cmb콘도명 = Cells(입력행, 2) txt일수 = Cells(입력행, 3) txt요금 = Cells(입력행, 4) End Sub Private Sub cmd종료_Click() Unload Me End Sub
탐새 20단원 분석/기타작업 연습문제 문혜영교수 컴퓨터활용능력 1급 실기 2 1 피벗테이블 보고서 목차 2 매크로 3 차트 4 프로시저 1 피벗테이블 보고서의 레이아웃과 위치는 <그림>을 참조하여 설정하시오. 값영역의 모든 필드는 표시형식을 값필드 설정의 셀서식에서 '사용자 지정' 범주를 이용하여 그림과 같이 지정하시오 열의 총합계가 표시되지 않도록 지정하시오. 부서명이 기술부인 자료만 기능을 이용하여 별도의 시트에 나타내시오. 시트명을 기술부로 하고 분석작업-1앞에 위치시킨다. 2 매크로 목표값 찾기기능을 이용하여 오디오의 목표달성률이 110%가 되려면 판매량이얼마가 되어야 하는지 계 산하는 매크로를 생성하고, 매크로 이름은 오디오로 정의하시오. 오디오 매크로는 도형 직사각형을 C8:D10영역에 생 성한 후 텍스트를 오디오목표달성률로 입력하고 텍스트 맞춤의 가로세로가운데로 설정하여 도형을 클릭할 때 오디오 매크로가 실행되도록 설정하시오. 도형의 채우기 색을 빨강으로 지정하시오. 3 수주합계(E3:E7)을 차트에 추가한 후 계열이름을 '수주'로 지정하 시오. 차트의 제목은 1,2차 수주내역, 가로축제목은 회사명 세로축제목은 금액으로 입력하시오. 가로축의 글꼴스타일 기울림꼴, 크기11로 지정하시오. 세로축의 주단위 100, 가로 축 교차 200, 글꼴크기11로 설정하시 오. 범례서식은 채우기색을 흰색,배경1,그림자를 오프셋 대각선 오른 쪽 아래로 설정하시오. 1차수주액 계열에 레이블이 표시되도록설정하시오. 차트영역의 테두리 스타일은 둥근모서리, 그림자는 오프셋 대각선 오른쪽 아래로 설정하시오. 4 프로시저 <콘도 이용요금>단추를 클릭하면 '콘도이용'폼이 나타나도록 설정하고, 폼이 초기화되면 콘도명(cmb콘도명)목록에는 G4:H9영역의 값이 표시되도록 프로시저를 작성하시오. 콘도이용 폼의 <조회>버턴(cmb조회)를 클릭하면 제일 마지막 데이터의 고객번호, 콘도명, 이용일수, 사용요금이 폼의 고객번호(txt번호), 콘도명(cmb콘도명), 이용일수(txt일수), 사용요금(txt요금)에 각각 표시되도록 프로시저를 작성하시오. 데이터를 추가하거나 삭제하여도 항상 마지막 데이터가 표시되어야 한다. 콘도이용 폼의 <종료>버튼(cmd종료)를 클릭하면 '콘도이용'폼이 화면과 메모리에서 사라 지도록 프로시저를 작성하시오. Private Sub cmd등록_Click() 콘도이용.Show End Sub Private Sub UserForm_Initialize() cmb콘도명.RowSource = "G4:H9" End Sub Private Sub cmd조회_Click() 입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count - 1 txt번호 = Cells(입력행, 1) cmb콘도명 = Cells(입력행, 2) txt일수 = Cells(입력행, 3) txt요금 = Cells(입력행, 4) End Sub Private Sub cmd종료_Click() Unload Me End Sub
***************
TCP/IP 프로토콜의 타이머 관리를 위한 HW 모듈의 설계 A Design of HW Module for the Timer Management in TCP/IP Protocol °Lee Youn-Sung, Kwon Ki-Won, Goh Hyung-Il,Kong Jin-Hyeung Dept, of Computer Engineering, Kwangwoon University Abstract In this paper, a HW module for the timer management is designed to accelerate the TCP/IP processing in computer communication. The HW design is based on the specifications on RFC 791,793 and FreeBSD4.4. In order to speed up the timer management in TCP/IP, the HW concurrency and the ordered list algorithm with the classified duration are exploited in the HW design. The design, verified by the VHDL simulation, supports the TCP/IP multi-connection up to 32 and the timers of retransmission, time-wait and persist, keep-alive in TCP and reassembly in IP. 1. 서론 컴퓨터의 발달과 통신 네트워크의 발전으로 초기에 는 소수의 전문가만이 이용해온 컴퓨터 통신을 요즘은 다수의 이용자들이 사용하게 되었다. 이러한, 컴퓨터 통 신에는 데이타를 전달시켜주는 매개체인 네트워크와 데 이터의 송수신을 처리해 주는 통신 규약인 프로토콜 (protocol)이 이용되고 있으며, 현재 대부분의 컴퓨터 통 신에서는 TCP/IP 프로토콜을 사용하여 데이터를 처리하 고 있다111. 그러나,과거 40년 동안 컴퓨터 통신의 전송 기술은 지속적으로 발전해 왔으나, TCP/IP 프로콜톨올 이용한 데이터의 처리 기술은 제자리에 머물러 있는 실 정이다. 따라서, 고속의 데이터 통신이 요구되는 요즘, 데이터의 전송 처리 기술인 TCP/IP 프로토콜의 성능 개 선이 시급히 요구되고 있다. 다양한 네트워크와 연결되어 신뢰적으로 데이터를 전송하기 위한 목적으로 개발된 TCP/IP 프로토콜은 패 킷의 유실과 연결 관리를 위해 타이머를 이용하고 있다. TCP/IP 프로토콜은 타이머를 관리하기 위해서 주기적으 로 만료된 타이머롤 검색한다. 이때, 진행하던 작업을 일시중지 시키고, 타이머를 검색한 후에 다시 처리하게 되는데, 이와같은 순^적 처리는 비효율적이다. 더욱이 TCP/EP 프로토콜은 다수의 연결을 설정하는 것이 가능 하기 때문에 타이머 검색에 많은 시간이 소요된다. 이러한 문제점을 해결하기 위해 본 논문에서는 TCP/IP 프로토콜에서 이용되는 타이머를 동작 시간으로 분류된 순차 리스트(ordered list) 방법으로 관리하는 전 용 하드웨어를 구현함으로써 순차적 처리에 의해 주기 적으로 타이머를 관리하는 기존의 문제점을 개선하여 프로토콜의 성능 향상을 도모하고자 한다. 2. 프로토콜 타이머 개요 2.1 타이머 관리기 하나의 타이머는 동작(Running), 비동작(Idle), 만료 (Expired)의 3 가지 상태로 동작한다/ 이러한 3 가지 상태를 갖는 타이머의 관리는 타이머 등록/삭제 기능과 등록된 타이머의 만료 시간 검색으로 이루어진다. 타이 머 등록 기능은 일정한 시간 동안 동작하는 타이머를 생 성하여 동작시키는 기능이고,타이머 삭제 기능은 동작 중인 타이머가 동작이 만료되기 전에 정지시키는 기능 이다. 그리고, 만료 타이머 검색은 동작 시간이 종료된 타이머를 조사하여 정지시키는 기능이다. 비동작 상태에 있는 타이머가 동작 상태가 되는 것 은 타이머 등록 명령에 의해 가능하다. 타이머 등록 명 령 후에 동작 상태에 있는 타이머는 비동작 상태와 만료 상태로 될 수 있다. 동작 상태에서 비동작 상태로의 변 화는 타이머 삭제 명령에 의해 가능하고, 또한, 만료 상 태로의 변화는 시간이 경과에 의해 가능하다. 만료 상 태가 되면 타임아웃 이벤트(event)를 발생시키고 비동작 상태가 된다. 이와 같이 타이머의 상태 이동과 관리 명 령에 대한 관계는 그림 1과 같다. Running 타이머 등특 시간 경과 타이머 삭제 타임아웃 검 색 그림 1. 타이머의 상태 변화 - 102 - 2.2 타이머 관리 방법 타이머 관리기는 관리 명령에 따라 3 가지 상태로 동작하는 다수의 타이머를 관리해야 한다. 따라서, 타이 머 관리 명령을 효율적으로 처리할 수 있는 데이타 구조 가 요구된다. 타이머 관리기를 하드웨어로 구현하는 방법은 카운 터를 이용하는 방법과 메모리와 제어 블록을 이용하는 방법으로 나누어 볼 수 있다. 카운터를 이용하는 방법 은 타이머의 갯수만큼 카운터를 두어 타이머 한 개당 카 운터 한 개씩 사용하는 방법으로, 타이머 관리는 효율적 이나 하드웨어 비용이 많이 드는 단점을 가지고 있다. 따라서,다수의 타이머를 사용하는 TCP/IP 프로토콜에 서는 적합하지 않다. 메모리와 제어 블록을 이용하는 방법은 순차 리스트, 비순차 리스트, 분류된 순차 리스트 를 이용하는 방법으로 구현이 가능하다. 비순차 리스트 룰 이용한 방법은 체계적으로 타이머를 관리하는 것이 아니기 때문에 만료된 타이머를 검색하는 시간은 많이 소요되나,타이머 등록에 소요되는 시간은 단축된다. 순 차 리스트를 이용한 타이머 관리는 타이머 등록에 시간 이 많이 소요되는 단점을 가지고 있으나, 만료된 타이머 룰 검색하는 시간을 단축시킬 수 있다. 이 방법은 타이 머를 하나의 리스트에 순차적으로 나열하기 때문에 체 계적으로는 관리되나,비효율적이다. 따라서, 세번째 방 법인 분류된 순차 리스트를 이용한 방법이 효과적이라 하겠다. 이 방법은 순차 리스트 방법이 가지는 체계적 관리 방법을 여러개로 분류하여 관리하기 때문에 효율 적 관리를 할 수 있다. 이러한 이유 때문에 본 연구에 서는 분류된 순차 리스트 방법을 타이머를 관리하는 HW로 설계하고자 한다. 2.3 타이머 관리 모델 분류된 순차 리스트를 이용한 타이머 관리는 동작 시간으로 구분된 순차 리스트에서 타이머를 관리하는 방법으로, 각각의 동작 시간올 갖는 타이머는 입력 순서 에 따라 등록된다. 이와 같은 방법으로 타이머를 관리 하면, 몇 가지 장점을 가질 수 있다. 타이머롤 등록/삭 제할 때 모든 타이머를 검색하여 등록/삭제하는 것이 아 니라, 동작 시간이 일치하는 순차 리스트만을 검색하여 타이머를 관리하면 되기 때문에 등록/삭제 시간이 단축 된다. 또한, 분류된 순차 리스트의 타이머 연결 순서는 등록 시간의 순서에 의해 나열되기 때문에 동작 시간이 만료된 타이머의 검색은 각각의 순차 리스트 중 첫번째 타이머만을 검색하면 된다. 이 과정에서 내부의 데이터 검색 기능이 추가된 CAM[a(Contents Addressable Memory)을 이용하여 순차 리스트의 첫번째 타이머를 관리하고, 두번째 타이머 부터는 RAM에서 관리하는 방 법을 이용하여 만료 티:이머 검색 시간을 더욱 단축시킬 수 있다. 분류된 순차 리스트를 이용한 타이머 모델과 구현 방법이 그림 2에 나타나 있다. 2.4 타이머 관리 알고리듬 타이머 관리기의 기본 기능온 타이머 등록/타이머 삭제/만료 타이머 검색으로 볼 수 있다. 이외에도 추가 기능으로 동작 중인 타이머를 재등록하는 기능과 어떤 소속 정보를 갖는 타이머를 모두 삭제시키는 기능이 있 다. 이러한 타이머 관리기의 처리 절차와 타이머 등록/ 삭제 알고리듬은 다음과 같다. 1 2 트1 1 T t a e r l - H ~ > | T i n « r | 동작시간 1 동작시간 1 동작 시간 2 = 3 I 동작 시간 3 4 - ■»! T k . r j 4 ^ 1 S 작 새간 3 T in « r | » 동작 시간 3 동작 > S T i n « t | » f - » | T i n . r l 4 — » * ' - — H T " « r l 4 r » S 작 시 D n 동 작 시 간 n 검색 B 이어 시 « n (a) 분류된 순차 리스트 구조의 타이머 모델 순 리 순 리 순 리 순 리 차 시 차 시 차 시 차 시 一 •. 타이머 포인터 (b) 타이머 구조의 구현 그링 2. 타이머 모델 및 구현 방법 먼저 타이머 처리 절차를 살펴보면,타이머는 외부 의 타이머 명령을 입력받아 타이머를 관리하는데, 그 절 차는 그림 3과 같다. 타이머 명령은 타이머 재등록,모 든 타이머 삭제, 타이머 삭제, 타이머 등록으로 구분되어 입력된다. 타이머 재등록은 타이머를 삭제시키고, 재등 록시키는 과정을 수행하고, 모든 타이머 삭제명령은 4개 의 타이머⑵에 대한 삭제를 실행한다. 타이머 관리기 동작의 기본이 되는 타이머 등록/삭제는 그림 4와 같이 처리된다. 타이머 타이어 N u a 타이머 포인터 N u l l N u l l 포인터 그림 3. 명령 처리 절차 실제로 타이머 등록/삭제 과정은 분류된 순차 리스 트 구조를 갖는 타이머를 등록 및 삭제하는 알고리듬에 의해 처리된다. 타이머 등록 알고리듬은 입력된 타이머 정보(연결 소속 정보,타이머 종류 정보,동작 시간 정 보)로부터 타이머를 생성하여 분류된 순차 리스트의 마 j i 一 지막에 등록 시키게 되며, 타이머 삭제 알고리듬은 삭제 3 타이머 관리기 설계 시키려는 타이머가 소속된 순차 리스트를 검색하여 타 헗 3 후에 포인터* 수정하여 리스트 구 聊 타이머 관리기 사양 c큰 > 타이머 정보로 부터 타이머를 생성한다. 타이머외 동작 시간으로 平터 타이머 저장 에모리외 검색 시직 주소튤 일아낸다. 타이머 저장 머!오리에 저장된 첫번째 타이머 값을 W&다. 실제 소프트웨어로 구현되어 있는 TCP/IP 프로토 콜은 설정할 수 있는 연결의 수에서 제한이 없다. 따라 서,타이머 관리기도 수 많은 타이머를 관리하여야 한다. 하지만, 본 논문에서 구현한 타이머 관리기는 하드웨어 로 구현되었기 때문에 무한개의 타이머 관리는 비현실 적이다. 이와 같은 이유로 타이머 관리기 설계에 있어 서 다음과 같은 가정을 세우고, 타이머 관리기를 설계하 였다. 설계상의 가정 • TCP 프로토콜에 의해서 설정 가능한 연결 수는 32 개로 제한한다. • F「eeBSD4.4a4)의 타이머 종류에 따라 5종류의 타이 어를 지원한다. (TCP 타이머 4 종류, /P 타이머 1종 W) (a) 타이머 등록 과정 • FreeBSD4.4에 따라 동작이 만료된 타이머 검색을 위 한 주기는 500ms⑷로 한다. 타이어 정£로 平터 타이머 저장 에모리의 검색 시작 주소蕾 알아낸다. 타이머 저장 에오리에 저5 첫번째 타이머 값율 읽는t 포인터가 가리키는 주소에서 타이머를 읽는다. 타이머* 삭제하고, 포인터가 가리키는 주소의 타이머* 위치시킨다. 타이머를 삭제한다. (b) 타이머 삭제 과정 그림 4. 타이머 등록/삭제 알고리등 이밖에 타이머 관리기는 주기적으로 등록된 타이머 중에서 동작이 만료된 타이머를 검색하는 기능을 수행 하는데,이는 모든 순차 리스트의 첫번째 타이머를 검색 하는 과정으로 처리된다. 만료 타이머의 검색 절차는 그림 5와 같다. 타이어 등 « 정보 관리기 ''타이CH ill 13^aa/s 보 해화기 »획 .식 ' 타이어 저장 매a 리 만료/기 상 태/타이 잉 스 l a a s 시간 w생기 3.2 타이머 관리기의 구성 및 동작 타이머 관리기의 아키텍쳐는 타이머를 저장하는 타 이머 저장 메모리와 타이머를 등록/삭제시키거나 등록된 타이머를 관리하는 기능 제어 블록으로 나누어 볼 수 있 다. 타이머 저장 메모리는 동작중인 타이머를 효율적으 로 저장/관리하기 위해서 CAM과 RA1나으로 구성되고, 기능 제어 블록은 명령과 타이머 정보를 해독하는 명령/ 정보 해독기, 만료 시간을 계산하고, 주기적인 검색 요청 이벤트를 발생시키는 만료/기준 시간(Expired/Reference) 발생기,타이머 저장 메모리의 빈주소를 관리하는 빈주 소 관리기,등록된 타이머의 순차 리스트 정보를 관리하 는 타이머 등록 정보 관리기와 타이머 명령올 수행하기 위해 각각의 기능 제어 모듈들을 스케줄링하고,관리하 는 상태/타이밍 스케줄러로 구성된다. 타이머 관리기의 블록도는 그림 6과 같다. 민주소 관리기 그림 6. 타이머 관리기 구성 타이머 관리기의 동작은 다음과 같다. 타이머 정보 그림 5. 안료 타이어 검색 절차 (연결 소속 정보, 타이머 종류,동작시간)와 타이머 명령 을 입력받아 명령올 해독하고,타이머 정보를 분석한다. 명령에 따라 타이머를 생성하고,타이머 스케줄러에게 타이머 등록 요청올 하거나,타이머 삭제 요청올 한다. 요청올 받은 타이머 스케줄러는 타이머를 타이머 저장 메모리에 등록시키거나, 타이머 저장 메모리에 등록된 타이머를 제거하여 타이머 등록/삭제 과정올 처리한다. 또한,주기적으로 타이머 저장 메모리롤 조사하여 동작 시간이 만료된 타이머를 검색한다. 검색된 타이머는 삭 제되고, 타이머 정보는 외부에 출력된다. 이와 같은 타 이머 관리기의 내부 처리 블록도는 그림 7과 같다. i I loKrr^awiMaJC 타이머 관리기 타이머 저장 에모리 [ ^ 1 — g 니 圖 . 타이머 생성 그림 9. 타이머 관리기 동작 파형 4.2 성능 분석 실험 본 성능 분석 실험은 TCP 프로토콜에 의해 설정된 데이터 생성 그림 7. 타이머 관리기 처리 동작 4. 실험 및 평가 본 논문에서 제안된 타이머 관리기는 VHDL올 이 용한 하향식(top-down) 방법으로 설계되었다. 설계 과 정에서는 Synopsys ver 3.4a의 design compiler를 이용 하여 합성 및 최적화 과정# 수행하였고, VSS 시물레이 터에서 기능 검중을 하였다'. 4.1 동작 검증 실험 동작 검중 실험은 단일 연결(single connection)과 다수의 연결(multi connection)의 경우로 나누어서 실험 하였다. 단일 연결이 설정되었을 때는 타이머 명령올 입력받아 정상적으로 처리하는지를 검사하였고, 다수의 연결에 대해서는 연속적인 명령 요청을 수행하는지를 검사하였다. 단일 명령올 처리하는 실험은 타이머 등록/타이머 삭제/만료된 타이머 검색의 과정을 처리하는 테스트 모 델을 세우고, 이와같은 테스트 모멜을 정상적으로 처리 할 수 있는지 조사하는 과정으로 실험되었고, 연속적인 다수의 명령을 처리하는 실험온 타이머 등록 요청이나 삭제 요청을 처리하고,있올 때,만료 타이머 검색이 요 청되는 경우와 만료 타이머 검색 요청을 처리하고 있을 때, 외부의 타이머 동작 명령(타이머 등록/삭제)이 요청 되는 경우, 또한, 연속적인 타이머 동작 명령이 요청되었 을 경우에 대해 각각 실험하였다. 본 동작 검중을 통한 파형은 그림 9와 같다. 그림에서 타이머 관리기의 각 기능 모듈을 제어하고, 동작 시간을 스케줄링하는 상태/타이밍 스케줄러의 타이 머 등록 명령을 처리하는 동작 파형이다. 위의 동작 파 형은 타이머 동작 명령을 입력받아, 각 클릭 마다 각 기 능 모듈로 부터 데이터를 받거나, 각 기능 모듈에 데이 터와 제어신호를 전송하는 것을 보여주고 있다. 연결의 수가 실제와 유사한 10개라는 가정 하에 이루어 졌다. 실험은 동작 검중 실험을 통해 각의 타이머 명령 을 처리할 때 소요되는 클럭의 수를 측정하는 방법으로 이루어졌다. 측정 결과, 명령올 패치하여 분류된 순차 리스트의 첫번째 타이머를 읽는데 까지 2클럭이 소요되 고, 두번째 타이머 부터는 1클럭 동안에 하나의 타이머 롤 읽을 수 있다. 또한, 마지막으로 분류된 순차 리스트 에 타이머를 등록/삭제하기 위해 1클럭, 리스트가 연결 되도록 포인터를 수정하는데 1클럭 소요된다. 따라서, 단일 명령을 수행하는데, 등록된 타이머가 n개면, 총 n+3개의 클럭에 명령을 수행할 수 있다. 다수의 명령이 요청되면, 상태/타이밍 스케줄러는 내부적으로 플래그를 셋팅한다. 그리고, 현재 진행 중인 작업을 모두 처리한 후에 플래그롤 조사하여 다음 작업을 수행하기 때문에 각 단일 명령을 실행했울때 사용된 클럭 수의 합이 다수 의 명령을 수행할 때 소요된다. 5. 결론 및 추후 과제 본 논문에서 구현한 하드웨어 타이머 관리기는 TCP/IP 프로토콜의 한 기능 모듈로써, VHDL로 구현 되었다. 하나의 명령을 수행하는데 소요되는 클럭수는 등록된 타이머의 수가 n개일 때 n+1 이 소요되고,다수의 명령에 대해서는 각 단일 명령에 소요되는 클릭의 합이 소요된다. 추후 과제로는 타이머 관리기를 FPGA나 ASIC으 로 구현하는 것이 요구되며, 실제 사용되기 TCP/IP 프 로토콜과 함께 사용될 수 있도록 구동기를 개발하는 것 이 필요하다. 또한, TCP/IP 프로토콜 프로세서의 기능 모듈로써 사용되기 위해 라이브러리 구축이 요구된다.