[go: up one dir, main page]

KR100276496B1 - Isa버스용 입출력 어드레스의 자기 할당 장치 및 방법 - Google Patents

Isa버스용 입출력 어드레스의 자기 할당 장치 및 방법 Download PDF

Info

Publication number
KR100276496B1
KR100276496B1 KR1019940004756A KR19940004756A KR100276496B1 KR 100276496 B1 KR100276496 B1 KR 100276496B1 KR 1019940004756 A KR1019940004756 A KR 1019940004756A KR 19940004756 A KR19940004756 A KR 19940004756A KR 100276496 B1 KR100276496 B1 KR 100276496B1
Authority
KR
South Korea
Prior art keywords
memory
base address
interface module
address
memory base
Prior art date
Application number
KR1019940004756A
Other languages
English (en)
Other versions
KR940022289A (ko
Inventor
이. 샤리프 라이안
지안 첸 잭
에바스 페이잘
모슬리 제랄드
챵 웬-펭
Original Assignee
아끼구사 나오유끼
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아끼구사 나오유끼, 후지쯔 가부시끼가이샤 filed Critical 아끼구사 나오유끼
Publication of KR940022289A publication Critical patent/KR940022289A/ko
Application granted granted Critical
Publication of KR100276496B1 publication Critical patent/KR100276496B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0669Configuration or reconfiguration with decentralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Abstract

이더네트 인터페이스 모듈은 AT버스와 외부 이더네트 통신버스 사이에 인터페이스를 제공하는 IBM AT 또는 AT 호환 컴퓨터의 AT버스에 대한 애드-온 카드이다. 컴퓨터가 하드웨어 리셋 명령을 내리면 이더네트 인터페이스 모듈은 EEPROM으로부터의 구성 바이트를 시리얼 레지스터/카운터에 로딩한다. 구성 바이트는 이더네트 인터페이스 모듈용의 메모리와 I/0 베이스 어드레스를 포함한다. 구성 바이트의 로딩과 동시에 중앙처리장치(CPU)는 부트업된다. 부트업 후 CPU는 이더네트 인터페이스 모듈이 부트업 메모리와 이더네트 인터페이스 모듈의 입출력 베이스 어디레스를 가지는 시스템에서 메모리 베이스 어드레스를 검사한다. 만약 이더네트 인터페이스 모듈의 메모리 베이스 어드레스가 다른 애드-온 모듈의 어드레스와 층둘하면 이더네트 인터페이스 모듈의 메모리 베이스 어드레스는 컴퓨터로부터 모듈을 제거하고 제2컴퓨터에 EEPROM을 재프로그래밍함으로써 반자동적으로 재구성된다. 제1시스템에 모듈을 재설치한 후 CPU는 재부팅되고 메모리 베이스 어드레스는 충돌에 대하여 재검사된다. 만약 어떤 메모리 베이스 어드레스의 충돌도 검출되지 않으면 CPU는 충돌에 대한 입출력 베이스 어드레스를 검사한다. 만약 입출력 베이스 어드레스의 충돌이 검출되면 CPU는 소정의 메모리 위치로부터 판독을 수행한다. 그 판독에 응답하여 이더네트 인터페이스 모듈은 자동으로 그 입출력 베이스 어드레스를 증가시킨다. CPU는 다시 충돌을 검사하며, 이 과정은 입출력 베이스 어드레스 충돌이 검출되지 않을 때까지 반복된다. 새로운 메모리 및 입출력 어드레스는 EEPROM에서 새로운 구성의 부분으로서 저장된다.

Description

이사(ISA) 버스용 입출력 어드레스의 자기할당 장치 및 방법
제1도는 본 발명의 원리에 따른 컴퓨터도.
제2도는 제1도에 도시된 컴퓨터용 이더네트 인터페이스 모듈의 기능 블록도.
제3도는 제2도에 도시된 인터페이스 콘트롤러의 기능 블록도.
제4도는 제1도에 도시된 컴퓨터용 이더네트 인터페이스 모듈의 특정한 수행을 도시하는 기능 불록도.
제5도는 제4도에 도시된 인터페이스 콘트롤러의 디코딩 및 구성 바이트 처리회로의 기능 블록도.
제6도는 데이타 선정 MUX에 의해 버퍼 시스템 데이타 버스로 공급되는 데이타를 제어하기 위한 논리 제어 회로의 개략도.
제7도는 양방향성 3-상태 버퍼를 제어하기 위한 제어 논리 회로의 개략도.
제8도는 제5도에 도시된 ID메모리 MUX제어 회로의 개략도.
제9도는 시스템 파워업시 또는 시스템 하드웨어 리셋 명령의 수행시 ID메모리로부터 시프트 레지스트/카운터로의 구성 바이트의 판독 및 부트 메모리 충돌의 해소에 대한 흐름도.
제10도는 AT버스용 메모리 베이스 어드레스의 설명도.
제l1도는 AT버스용 입출력 베이스 어드레스의 설명도.
제12도는 제4도에 도시된 이더네트 인터페이스 모듈의 입출력 베이스 어드레스를 재구성하는데 사용되는 단계를 도시한 흐름도.
* 도면의 주요부분에 대한 부호의 설명
12 : CPU(중앙처리장치) 14 : AT버스
16 : 하드디스크 18 : 플로피디스크
22 : 프린터 인터페이스 24 : 키보드 인터페이스
26 : 이더네트 인터페이스 27 : 이더네트
32 : 인터페이스 콘트롤러 34 : 부트 PROM
40, 42 : 데이타 버스 송수신기 48 : 시프트 레지스터/카운터
60 : 무점퍼 상태 기기 66 : 메모리 어드레스 디코더
68 : 입출력 어드레스 디코더
본 발명은 퍼스널 컴퓨터(PC)용 애드-온 카드(add-on card)에 관한 것으로, 보다 구체적으로는 AT 버스를 외부의 이더네트 통신망에 접속하기 위한 IBM AT 호환 PC의 애드-온 인터페이스 카드에 관한 것이다.
IBM AT 및 AT 호환 PC 는 내부 통신을 위해 표준화된 AT 버스 시스템을 이용한다. AT 버스는 통상 8비트 및 16비트 시스템용 ISA버스와 32비트용 EISA로 불리운다. AT버스의 요구조건은 Edward Solari의 AT버스 디자인(Annabooks,1990)에 상세히 기술되어 있으며, 참고로 그 주제를 본 명세서에서 다루고 있다. AT버스는 컴퓨터의 각종 기능적 유닛, 예컨대 중앙처리장치 메모리와 입출력(I/O) 장치용 각종 인터페이스 사이의 인터페이스이다. AT버스는 시스템 클록 메모리와, 기록 및 판독 액세스와, 입출력 판독 및 기록 사이클과, 데이타 버스 방향과, 데이타 및 인터럽트 요구와, 스피커 구동기를 제어하기 위해 필요한 논리회로를 제공한다. 메모리 장치는 하드디스크, 플로피디스크, EEPROM, RAM을 포함하며, 입출력 장치는 프린터, 모뎀 및 이더네트 통신망을 포함한다.
PC는 전자 모듈을 지지하고 상호 접속하기 위한 모듈 카드 래크를 포함하는 하우징을 구비한다. 하우징이 개방된 상태에서 전자 모듈은 래크에 삽입되고 개방되어 있는 반대쪽 컴퓨터 하우징의 단부에 배치된 마더보드에 접속된다. 마더보드는 AT버스, 전원 및 접지를 포함하는 컴퓨터의 모듈들 사이에 전기적 상호 접속부를 제공한다. 사용자는 컴퓨터 하우징에 컴퓨터 모듈을 추가하거나 제거함으로써 PC의 능력을 변경시킬 수 있다. 예컨대, 메모리 용량은 하우징에 RAM모듈을 삽입함으로써 증가될 수 있다.
AT버스에 접속되고 메모리를 구비하는 각각의 장치는 중앙처리장치가 상기 메모리로부터의 판독과 기록을 명령하도록 상기 각각의 장치가 사용하는 메모리 공간을 규정하는 메모리 베이스 어드레스를 갖는다. 각각의 메모리는 하나의 장치만이 이들 판독 및 기록 명령에 응답하도록 독특한 메모리 베이스 어드레스를 구비할 필요가 있다. AT버스의 사양은 특정 장치에 대한 임의의 메모리 어드레스를 할당한다. 보다 구체적으로 하드디스크 드라이브, 플로피 디스크 드라이브 및 RAM 메모리는 메모리 베이스 어드레스 범위로 각각 배정된다. 따라서, 모든 PC는 하드디스크 드라이브, 플로피디스크 드라이브 및 RAM과 통신을 하기 위해 이들 어드레스를 사용한다. 이와는 대조적으로 새로운 장치가 PC에 연결되면 그 메모리 베이스 어드레스는 이미 할당된 어드레스중의 하나가 아니라 예약되지 않은 어드레스 범위내의 임의의 어드레스일 수 있다. 그러나 그 자신의 메모리와 대응 메모리 베이스 어드레스를 각각 갖는 다수의 장치가 추가되면, 적어도 2 개의 장치가 동일한 메모리 베이스 어드레스를 가지는 것이 가능해진다. 시스템 파워업시의 초기화 루틴중에 이러한 현상이 발생하면 중앙처리장치는 적어도 2 개의 상이한 장치에 대응하는 어드레스를 보낸다. 적어도 2개의 상이한 장치의 각각은 상기 어드레스 명령에 응답하여 메모리를 판독하거나 기록한다. 이러한 다중 응답은 버스의 데이타 부분에 충돌을 야기시킨다. 중앙처리장치는 예컨대 시스템 부트-업 및 판독중에 판독될 데이타가 기대값과 다르기 때문에 버스상에서의 상기 충돌을 검출한다.
현재의 시스템에서 애드-온 카드의 일종으로 AT버스와 이더네트 통신망 시스템 사이를 인터페이스하기 의한 이더네트 인터페이스 모듈이 있다. 이더네트의 요구조건은 "국제 표준 ISO/ANSI/IEEE 8802-3, 정보처리시스템-근거리 통신망(LAN)-파트3 : 충돌 검출을 갖는 캐리어 감지 다중 액세스(CSMA/CD)의 액세스 방법 및 물리적 층의 사양" 에 상세히 기재되어 있으며 참고로 그 주제를 본 명세서에서 다루고 있다. 또한 현재의 시스템에서는 메모리 어드레스 충돌이 검출되면 시스템으로부터 애드-온 카드를 제거한 후 그것을 어드레스 충돌이 없도록 이미 결정된 제2의 컴퓨터 시스템에 삽입한다. 모듈의 메모리 베이스 어드레스를 변경시키기 위해 모듈에 점퍼선을 추가한다.
수정된 모듈을 제1PC 뒤로 삽입하고 PC를 켠다. 중앙처리장치는 다시 그 초기화 루틴을 실행하고, 만약 다른 메모리 베이스 어드레스 충돌이 검출되면 메모리 충돌이 제거될 때까지 모듈을 제거하고 그 메모리 베이스 어드레스를 물리적으로 변경시키는 처리를 반복한다. 만약 메모리 충돌이 검출되지 않으면 중앙처리장치는 그 초기화 루틴을 계속 수행한다.
메모리 베이스 어드레스외에도 AT버스에 접속된 각 장치는 입출력 베이스 어드레스를 갖는다. 이 장치가 버스상의 I/O 베이스 어드레스를 검출하면 장치는 버스상의 명령에 응답한다. 메모리 베이스 어드레스에 대하여 각각의 장치는 유일한 입출력 어드레스를 갖는 것이 필수적이다. 메모리 어드레스에 유사하게 AT버스 사양은 입출력 어드레스 범위를 임의의 장치에 할당한다. 따라서, 이들 입출력 어드레스는 이들 장치들에 의해서만 사용된다. 그러나 다른 장치들이 AT버스에 추가되면 각각의 장치는 그 자신의 유일한 입출력 어드레스를 가져야만 한다. 그러나 메모리 베이스 어드레스에 관하여 이들 장치는 미리 배정된 입출력 어드레스를 갖지 않는다. 따라서 AT버스 사양은 새로운 장치에 입출력 어드레스 범위를 할당한다.
그러나 새로운 장치가 버스에 접속되면 시스템은 중앙처리장치가 그 초기화 루틴을 처음부터 끝까지 완료할 때까지 버스상의 2이상의 장치가 동일한 입출력 베이스 어드레스를 이용하는지의 여부를 알지 못한다. 따라서 중앙처리장치가 동일한 어드레스를 이용하는 버스상의 적어도 2이상의 장치에 입출력 버스 어드레스를 송신하면 적어도 2이상의 장치는 응답시 버스에서 총들을 발생시킨다.
현존 시스템은 메모리 베이스 어드레스상의 어드레스 충돌을 해소시키기 위한 방법을 패러렐링(paralleling)하는 방법에 의해 입출력 베이스 어드레스의 충돌을 해소시킨다. 특히 컴퓨터의 사용자는 먼저 컴퓨터에 전원을 넣는다. 중앙처리장치의 초기화 루틴동안 입출력 메모리 어드레스 충돌이 검출되면 사용자는 제1컴퓨터로부터의 모듈을 제거하고 그것을 입출력 베이스 어드레스 충돌이 없는 제2의 시스템에 삽입하여야만 한다. 사용자는 모듈의 입출력 어드레스를 변경시키기 위하여 점퍼선을 추가하여야만 한다.
어드레스 충돌을 해소하기 위한 방법은 많은 노력과 비용을 요구할 뿐 아니라 조작자가 실수를 범하기 쉽다. 상기 방법은 제1컴퓨터로부터 모듈을 제거하는 단계와, 이것을 제2컴퓨터에 삽입하는 단계와, 이것에 전원을 넣고 제2시스템에서 시험하는 단계와, 제2시스템에서 이것을 제거하는 단계와, 이 모듈에 점퍼선을 추가하고 변경하는 단계와, 이것을 제1시스템에 재삽입하고 재시험하는 단계와, 충돌이 제거될 때까지 이들 시험을 반복하는 단계를 필요로 한다. 이러한 방법은 각각의 단계를 수행하기 위한 노력을 필요로 할 뿐 아니라 많은 시간을 소모하게 한다. 셋업, 시험 및 재작업을 위해 추가된 시간은 모듈의 비용을 상승시킨다. 더욱이 이와같은 다수의 단계는 재작업중의 에러와 2개의 컴퓨터 시스템에서 모듈을 반복적으로 제거하고 설치하는 것에 의한 모듈 또는 컴퓨터의 손상을 증가시킨다.
무점퍼 애드-온 모듈의 메모리 및 입출력 어드레스를 변경하고, 그 변경시 단계의 수를 감축시키는 것이 바람직하다.
간략히 말해 본 발명의 1실시예는 초기화 명령에 응답하여 버스에 접속된 제1모듈의 제1식별코드를 적합하게 조정하여 상기 버스에 접속된 제2모듈과의 충돌을 제거하기 위한 방법에 관한 것이다. 제1식별코드는 레지스터에 저장된다. 명령을 받은 식별 코드는 버스상에 수신된다. 기억된 제1식별코드는 버스상에 수신된 명령을 받은 식별코드와 비교된다. 데이타는 제1식별코드와 명령을 받은 식별코드 사이의 부합에 응답하여 버스로 송신되어 기대되는 데이타가 발생된다. 송신된 데이타는 기대되는 데이타와 비교되고, 송신된 데이타가 만약 기대되는 데이타와 부합하지 안으면 그 결과는 오부합(mismatch)으로서 식별된다. 레지스터에 기억된 제1식별 코드는 식별된 오부합에 응답하여 수정된다. 상기 방법은 제1모듈이 제1식별코드에 의해 유일하게 식별되도록 송신된 데이타와 기대되는 데이타 사이에 식별되는 오부합이 존재하지 않을 때까지 순차적으로 반복된다.
바람직하게는 버스는 IBM AT버스이며, 식별코드는 입출력 베이스 어드레스이고, 초기화 명령은 하드웨어 리셋 명령이다.
초기와 명령에 응답하여 버스에 접속된 제1모듈의 제1식별코드를 적절히 조정하여 상기 버스에 접속된 제2모듈과의 충돌을 회피하기 위한 회로가 구비되는데, 이 회로는 제1식별코드를 저장하기 위한 수단과 ; 상기 저장 수단의 제1식별코드를 명령을 받은 식별코드와 비교하기 위한 수단과 ; 제1식별코드와 명령을 받은 식별코드와의 부합에 응답하여 데이타를 송신하기 위한 수단과 ; 제1모듈과 제2모듈이 제1식별코드와 명령을 받은 식별코드의 부합에 응답하여 데이타를 송신하는지를 검출하고 부합이 없으면 충돌신호를 발생시키기 위한 수단과; 제1모듈과 제2모듈이 충돌 신호에 응답하여 제1식별코드와 명령을 받은 식별코드의 부합시 데이타를 송신하지 않도록 제1식별코드를 수정하기 위안 수단을 구비한다.
특정 실시예에서 인터페이스 모듈은 ISA버스와 이더네트 통신망 사이에 데이타를 전송한다. ISA버스는 제1, 제2의 어드레스 그룹과 중앙처리장치로 부터의 리셋 명령을 인터페이스 모듈에 전송하고 인터페이스 모듈로 부터의 데이타를 중앙처리장치로 전송한다. 인터페이스 모듈은 적합한 식별 어드레스를 갖는다. 인터페이스 모듈은 적합한 식별 어드레스를 저장하기 위한 레지스터를 포함한다. 디코더는 중앙처리장치로 부터의 제1어드레스 그룹과 적합한 식별 어드레스를 디코딩하기 위하여 레지스터에 결합된다. 버퍼 메모리는 디코더와 ISA버스에 결합된다. 버퍼 메모리는 디코딩된 제1어드레스 그룹중에서 선택된 어드레스가 적합한 식별코드를 포함하면 디코딩된 제1어드레스 그룹에 응답하여 ISA버스에 데이타를 공급하거나 또는 ISA버스로부터 데이타를 수신한다. 카운터는 제2어드레스 그룹과 중앙처리장치로 부터의 리셋 명령에 응답하여 레지스터에 저장된 적합한 식별 어드레스를 수정한다.
제1도는 본 발명의 원리에 따라 이더네트와 AT버스사이의 통신을 위하여 이더네트 인터페이스 모듈을 사용하는 컴퓨터를 도시한 기능 블록도이다. 컴퓨터(10)는 AT버스(14)에 접속된 중앙처리장치 모듈(12)를 구비한다. 중앙처리장치(12)는 캘리포니아 산타 클라라 소재의 인텔사에서 제조한 486마이크로프로세서 칩을 구비한 것이 바람직하다. 상술한 바와같이 AT버스(14)는 IBM AT 및 AT 호환 PC에 사용되는 표준 버스이다. AT버스(14)는 또한 하드디스크(16), 플로피디스크(18) 및 RAM(20)을 포함하는 다수의 메모리 장치에 접속된다. 비록 수개의 메모리 장치가 도시되어 있지만 본 발명은 모든 장치를 요구하지는 않는다. 프린터 인터페이스 모듈(22)은 AT버스(14)와 컴퓨터(10) 외부의 프린터(23)에 접속된다. 키보드 인터페이스 모듈(24)은 AT버스(14)와 키보드(25)에 접속된다. 키보드(25)는 사용자가 선택한 명령을 컴퓨터(10)에 보낸다. 이더네트 인터페이스(I/F) 모듈(26)은 AT버스(14)와 이더네트 통신망(27) 사이의 통신을 위한 인터페이스를 제공한다. 그렇지 않고 인터페이스 모듈(26)은 다른 버스와 인터페이스 될 수도 있다. 상술한 바와같이, 이더네트는 LAN용으로 통상 사용되는 표준화된 통신망이다. 이더네트 인터페이스 모듈(26)은 하나의 모듈로 패키지화되는 것이 바람직하다.
IBM AT컴퓨터에 대한 파워업 순서는 당해 분야에서는 공지되어 있다. 간략히 설명하자면 전원을 넣으면 중앙처리장치(12)는 하드웨어 리셋 신호를 컴퓨터(10)의 모든 모듈로 보내 각 모듈이 초기화 루틴을 시작하도록 명령을 한다. 중앙처리장치(12)는 중앙처리장치 모듈에 배치된 ROM(13)으로부터 기본 입출력 시스템(BIOS)에 대한 명령을 판독한다. BIOS로부터 복수의 초기화 루틴을 실행한 후 중앙처리장치(12)는 메모리로 부터의 유틸리티 프로그램을 판독한다. 유틸리티 프로그램은 메모리 장치들 중의 하나, 바람직하게는 하드 디스크(16)에 미리 저장되며, AT버스(14)에 접속되도록 기대되고 AT버스에 대한 그들의 인터페이스와 모듈들에 대한 초기와 및 진단 루틴을 실행하는 모듈들을 식별한다.
제2도는 제1도에 도시된 컴퓨터용 이더네트 인터페이스 모듈(26)의 기능 블록도이다. 이더네트 인터페이스 제어신호는 중앙처리장치(12)로부더 AT버스(14)를 거쳐 인터페이스 콘트롤러(32)로, 그리고 인터페이스 콘트롤러(32)로부터 반대 방향으로 AT버스(14)로 라인(102)을 통해 공급된다. 중앙처리장치(12)는 AT버스(14)를 통해 시스템 어드레스 버스(116)상의 시스템 어드레스 명령을 부트 프로그램 가능한 판독전용 메모리(PROM)(34)와 인터페이스 콘트롤러(32)로 공급한다. 이더네트 인터페이스 모듈의 어드레스는 모듈을 식별하기 위한 식별코드로서의 기능을 한다. 이더네트 인터페이스 모듈(26)의 어드레스와 부합하는 명령을 받은 어드레스의 수신시 모듈(26)은 요구된 기능에 응답한다. 부트 PROM(34)은 이더네트 인터페이스 모듈(26)을 위한 부트업 프로그램을 포함한다. 부트 PROM(34)은 드라이버 프로그램이 이더네트(27)로부터 로딩되는 경우의 디스크없는 시스템, 예컨대 하드디스크(16) 또는 플로피 디스크(18)가 없는 시스템에 사용될 수 있다. 인터페이스 콘트롤러(32)는 AT버스(14)와 이더네트(27) 사이의 인터페이스를 위하여 제어회로를 제공한다. 인터페이스 콘트롤러(32)는 부트 PROM(34)을 인에이블하고 그 출력을 제어하도록 라인(114)상에 PROM 제어신호를 공급한다. 부트 PROM(34)은 버스(110)상의 데이타를 인터페이스 콘트롤러(32)에 공급한다.
중앙처리장치(12)는 AT버스(14) 및 시스템 데이타 버스(106)상의 제1방향의 시스템 데이타를 16비트 AT버스(14)용의 시스템 데이타 버스 하위 바이트 송수신기(42) 및 시스템 데이타 버스 상위 바이트 송수신기(40) 양자 모두 또는 8비트 AT버스(14)용 시스템 데이타 버스 하위 바이트 송수신기(42)에만 공급한다. 또 명령 및 상태 전송이 시스템 데이타 버스(106)를 거쳐 공급된다. 역으로 중앙처리장치(12)는 시스템 데이타 버스(106) 및 AT버스(14)상의 제2방향의 시스템 데이타를 16비트 AT버스(14)용의 시스템 데이타 버스 상위 바이트 송수신기(40) 및 시스템 데이타 버스 하위 바이트 송수신기(42) 양자 모두 또는 8비트 AT 버스(14)용의 시스템 데이타 버스 하위 바이트 송수신기(42)로부터만 수신한다. 시스템 데이타 버스 상위 바이트 송수신기(40)는 버스(108)상의 데이타를 인터페이스 콘트롤러(32)에 선택적으로 공급하거나 인터페이스 콘트롤러(32)로부터 역방향으로 데이타를 수신한다. 인터페이스 콘트롤러(32)는 시스템 데이타 버스 상위 바이트 송수신기(40)를 통한 데이타 전송을 제어하도록 라인(104)을 통해 송수신기 제어신호를 공급한다. 동일한 방식으로 시스템 버스 하위 바이트 송수신기(42)는 버스(110)를 통해 데이타를 인터페이스 콘트롤러(32)에 선택적으로 공급하거나 역방향으로 인터페이스 콘트롤러(32)로부터 데이타를 수신한다. 인터페이스 콘트롤러(32)는 시스템 버스 하위 바이트 송수신기(42)를 통한 데이타 전송을 제어하도록 라인(112)을 통해 송수신기 제어신호를 공급한다.
클록(118)은 라인(238)을 통해 클록 신호를 인터페이스 콘트롤러(32)에 공급한다. 인터페이스 콘트롤러(32)는 이더네트 인터페이스 모듈(26)의 상태를 시각적으로 표시해주는 발광 다이오드(LED)(144)에 라인(143)을 통해 제어신호를 공급한다. 예컨대, LED(144)는 수신, 송신, 충돌 및 링크 테스트 통과를 표시할 수 있다. ID 메모리(36)는 라인(122)을 통해 무점퍼 구성과 노드 식별 정보를 그곳으로부터의 라인(120)상의 ID메모리 제어신호에 응답하여 인터페이스 콘트롤러(32)에 공급한다. 부트 PROM 구성에서 ID메모리(36)는 부트 PROM 어드레스용 저장장치를 구비한다. ID메모리(36)는 EEPR0M인 것이 바람직하다. 다른 실시예에서 구성 및 노드식별은 이 데이타를 직접 버스(108, 110)에 공급하는 ID PROM에 저장될 수 있다. 인터페이스 콘트롤러(32)는 버퍼 제어 신호(142)와 버퍼 저장 장치 버스 어드레스 신호(140)를 버퍼 저장 장치 메모리(138), 바람직하게는 AT버스(14)와 이더네트(27)사이의 데이타 버스(136)를 통해 전송되는 데이타를 메모리 저장 장치에 공급하는 SRAM에 공급한다.
코넥터 인터페이스(30)는 이더네트 인터페이스 모듈(26)을 이더네트(27)에 전기적으로 접속하기 위한 여러 종류의 기계적 코넥터를 구비한다. 특히 이더네트 인터페이스 모듈(26)은 부착 장치 인터페이스(AUI:Attachment Unit Interface)를 위한 AUI 코넥터(128), 동축선상의 신호들을 통신하기 위한 동축 송수신기 인터페이스(130) 및 트위스티드 쌍(twisted pair) 인터페이스를 위한 트위스티드 쌍 코넥터(134)를 구비한다. 인터페이스 콘트롤러(32)는 라인(124)을 통해 송신쌍 신호를 AUI 코넥더(128)와 동축 송수신기 인터페이스(130)로 공급한다. AUI 코넥터(128)와 동축 송수신기 인터페이스(130) 각각은 라인(126)을 통해 수신/충돌쌍 신호를 인터페이스 콘트롤러(32)에 공급한다. 인터페이스 콘트롤러(32)와 트위스티드 쌍 코넥터(134)는 라인(132)을 통해 미분쌍 신호를 송신함으로써 서로 통신한다.
제3도는 제2도에 도시된 인터페이스 콘트롤러의 기능 블록도이다.
인터페이스 콘트롤러(32)는 5개의 기능블록, 즉 시스템 인터페이스(146), 버퍼 콘트롤러(152), 제어 및 상태 레지스터(150), 송신기(154), 수신기(156)를 포함한다.
시스템 인터페이스(146)는 상술한 바와같이 라인(102, 104, 108, 110, 112, 114, 116)을 통해 AT버스와 통신한다. 시스템 인터페이스(146)는 AT버스(14)와 이더네트(27) 사이의 통신중에 데이타를 유지하기 위한 버퍼 레지스터(148)를 구비한다. 시스템 인터페이스(146)는 버퍼 콘트롤러(152)와 버퍼 레지스터(148) 사이의 데이타의 전송을 제어하는 버퍼 콘트롤러(152), ID메모리(36), SRAM(138), 수신기(156) 및 송신기(158)와 양방향 통신을 한다. 제어 및 상태 레지스터(150)는 제어 및 상태 정보를 시스템 인터페이스(146), 버퍼콘트롤러(152), 송신기(154) 및 수신기(156)로부터 수신하고 제어 및 상태 정보를 시스템 인터페이스(146)와 버퍼 콘트롤러(l52)에 송신한다.
송신기(154)는 버퍼 콘트롤러(152)로 부터의 데이타를 인코더(160)에서 인코딩하는 것을 제어하기 위한 송신기 콘트롤러(158)를 구비한다. 인코딩된 데이타는 펄스 셰이퍼 및 필터(162)에 의해 처리된 다음 송신기 증폭기(166)에서 증폭되고 코넥터 인터페이스(30)로 공급된다. 반대로 수신기(156)는 코넥터 인터페이스(30)로부터 데이타 신호를 수신하고 그것을 수신기 증폭기(174)에서 증폭한다. 증폭된 데이타 신호는 수신기 슬라이서(172)에서 처리되고 디코더(170)에 의해 디코딩된다. 디코딩된 데이타 신호는 수신기 콘트롤러(168) 및 버퍼 콘트롤러(152)로 공급된다. 충돌 회로(164)는 디코더(170)로부터의 디코딩된 신호와 인코더(160)로부터의 인코딩된 신호를 처리함으로써 이더네트(27)상에서의 송신과 수신 사이의 충돌을 해소한다.
제4도는 제1도에 도시된 컴퓨터(10)용 이더네트 인터페이스 모듈(26)의 특정 실시예를 도시한 기능 블록도이다.
중앙처리장치(12)는 AT버스(14)를 횡단하는 시스템 어드레스(SYSADDRESS)신호를 AT버스(14)를 통해 이더네트 인터페이스 모듈(26)과 다른 모듈에 공급한다. 특히, 이더네트 인터페이스 모듈(26)에서 SYSADDRESS 신호는 라인(116)을 통해 부트 PROM(34)과 인터페이스 콘트롤러(32)의 어드레스 입력부에 공급된다. 중앙처리장치(12)는 메모리 어드레스 공간과 입출력 어드레스 공간을 규정하기 위하여 이들 시스템 어드레스 명령을 송신한다. 어드레싱에 대해서는 이하에서 상세히 설명하기로 한다. AT버스(14)는 또한 이더네트 인터페이스 제어 신호 라인(102)(제2도 참조)의 일부인 라인(176)을 통해 시스템 메모리 판독(SMEMR) 명령을 부트 PROM(34)의 출력 인에이블(OE) 입력과 인터페이스 콘트롤러(32)에 공급한다(신호명위의 선은 신호가 로우(low)상태에서 가정됨을 나타낸다). SMEMR 명령은 현재의 버스 사이클이 메모리 판독 동작임을 나타내고, 이더네트 인터페이스 모듈(26)이 메모리로 부더 AT버스(14)로 데이타를 출력하기를 요구하는 AT버스(14)로부터의 활성 로우 신호이다. 비록 명령들이 본 명세서에서는 활성 로우 또는 하이 신호로서 기재되고 있지만 본 발명은 그것에 제한되는 것은 아니다. 이더네트 인터페이스 모듈(26)은 활성 로우 또는 활성 하이 신호로서 설계되어 있다.
중앙처리장치(12)는 시스템 데이타(SYSDATA) 버스(106)를 거쳐 모든 데이타, 명령 및 상태 전송을 공급하며 이더네트 모듈(26)에 그들을 공급하도록 AT버스(14)를 통해 다른 장치에 명령한다. 특히 SYSDATA 버스 라인(106)은 AT버스(14)를 통해 시스템 데이타 버스 상위 바이트 송수신기(40)와 시스템 데이타 버스 하위 바이트 송수신기(42)의 양방향성의 제1입출력 단자에 공급된다.
시스템 데이타 버스 상위 바이트 송수신기(40)와 시스템 데이타 버스 하위 바이트 송수신기(42)는 양자 모두 중앙처리장치(12)가 전자를 통해 흐르는 데이타의 방향을 제어하지만 인터페이스 콘트롤러(32)는 후자를 통해 흐르는 데이타의 방향을 제어하는 것을 제외하고는 동일한 방식으로 동작한다. 시스템 데이타 버스 상위 바이트 송수신기(40)는 송수신기의 방향 제어(DIR) 입력 단자에 의해 AT버스(14)상의 중앙처리장치(12)로부터 라인(178)을 통해 입출력 판독(IOR) 명령을 수신한다. DIR 입력 단자상의 활성 하이 신호는 시스템 데이타 버스(106)로부터의 데이타를 기록 작업을 위한 이더네트 인터페이스 모듈(26)에 대한 내부 데이타 버스인 버퍼 시스템 데이타(BSD) 버스(180)(이것은 제2도에 도시된 버스(108, 110)를 포함함)에 전송하도록 시스템 데이타 버스 하위 바이트 송수신기를 스위칭한다. DIR입력 단자를 통한 활성 로우 신호는 BSD버스로부터의 데이타를 판독 작업을 위한 시스템 데이타 버스로 반대방향으로 전송하도록 송수신기(40)를 스위칭한다. IOR명령은 현재의 버스 사이클이 입출력 판독 작업중이고 AT버스(14)의 시스템 데이타 버스(106)상에 데이타를 출력하도록 이더네트 인터페이스(26)에 요청함을 나타내는 중앙처리장치(12)로부터의 활성 로우 신호이다.
버퍼 시스템 데이타 버스(BSD<15:0>)(180)는 부트 PROM(34), 시스템 데이타 버스 상위 바이트 송수신기(40), 시스템 데이타 버스 하위 바이트 송수신기(42) 및 콘트롤러 칩(32)을 상호 접속한다(여기서 사용되는 신호 라인상의 비트를 정의하는 약속은 콜론으로 분리되는 < > 부호내의 비트수를 끼워넣기 위한 것이다. 예컨대, BSD<15:0>는 BSD 버스 비트 15-0 을 말한다). 시스템 데이타 버스 송수신기(40, 42)는 74 ALS 245 3-상태 버스 송수신기인 것이 바람직하다. 점퍼 버퍼(38, 39)의 출력은 또한 BSD 버스<15:0>(180)을 통해 시스템 데이타 버스 상위 바이트 송수신기(40)와 시스템 데이타 버스 하위 바이트 송수신기(42)의 양방향성의 제2입출력 단자에 공급된다.
이 인터페이스 콘트롤러(32)는 라인(182)을 통해 인에이블 데이타 상위 바이트명령을 시스템 데이타 버스 상위 바이트 송수신기(40)에 공급한다.신호는 시스템 데이타 버스 상위 바이트 송수신기를 인에이블 또는 디스에이블하는 활성 로우 신호이다. 보다 구체적으로명령은 SYSDATA버스(106)가 버퍼 시스템 데이타 버스(180)로부터 격리되도록 시스템 데이타 버스 상위 바이트 송수신기(40)를 디스에이블한다.
이더네트 인터페이스 모듈(26)에 의한 시스템 데이타 흐름의 제어를 위해 시스템 데이타 버스 하위 바이트 송수신기(42)는 동일한 방식으로 제어된다. 그러나 시스템 데이타 버스 하위 바이트 송수신기(42)를 위한 제어신호는 인터페이스 콘트롤러(32)에 의해 공급된다. 특히 이더네트 인터페이스 모듈(26)은 라인(184)상의 인에이블 데이타 하위 바이트신호로 시스템 데이타 버스 하위 바이트 송수신기(42)를 인에이블링하고, 버퍼 시스템 데이타 버스(180)로부터 시스템 데이타 버스(106)로 향하는 데이타의 흐름 방향을 라인(186)을 통해 하위 바이트 방향신호를 송신하여 제어함으로써 시스템 데이타 버스(106)상에 데이타를 출력한다.
이하 상세히 후술하는 바와같이 이더네트 인터페이스 모듈(26)은 점퍼모드 또는 무점퍼 모드로 동작할 수 있다. 점퍼 모드에서 모듈의 구성은 모듈상의 와이어인 구성 점퍼(188-195)에 의해 규정된다. 점퍼(188, 192)는 입출력 베이스 어드레스를 규정하고, 점퍼(189, 193)는 메모리 베이스 어드레스를 규정하고, 점퍼(190, l94)는 DMA(직접 메모리 액세스) 인식(DACK)을 규정하고, 점퍼(191, 195)는 인터럽트를 규정한다. DACK 신호는 외부 DMA 콘트롤러(도시 생략)가 호스트 시스템과 이더네트 인터페이스 버퍼 메모리 사이의 데이타를 전송할 준비가 되어 있음을 나타내는 활성 로우 신호이다. 입출력 베이스 어드레스, 메모리 베이스 어드레스 및 인터럽트 신호는 이하에서 정의하게 한다. 구성 점퍼들은 접지 또는 전압원(VCC)(도시생략)에 단부가 접속되며, 구성 점퍼 버퍼(38, 39)의 입력에 타단부가 접속된다. 그렇지 않으면 구성점퍼(192-195)가 상술한 것 이외의 다른 구성 점퍼를 규정하기 위해 사용될 수 있다. 점퍼(235)의 모드 설정은 초기 파라미터를 EEPROM이 저장하는지 또는 ID PROM이 저장하는지를 규정하고, 동작이 점퍼 동작인지 무점퍼 동작인지를 규정하는 인터페이스 콘트롤러(32)에 제공된다.
점퍼 모드에서 각 구성 점퍼의 논리 레벨은 버퍼 시스템 데이타 버스(180)에 공급된다. 이더네트 인터페이스 모듈(26)이 구성 점퍼의 상태를 판독하기를 원하면 인터페이스 콘트롤러(32)는 라인(196)을 통해 선택 구성 레지스터 1명령(SEL 12)을 점퍼 버퍼(38)의 인에이블입력에 공급한다. 이 점퍼 버퍼(38)는 응답시 구성 점퍼 신호를 버퍼 시스템 데이타 버스(180)에 공급한다.
SEL12 명령은 무점퍼 모드에서는 사용되지 않는다. 그렇지 않으면 점퍼 버퍼(39)는 인터페이스 콘트롤러(32)로부터 구성 점퍼 버퍼(39)의 인에이블(EN) 입력에 공급되는 라인(198)상의 선택 구성 레지스터 2명령(SEL 13)에 의해 인에이블된다. 후술하는 바와같이 SEL 13명령은 시프트 레지스트/카운터(48)로부터 판독하기 위하여 무점퍼 모드에서 사용된다. 구성 점퍼 버퍼(38,39)는 74LS 244 3-상태 버퍼인 것이 바람직하다. 라인(196)상의 SEL12 신호 또는 라인(198)상의 SEL 13 신호에 대한 논리 1레벨은 대응 버퍼 출력을 고임피던스 상태로 스위칭하고 그 출력으로부터 점퍼링된 입력을 버스와 분리시킨다. 반대로 SEL 12 명령(196) 또는 SEL 13 명령에 대한 논리 0레벨은 구성 점퍼(188-195)에 대응하는 신호를 버퍼 시스템 데이타 버스(180)에 공급하도록 각각 대응 버퍼(38,39)를 스위칭한다.
ID메모리(36)는 이더네트 인터페이스 모듈(26)을 위한 구성 바이트를 저장한다. ID메모리(36)는 각각 256,512 또는 1024 비트를 갖는 내쇼날 반도체 NMC93C06, C26 또는 C46 시리즈와 같은 시리얼 EEPROM 인 것이 바람직하다. 시리얼 EEPROM 은 3개의 입력, 즉 시리얼 데이타 입력, 시리얼 데이타 클록이나 시프트 클록(SK), 인터페이스 콘트롤러(32)로부터의 칩실렉트(CS)를 구비한다. ID메모리(36)는 라인(206)을 통해 인터페이스 콘트롤러(32)로 단일 출력, 시리얼 데이타 출력(D0)를 공급한다. 명령, 어드레스 및 기록 데이타는 모두 ID메모리(36)가 라인(200)을 통해 입력할 때 ID메모리(36)의 입력단자로 공급된다. 시리얼 EEPROM의 판독 데이타 및 상태 정보는 시리얼 데이타 출력 단자로부터 출력된다. 인터페이스 콘트롤러(32)는 라인(202)을 통해 칩 선택 신호를 ID메모리(36)로 공급한다. 시리얼 EEPR0M은 인터페이스 콘트롤러(32)로부터 라인(204)상의 시프트 클록(SK)의 로우에서 하이로의 전송에 대한 내측 또는 외측 데이타를 시프트한다.
다른 실시예에서 ID PROM(208)은 라인(210)을 통해 버퍼 시스템 버스(180)와 데이타를 송수신한다. 인터페이스 콘트롤러(32)는 ID PROM(208)을 인에이블하도록 라인(212)을 통해 PROM 칩 선택신호를 공급하고, ID PROM 을 어드레스하도록 래칭된 어드레스 신호를 라인(213)을 통해 공급한다.
버퍼 저장 장치 메모리(138)(SRAM(138)으로 칭하기도 함)와 임의의 추가 버퍼 저장 장치 메모리(138')는 그 메모리내의 메모리 위치를 선택하기 위하여 인터페이스 콘트롤러(32)로부터 어드레스 신호(140)를 수신한다. 인터페이스 콘트롤러(32)는 선택된 칩을 인에이블 하도록 라인(224, 226)을 통해 버퍼 칩 선택 신호를 SRAM(138, 138')의 침 인에이블 입력 단자로 각각 공급한다. 또한 인터페이스 콘트롤러(32)는 라인(228)을 통해서는 기록 인에이블(WE) 신호를, 라인(230)을 통해서는 출력 인에이블(OE) 신호를 두 SRAM(138, 138')에 공급한다. 버퍼 데이타는 버스(232)를 통해 SRAM(138, l38')과 인터페이스 콘트롤러(32) 사이에서 양방향 통신된다. 버퍼 데이타중 비트 7-0은 SRAM(138)으로 공급되고, 비트 15-8은 SRAM(138')으로 공급된다.
인터페이스 콘트롤러(32)와 코넥터 인터페이스(30)는 상술한 라인(124, 126, 132)을 통해 통신한다. 코넥터 인터페이스(30)는 이더네트(27)에 결합된다. 인터페이스 콘트롤러(32)는 라인(222)을 통해 AT버스(14)로 시스템 요구를 공급하고 AT버스(14)로부터의 시스템 제어 신호를 라인(220)을 통해 수신한다. 라인(220, 222)은 라인(102)(제2도 참조)의 일부분이다.
입출력 베이스 어드레스 점퍼는 점퍼 모드의 입출력 베이스 어드레스를 규정하기 위한 구성 바이트의 비트 2-0 를 교체하도록 라인(216)에 접속될 수 있다. 유사하게 메모리 베이스 어드레스 점퍼는 메모리 베이스 어드레스의 비트 5-3 또는 인터럽트 요구(후술할 예정임)의 비트 7-6 을 교체하도록 라인(218)에 접속될 수 있다. 인터럽트 요구 0은 라인(214)를 통해 인터페이스 콘트롤러(32)로 공급된다.
제5도는 제4도에 도시된 인터페이스 콘트롤러의 어드레스 디코딩 및 구성 바이트 처리회로의 기능 블록도이다.
점퍼 모드 디코더(44)는 모드 점퍼(235)를 구비하며 접지 또는 전압원(VCC)(도시생략)에 선택적으로 접속된다. 점퍼 모드 디코더(44)의 1출력은 그 모듈이 점퍼와이어를 변경시킴으로써 재구성되는 것인지 후술하는 바와같은 소프트웨어에 의해 재구성되는 것인지를 인터페이스 콘트롤러(32)에 표시하는 점퍼/무점퍼(JP/JPLESS)신호이다. 예컨대, 제2입력을 전압원(VCC)에 접속시킴으로써 JP/JPLESS 신호는 모듈이 무점퍼 모드에서 동작함을 나타내는 논리 1이다. 반대로 제1입력을 접지에 접속시킴으로써 JP/JPLESS 신호는 모듈이 점퍼 모드로 동작함을 나타내는 논리 0이다.
ID메모리(36)로부터의 시리얼 데이타 출력은 라인(206)을 퉁해 데이타 선택 멀티플렉서(MUX)(46)의 제1입력과 인터페이스 콘트롤러(32)내의 시프트 레지스터/카운터(48)에 공급된다. 시프트 레지스터/카운터(48)는 비트 7-0을 갖는 8비트 직렬 입력/병렬 출력(serial in/parallel out) 시프트 레지스터를 포함한다. 비트 2-0(I/O SEL<2:0> 이라고도 칭함)은 입출력 베이스 어드레스를 규정한다. 비트 7-6(IRQ<3:0> 이라고도 칭함)은 인터럽트 라인 구성을 규정한다. 이들 비트의 디코딩은 이하에서, 상세히 설명하기로 한다. 시프트 레지스터/카운터(48)는 후술하는 바와같이 비트 2-0에 대한 카운터로서의 기능을 한다.
데이타 선택 MUX(46)는 BSD 버스(180)에 공급되는 데이타를 선택적으로 제어한다. 시프트 레지스터/카운터(48)의 비트 7-0은 데이타 선택 MUX(46)의 제2입력에 접속된다. 인터페이스 콘트롤러(32) 내부의 버스이며 시스템 인터페이스(146), 제어 및 상태 레지스터(150), 버퍼 콘트롤러(152), 송신기(154), 수신기(156)(제3도 참조)를 상호 접속하는 시스템 데이타 출력 하이/로우 버스(SDOHL<7:0>)의 신호는 데이타 선택 MUX(46)의 제3입력에 공급된다.
데이타 선택 MUX(46)에 의해 공급된 신호는 제어 논리 의로(58)에 의해 제어된다. 제6도는 데이타 선택 MUX에 의해 버퍼 시스템 데이타 버스로 공급된 데이타를 제어하기 위한 제어 논리 회로의 블록도이다. 점퍼/무점퍼(JP/JPLESS)는 점퍼 모드 디코더(44)에 의해 제어 논리 회로(58)의 제1입력에 라인(237)을 통해 공급된다. 버퍼 레지스터(148)의 어드레스(13)를 판독하기 위한 READ13_ 명령은 제어 논리 회로(58)의 제2입력에 공급된다. JP/JPLESS 신호 및 READ 13_은 데이타 선택 MUX(46)에 공급되는 JPLS-READ 13신호를 발생시키도록 제어 논리 회로(58)내에서 NOR 결합된다.
ID메모리로부터의 데이타 출력을 판독하기 위한 READ 11명령은 또한 데이타 선택 MUX(46)에도 공급된다. 표1은 데이타 선택 MUX(46)에 대해 선택된 출력에 관한 진리표이다.
[표 1]
데이타 선택 MUX(46)의 출력은 양방향성 3-상태 버퍼(50)에 접속된다.
양방향성 3-상태 버퍼(50)의 양방향성 입출력 포트는 상술한 바와같은 버퍼 시스템 데이타 버스에 접속된다. 양방향성 3-상태 버퍼(50)는 버퍼 시스템 데이타 버스(180)와 인터페이스 콘트롤러(32) 사이의 데이타 흐름의 방향을 선택적으로 제어한다. 양방향성 3-상태 버퍼(50)로부터의 단일 방향 출력은 시스템 데이타 입력 로우(SDAIL <6:5>) 신호 및 SDAIL<7> 신호에 의해 각각 플립플롭(52)와 (54)에 접속된다. 양방향성 3-상태 버퍼(50)내에서 데이타 흐름의 방향은 제어 논리 회로(56)에 의해 제어된다.
제7도는 양방향성 3-상태 버퍼를 제어하기 위한 제어 논리 회로의 개략도이다. 제6도를 참조하면 제어 논리 회로(58)의 AND 는 구성 점퍼 버퍼(39)와 제어 논리 회로(56)의 양자에 공급되는 SEL 13- 신호를 생성하도록 JP/JPLESS 신호와 READ 13-신호를 합성한다. 제7도를 참조하면 SEL 13-신호는 시스템 최상위 비트(SYS_LSB_)의 역과 NAND 결합되어 제1논리상태, 즉 논리 "1" 에서는 인터페이스 콘트롤러(32)로부터 BSD 버스(180)로, 그리고 제2논리상태, 즉 논리 "0"에서는 반대로 BSD 버스(180)로부터 인터페이스 콘트롤러(32)로 데이타가 흐르게 명령하는 TRI-OUT 신호를 발생시킨다.
SYS_LSB 신호는 내부 FIFO 또는 레지스터(도시 생략)에 의해 공급되며 자격자(qualifier)이다. 그러므로 데이타 선택 MUX(46)는 ID메모리(36), 시프트 레지스터/카운터(48) 또는 SDOHL 버스 중 어느 하나로부터 BSD라인(180)상으로 데이타를 출력하도록 선택된다.
라인(236)상의 하드웨어 리셋 신호, 라인(237)상의 JP/JPLESS 신호, 20 ㎒ 클록은 무점퍼 상태 기기(60)의 제1, 제2, 제3입력에 공급된다. 이더네트 인터페이스 모듈(26)은 라인(238)을 통한 클록(118)(제2도 참조)으로부터의 20 ㎒ 클록 신호에 의해 동작한다. 무점퍼 상태 기기(60)의 제1입력 신호인 인에이블 카운터(ENCNTR) 신호는 라인(244)을 통해 시프트 레지스터/카운터(48)에 공급되어 시프트 레지스터/카운터(48)가 시프트 레지스터 또는 카운터로서 동작하도록 명령한다. 또 시프트 레지스터 클록(SRCLK) 신호는 시프트 레지스터/카운터(48)의 데이타를 시프트하기 의해 공급된다. 무점퍼 상태 기기는 제2출력으로부터의 하드웨어 제어 데이타 입력(HARD 1N) 신호를 라인(239)를 통해 ID메모리 제어 MUX(62)로 공급하는데, 상기 MUX(62)는 라인(200)을 통해 상기 신호를 ID메모리(36)에 선택적으로 공급한다. 무점퍼 상태 기기(60)는 제3출력으로부터의 하드웨어 제어 시프트 클록(HARD SK)신호를 라인(241)을 통해 ID메모리 제어 MUX(62)에 공급하는데, 이 MUX(62)는 그 신호를 라인(204)을 통해 ID메모리(36)에 선택적으로 공급한다. 무점퍼 상태 기기(60)는 라인(242)을 통해 제4출력으로부터의 하드웨어 제어 칩 선택(HARD CS) 신호를 ID메모리 제어 MUX(62)로 공급하는데, 이 MUX(62)는 그 신호를 라인(202)을 통해 ID메모리(36)에 선택적으로 공급한다. 무점퍼 상태 기기(60)는 라인(243)을 통해 제5출력으로부터의 MUX 하드웨어 선택(MUXHW) 신호를 ID메모리 MUX 제어회로(69)에 공급한다.
제8도는 제5도에 도시된 ID메모리 MUX 제어 회로의 개략도이다. MUXHW 신호는 라인(243)을 통해 그것이 반전되고 JP/JPLESS 신호와 AND 결합되어 SEL_MUX 신호를 형성되도록 하는 ID메모리 MUX 제어회로(69)에 공급된다. 다시 제5도를 참조하면 SEL_MUX 신호는 무점퍼 상태 기기(60)로부터의 신호 또는 플립플롭(52, 54)으로부터의 신호들 중 어느 신호를 ID메모리(36)에 제공하는지를 선택하도록 라인(246)을 통해 ID메모리 제어 MUX(62)에 공급된다.
신호중에서 소프트웨어 제어 칩 선택, 시프트 클록 및 데이타는 플립플롭(52, 54)으로 공급된다. 특히, SDAIL<6:5> 및 SDAIL<7>은 상술한 바와같이 각각 버퍼 시스템 데이타 버스(180)로부터 풀립플롭(52, 54)으로 공급된다.
WRITE 10 신호 및 WRITE 11 신호 또한 각각 플립플롭(52)와 (54)에 공급된다.
시프트 레지스터/카운터(48)의 비트 2-0 은 디코더 선택 MUX(64)의 제1입력에 신호 I/O SEL <2:0> 으로서 공급된다. 시프트 레지스터/카운터(48)의 비트 5-3 은 디코더 선택 MUX(64)의 제2입력에 신호 MSEL <2:0>으로서 공급된다. 점퍼에 의해 규정된 I/O SEL <2:0> 명령은 라인(216)을 통해 디코더 선택 MUX(64)의 제3입력에 공급된다. 디코더 선택 MUX(64)의 제4입력은 양방향성 3-상태 버퍼(72)에 접속된다. 양방향성 3-상태 버퍼(72)의 양방향성 포트는 점퍼에 의해 규정된 MSEL<2:0> 명령의 입력 또는 인터럽트 요구(IRQ<3:0>) 신호의 출력으로서 갖추고 있는 신호 라인에 접속된다. 양방향성 3-상태 버퍼(72)에 대한 입력은 인터럽트 요구 디코더(70)의 제1출력이다. 인터럽트 요구 디코더(70)의 제2출력은 인터럽트 요구 0이다. 시프트 레지스터/카운터(48)의 비트 7-6 은 인터럽트 요구 디코더(70)의 2입력에 공급된다. 양방향성 3-상태 버퍼(72)는 라인(237)을 통한 점퍼 디코더(44)로부터의 JP/JPLESS 명령에 의해 제어된다. 디코더 선택 MUX(64)의 출력은 메모리 어드레스 디코더(66) 및 입출력 어드레스 디코더(68)에 접속된다. 메모리 어드레스 디코더(66) 및 입출력 어드레스 디코더(68)의 출력은 SRAM(138)(제3도)에 접속된다. 디코더 선택 MUX(64)는 또한 점퍼 디코더(44)로부터의 JP/JPLESS 명령에 의해 제어된다. 디코더 선택 MUX(64)는 출력 MSEL <2:0>과 시프트 레지스터/카운터(48) 또는 논리 1 또는 논리 0 의 JP/JPLESS 명령에 응답하는 점퍼로부터의 I/O SEL <2:0> 사이에서 스위칭된다.
이제 규정된 하드웨어와 함께 이더네트 인터페이스 모듈(26)의 동작을 제9도 내지 제12도를 참고로 설명하기로 한다. 제9도는 시스템 파워업시 또는 시스템 하드웨어 리셋 명령이 행해진 어떤 경우에 ID메모리로부터 시프트 레지스터/카운터로의 구성 바이트의 판독 및 메모리 어드레스 충돌의 해소에 관한 흐름도이다. 파워업시(단계 300), 중앙처리장치(12)는 개시 또는 초기화 명령으로서의 시스템 하드웨어 리셋 명령을 이더네트 인터페이스 모듈(26)을 포함하는 AT버스(14)상의 모듈로 공급한다. 리셋후 중앙처리장치(12)는 제1 AT버스 소유자가 된다. 하드웨어 리셋 명령은 정상적인 시스템 동작중 예를들면 사용자가 키보드(25)상의 콘트롤(Ctrl)키, 알트(Alt)키 및 딜리트(Del)키를 동시에 누름으로써 행해질 수도 있다. 다음에는 파워업 중에 행해진 하드웨어 리셋에 의한 시스템의 동작을 상세히 설명하기로 한다. 그러나 본 발명은 그것에 한정되는 것은 아니다.
하드웨어 리셋시 무점퍼 상태 기기(60)는 점퍼 디코더(44)로부터의 JP/JPLESS 신호가 시스템이 점퍼 시스템으로서 구성되는 것을 나타내는지 또는 무점퍼 시스템으로서 구성되는 것을 나타내는지의 여부를 결정한다. 무점퍼 모듈로서의 이더네트 인터페이스 모듈(26)의 동작을 먼저 설명하기로 한다.
만약 시스템이 무점퍼 시스템이면 무점퍼 상태 기기(60)는 칩 선택 신호를 하이 상태로 설정함으로써 ID메모리(36)를 선택하도록 ID메모리 제어 MUX(62)를 명령한다. 시프트 클록 명령은 시리얼 데이타 출력(206)을 통해 ID메모리(36)로부터 시프트 레지스터/카운터(48)로 데이타를 시프트하도록 설정된다. 무점퍼 상태 기기(60)는 시프트 레지스터/카운터(48)에 임의의 명령을 송신하여 시프트 레지스터/카운터(48)가 시프트 레지스터로서 동작하고 ID메모리(36)로부터 시리얼 데이타 출력(206)에서 클록하도록 명령한다.
무점퍼 상태 기기(60)는 ID메모리(36)의 위치 0 ×11로부터 구성 바이트를 판독하고 그것을 시프트 레지스터/카운더(48)에 로딩하도록 적절한 신호를 발생시킨다. 상술한 바와같이 비트 5-3 은 메모리 베이스 어드레스를 결정한다. 제10도는 AT버스에 대한 메모리 베이스 어드레스의 사상(map)이다. 메모리 어드레스의 범위는 0(00 000 16 진수) 내지 16384K(FF FFFF 16진수)이다. 어드레스는 실제로는 16384K-1 이다. 단순화를 위하여 -1 은 "K" 접미사(suffix)를 갖는 어드레스로부터 생략된다. 이 어드레스의 범위내에서 수개의 부범위(subrange)가 플래트폼 메모리 및 BIOS를 위해 할당되거나 예약된다. 어드레스 0(00 0000 16 진수)-512K(06 FFFF 16 진수)가 플래트폼 메모리를 위해 예약된다. 어드레스 5l2K(07 0000 16 진수)-640K(09 FFFF 16진수)는 플래트폼 메모리를 위한 어드레스 범위이다. 어드레스 범위 100000(16 진수)-FD FFFF(16 진수)는 슬롯 메모리를 위해 예약된다. 이 어드레스 범위내에서 이더네트 인터페이스 모듈(26) C4000-DFFFF 의 어드레스 범위를 갖는다. 베이스 어드레스 비트에 할당된 어드레스는 표2에 나타나있다.
[표 2]
다시 제9도를 참조하면 이더네트 인터페이스 모듈(26)은 ID메모리(36)로부터의 구성바이트를 로딩한다. ID메모리(36)로부터의 구성 바이트를 판독하는 처리는 시스템 파워업시 시작하며 상술한 시스템 BIOS 파워업 초기화 및 체크아웃과 병행한다. 구성 바이트의 병렬 판독은 BIOS가 유효한 부트 RAM에 대한 ROM 위치를 주사하도록 한다. 만약 시스템이 적절히 부트업되면(단계 306) 부트 ROM 초기화 코드는 그 자원을 초기화하고 원하는 인터럽트 벡터를 대체하며(단계 307), 그 시스템 초기화를 완료하도록 시스템 BIOS 시스템 제어를 복귀시킨다.
반면, 시스템이 적절히 부트업하지 못하면 이더네트 인터페이스 모듈(26)과 컴퓨터(10)의 다른 애드-온 모듈 사이의 메모리 어드레스에 충둘이 있는 것으로 추정된다(단계 306). 메모리 충돌이 있으면 중앙처리장치(12)는 시스템 파워업중에 정지한다. 이 충돌을 해소하기 위하여 이더네트 인터페이스 모듈(26)은 컴퓨터(10)로부터 제거되고(단계 310), 제2컴퓨터 시스템(단계 312)에 설치된다. 제2시스템은 메모리 베이스 어드레스 충돌의 가능성을 줄임으로써 적절하게 동작하는지의 여부를 결정하기 위해 사용된다. 제2시스템은 제1시스템과 동일한 기본 구성을 갖지만 바람직하게는 다른 애드-온 모듈을 갖지 않기 때문에 이더네트 인터페이스 모듈(26)과 애드-온 모듈 사이의 메모리 충돌을 배제한다. 또 무점퍼 모드에서 제2시스템은 후술하는 바와같이 상이한 메모리 베이스 어드레스와 함께 ID메모리(36)를 재프로그램하기 위해 사용된다. 이더네트 인터페이스 모듈(26)을 제2시스템에 삽입한 후 제2시스템은 파워업된다. 제2시스템이 적절히 부트업되면 (단계 314), 이더네트 인터페이스 모듈(26)은 선택적인 것이며 제1시스템내의 문제가 메모리 충돌인 것으로 추정된다. 따라서 충돌을 해소하도록 이더네트 인터페이스 모듈(26)의 메모리 베이스 어드레스 위치를 재할당하는 것이 필수적이다.
점퍼 모드에서 메모리 베이스 어드레스 위치는 점퍼 와이어를 물리적으로 부가하거나 변경하는 것에 의해 모듈의 메모리 베이스 구성 점퍼(189)를 변경시킴으로써 재할당된다. 대조적으로 무점퍼 모드에서 메모리 베이스 어드레스 위치는 ID메모리(36)의 구성 바이트를 재프로그래밍함으로써 변경된다. 예로서 구성 바이트 비트 5-3으로 원래 기억된 이더네트 인터페이스 모듈(26)의 메모리 베이스 어드레스 위치가 000이면, 표2에 표시된 바와같이 이 값 000에 대응하는 어드레스의 범위는 0 ×C4000(16 진수)-00 ×C7FFF(16 진수)이다. 만약 어드레스의 충돌이 있으면 이더네트 인터페이스 모듈(26)과 AT버스(14)상의 제2 애드-온 모듈은 양자 모두 이 범위의 어드레스에 응답함으로써 동작한다. 이더네트 인터페이스(26)의 메모리 베이스 어드레스는 구성 바이트의 비트 5-3 을 변경시킴으로써 재할당된다. 예컨대, 000-001의 비트 5-3을 증가시킴으로써 메모리 베이스 어드레스 범위는 0 ×C8000(16 진수)-0 ×CBFFF(16 진수)의 표2에 표시된 바와같은 범위로 증가한다.
ID메모리(36)를 재프로그램하기 위하여 중앙처리장치(12)는 먼저 그 현재의 상태를 알도록 구성 바이트를 판독해야만 한다. 중앙처리장치(12)는 메모리 위치 0 ×13 에 있는 것이 바람직한 구성 바이트의 어드레스에 메모리 판독에 대한 요구를 송신한다. 중앙처리장치(12)는 데이타 어드레스와 요구 명령을 시스템 데이타 버스를 통해 ID메모리(36)와 통신하도록 입출력 판독(IOR)신호를 시스템 데이타 버스 송수신기(40)에 송신한다. 다른 콘트롤러 모듈(26)은 버퍼 시스템 데이타 버스로부터의 데이타를 플립플롭(52, 54)에 공급하여 어드레스, 시프트 선택 및 시프트 클록 명령을 ID메모리(36)에 제공하도록 인터페이스 콘트롤러(32)의 양방향성 3-상태 버퍼(50)를 명령한다. ID메모리(36)는 그 데이타 출력 포트로부터의 요구된 구성 바이트를 이더네트 인터페이스 모듈(26)에 의해 명령을 받은 데이타 선택 MUX(46)로 공급하여 그 데이타를 버퍼 시스템 데이타 버스로 출력한다. 인터페이스 콘트롤러(32)는 버퍼 시스템 데이타 버스(180)로부터의 데이타를 시스템 데이타 버스(106)에 공급하도록 시스템 데이타 버스 송수신기(40)를 명령하고 시스템 데이타 버스 송수신기(40)를 디스에이블한다. 그러면 중앙처리장치(12)는 구성 바이트의 비트 5-3을 증가시키고 상술한 방식으로 새로운 구성 바이트를 위치 0 ×13에서 ID메모리(36)에 기록하도록 이더네트 인터페이스 모듈(26)을 명령한다. 중앙처리장치(12)에 의해 ID메모리(36)로부터의 구성 바이트의 판독에 유사한 방식으로 중앙처리장치는 시스템 데이타 버스(106)를 거쳐 ID메모리(36)에 적절한 명령을 공급함으로써 0 ×13 메모리 위치에 기록하도록 이더네트 인터페이스 모듈(26)을 명령한다.
다시 제9도를 참조하면, 이더네트 인터페이스 모듈(26)은 새로운 메모리 베이스 어드레스와 함께 재프로그램된 후 제1컴퓨터 시스템에 재설정되고(단계 317), 제1시스템은 단계 300을 반복함으로써 다시 파워업된다. 제1시스템은 그 부트업 루틴을 실행하며 단계 302에 대하여 상술한 바와같이 ID메모리(36)로부터의 구성 바이트를 시프트 레지스터/카운터에 로딩한다.
인터페이스 콘트롤러(32)는 단계 304에서 구성 바이트를 디코드한다. 시스템이 단계 306에서 적절히 부트업되면 단계 316에서 수행되는 메모리 위치의 재할당이 보정되며 이더네트 인터페이스 모듈(26)은 단계 307에서 상술한 바와같이 진행된다. 반면 단계 306에서 재구성된 이더네트 인터페이스 모듈이 적절히 부트업되지 않으면 제1시스템으로부터 모듈을 제거하고 단계 310 및 312 에서 제2시스템에서 이것을 시험하는 처리가 반복된다.
제2시스템이 단계 314에서 적절히 부트업하지 않으면 메모리의 구성 바이트는 단계 316(단계 318) 에서 상술한 바와같이 재구성된다. 제2시스템은 단계 314에서 리부트되도록 다시 시도된다. 그렇지 않으면 단계 318에서 메모리 위치를 재구성하는 대신 모듈은 다른 시스템에 삽입될 수 있고(단계 320), 단계 314에 대하여 상술한 바와같이 재부팅된 나머지 시스템에 삽입될 수 있다.
이더네트 인터페이스 모듈(26)이 모든 메모리 베이스 어드레스 충돌을 제거하도록 재구성된 후 다음으로 입출력 베이스 어드레스 충돌이 존재하는지의 여부가 결정된다. 개략적으로 시스템이 부트업되고 모든 메모리 베이스 어드레스 충돌이 상술한 바와같이 해소되는 것으로 가정하면 시스템은 이더네트 인터페이스 모듈(26)상의 소정수의 레지스터 위치로부터의 내용을 판독하고 그들을 기대값과 비교함으로써 입출력 베이스 어드레스를 점검한다. 다른 실시예에서 이더네트 인터페이스 모듈은 부트 메모리를 갖지 않는다. 이 실시예에서 충돌이 존재할 수 있는 이더네트 인터페이스 모듈에는 메모리가 없기 때문에 메모리 충돌을 해소시킬 필요가 없다. 만약 비교 결과가 부합되는 것으로 나타나면 입출력 베이스 어드레스 충돌이 없는 것이다. 반면에 시스템은 비교 결과가 부합되지 않는 것으로 나타나면 충돌이 있는 것으로 추정한다. 그러면 시스템은 소정의 레지스터 위치로부터 더미(dummy) 판독을 수행한다. 응답시 이더네트 인터페이스 모듈(26)은 입출력 베이스 어드레스를 증가시킨다. 시스템은 새로운 어드레스에서는 제외하고 레지스터 위치의 내용을 다시 판독하고 비교하며 충돌이 다시 존재하는지의 여부를 결정한다. 시스템은 충돌이 검출되지 않을 때까지 이 처리를 반복한다.
이하에서는 AT버스(14)에 대한 입출력 어드레스 베이스를 도시한 제11도를 참고로 입출력 어드레싱을 설명하기로 한다. 입출력 어드레스의 범위는 0(0000 16 진수) 내지 64K(FFFF 16 진수)이다. 이 어드레스 범위내에서 각각의 1K 범위는 2 개의 부범위로 나뉜다. 제1부범위는 메모리의 하위 256바이트이며 인터럽트 및 DMA 콘트롤러와 같은 입출력 플래트폼 자원을 위해 예약된다. 제2부범위는 통상의 입출력 종속 모듈을 위해 이용 가능한 나머지 상위 768 바이트이다.
후술하는 바람직한 실시예에서 이더네트 인터페이스 모듈(26)은 제2부범위내에 있는 0 ×260(16 진수) 내지 0 ×3FF(16 진수)의 입출력 어드레스 범위를 갖는다. 상술한 바와같이 구성 바이트의 비트 2-0(I/O SEL <2:0> 이라칭함)은 입출력 베이스 어드레스를 결정한다. 표3은 0 ×260(16 진수) 내지 0 ×3FF(16 진수)의 어드레스 범위내의 구성 바이트에 대한 입출력 어드레스 디코딩을 도시한 것이다.
[표 3]
제12도를 참고로 입출력 베이스 어드레스 충돌 루틴의 동작을 설명하기로 한다. 이 단계에서 메모리 베이스 어드레스 충돌은 제9∼제10도에서 상술한 바와같이 해소되는 것으로 추정된다(그렇지 않으면 이더네트 인터페이스 모듈이 부트 메모리를 가지지 않는 다른 실시예에서 상술한 바와같은 메모리 충돌을 해소시킬 필요가 없다). 컴퓨터는 파워업되며 제9도의 단계 300에 대해 상술한 바와같은 초기와 루틴을 수행한다(단계 330). 인터페이스 콘트롤러(32)는 ID메모리(36)로부터의 구성 바이트를 제9도에 대해 설명한 단계 302와 유사한 방식으로 시프트 레지스터/카운터(48)에 로딩한다(단계 332).
판독의 완성시 시프트 레지스터/카운터(48)는 무점퍼 상태 기기(60)에 의해 카운터 모드로 설정된다. 이 모드에서 이더네트 인터페이스 모듈(26)의 입출력 베이스 어드레스를 결정하는 구성 바이트의 비트 2-0만이 카운터에 의해 증가된다. 구성 바이트의 나머지 비트는 변경되지 않은채 남아있다. 인터페이스 콘트롤러(32)는 구성 바이트를 입출력 베이스 어드레스, 메모리 베이스 어드레스로 디코드하고 제9도의 단계 304에 대해 상술한 것과 유사한 방식으로 인터럽트한다. 또 이더네트 인터페이스 모듈(26)의 레지스터내의 "더티(dirty)" 비트는 특정 전지의 레지스터 및 카운터 모드를 감시하도록 할당된다. 중앙처리장치(12)는 초기 범위내에서 메모리로부터 판독한다(단계 336). 보다 구체적으로 중앙처리장치(12)는 인터페이스 콘트롤러(32)의 8개의 레지스터의 내용을 판독하도록 입출력 프로그램을 입력한다. 각각의 레지스터는 8바이트를 갖는 것이 바람직하다. 8개의 레지스터의 판독은 단지 예로서 들기 위한 것이다. 본 발명은 8개의 레지스터만을 판독하는데 제한되는 것은 아니다. 소프트웨어 프로그래머는 AT버스(14)상의 2개의 상이한 애드-온 모듈이 충돌이 존재하는지를 결정하는 중앙처리장치(l2)에 의해 판독되는 레지스터 위치에 저장되는 동일한 값을 동시에 갖지 않은 소정의 확률과 부합하기 위하여 원하는 레지스터의 수보다 적거나 동수의 레지스터를 판독한다.
파워업시 인터페이스 콘트롤러(32)의 8개의 레지스터는 하드디스크(16)상에 기록된 유틸리티 프로그램의 부분으로서의 모듈 식별자 또는 "컴패니 코드(company code)"로서 또한 저장된다. 모듈 식별자는 바람직하게는 AT버스상의 다른 모듈에 대한 모듈을 유일하게 식별한다. 모듈 식별자는 이더네트 인터페이스 모듈(26)의 제1 의 8개의 레지스터의 초기치인 것이 바람직하다.
중앙처리장치(12)가 이들 8개의 레지스터를 판독한 후 하드디스크(16)로부터의 모듈 식별자를 판독하여 그것을 레지스터로부터의 판독값과 비교하는 소프트웨어 유틸리티를 실행한다(단계 338). 중앙처리장치(12)는 그 판독값이 모듈 식별자의 값과 부합하는 것으로 기대하기 때문에 입출력 베이스 어드레스 충돌로서 이들 두값 사이의 차를 해석한다. 만약 판독값과 컴패니 코드가 부합하면(단계 340) 중앙처리장치(12)는 이것을 이더네트 인터페이스 모듈(26)과 AT버스(14)상의 다른 모듈 사이에 입출력 베이스 어드레스 충돌이 없는 것으로 해석하고 이더네트 인터페이스 모듈(26)에 대한 유일한 입출력 베이스 어드레스를 발견한 것으로 해석한다(단계 342).
반면 중앙처리장치(12)에 의해 판독된 8개의 레지스터의 내용이 단계 340에서 기대되었던 것과 다르면 시스템은 이것을 입출력 베이스 어드레스 충돌로서 해석하거나 이더네트 인터페이스 모듈(26)이 중앙처리장치가 바로 판독된 입출력 어드레스에 있지 않는 것으로 해석한다. 시스템은 이더네트 인터페이스 모듈(26)의 존재를 무시하지만 소프트웨어 유틸리티는 계속해서 소정의 메모리 위치로부터 판독하도록 시도한다. 이 소정의 메모리 위치는 어드레스 0 ×12(16 진수)에 있는 것이 바람직하다. 바람직한 실시예에서 중앙처리장치(12)는 어드레스 충돌이 있는지를 결정하기 의해 이더네트 인터페이스 모듈(26)로부터의 코드를 판독하도록 시도한다. 만약 중앙처리장치(12)가 몇몇 종류의 메모리 장치에 기록하도록 시도하면 이더네트 인터페이스 모듈(26)은 충돌 어드레싱에 의해 물리적으로 손상될 수 있기 때문에 판독이 바람직하다. 이 판독은 시프트 레지스터/카운터(48)가 카운터 모드에 대하여 설정되고 중앙처리장치(12)가 무엇이 실질적으로 판독되는지를 보호하지 못하기 때문에 "더미 판독" 이다. 카운터 모드에서 시간마다 더미 판독이 행해지면, 시프트 레지스터/카운터(48)는 비트 2-0의 값을 1씩 증가시켜 입출력 베이스 어드레스가 표3에 규정된 바와같은 다음 어드레스 범위로 점프하도록 한다. 초기 입출력 베이스 어드레스 범위는 값 111과 함께 구성 바이트의 비트 2-0에 의해 규정된 0 ×300(16 진수)-0 ×31F(16 진수)가 되도록 설정되는 것이 바람직하다. 카운터가 메모리 위치 0 ×12로부터의 판독시 증가되면 구성 바이트의 비트 2-0은 새로운 어드레스 범위 0 ×260(16진수)-0 ×27F(16 진수)에 대응하는 000의 값으로 변경된다. 유틸리티 프로그램은 시프트 레지스터/카운터(48)가 다음의 베이스 입출력 어드레스까지 총계를 낼 때마다 정확한 모듈 식별자에 대한 인터페이스 콘트롤러(32)를 판독한다. 이것은 이더네트 인터페이스 모듈(26)이 비충돌 입출력 베이스 어드레스에 그 자체를 동적으로 재구성하도록 한다. 그러나 7증가후 비트 2-0은 111의 값으로 복귀한다. 이러한 메모리가 8을 판독한 후에는 시스템에는 이더네트 인터페이스 모듈(26)이 없거나 입출력 베이스 출력을 이용할 수 없다. 중앙처리장치(12)는 모듈위치가 판독되는 메모리의 범위내에 있는지를 결정한다(단계 346). 만약 결과가 그 범위내에 있지 않으면 구성 바이트의 값은 증가되지 않으며 시스템은 메모리로부터 레지스터를 판독하고 판독값과 기대값을 비교하도록 단계 338로 복귀한다. 단계 340에서 양자간에 부합이 없으면 중앙처리장치(12)는 단계 342로 진행한다. 중앙처리장치는 기록명령을 소정의 어드레스에 송신하고 인터페이스 콘트롤러(32)는 시프트 레지스터/카운터(48)를 카운터 모드로 설정하여 사용자 모드로 스위칭하고 사용자가 원할 때 시스템측으로부터 ID메모리를 액세스하도록 해준다.
반면에 모듈 어드레스가 단계 346에서 판독되는 메모리의 범위내에 있으면, 중앙처리장치(12)는 이것이 그 범위의 최종 메모리 증가인지의 여부를 결정하여 (단계 350) 만약 그렇다면 입출력 베이스 어드레스 범위 슬롯은 전혀 이용될 수 없거나 또는 이더네트 인터페이스 모듈(26)은 시스템에 설정되지 않은 것이다(단계 354). 반면 메모리 판독이 메모리 범위의 최종 메모리 증가가 아니면 콘트롤러 칩(32)은 시프트 레지스터/카운터(48)의 비트 2-0을 증가시킴으로써 이더네트 인터페이스 모듈(26)의 입출력 베이스 어드레스를 증가시킨다(단계 352). 중앙처리장치는 입출력 베이스 어드레스를 증가시키고 (단계 353), 증가된 입출력 베이스 어드레스에서 8개의 레지스터로부터 판독한다(단계 348). 중앙처리장치(12)는 판독값을 기대값과 비교하도록 단계 338로 복귀시킨다.
시프트 레지스터/카운터(48)의 구성 바이트를 우연한 기록으로부터 어드레스 0 ×12로 급격히 변경시키는 것을 피하기 위해 소프트웨어적인 디스에이블이 제공된다. 데이타 링크 레지스터의 입출력 베이스 로크 취소 비트(unlock bit)를 0으로 설정함으로써 시프트 레지스터/카운터(48)는 시스템 하드웨어 리셋이 다시 수행될 때까지 디스에이블된다. 리셋 명령시 로크 취소 비트는 이더네트 인터페이스 모듈(26)이 동적으로 그 자신을 비충돌 입출력 베이스 어드레스로 재구성하도록 하는 1로 설정된다.
일단 입출력 어드레스 충둘이 해소되면 소프트웨어는 그 초기와 루틴을 진행할 수 있다. 이더네트 인터페이스 모듈(26)은 지정된 더티 비트를 설정/재설정함으로써 시프트 레지스터/카운터(48)를 다시 레지스터 모드로 설정한다. 유틸리티 프로그램은 시프트 레지스터/카운터(48)로부터 새로운 구성 바이트를 판독하고 새로운 베이스 어드레스와 함께 ID메모리(36)에 저장된 구성 바이트를 재프로그램할 수 있다.
이하에서는 입출력 어드레스 프로그램이 완료된 후의 인터럽트를 설명하기로 한다. 상술한 바와같이 비트 7-6은 인더럽트 라인 구성에 전용으로 제공된다. 인터럽트는 애드-온 카드가 중앙처리장치(12)에 의한 인더럽트 서비스를 요청하도록 한다. 이들 비트는 이더네트 인터페이스 모듈(26)의 주 인터페이스측에서 이용 가능한 4개의 인터럽트 라인들 중 임의의 어느 하나를 선택하기 위해 프로그램 가능하다. 사용자는 이들 라인을 시스템 사용자에 대하여 이용 가능한 4개의 시스템 인터럽트 라인, 즉 인터럽트 0-3중 임의의 세트에 접속할 수 있는 선택권을 갖는다. 유틸리티는 인터럽트 구성을 시험하여 만약 충돌이 있다면 다음의 이용 가능한 인터럽트 옵션과 함께 ID메모리(36)를 재프로그램하고 시스템을 리부트하며 그 구성을 재시험한다.
표 4는 인터럽트 비트 정의의 리스트이다.
[표 4]
ID메모리(36)가 임의의 메모리와 입출력 베이스 어드레스 및 인터럽트 충돌을 해소시키도록 재프로그램된 후에는 구성 바이트의 추가의 재프로그램이 불필요하다. 구성이 완료되면 후속되는 컴퓨터(10)의 사용에 의한 어떤 충돌도 없게 된다.
본 발명은 바람직한 실시예에 기술되고 개시되어 있으나 당업자라면 다른 수정 및 변경을 가할 수 있다. 그러므로 본 발명은 첨부된 특허청구의 범위에 의해서만 제한되도록 의도되어 있다.

Claims (21)

  1. (정정) 통신 버스 상에서 다른 어드레스 가능한 인터페이스 모듈과 함께 중앙 처리 장치에 결합하기 위한 어드레스 가능한 인터페이스 모듈용 인터페이스 콘트롤러로서, 상기 각 인터페이스 모듈은, 메모리 베이스 어드레스를 이용하여 인터페이스 모듈로부터의 구성 데이타 및 다른 데이타를 통신 버스로 판독하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 판독 명령 또는 메모리 베이스 어드레스를 이용하여 통신 버스로부터의 데이타를 인터페이스 모듈로 기록하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 기록 명령에 응답하고, 상기 중앙 처리 장치는 인터페이스 모듈로부터 판독된 상기 구성 데이타를 소정의 데이타와 비교하여 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 메모리 베이스 어드레스와 동일한 지의 여부를 판단하고, 소정의 메모리 어드레스를 이용하여 더미 판독 명령을 통신 버스 상에 발행하도록 실행하는 인터페이스 콘트롤러에 있어서, 대응하는 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하는데 있어서 대응하는 인터페이스 모듈에 의한 사용을 위해 저장된 메모리 베이스 어드레스와, 대응하는 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하도록 수정된 메모리 베이스 어드레스를 포함하는 상기 저장된 메모리 베이스 어드레스를 디코딩하는 디코더와, 상기 구성 데이타를 판독하기 위한 판독 명령에 응답하는 상기 저장된 메모리 베이스 어드레스를 이용하여 메모리 어드레스에 저장된 구성 데이타를 판독하는 수단과, 상기 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 유일한 메모리 베이스 어드레스와 동일한 경우 상기 저장된 메모리 베이스 어드레스를 자동 수정하고, 상기 저장된 메모리 베이스 어드레스를 상기 수정된 메모리 베이스 어드레스로 수정하기 위해 상기 소정의 메모리 어드레스를 이용하여 더미 판독 명령에 응답하는 수단을 포함하는 자동 수정 수단을 포함하는 것을 특징으로 하는 인터페이스 콘트롤러.
  2. (정정) 제1항에 있어서, 상기 인터페이스 콘트롤러는 단일 집적 회로 칩 상에 형성되는 것을 특징으로 하는 인터페이스 콘트롤러.
  3. (정정) 제1항에 있어서, 상기 수정 수단은 상기 저장된 메모리 베이스 어드레스에 의해 표시되는 값을 증분하도록 조정하는 카운터를 포함하는 것을 특징으로 하는 인터페이스 콘트롤러.
  4. (정정) 제3항에 있어서, 상기 인터페이스 콘트롤러는 상기 저장된 메모리 베이스 어드레스를 초기에 저장하는 메모리를 포함하고, 상기 카운터는 증분 조정되기 전에 메모리로부터 상기 저장된 메모리 베이스 어드레스를 수신하도록 결합되는 것을 특징으로 하는 인터페이스 콘트롤러.
  5. (정정) 제4항에 있어서, 메모리로부터의 상기 저장된 메모리 베이스 어드레스의 판독 및 상기 저장된 메모리 베이스 어드레스에 대응하는 신호의 카운터로의 로딩을 제어하는 상태 기기를 포함하는 것을 특징으로 하는 인터페이스 콘트롤러.
  6. (정정) 제1항에 있어서, 상기 저장된 메모리 베이스 어드레스는 수정되는 메모리 베이스 어드레스인 제1메모리 베이스 어드레스와 메모리 어드레스 공간을 위한 메모리 베이스 어드레스인 제2메모리 베이스 어드레스를 포함하고, 상기 디코더는 인터페이스 콘트롤러에 개별적인 메모리 베이스 어드레스를 제공하도록 상기 제1 및 제2메모리 베이스 어드레스를 디코딩하는 수단을 포함하는 것을 특징으로 하는 인터페이스 콘트롤러.
  7. (정정) 다른 어드레스 가능한 인터페이스 모듈 및 중앙 처리 장치와 함께 통신망 사이에서 통신 버스에 결합하기 위한 자동 재구성 가능하고 어드레스 가능한 인터페이스 모듈로서, 상기 각 인터페이스 모듈은, 메모리 베이스 어드레스를 이용하여 인터페이스 모듈로부터의 구성 데이타 및 다른 데이타를 통신 버스로 판독하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 판독 명령 또는 메모리 베이스 어드레스를 이용하여 통신 버스로부터의 데이타를 인터페이스 모듈로 기록하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 기록 명령에 응답하고, 상기 중앙 처리 장치는 인터페이스 모듈로부터 판독된 상기 구성 데이타를 소정의 데이타와 비교하여 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 메모리 베이스 어드레스와 동일한 지의 여부를 판단하고, 소정의 메모리 어드레스를 이용하여 더미 판독명령을 통신 버스 상에 발행하도록 실행하는 자동 재구성 가능한 인터페이스 모듈에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈에 대해 유일한 구성 데이타를 저장하는 메모리와, 대응하는 자동 재구성 가능한 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하는데 있어서 자동 재구성 가능한 인터페이스 모듈에 의한 사용을 위해 메모리 베이스 어드레스를 저장하는 레지스터와, 중앙 처리 장치에 의한 소정의 데이타와의 비교를 위해 메모리로부터 구성 데이타를 판독하도록 상기 판독 명령에 응답하는 저장된 메모리 베이스 어드레스를 이용하여 메모리에 저장된 구성 데이타를 판독하는 수단과, 상기 저장된 메모리 베이스 어드레스를 수정된 메모리 베이스 어드레스로 수정하기 위해 소정의 메모리 어드레스를 이용하여 더미 판독 명령에 응답하는 수단과, 대응하는 자동 재구성 가능한 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하도록 상기 수정된 메모리 베이스 어드레스를 포함하는 저장된 메모리 베이스 어드레스를 디코딩하는 디코더를 포함하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.
  8. (정정) 제7항에 있어서, 상기 통신 버스를 통해 전송된 데이타를 위한 추가의 메모리를 더 포함하며, 상기 레지스터는 상기 추가 메모리에 대한 추가 메모리 베이스 어드레스를 저장하며, 상기 디코더는 상기 추가 메모리 베이스 어드레스를 추가 메모리를 어드레스하기 위한 개별적인 메모리 베이스 어드레스로 디코딩하는 수단을 포함하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.
  9. (정정) 제7항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은 통신 버스와 통신망 사이에 인터페이스를 제공하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.
  10. (정정) 제9항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은 근거리 통신망과 인터페이스하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.
  11. (정정) 제10항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은 이더네트 통신망과 인터페이스하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스모듈.
  12. (정정) 제7항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은 AT통신 버스와 인터페이스하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.
  13. (정정) 제7항에 있어서, 상기 통신 버스에 결합되어 통신 버스와의 통신을 제어하는 시스템 인터폐이스와, 자동 재구성 가능한 인터페이스 모듈과 통신 버스 또는 통신망 사이에서 통신되는 데이타를 저장하는 버퍼 메모리 및 이 버퍼 메모리로부터의 데이타 전송을 제어하는 버퍼 콘트롤러와, 상기 버퍼 콘트롤러로부터의 명령에 응답하여 데이타를 처리하고 통신망에 공급하는 송신기와, 상기 통신망으로부터의 데이타를 수신하고 처리하는 수신기를 더 포함하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.
  14. (정정) 통신 버스와, 상기 통신 버스에 각각 결합하고, 메모리 베이스 어드레스를 이용하여 인터페이스 모듈로부터의 구성 데이타 및 다른 데이타를 통신 버스로 판독하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 판독 명령 또는 메모리 베이스 어드레스를 이용하여 통신 버스로부터의 데이타를 인터페이스 모듈로 기록하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 기록 명령에 응답하고, 최소한 하나의 어드레스 가능한 인터페이스 모듈은 자동 재구성 가능한 인터페이스 모듈을 포함하는 다수의 어드레스 가능한 인터페이스 모듈과, 인터페이스 모듈로부터 판독된 상기 구성 데이타를 소정의 데이타와 비교하여 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 메모리 베이스 어드레스와 동일한 지의 여부를 판단하고, 소정의 메모리 어드레스를 이용하여 더미 판독 명령을 통신 버스 상에 발행하도록 실행하는 상기 중앙 처리 장치를 포함하며, 상기 자동 재구성 가능한 인터페이스 모듈은, 상기 자동 재구성 가능한 인터페이스 모듈에 대해 유일한 구성 데이타를 저장하는 메모리와, 대응하는 자동 재구성 가능한 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하는데 있어서 자동 재구성 가능한 인터페이스 모듈에 의한 사용을 위해 메모리 베이스 어드레스를 저장하는 레지스터와, 중앙 처리 장치에 의한 소정의 데이타와의 비교를 위해 메모리로부터 구성 데이타를 판독하도록 상기 판독 명령에 응답하는 저장된 메모리 베이스 어드레스를 이용하여 메모리에 저장된 구성 데이타를 판독하는 수단과, 상기 저장된 메모리 베이스 어드레스를 수정된 메모리 베이스 어드레스로 수정하기 위해 소정의 메모리 어드레스를 이용하여 더미 판독 명령에 응답하는 수단과, 대응하는 자동 재구성 가능한 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하도록 상기 수정된 메모리 베이스 어드레스를 포함하는 저장된 메모리 베이스 어드레스를 디코딩하는 디코더를 포함하는 것을 특징으로 하는 마이크로프로세서 시스템.
  15. (정정) 제14항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은, 중앙 처리 장치와 자동 재구성 가능한 인터페이스 모듈 사이에서 통신 버스상에 데이타를 전송시키도록 결합된 데이타 버스와, 통신 버스 상에서 어드레스 신호를 중앙 처리 장치 버스로부터 자동 재구성 가능한 인터페이스 모듈로 전송시키도록 결합된 어드레스 버스를 포함하는것을 특징으로 하는 마이크로프로세서 시스템.
  16. (정정) 제14항에 있어서, 상기 재구성 가능한 인터페이스 모듈은 상기 통신 버스를 통해 전송된 데이타를 위한 추가 메모리를 포함하며, 상기 레지스터는 추가 메모리의 메모리 공간을 위한 베이스를 설정하는 추가 메모리 베이스 어드레스를 저장하고, 상기 디코더는 추가 메모리를 어드레스하는 개별적인 메모리 베이스 어드레스로 상기 추가 메모리 베이스 어드레스를 디코딩하는 것을 특징으로 하는 마이크로프로세서 시스템.
  17. (정정) 어드레스 가능한 인터페이스 모듈에 대해 유일한 메모리 베이스 어드레스를 자동으로 발생시키는 방법으로서, 상기 어드레스 가능한 인터페이스 모듈은 통신 버스 상에서 다른 어드레스 가능한 인터페이스 모듈과 함께 중앙 처리 장치에 결합되고, 상기 각 인터페이스 모듈은 메모리 베이스 어드레스를 이용하여 인터페이스 모듈로부터의 구성 데이타 및 다른 데이타를 통신 버스로 판독하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 판독 명령 또는 메모리 베이스 어드레스를 이용하여 통신 버스로부터의 데이타를 인터페이스 모듈로 기록하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 기록 명령에 응답하고, 상기 중앙 처리 장치는 인터페이스 모듈로부터 판독된 상기 구성 데이타를 소정의 데이타와 비교하여 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 메모리 베이스 어드레스와 동일한 지의 여부를 판단하고, 소정의 메모리 어드레스를 이용하여 더미 판독 명령을 통신 버스 상에 발행하도록 실행하는 방법에 있어서, 메모리 베이스 어드레스를 인터페이스 모듈에 저장하는 단계와, 구성 데이타를 판독하기 위한 판독 명령에 응답하는 저장된 메모리 어드레스를 이용하여 메모리 어드레스에 저장된 구성 데이타를 판독하는 단계와, 상기 저장된 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 유일한 메모리 베이스 어드레스와 동일한 경우 소정의 메모리 어드레스를 이용하여 더미 판독 명령에 응답하여 상기 저장된 메모리 베이스 어드레스를 수정된 메모리 베이스 어드레스로 수정하는 단계와, 인터페이스 모듈에 의한 응답을 위해 상기 유일한 메모리 베이스 어드레스를 결정하는데 있어서 인터페이스 모듈에 의한 사용을 위해 수정된 어드레스를 디코딩하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. (정정) 제17항에 있어서, 상기 저장된 메모리 어드레스를 수정하는 단계는 상기 저장된 메모리 베이스 어드레스에 의해 표시되는 카운터값을 증분하도록 조정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  19. (정정) 제18항에 있어서, 상기 인터페이스 콘트롤러는 메모리를 포함하고, 상기 메모리에 상기 저장된 메모리 베이스 어드레스를 초기에 저장하는 단계와, 상기 증분 조정 단계 이전에 메모리로부터 저장된 메모리 베이스 어드레스를 카운터에서 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  20. (정정) 제19항에 있어서, 인터페이스 콘트롤러를 구비한 인터페이스 모듈은 상태 기기를 포함하고, 상기 카운터가 증분 조정되어 증가할 때 저장된 메모리 베이스 어드레스를 카운터에 공급함으로써 메모리로부터의 저장된 메모리 베이스 어드레스 판독을 제어하기 위해 상태 기기를 사용하여 제어하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  21. (정정) 제17항에 있어서, 상기 저장된 메모리 베이스 어드레스는 수정되는 메모리 베이스 어드레스인 제1메모리 베이스 어드레스와 제2메모리 베이스 어드레스를 포함하고, 개별적인 메모리 베이스 어드레스를 제공하도록 상기 제1 및 제2 메모리 베이스 어드레스를 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1019940004756A 1993-03-12 1994-03-11 Isa버스용 입출력 어드레스의 자기 할당 장치 및 방법 KR100276496B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US3118093A 1993-03-12 1993-03-12
US08/031,180 1993-03-12
US8/031180 1993-03-12
US11951193A 1993-09-10 1993-09-10
US08/119,511 1993-09-10
US8/119511 1993-09-10

Publications (2)

Publication Number Publication Date
KR940022289A KR940022289A (ko) 1994-10-20
KR100276496B1 true KR100276496B1 (ko) 2000-12-15

Family

ID=26706922

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940004756A KR100276496B1 (ko) 1993-03-12 1994-03-11 Isa버스용 입출력 어드레스의 자기 할당 장치 및 방법

Country Status (2)

Country Link
JP (1) JP3588139B2 (ko)
KR (1) KR100276496B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016098027A (ja) * 2014-11-25 2016-05-30 富士フイルム株式会社 ラップアラウンドケース

Also Published As

Publication number Publication date
JPH076120A (ja) 1995-01-10
JP3588139B2 (ja) 2004-11-10
KR940022289A (ko) 1994-10-20

Similar Documents

Publication Publication Date Title
US5491804A (en) Method and apparatus for automatic initialization of pluggable option cards
CA1335843C (en) Programmable option select
EP0992000B1 (en) Bus interface system and method
US5787306A (en) Automatic assignment of I/O addresses in a computer system
US5428748A (en) Method and apparatus for automatically configuring a computer peripheral
US5729767A (en) System and method for accessing peripheral devices on a non-functional controller
US5530895A (en) System and method for computer interface board identification by serially comparing identification address bits and asserting complementary logic patterns for each match
US5495593A (en) Microcontroller device having remotely programmable EPROM and method for programming
US7676640B2 (en) Flash memory controller controlling various flash memory cells
US5619724A (en) System for assigning a unique identifier to components by storing a bit sequence from a selected bit line after detecting a predetermined sequence of data
US5628027A (en) Method of determining the configuration of devices installed on a computer bus
US7890690B2 (en) System and method for dual-ported flash memory
KR920010580B1 (ko) 정보처리시스템 및 시스템구성 확인방법
US6427198B1 (en) Method, system, and program for determining system configuration
WO1994027224A1 (en) Apparatus and method for automatic recognition and configuration of a peripheral device
JPH09508227A (ja) Pciバス・コンピュータのための使用可/使用不可拡張romを有する追加ボード
US6748515B1 (en) Programmable vendor identification circuitry and associated method
US5590374A (en) Method and apparatus for employing a dummy read command to automatically assign a unique memory address to an interface card
US6148384A (en) Decoupled serial memory access with passkey protected memory areas
CN118689819A (zh) 一种基于复杂可编程逻辑器件cpld的数据处理方法、系统和计算设备
US6128718A (en) Apparatus and method for a base address register on a computer peripheral device supporting configuration and testing of address space size
US5692189A (en) Method and apparatus for isolating circuit boards in a computer system
KR100276496B1 (ko) Isa버스용 입출력 어드레스의 자기 할당 장치 및 방법
US6742056B2 (en) Semiconductor device and method for initializing interface card using serial EEPROM
JP3305474B2 (ja) 情報処理装置の起動装置

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19940311

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19980910

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19940311

Comment text: Patent Application

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20000822

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20000929

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20000930

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20030924

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20040924

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20050926

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20060925

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20070920

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20080925

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20090925

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20090925

Start annual number: 10

End annual number: 10

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20110810