컴퓨터활용능력시험 2급 필기 - 1과목 컴퓨터일반 (2018개정)
TCP/IP 프로토콜용 전용칩의 설계 및 구현
2단원 컴퓨터의 원리 컴퓨터활용능력 2급 필기 2 1 컴퓨터 역사 목차 2 프로그램 내장방식 3 컴퓨터의 세대별 특징 4 집적회로 컴퓨터 역사 프로그램 내장방식 컴퓨터의 세대별 특징 집적회로(IC) 집적회로(Integrate Circuit) 많은 전자회로 소자가 하나의 기판에 분리가 불가능한 상태로 결합되어 있는 복합적 전자소자이다. 하나의 실리콘 칩(chip)안에 다이오드와 트랜지스터, 콘덴서, 저항 등의 부품들을 넣은 복합화로 집적 화된 게이트 수에 따라 SSI, MSI, LSI, VLSI, ULSI로 분류한다. SSI(Small Scale Integration) - 집적도 100개 이하 MSI(Medium Scale Integration) - 집적도 100~1000개 LSI(Large Scale Integration) - 집적도 1000~10만개 VLSI(Veryt large Scale Integration) - 집적도 10만~100만개 ULSI(Ultra large Scale Integration) - 집적도 100만개이상
3단원 컴퓨터의 구성 컴퓨터활용능력 1급 필기 2 1 컴퓨터의 특징 목차 2 컴퓨터의 구성 3 컴퓨터의 분류 4 자료 표현의 단위 컴퓨터의 특징 Garbage in Garbage out 컴퓨터의 구성 펌웨어(firmware) ROM(EEPROM)에 기록된 하드웨어를 제어하는 마이크로 프로그램의 집합이다. 데이터 취급방식에 의한 분류 사용목적에 의한 분류 처리능력에 따른 분류 ① 슈퍼 컴퓨터(Super Computer) 가장 크고 빠르고 고가인 최첨단의 컴퓨터로서 원자력 개발, 항공우주, 기상 예측 등의 분야에서 사용 한다 ② 대형 컴퓨터(Mainframe Computer) ③ 중형 컴퓨터(Minicomputer) ④ 마이크로 컴퓨터(Microcomputer) PC를 의미하며 가정용이나 작은 사업의 용도로 사용되는 소형의 컴퓨터다. 워크스테이션 : RISC 마이크로프로세서 칩을 사용하여 고속 연산 가능한 컴퓨터로서 네트워크에서 서버 역할에 해당하고 고성능 그래픽 처리에 사용된다. 데스크탑 : 일반적인 개인용 컴퓨터로서 가정이나 사무실에서 사용된다. 휴대용컴퓨터 : 가볍고 크기가 작아 휴대가 가능한 개인용 컴퓨터이다. 자료 표현의 단위 비트(bit) : 자료표현의 최소단위이며 두 가지 상태인 0과 1을 표시하는 2진수 1자리이 다. 니블(nibble) : 4개의 비트가 모여서 1개의 니블을 구성한다. Byte : 문자를 표현하는 최소단위로 8개의 비트가 모여 1바이트를 구성한다. 워드(Word) : cpu가 한번에 처리할 수 있는 명령단위이다. 필드(Field) : 파일 구성의 최소 단위이다. 레코드(Record) : 필드가 모여서 구성되며 프로그램내에서 입출력하는 처리 단위이다. 블록(Block) : 각종 저장매체와의 입출력단위이며 일반적으로 물리레코드를 의미한다. 파일(File) : 프로그램 구성의 기본 단위로 여러 레코드가 모여서 구성된다. 데이터베이스(Database) : 여러 관련된 파일들의 집합이다.
4단원 데이터의 표현 컴퓨터활용능력 2급 필기 2 1 문자데이터의 표현 목차 2 한글 코드 3 에러 검출 코드 4 처리 방식 문자 데이터의 표현 BCD ASCII EBCDIC 한글코드 에러 검출 코드 1) 패리티 코드(parity code) 홀수 패리티 방식(ODD, 기수): 1비트의 수가 홀수개가 되도록 한다. 짝수 패리티 방식(EVEN, 우수): 1비트의 수가 짝수개가 되도록 한다. 2) 해밍코드(Hamming Code) 3) 순환 중복 검사(CRC) 4) 블록합 검사(BSC) 처리방식 일괄처리(batch processing) 실시간처리(real time) 시분할 처리(time sharing) 분산처리 다중프로그래밍 다중처리(multi processing) 속도와 용량의 단위
6단원 중앙처리장치 컴퓨터활용능력 2급 필기 2 1 중앙처리장치의 구성 목차 2 제어장치 3 연산장치 4 레지스터 중앙처리장치의 구성 제어장치 명령어를 인출하고 그 명령어를 해석한 결과에 따라 제어신호를 전달하는 장치이며, CPU 내부에서 일어나 는 모든 작업을 통제하고 관리한다. 제어장치에서 사용되는 레지스터 프로그램 카운터(PC, Program Counter) 명령어 레지스터(IR, Instruction Register) 명령 해독기(Decoder) 부호기(Encoder) 메모리 주소 레지스터(MAR, Memory Address Register) 메모리 버퍼 레지스터(MBR, Memory Buffer Register) 연산장치(ALU) 연산장치는 산술연산과 논리연산을 하는 장치이다. 연산장치에서 사용되는 레지스터 가산기(Adder) 보수기(Complementor) 누산기(AC, Accumulator) 데이터 레지스터(Data Register) 상태 레지스터(Status Register) 인덱스 레지스터(Index Register) 레지스터 CPU(중앙처리장치)내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 소규모의 임시 기억장치이다. 레지스터는 메모리 중에서 속도가 가장 빠르다. 버스
7단원 기억장치 컴퓨터활용능력 2급 필기 2 1 기억장치의 종류 목차 2 ROM 3 RAM 4 보조기억장치 기억장치의 종류 주기억장치 주기억장치는 실행중인 프로그램과 데이터를 저장하는 장치로 ROM과 RAM으로 구분된다. ROM ① Mask ROM ② PROM ③ EPROM ④ EEPROM ⑤ EAROM RAM 캐시 메모리 주기억장치의 접근 시간과 중앙처리장치와의 속도 차이를 줄이기 위해 사용되는 것으로, CPU속도와 주기억장치의 속도차가 클 때 주기억장치에서 미리 사용할 데이터를 캐시메모리에 기억시켜서 수행속 도를 향상시킨다. 기타 메모리 1. 가상기억장치(Virtual Memory) 2. 연상(연관) 메모리(Associative Memory) 3. 플래시 메모리 보조기억장치-자기테이프 보조기억장치-자기디스크 데이터 접근시간(Access Time) ① Seek Time(탐색시간): 트랙까지 이동하는데 걸리는 시간 ② Latency Time(Search Time, 회전지연시간) : 섹터까지 이동하는데 걸리는 시간 ③ Transfer Time(전송시간) : 실제로 데이터가 이동하는데 걸리는 시간 ④ Access Time = Seek Time + Latency Time + Transfer Time
8단원 기타장치 컴퓨터활용능력 2급 필기 2 1 입력장치 목차 2 출력장치 3 프린터 4 인터럽트 입력장치 광학 마크 판독(OMR : optical mark reader) 광학 문자 판독기(OCR : optical character reader) 자기잉크 문자판독기(MICR : magnetic ink character reader) 바코드 판독기(BCR, Bar Code Reader) 스캐너(scanner) 디지타이저(Digitizer) 키오스크(Kiosk) 출력장치 모니터 표시장치 관련 용어 픽셀(Pixel, 화소) : 모니터 화면을 구성하는 가장 작은 해상도(Resolution) 픽셀(Pixel)의 수가 많을 수록 선명하다. 모니터의 크기 : 모니터의 화면 크기는 대각선의 길이를 센티미터(cm)단위로 표시한다. 재생률(Refresh Rate) : 픽셀들이 밝게 빛나는 것을 유지하도록 하기 위한 1초당 재충전 횟수 점 간격(Dot Pitch) : 픽셀들 사이의 공간을 나타내는 것으로 간격이 가까울수록 해상도가 높다. 프린터 도트 매트릭스 프린터 잉크젯 프린터 레이저 프린터 감열식 프린터 열전사 CPS(Character per Second) : 초당 인쇄할 수 있는 문자 수 LPM(Line per Minute) : 분당 인쇄할 수 있는 줄 PPM(Page per Minute) : 분당 인쇄할 수 있는 페이지 수 DPI(Dot per Inch) 1인치에 몇 개의 점을 인쇄하여 문자를 구성하는지를 나 타낸다. 인터럽트 인터럽트 개념 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우, 현재 실행중인 작업을 잠시 중단하고 발 생된 상황을 우선 처리한 후 실행중이던 작업으로 복귀하여 처리하는 것을 말한다. 인터럽트의 종류 ① 하드웨어 인터럽트 기계 검사(Machine check): CPU, 메모리, I/O장치등의 기능적 오류동작이 발생한 경우 외부신호 인터럽트 : Timer, 키보드로 인터럽트 키를 누른 경우 입출력(Input, Output): 입출력 장치가 데이터 전송을 요구하거나 전송을 완료한 경우 ② 소프트웨어 인터럽트 프로그램 검사(Program check): 잘못된 명령사용(나누기 0) 채널 CPU를 대신하여 입출력장치와 주기억 장치를 연결하고 제어하는 역할을 한다. DMA 데이터의 입출력전송이 CPU를 거치지 않고 직접 주기억장치와 주변장치 사이에서 수행되는 방식이다. CISC와 RISC방식 하드디스크 연결방식 IDE (integrated drive electronics) 하드 디스크 드라이브, CD-ROM등을 연결하는 40핀의 병렬 인터페이스 규격이다. 2개의 장치 연결 가능하며 최대 504MB의 용량 인식한다. Master/Slave 연결 방식 EIDE (Enhanced Integrated Drive Electronics) IDE를 확장하여 전송속도를 높인 규격이다. 4개의 장치를 연결 가능하며 최대 8.4GB의 용량 인식 SCSI small computer system interface 각 장치에 고유한 ID 부여하여 7개의 장치 연결 가능하다. RAID RAID(redundant array of inexpensive disk) RAID는 하드디스크를 관리하는 기술이다.
10단원 소프트웨어 컴퓨터활용능력 2급 필기 2 1 소프트웨어 목차 2 운영체제 3 언어번역프로그램 4 프로그래밍 언어 소프트웨어 사용권에 따른 소프트웨어 분류 상용 소프트웨어 셰어웨어(Shareware) 프리웨어(Freeware) 공개 소프트웨어 데모(Demo) 버전 알파(Alpha) 버전 베타(Beta) 버전 • 패치(Patch) 버전 운영체제 언어번역프로그램 운영체제의 목적 처리능력(throughput) 반환시간(turn around time) 사용가능도(availability) 신뢰도(reliability) 프로그래밍 언어 1) 저급언어(기계중심언어) 기계어 어셈블리어 2) 고급언어(사람중심언어) 웹프로그래밍언어 1. HTML(Hypertext Markup Language) 2. DHTML(dynamic hypertext markup language) 3. SGML(Standard Generalized Markup Language) 4. XML(eXtensible markup language) 5. WML(wireless markup language) 6. UML(unified modeling language) 7. VRML(virtual reality modeling language) 8. PERL 9. ASP(active server pages) 10. JSP(Java server page) 11. JAVA 12. PHP(Hypertext Preprocessor )
************
TCP/IP 프로토콜용 전용칩의 설계 및 구현 통신 가술의 발전에 따라 지난 수십년간 통신망의 속도는 105배 이상으로 개선되었지만 프로 세서의 속도는 10^ - 103배 정도의 개선에 그치고 있어 이제까지는 통신망의 속도가 성능 향상의 걸림돌이었지만 앞으로는 프로토콜의 처리속도가 병목현상의 원인이 될 것으로 전망된다. 특히 인터넷에서 가장 많이 사용되고 있는 TCP/IP 프로토콜은 소프트웨어로 구현되어 있어 속도가 늦 고 실시간 퉁신에 부적합한 문제점이 있다. 따라서 본 논문에서는 이러한 소프트웨어 TCP/IP의 문제점들을 해결하기 위하여 TCP/IP 프로토콜용 전용칩율 설계하고 구현하고자 한다. 전용칩의 구현은 하드해여 기술 언어인 VHDL 을 이용하였으며,구현한 TCP/IP 전용칩은 기존의 소프트웨어 TCP/IP 와 호환성울 가지고 ]60Mbps 이상의 속도를 낼 수 있도록 설계하였다, 1. 서론 통신망의 속도는 Gbps 이상으로 중가하고 있지만 프로토 콜을 처리하는 프로세서의 속도는 이에 미치지 못하고 있어 이제까지는 통신망의 속도가 성능 향상의 걸림돌이었지만 앞으로는 프로토콜의 처리속도가 병목현상(Bottknedc)의 원 인이 될 것으로 전망된다[11 따라서 트랜스포트 프로토콜의 성능향상 방법에 대한 많은 연구가 이루어지고 있지만 현재 인터넷에서는 TCP/IP 프로토콜이 가장 널리 사용되고 있으므 로 TCP/IP 프로토콜의 성능향상이 주요한 이슈로 둥장하고 있다' 그러므로 TCP/IP 를 하드웨어로 구현하여 성능을 향상 시키는 연구가 있어야 할 것이다PJ. TCP/IP 프로토콜을 하드웨어로 구현하는 단계는 먼저 개 념설계 단계와 개념설계 결과를 이용하여 하드웨어로 구현 하는 상세설계 단계로 나누어 생각할 수 있다* 이 중 개념설 계는 Top-down 방법에 따라 VHDL(VHSIC Hardware Description Language)로 프로그램할 수 있는 수준까지 구체화 하는 과정으로 이에 대해서는 [2J에서 자세히 기술되어 있다. 본 논문에서는 개념설계의 결과를 바탕으로 하드웨어 기 술언어인 VHDL을 사용하여 TCP/IP프로토콜을 하드웨어로 구현하고 TCP/IP프로토콜용 전용칩을 제작하여 동작을 시험 하였다. 본 논문의 구성은 다음과 같다. 먼저 2 장에서는 TCP/IP 프로토콜의 하드웨어 구현환경 및 과정을 기술하고,3 장에서 는 TCP/IP 프로토콜의 전용침 구현 및 시 뮬레이션에 관해 설 명하며장에서 결론을 기술하였다. 2. 하드웨어 구현환경 및 과정 2.1 구현환경 TCP/IP프로토콜은 개념설계 결과로 나온 각 기능모듈을 VHDL 을 이용하여 설계하였다. 전용침의 구현은 VHDL 의 Synthesis 와 최 적화 및 시 물레이션을 위해 Synopsys 사의 design_analyzer 와 vblldbx ■!■을 이용하였고,전용칩의 제작을 위해서 Xilinx 사의 FPGA 제작 툴인 XACT 를 사용하였다. 2그 구현과정 그림 1은 TCP/IP 프로토콜을 하드웨어로 구현하기 위한 전체 과정을 보여 주고 있다. 그팀 1에서 개념설계 과정은 TCP/IP 프로토콜을 Top*down 방식으로 점차 세분화하여 VHDL로 기술 가능한 단계까지 구체화하는 과정을 말한다、 이 과정에 대해서는 [2]에서 기술하였다. 한편 Synopsys 툴을 이용한 Synthesis과정에서는 개념설계된 모듈을 VHDL을 이 용하여 프로그래밍하는 VHDL 설계과정,문법과 로직 에 레 ~ 검사한 후 희로작성 및 최적화를 수행하는 과정과 회로의 둥작을 검중하기 위한 시뮬레이션 과정으로 진행된다. Synopsys 툴을 이용한 설계와 시뮬레이션이 완료되면 이 를 FPGA 로 제 작하기 위 해 XNF(Xilinx Netlist Fonnat)파일 형 413 Copyright (C) 2005 NuriMedia Co., Ltd. 1997년도 한국정보과학회 봄 학술발표논문집 Vol. 24, No. 1 식으로 변환하여 XACT 틀로 전달한다. 개«설 계 I Synthesis 과튼 본 논문에서는 그림 2에 제시된 각 모듈을 구체화하고 VHDL로 설계하였지만 이 절에서는 TCP/IP 프로토콜용 전용 칩의 VHDL 프로그램과 시물레이션 과정을 그림 2 의 IP 송 신부를 예로 들어 설명하였다. IP 송신부는 TCP 로부터 제어신호와 데이타를 수신하여 Design Valdaton | j Place & Rourti rtg IP 헤더를 생성하고 Checksum을 계산한 후 헤더를 추가하여 하위계충인 NIC(Network Interface Card)로 전송하는 역할을 담 당한다 [2]. 그림 3은 VHDL 설계를 위해 IP 송신부의 전체 입출력 신 호를 보여 주는 볼럭도이다. TCP/IP 보드 저 좌 그림 1. TCP/IP 의 하드웨어 구현 과정 XACT 툴에서 는 Design Validation 과정 에서 입 력으로 받은 설계 내용의 오류를 검 중하고,Place & Routing 과정에서 는 Xilinx 의 FPGA Library 에서 제공하는 Component 들을 이용한 Layout 을 수행하게 된다. Layout 이 완성되면 Xilinx 의 FPGA 의 Delay 정보를 이용하여 Back-end 시뮬레이션을 실시하는 Back-annotation 과정을 거 친다. 전용칩 제 작과정에서는 검중 이 완료된 회로를 Xilinx 의 xchecker 틀과 FPGA 제작용 장비 를 이용하여 FPGA 로 Download 하면 전용칩이 완성된다. 사 용한 JFPGA 는 25,000Gate 용량과 5ns Speed 를 가지는 Xilinx 사의 XC4025pg223-5 를 사용하였다. TCP/IP 보드제작 과정에서는 구현된 TCP 송신용칩,TCP 수신용칩, IP-ARP 칩을 주변회로와 PCI 버스 인터페이스 회로 를 추가하여 한장의 보드로 구현한다. 3. TCP/IP 프로토콜의 하드웨 어 구현 이 장에서는 개념설계된 내용을 바탕으로 전용칩을 구현 하는 과정을 단계별로 기술하였다. 3.1VHDL 설계 및 시물레이션 그림 2는 개념설계를 마친 TCP/IP 의 Top_level 블럭도이 다 [53. BuT TCP 송신 부 경보省면 IP 송신 모둘 그림 3. IP 송신 모듈의 입출력 신호 IP 송신부의 개념설계도와 정의된 인터페이스를 바탕으로 VHDL 로 프로그램하게 되는데, 그림 4는 IP 송신부를 VHDL 로 작성 한 결과를 보여 주고 있다. Libraiy IEEE; use IEEE.STD_LOGIC 1164 all; use IEEE-STD_LOGIC_UNSIGNED.all; use IEEE STD_LOGIC^ARITH.all; libraiy XC4000; use XC4000.components.all; entity ip Jx is port( GSR, GLK Initdrv Stait_t2i 5egSizc_t2i VerEUcnSt_div TTLProt_div DHA_a2l ArpRpy__a2I Sent니 2i SHA^drv DATAJ2i D JP jS ArpReq_i2a Stait_i2n SentAll_i2t DATA_i2n in stdjogic; in stt니ogjc; in stdlogic; std_logi c_vector( 15 downto 0% D ^drv, SIP drv: in std_logic_vector(31 downto 0), in std_logic_vector(l 5 downto 0% in std_logkᄂvect 어 15 downto 0); in $td_logic_vector(47 downto 0); in stdjogic; in stdjogic; in stdjog는ᄂvector^47 downto 0); in std_logic_vector(31 downto 0); out std_lo^c_vector(3l downto 0), out std_logici out stdlogic; out std_logic, out std_logicᅩvecUwr(31 downto 0)); end ip Jx; architecture ip_tx_a of ip_tx is type OUTBUF_T YPS is aiTay(INTEC5ER range < > ) of std_logic_vector(15 downto 0); OUTBUF : OUTBUF„TYPE(9 downto 0); — * IP Header Checksum Module component ipchecksum poit( SIP, DIP : instd_logic_vectoi(31 downto 0); VerHlenSt: in std_lqgic_vector( 15 downto 0); TTLProt : m std_logic_vector(] 5 downto 0); ID end component; - * Total Length Generation Module component tlen_^en _ ' port( TCP/IP Chip GSR, CLK SIP, DIP VerHIenSt: TTLProt ID TotalLen UCfaeck 그림 2. TCP/IP 프로토콜의 Top-level 블럭도 414 Copyright (C) 2005 NuriMedia Co., Ltd. : in stdjogic; std_logic_vector(31 downto 0% sld_logic_vector(l 5 downto 0); : in std_logic_vector( 15 downto 0); : in sld」ogic_vectori〔l 5 downto 0); in std_k}gic_vector(J 5 downto 0); : out std logic vector (15 downto 0) 1 그림 4. EP 송신 모듈의 VHDL 프로그램 예 : in std_logic_vectoi < 15 downto 0); TotalLen ; in std_logic_vector( 15 downto 0); HCheck : out std_logi < ᄂvector ( If downto 0) ); IP 송신부의 VHDL 설계는 내부 블럭들을 각기 다른 1997년도 한국정보과학회 봄 학술발표논문집 Vol. 24. No. 1 그림 7 은 그림 6에 제시된 Test-bench 파일을 이용하여 VHDL 파일로 프로그램하여 ip_tx 라는 Top-level 파일로 통합 하는 Bottom-up 방식으로 진행하였다. 그림 5는 그림 4 의 VHDL 코드를 Synopsys 의 design_analyzer 믈올 이 용하여 합 성(Syntesis)한 후 생성된 회로도를 보여 주고 있다. IP 송신모듈을 시물레이션한 결과 파형도를 보여 주고 있다이 파형도를 분석하면 IP 송신 모듈의 동작을 검중할 수 있 다. 그림 7. IP TX Module 의 시물레이션 결과 파형도 그림 5. IP TX Module 의 회로도 그림 5 와 같이 회로도가 생성되면 시물레이션 과정올 거 쳐 IP 송신 모듈의 동작을 시험하게 되는데, 이 시뮬레이션 과정에서는 IP 송신부의 입력 신호들을 생성하고 출력신호의 값을 보여 주기 위 한 Test-bench 파일이 필요하다. 그림 6 은 IP 송신 모듈의 시뮬레이션을 위한 Test-bendi 파일을 보여 주고 있다. ______________________________ ___________ library IEEE; libraiy Synop^/s; use IBEE.std_logjc_J 164.all; use JEEE,std_logjc_unsigned.al]; use IEEE.std__logic_misc,alU use CBEE.std_logic_arilh.al]; use lBEE.stdJopc~components.all; use synopsys.attributes.all; use STD.Textio.all; entity ip_tx_tb is end ip_tx_tb; architecture TEST of ip_tx_tb is component ip_tx poxt( GSR, CLK Init_drv StaitJ2i Seg5ize_t2i DIP_drv, SIPdrv VerHlenSt_drv TTlProt_drv DHA_a2i Send_t2i SHA_drv DATA_t2i DIP ArpReq_i2a Stait_i2n SentAll_i2t DATA l2n 그림 2 의 IP 수신부,TCP 송신부,TCP 수신부와 제어부, ARP 송/수신부도 동일한 과정으로 VHDL프로그램을 작성하 고 시물레이션 과정을 거쳐 동작을 검중하였다, 3.2 전용칩 제작 및 시험 시뮬레이션을 통하여 동작이 확인된 각 모듈은 Xilinx사 의 XACT 둘을 이용하여 전용칩으로 제작된다. 제작한 전용 칩은 시험보드를 구성하여 동작을 확인하고 오류를 검증하 게 된다. TCP/IP 하드웨어는 TCP 송신부,TCP 수신부 및 IP-ARP 전 in stdjogic; in stdjogic; in stdlogic; in std_logic_vector( 15 downto 0); in std_lo^c_vector( 31 downto 0); in std_logic_vector(l 5 downto 0); in std_logic_vector( 15 downto 0); in std_logic_vector(47 downto 0); in stdlogic; in stdjogic; in std_logic_vector(47 downto 0); in std_k > gic_vedoi(31 downto 0); out std_logjc_vector(31 downto 0); out stdjogic; out stdjogic; out stdjogic; out std Jogic_vector(31 downto 0)); UUT: ip Jx Port Map( GSR, CLK, Init_drv, Siart j2 i. SegSize_t2i, DEP drv, SrP_drv, VerHlenSt_drv, TTlPfOt_div. DHA,a2i, ArpRpy_a2i > Send J2i, 8HA_(WrDATA_t2i, DlP^Sa, ArpReq_i2a, StartJ2n, SenlAll_i2t, DATA_i2n CLK GEN: process begin loop GLK < = 'O'; wait for 50 ns; CLK < = T; wait for 50 os; 그림 6. IP 송신 모듈의 Test-bench 파일 415 Copyright (C) 2005 NuriMedia Co., Ltd. 용칩으로 구성되며 이들은 모두 하나의 TCP/IP 보드에 장착 된다. 이돌 칩에는 20MHz 의 메인클럭이 사용되며 TCP 송수 신칩의 경우 한 클럭 주기에 한 바이트의 데이타를 처리하 므로 160Mbps(=8bit X 20Mhz)의 성능을 발휘할 수 있다. 4, TCP/IP 프로토콜 보드구성 및 시험 TCP/IP 하드웨어의 동작검증은 크게 3 가지 단계로 이루어 진다. 앞서 설명한 VHDL 시물레이션, 전용칩의 자체 시험, 그리고 마지막으로 보드 구성 후의 시힘이다. 첫번째와 두번 째 단계의 시험은 3장에서 설명하였고,여기서는 보드구성 및 시험에 관하여 설명한다. 그림 9는 TCP/IP 전용칩을 이용하여 구현하고자 하는 TCP/IP 보드의 구성도이다. TCP/IP 보드는 3개의 전용칩과 PCI 버스 인터페이스 회로 및 메모리 회로로 구성되며,PC 의 확장 슬롯에 장착할 수 있도록 설계하였다. 1997년도 한국정보과학회 봄 학술발표논문집 Vol. 24, No. 1 4 결론 현재 인터넷에서 널리 사용되고 있는 TCP/IP 프로토콜은 PCI90€0 '■■aauuuu uuu1 PCI t /F * l£ j-nnnnnnAna. p M»mory PCI Slot imiiiiiij[iiiii[i ᅵ腿 tmiiir 그림 8. TCP/EP 보드의 구성도 그림 천에서 PCI Slot은 시스템 버스에 연결되고, NIC Connector 는 NIC I/F 모듈과의 연결에 사용된다. PCI I/F 회로 는 PCI 버스와의 인터페이스 기능을 담당한다. 이 회로는 PCI 버스 인터페이스용 칩인 PCI9060 과 내부 제어칩인 I960 및 제어정보를 저장하는 메모리로 구성되며, PC 의 메모리와 TCP 의 버 퍼 간에 DMA(Direct Memory Access) 기 능을 담당한 다. 한편 TCP/IP 보드에 사용된 버퍼는 8bit단위로 읽고 쓰 기가 가능한 고속의 SRAM(KM684002/L)을 사용하였다. 또 NIC Connector 는 NIC Card 와 직 접 접속하기 위한 커 넥터로 TCP/IP 보드와 NIC Card 를 하드웨어 적으로 연결함으로써 구 동프로그램을 거치지 않고 데이타를 전달하여 성눙올 높이 고 있다. 그림 9 는 TCP/IP보드의 동작을 시험하기 위한 환경을 보 여 주고 있다. PC-A ■ 학 si l a a [ Ethernet Card PC-B Ethernet Card 屋 El m - Software TCP/IP Direct Connection Twist pair Cable PC-C Ethernet HUB 복잡하고 소프트웨어로 구현되어 높은 성능을 얻기 어렵다. 따라서 본 논문에서는 TCP/IP 프로토콜의 성능을 향상시키기 위하여 TCP/IP프로토콜을 전용칩으로 구현하였다. TCP/IP 프로토콜의 전용칩 구현은 VHDL로 프로그래밍하 고 시뮬레이션을 통하여 동작을 확인하였다. 그리고 TCP/IP 프로토콜용 전용칩을 제작한 후 동작을 시험하게 된다. 이렇 게 구현한 전용칩을 이용하여 PC 의 슬롯에 장착될 수 있는 TCP/IP 보드를 구현한다. 이 TCP/IP 보드는 160Mbps 이상의 처리속도를 낼 수 있도록 설계하였으며 기존 소프트웨어 TCP/TP 와 호환성을 갖도록 설계하였다.