Movatterモバイル変換


[0]ホーム

URL:


KR100276496B1 - Self-assignment device and method of input / output address for ISA bus - Google Patents

Self-assignment device and method of input / output address for ISA bus
Download PDF

Info

Publication number
KR100276496B1
KR100276496B1KR1019940004756AKR19940004756AKR100276496B1KR 100276496 B1KR100276496 B1KR 100276496B1KR 1019940004756 AKR1019940004756 AKR 1019940004756AKR 19940004756 AKR19940004756 AKR 19940004756AKR 100276496 B1KR100276496 B1KR 100276496B1
Authority
KR
South Korea
Prior art keywords
memory
base address
interface module
address
memory base
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019940004756A
Other languages
Korean (ko)
Other versions
KR940022289A (en
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 아끼구사 나오유끼, 후지쯔 가부시끼가이샤filedCritical아끼구사 나오유끼
Publication of KR940022289ApublicationCriticalpatent/KR940022289A/en
Application grantedgrantedCritical
Publication of KR100276496B1publicationCriticalpatent/KR100276496B1/en
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

Translated fromKorean

이더네트 인터페이스 모듈은 AT버스와 외부 이더네트 통신버스 사이에 인터페이스를 제공하는 IBM AT 또는 AT 호환 컴퓨터의 AT버스에 대한 애드-온 카드이다. 컴퓨터가 하드웨어 리셋 명령을 내리면 이더네트 인터페이스 모듈은 EEPROM으로부터의 구성 바이트를 시리얼 레지스터/카운터에 로딩한다. 구성 바이트는 이더네트 인터페이스 모듈용의 메모리와 I/0 베이스 어드레스를 포함한다. 구성 바이트의 로딩과 동시에 중앙처리장치(CPU)는 부트업된다. 부트업 후 CPU는 이더네트 인터페이스 모듈이 부트업 메모리와 이더네트 인터페이스 모듈의 입출력 베이스 어디레스를 가지는 시스템에서 메모리 베이스 어드레스를 검사한다. 만약 이더네트 인터페이스 모듈의 메모리 베이스 어드레스가 다른 애드-온 모듈의 어드레스와 층둘하면 이더네트 인터페이스 모듈의 메모리 베이스 어드레스는 컴퓨터로부터 모듈을 제거하고 제2컴퓨터에 EEPROM을 재프로그래밍함으로써 반자동적으로 재구성된다. 제1시스템에 모듈을 재설치한 후 CPU는 재부팅되고 메모리 베이스 어드레스는 충돌에 대하여 재검사된다. 만약 어떤 메모리 베이스 어드레스의 충돌도 검출되지 않으면 CPU는 충돌에 대한 입출력 베이스 어드레스를 검사한다. 만약 입출력 베이스 어드레스의 충돌이 검출되면 CPU는 소정의 메모리 위치로부터 판독을 수행한다. 그 판독에 응답하여 이더네트 인터페이스 모듈은 자동으로 그 입출력 베이스 어드레스를 증가시킨다. CPU는 다시 충돌을 검사하며, 이 과정은 입출력 베이스 어드레스 충돌이 검출되지 않을 때까지 반복된다. 새로운 메모리 및 입출력 어드레스는 EEPROM에서 새로운 구성의 부분으로서 저장된다.The Ethernet interface module is an add-on card for the AT bus of an IBM AT or AT compatible computer that provides an interface between the AT bus and an external Ethernet communication bus. When the computer issues a hardware reset command, the Ethernet interface module loads the configuration byte from the EEPROM into the serial register / counter. The configuration byte contains the memory for the Ethernet interface module and the I / 0 base address. At the same time as the configuration byte is loaded, the CPU is booted up. After booting up, the CPU checks the memory base address in a system where the Ethernet interface module has boot-up memory and the I / O base address of the Ethernet interface module. If the memory base address of the Ethernet interface module exceeds that of another add-on module, the memory base address of the Ethernet interface module is semi-automatically reconfigured by removing the module from the computer and reprogramming the EEPROM on the second computer. After reinstalling the module in the first system, the CPU is rebooted and the memory base address is rechecked for conflicts. If no memory base address conflict is detected, the CPU checks the input / output base address for the conflict. If a conflict of the input / output base address is detected, the CPU performs reading from a predetermined memory location. In response to the read, the Ethernet interface module automatically increments its input / output base address. The CPU checks for collisions again, and this process is repeated until no I / O base address collisions are detected. The new memory and input / output addresses are stored as part of the new configuration in the EEPROM.

Description

Translated fromKorean
이사(ISA) 버스용 입출력 어드레스의 자기할당 장치 및 방법Self-assignment device and method for input / output address for ISA bus

제1도는 본 발명의 원리에 따른 컴퓨터도.1 is a computer diagram in accordance with the principles of the invention;

제2도는 제1도에 도시된 컴퓨터용 이더네트 인터페이스 모듈의 기능 블록도.2 is a functional block diagram of the Ethernet interface module for a computer shown in FIG.

제3도는 제2도에 도시된 인터페이스 콘트롤러의 기능 블록도.3 is a functional block diagram of the interface controller shown in FIG.

제4도는 제1도에 도시된 컴퓨터용 이더네트 인터페이스 모듈의 특정한 수행을 도시하는 기능 불록도.4 is a functional block diagram showing the specific performance of the Ethernet interface module for a computer shown in FIG.

제5도는 제4도에 도시된 인터페이스 콘트롤러의 디코딩 및 구성 바이트 처리회로의 기능 블록도.5 is a functional block diagram of the decoding and configuration byte processing circuit of the interface controller shown in FIG.

제6도는 데이타 선정 MUX에 의해 버퍼 시스템 데이타 버스로 공급되는 데이타를 제어하기 위한 논리 제어 회로의 개략도.6 is a schematic diagram of a logic control circuit for controlling data supplied to a buffer system data bus by a data selection MUX.

제7도는 양방향성 3-상태 버퍼를 제어하기 위한 제어 논리 회로의 개략도.7 is a schematic diagram of control logic circuitry for controlling a bidirectional tri-state buffer.

제8도는 제5도에 도시된 ID메모리 MUX제어 회로의 개략도.8 is a schematic diagram of an ID memory MUX control circuit shown in FIG.

제9도는 시스템 파워업시 또는 시스템 하드웨어 리셋 명령의 수행시 ID메모리로부터 시프트 레지스트/카운터로의 구성 바이트의 판독 및 부트 메모리 충돌의 해소에 대한 흐름도.9 is a flowchart for reading a configuration byte from an ID memory to a shift register / counter and resolving a boot memory conflict when the system is powered up or when a system hardware reset command is executed.

제10도는 AT버스용 메모리 베이스 어드레스의 설명도.10 is an explanatory diagram of a memory base address for AT bus.

제l1도는 AT버스용 입출력 베이스 어드레스의 설명도.1 is an explanatory diagram of an input / output base address for AT bus.

제12도는 제4도에 도시된 이더네트 인터페이스 모듈의 입출력 베이스 어드레스를 재구성하는데 사용되는 단계를 도시한 흐름도.FIG. 12 is a flow chart showing the steps used to reconfigure the input and output base addresses of the Ethernet interface module shown in FIG. 4. FIG.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

12 : CPU(중앙처리장치) 14 : AT버스12: CPU (central processing unit) 14: AT bus

16 : 하드디스크 18 : 플로피디스크16: hard disk 18: floppy disk

22 : 프린터 인터페이스 24 : 키보드 인터페이스22: printer interface 24: keyboard interface

26 : 이더네트 인터페이스 27 : 이더네트26: ethernet interface 27: ethernet

32 : 인터페이스 콘트롤러 34 : 부트 PROM32: interface controller 34: boot PROM

40, 42 : 데이타 버스 송수신기 48 : 시프트 레지스터/카운터40, 42: data bus transceiver 48: shift register / counter

60 : 무점퍼 상태 기기 66 : 메모리 어드레스 디코더60: jumper state device 66: memory address decoder

68 : 입출력 어드레스 디코더68: I / O address decoder

본 발명은 퍼스널 컴퓨터(PC)용 애드-온 카드(add-on card)에 관한 것으로, 보다 구체적으로는 AT 버스를 외부의 이더네트 통신망에 접속하기 위한 IBM AT 호환 PC의 애드-온 인터페이스 카드에 관한 것이다.The present invention relates to an add-on card for a personal computer (PC), and more particularly to an add-on interface card of an IBM AT compatible PC for connecting an AT bus to an external Ethernet communication network. It is about.

IBM AT 및 AT 호환 PC 는 내부 통신을 위해 표준화된 AT 버스 시스템을 이용한다. AT 버스는 통상 8비트 및 16비트 시스템용 ISA버스와 32비트용 EISA로 불리운다. AT버스의 요구조건은 Edward Solari의 AT버스 디자인(Annabooks,1990)에 상세히 기술되어 있으며, 참고로 그 주제를 본 명세서에서 다루고 있다. AT버스는 컴퓨터의 각종 기능적 유닛, 예컨대 중앙처리장치 메모리와 입출력(I/O) 장치용 각종 인터페이스 사이의 인터페이스이다. AT버스는 시스템 클록 메모리와, 기록 및 판독 액세스와, 입출력 판독 및 기록 사이클과, 데이타 버스 방향과, 데이타 및 인터럽트 요구와, 스피커 구동기를 제어하기 위해 필요한 논리회로를 제공한다. 메모리 장치는 하드디스크, 플로피디스크, EEPROM, RAM을 포함하며, 입출력 장치는 프린터, 모뎀 및 이더네트 통신망을 포함한다.IBM AT and AT compatible PCs use a standardized AT bus system for internal communication. The AT bus is commonly referred to as the ISA bus for 8-bit and 16-bit systems and the EISA for 32-bit. The requirements of the AT bus are described in detail in Edward Solari's AT bus design (Annabooks, 1990), the subject of which is discussed herein. The AT bus is an interface between various functional units of a computer, such as a central processing unit memory and various interfaces for input / output (I / O) devices. The AT bus provides the system clock memory, write and read access, input and output read and write cycles, data bus direction, data and interrupt requests, and logic circuitry needed to control the speaker driver. The memory device includes a hard disk, a floppy disk, an EEPROM, and a RAM, and the input / output device includes a printer, a modem, and an Ethernet communication network.

PC는 전자 모듈을 지지하고 상호 접속하기 위한 모듈 카드 래크를 포함하는 하우징을 구비한다. 하우징이 개방된 상태에서 전자 모듈은 래크에 삽입되고 개방되어 있는 반대쪽 컴퓨터 하우징의 단부에 배치된 마더보드에 접속된다. 마더보드는 AT버스, 전원 및 접지를 포함하는 컴퓨터의 모듈들 사이에 전기적 상호 접속부를 제공한다. 사용자는 컴퓨터 하우징에 컴퓨터 모듈을 추가하거나 제거함으로써 PC의 능력을 변경시킬 수 있다. 예컨대, 메모리 용량은 하우징에 RAM모듈을 삽입함으로써 증가될 수 있다.The PC has a housing containing a module card rack for supporting and interconnecting the electronic modules. With the housing open, the electronic module is inserted into the rack and connected to the motherboard disposed at the end of the opposite computer housing that is open. The motherboard provides electrical interconnections between the modules of the computer, including the AT bus, power source, and ground. The user can change the capabilities of the PC by adding or removing computer modules to the computer housing. For example, the memory capacity can be increased by inserting a RAM module in the housing.

AT버스에 접속되고 메모리를 구비하는 각각의 장치는 중앙처리장치가 상기 메모리로부터의 판독과 기록을 명령하도록 상기 각각의 장치가 사용하는 메모리 공간을 규정하는 메모리 베이스 어드레스를 갖는다. 각각의 메모리는 하나의 장치만이 이들 판독 및 기록 명령에 응답하도록 독특한 메모리 베이스 어드레스를 구비할 필요가 있다. AT버스의 사양은 특정 장치에 대한 임의의 메모리 어드레스를 할당한다. 보다 구체적으로 하드디스크 드라이브, 플로피 디스크 드라이브 및 RAM 메모리는 메모리 베이스 어드레스 범위로 각각 배정된다. 따라서, 모든 PC는 하드디스크 드라이브, 플로피디스크 드라이브 및 RAM과 통신을 하기 위해 이들 어드레스를 사용한다. 이와는 대조적으로 새로운 장치가 PC에 연결되면 그 메모리 베이스 어드레스는 이미 할당된 어드레스중의 하나가 아니라 예약되지 않은 어드레스 범위내의 임의의 어드레스일 수 있다. 그러나 그 자신의 메모리와 대응 메모리 베이스 어드레스를 각각 갖는 다수의 장치가 추가되면, 적어도 2 개의 장치가 동일한 메모리 베이스 어드레스를 가지는 것이 가능해진다. 시스템 파워업시의 초기화 루틴중에 이러한 현상이 발생하면 중앙처리장치는 적어도 2 개의 상이한 장치에 대응하는 어드레스를 보낸다. 적어도 2개의 상이한 장치의 각각은 상기 어드레스 명령에 응답하여 메모리를 판독하거나 기록한다. 이러한 다중 응답은 버스의 데이타 부분에 충돌을 야기시킨다. 중앙처리장치는 예컨대 시스템 부트-업 및 판독중에 판독될 데이타가 기대값과 다르기 때문에 버스상에서의 상기 충돌을 검출한다.Each device connected to the AT bus and having a memory has a memory base address that defines the memory space that each device uses to direct the central processing unit to read and write from the memory. Each memory needs to have a unique memory base address so that only one device responds to these read and write commands. The specification of the AT bus assigns arbitrary memory addresses for specific devices. More specifically, the hard disk drive, floppy disk drive, and RAM memory are each assigned a memory base address range. Thus, all PCs use these addresses to communicate with hard disk drives, floppy disk drives, and RAM. In contrast, when a new device is connected to a PC, its memory base address may be any address within an unreserved address range rather than one of the addresses already assigned. However, if a plurality of devices each having its own memory and corresponding memory base address are added, it becomes possible for at least two devices to have the same memory base address. If this occurs during the initialization routine at system power-up, the central processing unit sends addresses corresponding to at least two different devices. Each of at least two different devices reads or writes memory in response to the address command. This multiple response causes a crash in the data portion of the bus. The central processing unit detects such a collision on the bus, for example, because the data to be read during system boot-up and reading differs from the expected value.

현재의 시스템에서 애드-온 카드의 일종으로 AT버스와 이더네트 통신망 시스템 사이를 인터페이스하기 의한 이더네트 인터페이스 모듈이 있다. 이더네트의 요구조건은 "국제 표준 ISO/ANSI/IEEE 8802-3, 정보처리시스템-근거리 통신망(LAN)-파트3 : 충돌 검출을 갖는 캐리어 감지 다중 액세스(CSMA/CD)의 액세스 방법 및 물리적 층의 사양" 에 상세히 기재되어 있으며 참고로 그 주제를 본 명세서에서 다루고 있다. 또한 현재의 시스템에서는 메모리 어드레스 충돌이 검출되면 시스템으로부터 애드-온 카드를 제거한 후 그것을 어드레스 충돌이 없도록 이미 결정된 제2의 컴퓨터 시스템에 삽입한다. 모듈의 메모리 베이스 어드레스를 변경시키기 위해 모듈에 점퍼선을 추가한다.One type of add-on card in the current system is an Ethernet interface module for interfacing between an AT bus and an Ethernet network system. The requirements of Ethernet are "International Standard ISO / ANSI / IEEE 8802-3, Information Processing Systems-LANs-Part 3: Access Methods and Physical Layers of Carrier Sense Multiple Access (CSMA / CD) with Collision Detection The specification of which is incorporated herein by reference in its entirety. In current systems, when a memory address conflict is detected, the add-on card is removed from the system and inserted into a second computer system that has already been determined to have no address conflict. Add a jumper wire to the module to change the module's memory base address.

수정된 모듈을 제1PC 뒤로 삽입하고 PC를 켠다. 중앙처리장치는 다시 그 초기화 루틴을 실행하고, 만약 다른 메모리 베이스 어드레스 충돌이 검출되면 메모리 충돌이 제거될 때까지 모듈을 제거하고 그 메모리 베이스 어드레스를 물리적으로 변경시키는 처리를 반복한다. 만약 메모리 충돌이 검출되지 않으면 중앙처리장치는 그 초기화 루틴을 계속 수행한다.Insert the modified module behind the first PC and turn on the PC. The central processing unit executes the initialization routine again, and if another memory base address conflict is detected, removes the module and physically changes the memory base address until the memory conflict is eliminated. If no memory conflict is detected, the central processing unit continues its initialization routine.

메모리 베이스 어드레스외에도 AT버스에 접속된 각 장치는 입출력 베이스 어드레스를 갖는다. 이 장치가 버스상의 I/O 베이스 어드레스를 검출하면 장치는 버스상의 명령에 응답한다. 메모리 베이스 어드레스에 대하여 각각의 장치는 유일한 입출력 어드레스를 갖는 것이 필수적이다. 메모리 어드레스에 유사하게 AT버스 사양은 입출력 어드레스 범위를 임의의 장치에 할당한다. 따라서, 이들 입출력 어드레스는 이들 장치들에 의해서만 사용된다. 그러나 다른 장치들이 AT버스에 추가되면 각각의 장치는 그 자신의 유일한 입출력 어드레스를 가져야만 한다. 그러나 메모리 베이스 어드레스에 관하여 이들 장치는 미리 배정된 입출력 어드레스를 갖지 않는다. 따라서 AT버스 사양은 새로운 장치에 입출력 어드레스 범위를 할당한다.In addition to the memory base address, each device connected to the AT bus has an input / output base address. When the device detects an I / O base address on the bus, the device responds to commands on the bus. It is essential that each device has a unique input and output address for the memory base address. Similar to the memory address, the AT bus specification assigns an input / output address range to any device. Therefore, these input and output addresses are used only by these devices. However, when other devices are added to the AT bus, each device must have its own unique I / O address. However, with respect to the memory base address, these devices do not have a predetermined input / output address. The ATbus specification therefore assigns input and output address ranges to new devices.

그러나 새로운 장치가 버스에 접속되면 시스템은 중앙처리장치가 그 초기화 루틴을 처음부터 끝까지 완료할 때까지 버스상의 2이상의 장치가 동일한 입출력 베이스 어드레스를 이용하는지의 여부를 알지 못한다. 따라서 중앙처리장치가 동일한 어드레스를 이용하는 버스상의 적어도 2이상의 장치에 입출력 버스 어드레스를 송신하면 적어도 2이상의 장치는 응답시 버스에서 총들을 발생시킨다.However, when a new device is connected to the bus, the system does not know whether more than one device on the bus uses the same I / O base address until the CPU completes its initialization routine from beginning to end. Thus, if the central processing unit sends an input / output bus address to at least two devices on the bus using the same address, the at least two devices generate guns on the bus in response.

현존 시스템은 메모리 베이스 어드레스상의 어드레스 충돌을 해소시키기 위한 방법을 패러렐링(paralleling)하는 방법에 의해 입출력 베이스 어드레스의 충돌을 해소시킨다. 특히 컴퓨터의 사용자는 먼저 컴퓨터에 전원을 넣는다. 중앙처리장치의 초기화 루틴동안 입출력 메모리 어드레스 충돌이 검출되면 사용자는 제1컴퓨터로부터의 모듈을 제거하고 그것을 입출력 베이스 어드레스 충돌이 없는 제2의 시스템에 삽입하여야만 한다. 사용자는 모듈의 입출력 어드레스를 변경시키기 위하여 점퍼선을 추가하여야만 한다.Existing systems resolve conflicts of input / output base addresses by a method of paralleling a method for resolving address conflicts on memory base addresses. In particular, the user of the computer first turns on the computer. If an input / output memory address conflict is detected during the initialization routine of the central processing unit, the user must remove the module from the first computer and insert it into a second system where there is no input / output base address conflict. The user must add jumper wires to change the I / O address of the module.

어드레스 충돌을 해소하기 위한 방법은 많은 노력과 비용을 요구할 뿐 아니라 조작자가 실수를 범하기 쉽다. 상기 방법은 제1컴퓨터로부터 모듈을 제거하는 단계와, 이것을 제2컴퓨터에 삽입하는 단계와, 이것에 전원을 넣고 제2시스템에서 시험하는 단계와, 제2시스템에서 이것을 제거하는 단계와, 이 모듈에 점퍼선을 추가하고 변경하는 단계와, 이것을 제1시스템에 재삽입하고 재시험하는 단계와, 충돌이 제거될 때까지 이들 시험을 반복하는 단계를 필요로 한다. 이러한 방법은 각각의 단계를 수행하기 위한 노력을 필요로 할 뿐 아니라 많은 시간을 소모하게 한다. 셋업, 시험 및 재작업을 위해 추가된 시간은 모듈의 비용을 상승시킨다. 더욱이 이와같은 다수의 단계는 재작업중의 에러와 2개의 컴퓨터 시스템에서 모듈을 반복적으로 제거하고 설치하는 것에 의한 모듈 또는 컴퓨터의 손상을 증가시킨다.The method for resolving address conflicts not only requires a lot of effort and money, but also makes it easy for the operator to make mistakes. The method includes removing a module from a first computer, inserting it into a second computer, powering it up and testing it in a second system, removing it from a second system, and Adding and changing jumper wires on the wire, reinserting and retesting it in the first system, and repeating these tests until the collision is eliminated. This method not only requires effort to perform each step but also consumes a lot of time. The added time for setup, testing and rework adds to the cost of the module. Moreover, many of these steps increase the errors in rework and damage to the module or computer by repeatedly removing and installing the modules in the two computer systems.

무점퍼 애드-온 모듈의 메모리 및 입출력 어드레스를 변경하고, 그 변경시 단계의 수를 감축시키는 것이 바람직하다.It is desirable to change the memory and input / output addresses of the jumper-free add-on module, and to reduce the number of steps in the change.

간략히 말해 본 발명의 1실시예는 초기화 명령에 응답하여 버스에 접속된 제1모듈의 제1식별코드를 적합하게 조정하여 상기 버스에 접속된 제2모듈과의 충돌을 제거하기 위한 방법에 관한 것이다. 제1식별코드는 레지스터에 저장된다. 명령을 받은 식별 코드는 버스상에 수신된다. 기억된 제1식별코드는 버스상에 수신된 명령을 받은 식별코드와 비교된다. 데이타는 제1식별코드와 명령을 받은 식별코드 사이의 부합에 응답하여 버스로 송신되어 기대되는 데이타가 발생된다. 송신된 데이타는 기대되는 데이타와 비교되고, 송신된 데이타가 만약 기대되는 데이타와 부합하지 안으면 그 결과는 오부합(mismatch)으로서 식별된다. 레지스터에 기억된 제1식별 코드는 식별된 오부합에 응답하여 수정된다. 상기 방법은 제1모듈이 제1식별코드에 의해 유일하게 식별되도록 송신된 데이타와 기대되는 데이타 사이에 식별되는 오부합이 존재하지 않을 때까지 순차적으로 반복된다.In short, an embodiment of the present invention relates to a method for eliminating collisions with a second module connected to the bus by appropriately adjusting the first identification code of the first module connected to the bus in response to an initialization command. . The first identification code is stored in a register. The commanded identification code is received on the bus. The stored first identification code is compared with the identification code which received the command received on the bus. The data is transmitted to the bus in response to the match between the first identification code and the commanded identification code to generate the expected data. The transmitted data is compared with the expected data, and if the transmitted data does not match the expected data, the result is identified as a mismatch. The first identification code stored in the register is modified in response to the identified mismatch. The method is repeated sequentially until there is no mismatch identified between the transmitted data and the expected data so that the first module is uniquely identified by the first identification code.

바람직하게는 버스는 IBM AT버스이며, 식별코드는 입출력 베이스 어드레스이고, 초기화 명령은 하드웨어 리셋 명령이다.Preferably the bus is an IBM AT bus, the identification code is an input / output base address, and the initialization command is a hardware reset command.

초기와 명령에 응답하여 버스에 접속된 제1모듈의 제1식별코드를 적절히 조정하여 상기 버스에 접속된 제2모듈과의 충돌을 회피하기 위한 회로가 구비되는데, 이 회로는 제1식별코드를 저장하기 위한 수단과 ; 상기 저장 수단의 제1식별코드를 명령을 받은 식별코드와 비교하기 위한 수단과 ; 제1식별코드와 명령을 받은 식별코드와의 부합에 응답하여 데이타를 송신하기 위한 수단과 ; 제1모듈과 제2모듈이 제1식별코드와 명령을 받은 식별코드의 부합에 응답하여 데이타를 송신하는지를 검출하고 부합이 없으면 충돌신호를 발생시키기 위한 수단과; 제1모듈과 제2모듈이 충돌 신호에 응답하여 제1식별코드와 명령을 받은 식별코드의 부합시 데이타를 송신하지 않도록 제1식별코드를 수정하기 위안 수단을 구비한다.A circuit is provided to appropriately adjust the first identification code of the first module connected to the bus in response to the initial and command to avoid collision with the second module connected to the bus. Means for storing; Means for comparing the first identification code of the storage means with the commanded identification code; Means for transmitting data in response to matching of the first identification code with the commanded identification code; Means for detecting whether the first module and the second module transmit data in response to the matching of the first identification code and the commanded identification code, and generating a collision signal if there is no match; And means for modifying the first identification code such that the first module and the second module do not transmit data when the first identification code and the commanded identification code match in response to the collision signal.

특정 실시예에서 인터페이스 모듈은 ISA버스와 이더네트 통신망 사이에 데이타를 전송한다. ISA버스는 제1, 제2의 어드레스 그룹과 중앙처리장치로 부터의 리셋 명령을 인터페이스 모듈에 전송하고 인터페이스 모듈로 부터의 데이타를 중앙처리장치로 전송한다. 인터페이스 모듈은 적합한 식별 어드레스를 갖는다. 인터페이스 모듈은 적합한 식별 어드레스를 저장하기 위한 레지스터를 포함한다. 디코더는 중앙처리장치로 부터의 제1어드레스 그룹과 적합한 식별 어드레스를 디코딩하기 위하여 레지스터에 결합된다. 버퍼 메모리는 디코더와 ISA버스에 결합된다. 버퍼 메모리는 디코딩된 제1어드레스 그룹중에서 선택된 어드레스가 적합한 식별코드를 포함하면 디코딩된 제1어드레스 그룹에 응답하여 ISA버스에 데이타를 공급하거나 또는 ISA버스로부터 데이타를 수신한다. 카운터는 제2어드레스 그룹과 중앙처리장치로 부터의 리셋 명령에 응답하여 레지스터에 저장된 적합한 식별 어드레스를 수정한다.In a particular embodiment, the interface module transfers data between the ISA bus and the Ethernet network. The ISA bus sends first and second address groups and reset commands from the central processing unit to the interface module and transfers data from the interface module to the central processing unit. The interface module has a suitable identification address. The interface module includes a register for storing a suitable identification address. The decoder is coupled to the register to decode the first address group and appropriate identification address from the central processing unit. The buffer memory is coupled to the decoder and the ISA bus. The buffer memory supplies data to or receives data from the ISA bus in response to the decoded first address group if an address selected from the decoded first address group includes an appropriate identification code. The counter modifies the appropriate identification address stored in the register in response to a reset command from the second address group and the central processing unit.

제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)은 하나의 모듈로 패키지화되는 것이 바람직하다.1 is a functional block diagram illustrating a computer using an Ethernet interface module for communication between Ethernet and the AT bus in accordance with the principles of the present invention. The computer 10 has a central processing unit module 12 connected to an AT bus 14. The central processing unit 12 preferably includes a 486 microprocessor chip manufactured by Intel Corporation of Santa Clara, California. As described above, the AT bus 14 is a standard bus used for IBM AT and AT compatible PCs. The AT bus 14 is also connected to a number of memory devices including a hard disk 16, a floppy disk 18, and a RAM 20. Although several memory devices are shown, the present invention does not require all devices. The printer interface module 22 is connected to the AT bus 14 and the printer 23 outside the computer 10. The keyboard interface module 24 is connected to the AT bus 14 and the keyboard 25. The keyboard 25 sends the command selected by the user to the computer 10. The Ethernet interface (I / F) module 26 provides an interface for communication between the AT bus 14 and the Ethernet communication network 27. Otherwise, the interface module 26 may be interfaced with another bus. As mentioned above, Ethernet is a standardized communication network commonly used for LANs. The Ethernet interface module 26 is preferably packaged into one module.

IBM AT컴퓨터에 대한 파워업 순서는 당해 분야에서는 공지되어 있다. 간략히 설명하자면 전원을 넣으면 중앙처리장치(12)는 하드웨어 리셋 신호를 컴퓨터(10)의 모든 모듈로 보내 각 모듈이 초기화 루틴을 시작하도록 명령을 한다. 중앙처리장치(12)는 중앙처리장치 모듈에 배치된 ROM(13)으로부터 기본 입출력 시스템(BIOS)에 대한 명령을 판독한다. BIOS로부터 복수의 초기화 루틴을 실행한 후 중앙처리장치(12)는 메모리로 부터의 유틸리티 프로그램을 판독한다. 유틸리티 프로그램은 메모리 장치들 중의 하나, 바람직하게는 하드 디스크(16)에 미리 저장되며, AT버스(14)에 접속되도록 기대되고 AT버스에 대한 그들의 인터페이스와 모듈들에 대한 초기와 및 진단 루틴을 실행하는 모듈들을 식별한다.Power-up sequences for IBM AT computers are known in the art. In brief, when the power is turned on, the CPU 12 sends a hardware reset signal to all the modules of the computer 10 to instruct each module to start an initialization routine. The central processing unit 12 reads a command to the basic input / output system (BIOS) from the ROM 13 arranged in the central processing unit module. After executing a plurality of initialization routines from the BIOS, the central processing unit 12 reads the utility program from the memory. The utility program is pre-stored in one of the memory devices, preferably the hard disk 16, and is expected to be connected to the AT bus 14 and executes the initial and diagnostic routines for their interfaces and modules to the AT bus. Identifies modules that do

제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)에 공급한다.FIG. 2 is a functional block diagram of the computer Ethernet interface module 26 shown in FIG. The Ethernet interface control signal passes through the line 102 from the central processing unit 12 via the AT bus 14 to the interface controller 32 and from the interface controller 32 to the AT bus 14 in the opposite direction. Supplied. The central processing unit 12 supplies system address commands on the system address bus 116 via the AT bus 14 to the boot programmable read only memory (PROM) 34 and the interface controller 32. The address of the Ethernet interface module functions as an identification code for identifying the module. Upon receipt of a commanded address that matches the address of the Ethernet interface module 26, the module 26 responds to the requested function. Boot PROM 34 includes a bootup program for Ethernet interface module 26. The boot PROM 34 may be used for a diskless system in which the driver program is loaded from the Ethernet 27, for example, a system without the hard disk 16 or the floppy disk 18. FIG. The interface controller 32 provides a control circuit for the interface between the AT bus 14 and the Ethernet 27. Interface controller 32 supplies a PROM control signal on line 114 to enable boot PROM 34 and control its output. Boot PROM 34 supplies data on bus 110 to interface controller 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)을 통해 송수신기 제어신호를 공급한다.The central processing unit 12 transfers the system data in the first direction on the AT bus 14 and the system data bus 106 to the system data bus lower byte transceiver 42 and the system data bus for the 16-bit AT bus 14. Supply only to both the byte transceiver 40 or to the system data bus lower byte transceiver 42 for the 8-bit AT bus 14. Command and status transfers are also supplied via the system data bus 106. Conversely, the central processing unit 12 transfers system data in the second direction on the system data bus 106 and the AT bus 14 to the system data bus higher byte transceiver 40 and system data for the 16-bit AT bus 14. It receives only from both the bus low byte transceivers 42 or the system data bus low byte transceivers 42 for the 8-bit AT bus 14. The system data bus high byte transceiver 40 selectively supplies data on the bus 108 to the interface controller 32 or receives data in reverse from the interface controller 32. Interface controller 32 supplies a transceiver control signal via line 104 to control data transmission through system data bus high byte transceiver 40. In the same way, the system bus lower byte transceiver 42 selectively supplies data to the interface controller 32 via the bus 110 or receives data from the interface controller 32 in the reverse direction. Interface controller 32 supplies a transceiver control signal via line 112 to control data transmission through system bus lower byte transceiver 42.

클록(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에 공급한다.Clock 118 supplies a clock signal to interface controller 32 via line 238. The interface controller 32 supplies a control signal through a line 143 to a light emitting diode (LED) 144 that visually displays the state of the Ethernet interface module 26. For example, the LEDs 144 can indicate receive, transmit, crash, and link test passes. The ID memory 36 supplies the jumper configuration and node identification information through the line 122 to the interface controller 32 in response to the ID memory control signal on the line 120 therefrom. In the boot PROM configuration, the ID memory 36 has a storage device for the boot PROM address. The ID memory 36 is preferably EEPR0M. In other embodiments, configuration and node identification may be stored in an ID PROM that supplies this data directly to buses 108 and 110. The interface controller 32 converts the buffer control signal 142 and the buffer storage bus address signal 140 into a buffer bus memory 138, preferably a data bus between the AT bus 14 and the Ethernet 27. The data transmitted through 136 is supplied to the SRAM supplying the memory storage device.

코넥터 인터페이스(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)을 통해 미분쌍 신호를 송신함으로써 서로 통신한다.The connector interface 30 includes various kinds of mechanical connectors for electrically connecting the Ethernet interface module 26 to the Ethernet 27. In particular, the Ethernet interface module 26 includes an AUI connector 128 for an attachment unit interface (AUI), a coaxial transceiver interface 130 for communicating signals on a coaxial line, and a twisted pair interface. And a twisted pair connector 134 for the device. The interface controller 32 supplies the transmit pair signal via the line 124 to the AUI connector 128 and the coaxial transceiver interface 130. Each of the AUI connector 128 and the coaxial transceiver interface 130 supplies a receive / collision pair signal to the interface controller 32 via line 126. Interface controller 32 and twisted pair connector 134 communicate with each other by transmitting differential pair signals over line 132.

제3도는 제2도에 도시된 인터페이스 콘트롤러의 기능 블록도이다.3 is a functional block diagram of the interface controller shown in FIG.

인터페이스 콘트롤러(32)는 5개의 기능블록, 즉 시스템 인터페이스(146), 버퍼 콘트롤러(152), 제어 및 상태 레지스터(150), 송신기(154), 수신기(156)를 포함한다.The interface controller 32 includes five functional blocks: a system interface 146, a buffer controller 152, a control and status register 150, a transmitter 154, and a receiver 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)에 송신한다.System interface 146 communicates with the AT bus via lines 102, 104, 108, 110, 112, 114, and 116 as described above. The system interface 146 has a buffer register 148 for holding data during communication between the AT bus 14 and the Ethernet 27. The system interface 146 is a buffer controller 152, ID memory 36, SRAM 138, receiver 156 and transmitter 158 that controls the transfer of data between the buffer controller 152 and the buffer register 148. ) And bi-directional communication. The control and status register 150 receives control and status information from the system interface 146, the buffer controller 152, the transmitter 154, and the receiver 156 and receives the control and status information from the system interface 146 and the buffer controller. Send to l52.

송신기(154)는 버퍼 콘트롤러(152)로 부터의 데이타를 인코더(160)에서 인코딩하는 것을 제어하기 위한 송신기 콘트롤러(158)를 구비한다. 인코딩된 데이타는 펄스 셰이퍼 및 필터(162)에 의해 처리된 다음 송신기 증폭기(166)에서 증폭되고 코넥터 인터페이스(30)로 공급된다. 반대로 수신기(156)는 코넥터 인터페이스(30)로부터 데이타 신호를 수신하고 그것을 수신기 증폭기(174)에서 증폭한다. 증폭된 데이타 신호는 수신기 슬라이서(172)에서 처리되고 디코더(170)에 의해 디코딩된다. 디코딩된 데이타 신호는 수신기 콘트롤러(168) 및 버퍼 콘트롤러(152)로 공급된다. 충돌 회로(164)는 디코더(170)로부터의 디코딩된 신호와 인코더(160)로부터의 인코딩된 신호를 처리함으로써 이더네트(27)상에서의 송신과 수신 사이의 충돌을 해소한다.The transmitter 154 has a transmitter controller 158 for controlling the encoding of the data from the buffer controller 152 at the encoder 160. The encoded data is processed by the pulse shaper and filter 162 and then amplified in the transmitter amplifier 166 and supplied to the connector interface 30. In contrast, receiver 156 receives the data signal from connector interface 30 and amplifies it in receiver amplifier 174. The amplified data signal is processed in receiver slicer 172 and decoded by decoder 170. The decoded data signal is supplied to the receiver controller 168 and the buffer controller 152. Collision circuit 164 resolves the collision between transmission and reception on Ethernet 27 by processing the decoded signal from decoder 170 and the encoded signal from encoder 160.

제4도는 제1도에 도시된 컴퓨터(10)용 이더네트 인터페이스 모듈(26)의 특정 실시예를 도시한 기능 블록도이다.4 is a functional block diagram illustrating a particular embodiment of the Ethernet interface module 26 for the computer 10 shown in FIG.

중앙처리장치(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)은 활성 로우 또는 활성 하이 신호로서 설계되어 있다.The central processing unit 12 supplies a system address (SYSADDRESS) signal traversing the AT bus 14 to the Ethernet interface module 26 and other modules via the AT bus 14. In particular, the SYSADDRESS signal in the Ethernet interface module 26 is supplied via line 116 to the address input of the boot PROM 34 and the interface controller 32. The central processing unit 12 sends these system address commands to define the memory address space and the input / output address space. Addressing will be described in detail below. The AT bus 14 also issues a system memory read (SMEMR) command to the output of the boot PROM 34 via line 176, which is part of the Ethernet interface control signal line 102 (see FIG. 2). To the input and interface controller 32 (the line on the signal name indicates that the signal is assumed to be low). The SMEMR command indicates that the current bus cycle is a memory read operation and is an active low signal from the AT bus 14 that requires the Ethernet interface module 26 to output data to the memory AT bus 14 into the memory. Although the commands are described herein as active low or high signals, the present invention is not limited thereto. Ethernet interface module 26 is designed as an active low or active high signal.

중앙처리장치(12)는 시스템 데이타(SYSDATA) 버스(106)를 거쳐 모든 데이타, 명령 및 상태 전송을 공급하며 이더네트 모듈(26)에 그들을 공급하도록 AT버스(14)를 통해 다른 장치에 명령한다. 특히 SYSDATA 버스 라인(106)은 AT버스(14)를 통해 시스템 데이타 버스 상위 바이트 송수신기(40)와 시스템 데이타 버스 하위 바이트 송수신기(42)의 양방향성의 제1입출력 단자에 공급된다.The central processing unit 12 supplies all data, commands and status transmissions via the system data (SYSDATA) bus 106 and instructs other devices via the AT bus 14 to supply them to the Ethernet module 26. . In particular, the SYSDATA bus line 106 is supplied via the AT bus 14 to the bidirectional first input and output terminals of the system data bus upper byte transceiver 40 and the system data bus lower byte transceiver 42.

시스템 데이타 버스 상위 바이트 송수신기(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)로부터의 활성 로우 신호이다.The system data bus high byte transceiver 40 and the system data bus low byte transceiver 42 both control the direction of data flowing through the central processing unit 12, while the interface controller 32 controls the data flowing through the latter. It works the same way except that it controls the direction of. The system data bus high byte transceiver 40 receives input / output read (IOR) commands via line 178 from the central processing unit 12 on the AT bus 14 by the direction control (DIR) input terminal of the transceiver. An active high signal on the DIR input terminal is a buffer system data (BSD) bus 180 (this is shown in FIG. 2) which is an internal data bus to the Ethernet interface module 26 for writing data from the system data bus 106. Switch the system data bus lower byte transceiver to transmit to the buses shown in FIG. An active low signal through the DIR input terminal switches transceiver 40 to transfer data from the BSD bus to the system data bus for read operations in the opposite direction. The IOR instruction is active from the central processing unit 12 indicating that the current bus cycle is in the input / output read operation and requests the Ethernet interface 26 to output data on the system data bus 106 of the AT bus 14. Low signal.

버퍼 시스템 데이타 버스(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입출력 단자에 공급된다.Buffer system data bus (BSD <15: 0>) 180 interconnects boot PROM 34, system data bus high byte transceiver 40, system data bus low byte transceiver 42, and controller chip 32. (The promise to define the bits on the signal lines used here is to intersect the number of bits in the <> code separated by colons. For example, BSD <15: 0> refers to BSD bus bits 15-0). System data bus transceivers 40, 42 are preferably 74 ALS 245 three-state bus transceivers. The output of the jumper buffers 38, 39 is also connected to the bidirectional second input / output terminals of the system data bus high byte transceiver 40 and the system data bus low byte transceiver 42 via the BSD bus <15: 0> 180. Supplied.

이 인터페이스 콘트롤러(32)는 라인(182)을 통해 인에이블 데이타 상위 바이트명령을 시스템 데이타 버스 상위 바이트 송수신기(40)에 공급한다.신호는 시스템 데이타 버스 상위 바이트 송수신기를 인에이블 또는 디스에이블하는 활성 로우 신호이다. 보다 구체적으로명령은 SYSDATA버스(106)가 버퍼 시스템 데이타 버스(180)로부터 격리되도록 시스템 데이타 버스 상위 바이트 송수신기(40)를 디스에이블한다.This interface controller 32 enables high data bytes via line 182. Supplies the command to the system data bus high byte transceiver 40. The signal is an active low signal that enables or disables the system data bus high byte transceiver. More specifically The command disables system data bus high byte transceiver 40 such that SYSDATA bus 106 is isolated from buffer system data bus 180.

이더네트 인터페이스 모듈(26)에 의한 시스템 데이타 흐름의 제어를 위해 시스템 데이타 버스 하위 바이트 송수신기(42)는 동일한 방식으로 제어된다. 그러나 시스템 데이타 버스 하위 바이트 송수신기(42)를 위한 제어신호는 인터페이스 콘트롤러(32)에 의해 공급된다. 특히 이더네트 인터페이스 모듈(26)은 라인(184)상의 인에이블 데이타 하위 바이트신호로 시스템 데이타 버스 하위 바이트 송수신기(42)를 인에이블링하고, 버퍼 시스템 데이타 버스(180)로부터 시스템 데이타 버스(106)로 향하는 데이타의 흐름 방향을 라인(186)을 통해 하위 바이트 방향신호를 송신하여 제어함으로써 시스템 데이타 버스(106)상에 데이타를 출력한다.The system data bus lower byte transceiver 42 is controlled in the same manner for control of the system data flow by the Ethernet interface module 26. However, control signals for the system data bus lower byte transceiver 42 are supplied by the interface controller 32. In particular, the Ethernet interface module 26 may enable the low data low byte on the line 184. Enable system data bus lower byte transceiver 42 with a signal and direct the flow of data from buffer system data bus 180 to system data bus 106 via lower byte direction. By transmitting and controlling the signal, data is output on the system data bus 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)에 제공된다.As will be described in detail below, the Ethernet interface module 26 may operate in a jumper mode or a jumper mode. The configuration of the module in jumper mode is defined by configuration jumpers 188-195, which are wires on the module. Jumpers 188, 192 define input and output base addresses, jumpers 189, 193 define memory base addresses, jumpers 190, l94 define direct memory access (DMA) recognition (DACK), and 191 and 195 define an interrupt. The DACK signal is an active low signal indicating that an external DMA controller (not shown) is ready to transfer data between the host system and the Ethernet interface buffer memory. The input / output base address, memory base address and interrupt signal are defined below. The component jumpers are connected at their ends to the ground or voltage source VCC (not shown), and the other ends are connected to the inputs of the component jumper buffers 38 and 39. Otherwise, configuration jumpers 192-195 can be used to define configuration jumpers other than those described above. The mode setting of the jumper 235 is provided to the interface controller 32 that specifies whether the initial parameters are stored by the EEPROM or the ID PROM and specifies whether the operation is a jumper operation or a jumper operation.

점퍼 모드에서 각 구성 점퍼의 논리 레벨은 버퍼 시스템 데이타 버스(180)에 공급된다. 이더네트 인터페이스 모듈(26)이 구성 점퍼의 상태를 판독하기를 원하면 인터페이스 콘트롤러(32)는 라인(196)을 통해 선택 구성 레지스터 1명령(SEL 12)을 점퍼 버퍼(38)의 인에이블입력에 공급한다. 이 점퍼 버퍼(38)는 응답시 구성 점퍼 신호를 버퍼 시스템 데이타 버스(180)에 공급한다.In jumper mode, the logic level of each component jumper is supplied to the buffer system data bus 180. If Ethernet interface module 26 wants to read the status of the configuration jumper, interface controller 32 enables selection configuration register 1 command (SEL 12) via line 196 to enable jumper buffer 38. Supply to the input. This jumper buffer 38 supplies the configuration jumper signal to the buffer system data bus 180 in response.

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)를 스위칭한다.The SEL12 command is not used in jumper mode. Otherwise jumper buffer 39 is enabled by select configuration register 2 instruction SEL 13 on line 198 which is supplied from interface controller 32 to enable EN input of configuration jumper buffer 39. As described below, the SEL 13 instruction is used in the jumper mode to read from the shift resist / counter 48. Configuration jumper buffers 38 and 39 are preferably 74LS 244 tri-state buffers. The logic one level for the SEL12 signal on line 196 or the SEL 13 signal on line 198 switches the corresponding buffer output to a high impedance state and separates the jumpered input from the output from the bus. Conversely, the logic zero level for the SEL 12 command 196 or the SEL 13 command switches the corresponding buffers 38 and 39 to supply a signal corresponding to the configuration jumpers 188-195 to the buffer system data bus 180, respectively. .

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 memory 36 stores configuration bytes for Ethernet interface module 26. The ID memory 36 is preferably a serial EEPROM such as the National Semiconductor NMC93C06, C26 or C46 series with 256, 512 or 1024 bits, respectively. The serial EEPROM has three inputs, serial data input, serial data clock or shift clock (SK), and chip select (CS) from the interface controller 32. The ID memory 36 supplies a single output, serial data output D0 to the interface controller 32 via a line 206. Command, address and write data are all supplied to the input terminal of the ID memory 36 when the ID memory 36 is input via the line 200. Read data and status information of the serial EEPROM are output from the serial data output terminal. The interface controller 32 supplies the chip select signal to the ID memory 36 through the line 202. Serial EEPR0M shifts the inner or outer data for the transfer from low to high of shift clock SK on line 204 from interface controller 32.

다른 실시예에서 ID PROM(208)은 라인(210)을 통해 버퍼 시스템 버스(180)와 데이타를 송수신한다. 인터페이스 콘트롤러(32)는 ID PROM(208)을 인에이블하도록 라인(212)을 통해 PROM 칩 선택신호를 공급하고, ID PROM 을 어드레스하도록 래칭된 어드레스 신호를 라인(213)을 통해 공급한다.In another embodiment, ID PROM 208 exchanges data with buffer system bus 180 over line 210. Interface controller 32 supplies a PROM chip select signal through line 212 to enable ID PROM 208, and an address signal latched to address ID PROM through line 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')으로 공급된다.Buffer storage memory 138 (also referred to as SRAM 138) and any additional buffer storage memory 138 'may include address signals 140 from interface controller 32 to select a memory location within that memory. Receive The interface controller 32 supplies buffer chip select signals to the needle enable input terminals of the SRAMs 138 and 138 ', respectively, via lines 224 and 226 to enable the selected chip. The interface controller 32 also supplies the write enable (WE) signal through the line 228 and the output enable (OE) signal through the line 230 to the two SRAMs 138 and 138 '. The buffer data is bidirectionally communicated between the SRAMs 138 and l38 'and the interface controller 32 via the bus 232. Bits 7-0 of the buffer data are supplied to the SRAM 138, and bits 15-8 are supplied to the SRAM 138 '.

인터페이스 콘트롤러(32)와 코넥터 인터페이스(30)는 상술한 라인(124, 126, 132)을 통해 통신한다. 코넥터 인터페이스(30)는 이더네트(27)에 결합된다. 인터페이스 콘트롤러(32)는 라인(222)을 통해 AT버스(14)로 시스템 요구를 공급하고 AT버스(14)로부터의 시스템 제어 신호를 라인(220)을 통해 수신한다. 라인(220, 222)은 라인(102)(제2도 참조)의 일부분이다.The interface controller 32 and the connector interface 30 communicate via the lines 124, 126, and 132 described above. Connector interface 30 is coupled to Ethernet 27. Interface controller 32 supplies system requests to AT bus 14 via line 222 and receives system control signals from AT bus 14 via line 220. Lines 220 and 222 are part of line 102 (see FIG. 2).

입출력 베이스 어드레스 점퍼는 점퍼 모드의 입출력 베이스 어드레스를 규정하기 위한 구성 바이트의 비트 2-0 를 교체하도록 라인(216)에 접속될 수 있다. 유사하게 메모리 베이스 어드레스 점퍼는 메모리 베이스 어드레스의 비트 5-3 또는 인터럽트 요구(후술할 예정임)의 비트 7-6 을 교체하도록 라인(218)에 접속될 수 있다. 인터럽트 요구 0은 라인(214)를 통해 인터페이스 콘트롤러(32)로 공급된다.The input / output base address jumper may be connected to line 216 to replace bits 2-0 of the configuration byte to define the input / output base address in jumper mode. Similarly, a memory base address jumper may be connected to line 218 to replace bits 5-3 of the memory base address or bits 7-6 of the interrupt request (to be described below). Interrupt request 0 is supplied to interface controller 32 via line 214.

제5도는 제4도에 도시된 인터페이스 콘트롤러의 어드레스 디코딩 및 구성 바이트 처리회로의 기능 블록도이다.5 is a functional block diagram of an address decoding and configuration byte processing circuit of the interface controller shown in FIG.

점퍼 모드 디코더(44)는 모드 점퍼(235)를 구비하며 접지 또는 전압원(VCC)(도시생략)에 선택적으로 접속된다. 점퍼 모드 디코더(44)의 1출력은 그 모듈이 점퍼와이어를 변경시킴으로써 재구성되는 것인지 후술하는 바와같은 소프트웨어에 의해 재구성되는 것인지를 인터페이스 콘트롤러(32)에 표시하는 점퍼/무점퍼(JP/JPLESS)신호이다. 예컨대, 제2입력을 전압원(VCC)에 접속시킴으로써 JP/JPLESS 신호는 모듈이 무점퍼 모드에서 동작함을 나타내는 논리 1이다. 반대로 제1입력을 접지에 접속시킴으로써 JP/JPLESS 신호는 모듈이 점퍼 모드로 동작함을 나타내는 논리 0이다.Jumper mode decoder 44 has a mode jumper 235 and is selectively connected to a ground or voltage source VCC (not shown). One output of the jumper mode decoder 44 is a jumper / jumper (JP / JPLESS) signal indicating to the interface controller 32 whether the module is reconfigured by changing the jumper wire or by software as described below. to be. For example, by connecting the second input to the voltage source VCC, the JP / JPLESS signal is a logic one indicating that the module is operating in jumper mode. Conversely, by connecting the first input to ground, the JP / JPLESS signal is a logic zero indicating that the module is operating in jumper mode.

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에 대한 카운터로서의 기능을 한다.The serial data output from ID memory 36 is supplied via line 206 to the first input of data select multiplexer (MUX) 46 and to shift register / counter 48 in interface controller 32. Shift register / counter 48 includes an 8-bit serial in / parallel out shift register with bits 7-0. Bits 2-0 (also referred to as I / O SEL <2: 0>) define the input and output base addresses. Bits 7-6 (also called IRQ <3: 0>) define the interrupt line configuration. The decoding of these bits will be described in detail below. Shift register / counter 48 functions as a counter for bits 2-0 as described below.

데이타 선택 MUX(46)는 BSD 버스(180)에 공급되는 데이타를 선택적으로 제어한다. 시프트 레지스터/카운터(48)의 비트 7-0은 데이타 선택 MUX(46)의 제2입력에 접속된다. 인터페이스 콘트롤러(32) 내부의 버스이며 시스템 인터페이스(146), 제어 및 상태 레지스터(150), 버퍼 콘트롤러(152), 송신기(154), 수신기(156)(제3도 참조)를 상호 접속하는 시스템 데이타 출력 하이/로우 버스(SDOHL<7:0>)의 신호는 데이타 선택 MUX(46)의 제3입력에 공급된다.The data selection MUX 46 selectively controls the data supplied to the BSD bus 180. Bits 7-0 of the shift register / counter 48 are connected to the second input of the data select MUX 46. System data that is a bus inside interface controller 32 and interconnects system interface 146, control and status registers 150, buffer controller 152, transmitter 154, and receiver 156 (see FIG. 3). The signal of the output high / low bus SDOHL <7: 0> is supplied to the third input of the data select MUX 46.

데이타 선택 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 결합된다.The signal supplied by the data selection MUX 46 is controlled by the control logic channel 58. 6 is a block diagram of a control logic circuit for controlling data supplied to the buffer system data bus by the data selection MUX. The jumper / jumper JP / JPLESS is supplied by the jumper mode decoder 44 to the first input of the control logic circuit 58 via the line 237. The READ13_ instruction for reading the address 13 of the buffer register 148 is supplied to the second input of the control logic circuit 58. The JP / JPLESS signal and the READ 13_ are NOR coupled in the control logic circuit 58 to generate the JPLS-READ 13 signal supplied to the data select MUX 46.

ID메모리로부터의 데이타 출력을 판독하기 위한 READ 11명령은 또한 데이타 선택 MUX(46)에도 공급된다. 표1은 데이타 선택 MUX(46)에 대해 선택된 출력에 관한 진리표이다.The READ 11 instruction for reading data output from the ID memory is also supplied to the data select MUX 46. Table 1 is a truth table for the selected output for the data selection MUX 46.

[표 1]TABLE 1

데이타 선택 MUX(46)의 출력은 양방향성 3-상태 버퍼(50)에 접속된다.The output of the data select MUX 46 is connected to a bidirectional tri-state buffer 50.

양방향성 3-상태 버퍼(50)의 양방향성 입출력 포트는 상술한 바와같은 버퍼 시스템 데이타 버스에 접속된다. 양방향성 3-상태 버퍼(50)는 버퍼 시스템 데이타 버스(180)와 인터페이스 콘트롤러(32) 사이의 데이타 흐름의 방향을 선택적으로 제어한다. 양방향성 3-상태 버퍼(50)로부터의 단일 방향 출력은 시스템 데이타 입력 로우(SDAIL <6:5>) 신호 및 SDAIL<7> 신호에 의해 각각 플립플롭(52)와 (54)에 접속된다. 양방향성 3-상태 버퍼(50)내에서 데이타 흐름의 방향은 제어 논리 회로(56)에 의해 제어된다.The bidirectional input / output port of the bidirectional tri-state buffer 50 is connected to the buffer system data bus as described above. The bidirectional tri-state buffer 50 selectively controls the direction of data flow between the buffer system data bus 180 and the interface controller 32. The unidirectional output from the bidirectional tri-state buffer 50 is connected to flip-flops 52 and 54 by the system data input low (SDAIL &lt; 6: 5>) signal and the SDAIL &lt; The direction of data flow in the bidirectional tri-state buffer 50 is controlled by the control logic circuit 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 신호를 발생시킨다.7 is a schematic diagram of a control logic circuit for controlling a bidirectional tri-state buffer. Referring to FIG. 6, the AND of the control logic circuit 58 converts the JP / JPLESS signal and the READ 13- signal to generate the SEL 13- signal supplied to both the configuration jumper buffer 39 and the control logic circuit 56. Synthesize Referring to FIG. 7, the SEL 13-signal is NAND coupled with the inverse of the system most significant bit (SYS_LSB_) so that in a first logical state, ie, logic "1", from interface controller 32 to BSD bus 180, and second logic. In the state, logic "0", on the contrary, a TRI-OUT signal is generated which instructs data to flow from BSD bus 180 to interface controller 32.

SYS_LSB 신호는 내부 FIFO 또는 레지스터(도시 생략)에 의해 공급되며 자격자(qualifier)이다. 그러므로 데이타 선택 MUX(46)는 ID메모리(36), 시프트 레지스터/카운터(48) 또는 SDOHL 버스 중 어느 하나로부터 BSD라인(180)상으로 데이타를 출력하도록 선택된다.The SYS_LSB signal is supplied by an internal FIFO or register (not shown) and is a qualifier. Therefore, the data selection MUX 46 is selected to output data on the BSD line 180 from any one of the ID memory 36, the shift register / counter 48, or the SDOHL bus.

라인(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)에 공급한다.A hardware reset signal on line 236, a JP / JPLESS signal on line 237, and a 20 MHz clock are supplied to the first, second, and third inputs of the jumper-free state machine 60. Ethernet interface module 26 operates on a 20 MHz clock signal from clock 118 (see FIG. 2) over line 238. The enable counter (ENCNTR) signal, which is the first input signal of the jumper-free state machine 60, is supplied to the shift register / counter 48 via line 244 so that the shift register / counter 48 serves as a shift register or counter. Command it to work. The shift register clock (SRCLK) signal is also supplied by shifting the data in the shift register / counter 48. The jumper-free state machine supplies a hardware control data input (HARD 1N) signal from a second output to the ID memory control MUX 62 via line 239, the MUX 62 via the line 200. The signal is selectively supplied to the ID memory 36. The jumper state device 60 supplies the hardware control shift clock (HARD SK) signal from the third output to the ID memory control MUX 62 via line 241, which sends the signal to the line. Via 204, the ID memory 36 is selectively supplied. The jumper state device 60 supplies a hardware control chip select (HARD CS) signal from the fourth output to the ID memory control MUX 62 via line 242, which feeds the signal to the line. Via 202, the ID memory 36 is selectively supplied. The jumper state device 60 supplies the MUX hardware select (MUXHW) signal from the fifth output to the ID memory MUX control circuit 69 via line 243.

제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)에 공급된다.8 is a schematic diagram of an ID memory MUX control circuit shown in FIG. The MUXHW signal is supplied via line 243 to the ID memory MUX control circuit 69, which causes it to be inverted and AND coupled with the JP / JPLESS signal to form the SEL_MUX signal. Referring again to FIG. 5, the SEL_MUX signal is used to select which of the signals from the jumper state device 60 or the signals from the flip-flops 52 and 54 to provide to the ID memory 36. Is supplied to the ID memory control MUX 62 via the controller.

신호중에서 소프트웨어 제어 칩 선택, 시프트 클록 및 데이타는 플립플롭(52, 54)으로 공급된다. 특히, SDAIL<6:5> 및 SDAIL<7>은 상술한 바와같이 각각 버퍼 시스템 데이타 버스(180)로부터 풀립플롭(52, 54)으로 공급된다.Among the signals, software control chip selection, shift clock and data are supplied to flip-flops 52 and 54. In particular, SDAIL <6: 5> and SDAIL <7> are supplied from the buffer system data bus 180 to the pull-flops 52, 54 as described above.

WRITE 10 신호 및 WRITE 11 신호 또한 각각 플립플롭(52)와 (54)에 공급된다.The WRITE 10 and WRITE 11 signals are also supplied to flip-flops 52 and 54, respectively.

시프트 레지스터/카운터(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> 사이에서 스위칭된다.Bits 2-0 of the shift register / counter 48 are supplied as a signal I / O SEL <2: 0> to the first input of the decoder select MUX 64. Bits 5-3 of the shift register / counter 48 are supplied to the second input of the decoder select MUX 64 as the signal MSEL <2: 0>. The I / O SEL <2: 0> command defined by the jumper is supplied via line 216 to the third input of decoder select MUX 64. A fourth input of the decoder select MUX 64 is connected to the bidirectional tri-state buffer 72. The bidirectional port of the bidirectional tri-state buffer 72 is connected to a signal line provided as an input of an MSEL <2: 0> command or an output of an interrupt request (IRQ <3: 0>) signal defined by a jumper. The input to the bidirectional tri-state buffer 72 is the first output of the interrupt request decoder 70. The second output of interrupt request decoder 70 is interrupt request 0. Bits 7-6 of the shift register / counter 48 are supplied to two inputs of the interrupt request decoder 70. Bidirectional tri-state buffer 72 is controlled by the JP / JPLESS command from jumper decoder 44 over line 237. The output of the decoder selection MUX 64 is connected to the memory address decoder 66 and the input / output address decoder 68. The outputs of the memory address decoder 66 and the input / output address decoder 68 are connected to the SRAM 138 (FIG. 3). Decoder selection MUX 64 is also controlled by the JP / JPLESS command from jumper decoder 44. Decoder select MUX 64 may select between output MSEL <2: 0> and I / O SEL <2: 0> from a jumper in response to shift register / counter 48 or JP / JPLESS command of logic 1 or logic 0. Switching.

이제 규정된 하드웨어와 함께 이더네트 인터페이스 모듈(26)의 동작을 제9도 내지 제12도를 참고로 설명하기로 한다. 제9도는 시스템 파워업시 또는 시스템 하드웨어 리셋 명령이 행해진 어떤 경우에 ID메모리로부터 시프트 레지스터/카운터로의 구성 바이트의 판독 및 메모리 어드레스 충돌의 해소에 관한 흐름도이다. 파워업시(단계 300), 중앙처리장치(12)는 개시 또는 초기화 명령으로서의 시스템 하드웨어 리셋 명령을 이더네트 인터페이스 모듈(26)을 포함하는 AT버스(14)상의 모듈로 공급한다. 리셋후 중앙처리장치(12)는 제1 AT버스 소유자가 된다. 하드웨어 리셋 명령은 정상적인 시스템 동작중 예를들면 사용자가 키보드(25)상의 콘트롤(Ctrl)키, 알트(Alt)키 및 딜리트(Del)키를 동시에 누름으로써 행해질 수도 있다. 다음에는 파워업 중에 행해진 하드웨어 리셋에 의한 시스템의 동작을 상세히 설명하기로 한다. 그러나 본 발명은 그것에 한정되는 것은 아니다.The operation of the Ethernet interface module 26 together with the prescribed hardware will now be described with reference to FIGS. FIG. 9 is a flowchart for reading a configuration byte from the ID memory to the shift register / counter and resolving a memory address conflict when the system is powered up or when a system hardware reset command is issued. At power up (step 300), central processing unit 12 supplies a system hardware reset command as a start or initialization command to a module on AT bus 14, including Ethernet interface module 26. After reset, the central processing unit 12 becomes the owner of the first AT bus. The hardware reset command may be executed during normal system operation, for example, by the user simultaneously pressing the control (Ctrl) key, the Alt key, and the Del key on the keyboard 25. Next, operation of the system by hardware reset performed during power-up will be described in detail. However, the present invention is not limited thereto.

하드웨어 리셋시 무점퍼 상태 기기(60)는 점퍼 디코더(44)로부터의 JP/JPLESS 신호가 시스템이 점퍼 시스템으로서 구성되는 것을 나타내는지 또는 무점퍼 시스템으로서 구성되는 것을 나타내는지의 여부를 결정한다. 무점퍼 모듈로서의 이더네트 인터페이스 모듈(26)의 동작을 먼저 설명하기로 한다.Upon hardware reset, the jumper state device 60 determines whether the JP / JPLESS signal from the jumper decoder 44 indicates that the system is configured as a jumper system or is configured as a jumper system. The operation of the Ethernet interface module 26 as a jumper module will first be described.

만약 시스템이 무점퍼 시스템이면 무점퍼 상태 기기(60)는 칩 선택 신호를 하이 상태로 설정함으로써 ID메모리(36)를 선택하도록 ID메모리 제어 MUX(62)를 명령한다. 시프트 클록 명령은 시리얼 데이타 출력(206)을 통해 ID메모리(36)로부터 시프트 레지스터/카운터(48)로 데이타를 시프트하도록 설정된다. 무점퍼 상태 기기(60)는 시프트 레지스터/카운터(48)에 임의의 명령을 송신하여 시프트 레지스터/카운터(48)가 시프트 레지스터로서 동작하고 ID메모리(36)로부터 시리얼 데이타 출력(206)에서 클록하도록 명령한다.If the system is a jumper-free system, the jumper state device 60 instructs the ID memory control MUX 62 to select the ID memory 36 by setting the chip select signal high. The shift clock command is set to shift data from ID memory 36 to shift register / counter 48 via serial data output 206. The jumper state device 60 sends any command to the shift register / counter 48 such that the shift register / counter 48 operates as a shift register and clocks at the serial data output 206 from the ID memory 36. Command

무점퍼 상태 기기(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에 나타나있다.The jumper state device 60 generates an appropriate signal to read the configuration byte from position 0x11 of the ID memory 36 and load it into the shift register / counter 48. As described above, bits 5-3 determine the memory base address. 10 is a map of memory base addresses for the AT bus. The memory address ranges from 0 (00 000 hexadecimal) to 16384K (FF FFFF hexadecimal). The address is actually 16384K-1. -1 is omitted from the address with the "K" suffix for simplicity. Several subranges within this address range are allocated or reserved for platform memory and BIOS. Address 0 (00 0000 hexadecimal)-512K (06 FFFF hexadecimal) is reserved for platform memory. Address 5112K (07 0000 hexadecimal)-640K (09 FFFF hexadecimal) is the address range for the platform memory. The address range 100000 (Hex)-FD FFFF (Hex) is reserved for slot memory. Within this address range, the Ethernet interface module 26 has an address range of C4000-DFFFF. The addresses assigned to the base address bits are shown in Table 2.

[표 2]TABLE 2

다시 제9도를 참조하면 이더네트 인터페이스 모듈(26)은 ID메모리(36)로부터의 구성바이트를 로딩한다. ID메모리(36)로부터의 구성 바이트를 판독하는 처리는 시스템 파워업시 시작하며 상술한 시스템 BIOS 파워업 초기화 및 체크아웃과 병행한다. 구성 바이트의 병렬 판독은 BIOS가 유효한 부트 RAM에 대한 ROM 위치를 주사하도록 한다. 만약 시스템이 적절히 부트업되면(단계 306) 부트 ROM 초기화 코드는 그 자원을 초기화하고 원하는 인터럽트 벡터를 대체하며(단계 307), 그 시스템 초기화를 완료하도록 시스템 BIOS 시스템 제어를 복귀시킨다.Referring back to FIG. 9, the Ethernet interface module 26 loads a configuration byte from the ID memory 36. As shown in FIG. The process of reading the configuration byte from the ID memory 36 starts at system power-up and is parallel to the system BIOS power-up initialization and checkout described above. Parallel reading of the configuration byte causes the BIOS to scan the ROM location for valid boot RAM. If the system boots up properly (step 306), the boot ROM initialization code initializes its resources, replaces the desired interrupt vector (step 307), and returns system BIOS system control to complete the system initialization.

반면, 시스템이 적절히 부트업하지 못하면 이더네트 인터페이스 모듈(26)과 컴퓨터(10)의 다른 애드-온 모듈 사이의 메모리 어드레스에 충둘이 있는 것으로 추정된다(단계 306). 메모리 충돌이 있으면 중앙처리장치(12)는 시스템 파워업중에 정지한다. 이 충돌을 해소하기 위하여 이더네트 인터페이스 모듈(26)은 컴퓨터(10)로부터 제거되고(단계 310), 제2컴퓨터 시스템(단계 312)에 설치된다. 제2시스템은 메모리 베이스 어드레스 충돌의 가능성을 줄임으로써 적절하게 동작하는지의 여부를 결정하기 위해 사용된다. 제2시스템은 제1시스템과 동일한 기본 구성을 갖지만 바람직하게는 다른 애드-온 모듈을 갖지 않기 때문에 이더네트 인터페이스 모듈(26)과 애드-온 모듈 사이의 메모리 충돌을 배제한다. 또 무점퍼 모드에서 제2시스템은 후술하는 바와같이 상이한 메모리 베이스 어드레스와 함께 ID메모리(36)를 재프로그램하기 위해 사용된다. 이더네트 인터페이스 모듈(26)을 제2시스템에 삽입한 후 제2시스템은 파워업된다. 제2시스템이 적절히 부트업되면 (단계 314), 이더네트 인터페이스 모듈(26)은 선택적인 것이며 제1시스템내의 문제가 메모리 충돌인 것으로 추정된다. 따라서 충돌을 해소하도록 이더네트 인터페이스 모듈(26)의 메모리 베이스 어드레스 위치를 재할당하는 것이 필수적이다.On the other hand, if the system fails to boot up properly, it is assumed that there is a full memory address between the Ethernet interface module 26 and other add-on modules of the computer 10 (step 306). If there is a memory conflict, the central processing unit 12 stops during system power up. To resolve this conflict, the Ethernet interface module 26 is removed from the computer 10 (step 310) and installed in the second computer system (step 312). The second system is used to determine whether to operate properly by reducing the likelihood of memory base address conflicts. The second system has the same basic configuration as the first system but preferably does not have other add-on modules, thus eliminating memory conflicts between the Ethernet interface module 26 and the add-on modules. Also in the jumper mode, the second system is used to reprogram the ID memory 36 with a different memory base address as described below. After inserting the Ethernet interface module 26 into the second system, the second system is powered up. If the second system boots up properly (step 314), the Ethernet interface module 26 is optional and it is assumed that the problem in the first system is a memory conflict. Therefore, it is necessary to reallocate the memory base address location of the Ethernet interface module 26 to resolve the conflict.

점퍼 모드에서 메모리 베이스 어드레스 위치는 점퍼 와이어를 물리적으로 부가하거나 변경하는 것에 의해 모듈의 메모리 베이스 구성 점퍼(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에 표시된 바와같은 범위로 증가한다.In jumper mode, memory base address locations are reassigned by changing the memory base configuration jumper 189 of the module by physically adding or changing jumper wires. In contrast, in the jumper mode, the memory base address position is changed by reprogramming the configuration byte of the ID memory 36. For example, if the memory base address position of the Ethernet interface module 26 originally stored as the configuration byte bits 5-3 is 000, the range of addresses corresponding to this value 000 is 0 x C4000 (hexadecimal) as shown in Table 2. ) -00 × C7FFF (hexadecimal). If there is a conflict of addresses, both the Ethernet interface module 26 and the second add-on module on the AT bus 14 operate by responding to addresses in this range. The memory base address of the Ethernet interface 26 is reallocated by changing bits 5-3 of the configuration byte. For example, by increasing bits 5-3 of 000-001, the memory base address range is increased to the range as shown in Table 2 of 0xC8000 (hexadecimal) -0xCBFFF (hexadecimal).

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)을 명령한다.In order to reprogram the ID memory 36, the central processing unit 12 must first read the configuration byte to know its current state. The central processing unit 12 sends a request for memory reading to the address of the configuration byte which is preferably at memory location 0x13. The central processing unit 12 transmits an input / output read (IOR) signal to the system data bus transceiver 40 to communicate data addresses and request instructions with the ID memory 36 via the system data bus. The other controller module 26 supplies the data from the buffer system data bus to the flip-flops 52, 54 to provide address, shift select, and shift clock commands to the ID memory 36. -Command the status buffer 50. The ID memory 36 supplies the requested configuration byte from the data output port to the data selection MUX 46 commanded by the Ethernet interface module 26 and outputs the data to the buffer system data bus. The interface controller 32 instructs the system data bus transceiver 40 to supply data from the buffer system data bus 180 to the system data bus 106 and disables the system data bus transceiver 40. The central processing unit 12 then instructs the Ethernet interface module 26 to increment bits 5-3 of the configuration byte and write the new configuration byte to the ID memory 36 at position 0x13 in the manner described above. In a manner similar to reading of the configuration bytes from the ID memory 36 by the central processing unit 12, the central processing unit supplies an appropriate command to the ID memory 36 via the system data bus 106, thereby providing a 0x13 memory. Instructs the Ethernet interface module 26 to write to the location.

다시 제9도를 참조하면, 이더네트 인터페이스 모듈(26)은 새로운 메모리 베이스 어드레스와 함께 재프로그램된 후 제1컴퓨터 시스템에 재설정되고(단계 317), 제1시스템은 단계 300을 반복함으로써 다시 파워업된다. 제1시스템은 그 부트업 루틴을 실행하며 단계 302에 대하여 상술한 바와같이 ID메모리(36)로부터의 구성 바이트를 시프트 레지스터/카운터에 로딩한다.Referring back to FIG. 9, the Ethernet interface module 26 is reprogrammed with the new memory base address and then reset to the first computer system (step 317), and the first system powers up again by repeating step 300. do. The first system executes its bootup routine and loads the configuration byte from ID memory 36 into the shift register / counter as described above for step 302.

인터페이스 콘트롤러(32)는 단계 304에서 구성 바이트를 디코드한다. 시스템이 단계 306에서 적절히 부트업되면 단계 316에서 수행되는 메모리 위치의 재할당이 보정되며 이더네트 인터페이스 모듈(26)은 단계 307에서 상술한 바와같이 진행된다. 반면 단계 306에서 재구성된 이더네트 인터페이스 모듈이 적절히 부트업되지 않으면 제1시스템으로부터 모듈을 제거하고 단계 310 및 312 에서 제2시스템에서 이것을 시험하는 처리가 반복된다.The interface controller 32 decodes the configuration byte at step 304. If the system boots up properly in step 306, the reallocation of the memory location performed in step 316 is corrected and the Ethernet interface module 26 proceeds as described above in step 307. On the other hand, if the Ethernet interface module reconfigured in step 306 is not properly booted up, the process of removing the module from the first system and testing it in the second system in steps 310 and 312 is repeated.

제2시스템이 단계 314에서 적절히 부트업하지 않으면 메모리의 구성 바이트는 단계 316(단계 318) 에서 상술한 바와같이 재구성된다. 제2시스템은 단계 314에서 리부트되도록 다시 시도된다. 그렇지 않으면 단계 318에서 메모리 위치를 재구성하는 대신 모듈은 다른 시스템에 삽입될 수 있고(단계 320), 단계 314에 대하여 상술한 바와같이 재부팅된 나머지 시스템에 삽입될 수 있다.If the second system does not boot up properly in step 314, the configuration bytes of memory are reconfigured as described above in step 316 (step 318). The second system is retried to reboot at step 314. Otherwise, instead of reconfiguring the memory location at step 318, the module may be inserted into another system (step 320) and inserted into the remaining system rebooted as described above with respect to step 314.

이더네트 인터페이스 모듈(26)이 모든 메모리 베이스 어드레스 충돌을 제거하도록 재구성된 후 다음으로 입출력 베이스 어드레스 충돌이 존재하는지의 여부가 결정된다. 개략적으로 시스템이 부트업되고 모든 메모리 베이스 어드레스 충돌이 상술한 바와같이 해소되는 것으로 가정하면 시스템은 이더네트 인터페이스 모듈(26)상의 소정수의 레지스터 위치로부터의 내용을 판독하고 그들을 기대값과 비교함으로써 입출력 베이스 어드레스를 점검한다. 다른 실시예에서 이더네트 인터페이스 모듈은 부트 메모리를 갖지 않는다. 이 실시예에서 충돌이 존재할 수 있는 이더네트 인터페이스 모듈에는 메모리가 없기 때문에 메모리 충돌을 해소시킬 필요가 없다. 만약 비교 결과가 부합되는 것으로 나타나면 입출력 베이스 어드레스 충돌이 없는 것이다. 반면에 시스템은 비교 결과가 부합되지 않는 것으로 나타나면 충돌이 있는 것으로 추정한다. 그러면 시스템은 소정의 레지스터 위치로부터 더미(dummy) 판독을 수행한다. 응답시 이더네트 인터페이스 모듈(26)은 입출력 베이스 어드레스를 증가시킨다. 시스템은 새로운 어드레스에서는 제외하고 레지스터 위치의 내용을 다시 판독하고 비교하며 충돌이 다시 존재하는지의 여부를 결정한다. 시스템은 충돌이 검출되지 않을 때까지 이 처리를 반복한다.After the Ethernet interface module 26 is reconfigured to eliminate all memory base address conflicts, it is next determined whether an input / output base address conflict exists. Roughly assuming that the system is booted up and all memory base address conflicts are resolved as described above, the system reads the contents from a predetermined number of register locations on the Ethernet interface module 26 and compares them with the expected values. Check the base address. In another embodiment, the Ethernet interface module does not have boot memory. In this embodiment there is no memory in the Ethernet interface module where conflicts may exist and there is no need to resolve memory conflicts. If the comparison results match, there is no I / O base address conflict. On the other hand, the system assumes there is a conflict if the comparison results do not match. The system then performs a dummy read from a given register location. In response, the Ethernet interface module 26 increments the input and output base address. The system reads back and compares the contents of the register location except at the new address and determines whether the conflict exists again. The system repeats this process until no collision is detected.

이하에서는 AT버스(14)에 대한 입출력 어드레스 베이스를 도시한 제11도를 참고로 입출력 어드레싱을 설명하기로 한다. 입출력 어드레스의 범위는 0(0000 16 진수) 내지 64K(FFFF 16 진수)이다. 이 어드레스 범위내에서 각각의 1K 범위는 2 개의 부범위로 나뉜다. 제1부범위는 메모리의 하위 256바이트이며 인터럽트 및 DMA 콘트롤러와 같은 입출력 플래트폼 자원을 위해 예약된다. 제2부범위는 통상의 입출력 종속 모듈을 위해 이용 가능한 나머지 상위 768 바이트이다.Hereinafter, the input / output addressing will be described with reference to FIG. 11 showing the input / output address base for the AT bus 14. The input / output address ranges from 0 (0000 hexadecimal) to 64K (FFFF hexadecimal). Within this address range, each 1K range is divided into two subranges. The first subrange is the lower 256 bytes of memory and is reserved for input and output platform resources such as interrupts and DMA controllers. The second subrange is the remaining high 768 bytes available for the normal input / output dependent module.

후술하는 바람직한 실시예에서 이더네트 인터페이스 모듈(26)은 제2부범위내에 있는 0 ×260(16 진수) 내지 0 ×3FF(16 진수)의 입출력 어드레스 범위를 갖는다. 상술한 바와같이 구성 바이트의 비트 2-0(I/O SEL <2:0> 이라칭함)은 입출력 베이스 어드레스를 결정한다. 표3은 0 ×260(16 진수) 내지 0 ×3FF(16 진수)의 어드레스 범위내의 구성 바이트에 대한 입출력 어드레스 디코딩을 도시한 것이다.In the preferred embodiment described below, the Ethernet interface module 26 has an input / output address range of 0x260 (hexadecimal) to 0x3FF (hexadecimal) within the second subrange. As described above, bits 2-0 (called I / O SEL <2: 0>) of the configuration byte determine the input / output base address. Table 3 shows I / O address decoding for configuration bytes in the address range of 0x260 (hexadecimal) to 0x3FF (hexadecimal).

[표 3]TABLE 3

제12도를 참고로 입출력 베이스 어드레스 충돌 루틴의 동작을 설명하기로 한다. 이 단계에서 메모리 베이스 어드레스 충돌은 제9∼제10도에서 상술한 바와같이 해소되는 것으로 추정된다(그렇지 않으면 이더네트 인터페이스 모듈이 부트 메모리를 가지지 않는 다른 실시예에서 상술한 바와같은 메모리 충돌을 해소시킬 필요가 없다). 컴퓨터는 파워업되며 제9도의 단계 300에 대해 상술한 바와같은 초기와 루틴을 수행한다(단계 330). 인터페이스 콘트롤러(32)는 ID메모리(36)로부터의 구성 바이트를 제9도에 대해 설명한 단계 302와 유사한 방식으로 시프트 레지스터/카운터(48)에 로딩한다(단계 332).Referring to FIG. 12, the operation of the input / output base address conflict routine will be described. At this stage, the memory base address conflict is assumed to be resolved as described above in FIGS. 9 to 10 (otherwise the memory interface address conflict as described above in other embodiments where the Ethernet interface module does not have boot memory) will be resolved. no need). The computer is powered up and performs the initialization and routine as described above for step 300 in FIG. 9 (step 330). The interface controller 32 loads the configuration byte from the ID memory 36 into the shift register / counter 48 in a manner similar to step 302 described with reference to FIG. 9 (step 332).

판독의 완성시 시프트 레지스터/카운터(48)는 무점퍼 상태 기기(60)에 의해 카운터 모드로 설정된다. 이 모드에서 이더네트 인터페이스 모듈(26)의 입출력 베이스 어드레스를 결정하는 구성 바이트의 비트 2-0만이 카운터에 의해 증가된다. 구성 바이트의 나머지 비트는 변경되지 않은채 남아있다. 인터페이스 콘트롤러(32)는 구성 바이트를 입출력 베이스 어드레스, 메모리 베이스 어드레스로 디코드하고 제9도의 단계 304에 대해 상술한 것과 유사한 방식으로 인터럽트한다. 또 이더네트 인터페이스 모듈(26)의 레지스터내의 "더티(dirty)" 비트는 특정 전지의 레지스터 및 카운터 모드를 감시하도록 할당된다. 중앙처리장치(12)는 초기 범위내에서 메모리로부터 판독한다(단계 336). 보다 구체적으로 중앙처리장치(12)는 인터페이스 콘트롤러(32)의 8개의 레지스터의 내용을 판독하도록 입출력 프로그램을 입력한다. 각각의 레지스터는 8바이트를 갖는 것이 바람직하다. 8개의 레지스터의 판독은 단지 예로서 들기 위한 것이다. 본 발명은 8개의 레지스터만을 판독하는데 제한되는 것은 아니다. 소프트웨어 프로그래머는 AT버스(14)상의 2개의 상이한 애드-온 모듈이 충돌이 존재하는지를 결정하는 중앙처리장치(l2)에 의해 판독되는 레지스터 위치에 저장되는 동일한 값을 동시에 갖지 않은 소정의 확률과 부합하기 위하여 원하는 레지스터의 수보다 적거나 동수의 레지스터를 판독한다.Upon completion of reading, the shift register / counter 48 is set to the counter mode by the jumper state device 60. In this mode, only bits 2-0 of the configuration byte that determine the input and output base address of the Ethernet interface module 26 are incremented by the counter. The remaining bits of the configuration byte remain unchanged. The interface controller 32 decodes the configuration byte into an input / output base address, a memory base address and interrupts in a manner similar to that described above for step 304 of FIG. In addition, the "dirty" bits in the registers of the Ethernet interface module 26 are assigned to monitor the register and counter mode of the particular cell. The central processing unit 12 reads from the memory within the initial range (step 336). More specifically, the central processing unit 12 inputs an input / output program to read the contents of the eight registers of the interface controller 32. Each register preferably has eight bytes. The reading of the eight registers is for illustrative purposes only. The present invention is not limited to reading only eight registers. The software programmer may match a predetermined probability that two different add-on modules on the AT bus 14 do not simultaneously have the same value stored in a register location read by the central processing unit l2 to determine if a collision exists. Read fewer or equal registers to the desired number of registers.

파워업시 인터페이스 콘트롤러(32)의 8개의 레지스터는 하드디스크(16)상에 기록된 유틸리티 프로그램의 부분으로서의 모듈 식별자 또는 "컴패니 코드(company code)"로서 또한 저장된다. 모듈 식별자는 바람직하게는 AT버스상의 다른 모듈에 대한 모듈을 유일하게 식별한다. 모듈 식별자는 이더네트 인터페이스 모듈(26)의 제1 의 8개의 레지스터의 초기치인 것이 바람직하다.The eight registers of the interface controller 32 at power up are also stored as a module identifier or "company code" as part of the utility program recorded on the hard disk 16. The module identifier preferably uniquely identifies a module to another module on the AT bus. The module identifier is preferably the initial value of the first eight registers of the Ethernet interface module 26.

중앙처리장치(12)가 이들 8개의 레지스터를 판독한 후 하드디스크(16)로부터의 모듈 식별자를 판독하여 그것을 레지스터로부터의 판독값과 비교하는 소프트웨어 유틸리티를 실행한다(단계 338). 중앙처리장치(12)는 그 판독값이 모듈 식별자의 값과 부합하는 것으로 기대하기 때문에 입출력 베이스 어드레스 충돌로서 이들 두값 사이의 차를 해석한다. 만약 판독값과 컴패니 코드가 부합하면(단계 340) 중앙처리장치(12)는 이것을 이더네트 인터페이스 모듈(26)과 AT버스(14)상의 다른 모듈 사이에 입출력 베이스 어드레스 충돌이 없는 것으로 해석하고 이더네트 인터페이스 모듈(26)에 대한 유일한 입출력 베이스 어드레스를 발견한 것으로 해석한다(단계 342).The central processing unit 12 reads these eight registers and then executes a software utility that reads the module identifiers from the hard disk 16 and compares them with the readings from the registers (step 338). The central processing unit 12 interprets the difference between these two values as an input / output base address conflict because it expects the read value to match the value of the module identifier. If the readout and the company code match (step 340), the CPU 12 interprets this as no input / output base address conflict between the Ethernet interface module 26 and other modules on the AT bus 14 and the Ethernet The unique input / output base address for the interface module 26 is interpreted as being found (step 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메모리를 액세스하도록 해준다.On the other hand, if the contents of the eight registers read by the central processing unit 12 differ from those expected in step 340, the system interprets this as an input / output base address conflict or the Ethernet interface module 26 reads the input / output of the central processing unit immediately. It is interpreted that it is not in the address. The system ignores the presence of the Ethernet interface module 26 but the software utility continues to attempt to read from the predetermined memory location. This predetermined memory location is preferably at address 0x12 (hexadecimal). In the preferred embodiment, the central processing unit 12 attempts to read the code from the Ethernet interface module 26 by determining if there is an address conflict. If the central processing unit 12 attempts to write to some kind of memory device, the readout is desirable because the Ethernet interface module 26 may be physically damaged by collision addressing. This read is "dummy read" because the shift register / counter 48 is set for the counter mode and the central processing unit 12 does not protect what is actually read. When a dummy read is made every time in the counter mode, the shift register / counter 48 increments the value of bits 2-0 by one so that the input / output base address jumps to the next address range as defined in Table 3. The initial input / output base address range is preferably set such that 0x300 (hexadecimal) -0x31F (hexadecimal) specified by bit 2-0 of the configuration byte together with the value 111. When the counter is incremented upon reading from memory location 0x12, bits 2-0 of the configuration byte are changed to a value of 000 corresponding to the new address range 0x260 (hexadecimal) -0x27F (hexadecimal). The utility program reads the interface controller 32 for the correct module identifier each time the shift register / counter 48 sums up to the next base input / output address. This allows Ethernet interface module 26 to dynamically reconfigure itself to non-conflicting input and output base addresses. However, after 7 increments, bit 2-0 returns to the value of 111. After this memory reads 8, the system does not have an Ethernet interface module 26 or an input / output base output is available. Central processing unit 12 determines whether the module position is within the range of memory being read (step 346). If the result is not within that range the value of the configuration byte is not incremented and the system returns to step 338 to read the register from the memory and compare the reading with the expected value. If there is a mismatch between the two at step 340, the CPU 12 proceeds to step 342. The central processing unit sends a write command to a predetermined address and the interface controller 32 sets the shift register / counter 48 to the counter mode to switch to the user mode and allow the user to access the ID memory from the system side when desired. .

반면에 모듈 어드레스가 단계 346에서 판독되는 메모리의 범위내에 있으면, 중앙처리장치(12)는 이것이 그 범위의 최종 메모리 증가인지의 여부를 결정하여 (단계 350) 만약 그렇다면 입출력 베이스 어드레스 범위 슬롯은 전혀 이용될 수 없거나 또는 이더네트 인터페이스 모듈(26)은 시스템에 설정되지 않은 것이다(단계 354). 반면 메모리 판독이 메모리 범위의 최종 메모리 증가가 아니면 콘트롤러 칩(32)은 시프트 레지스터/카운터(48)의 비트 2-0을 증가시킴으로써 이더네트 인터페이스 모듈(26)의 입출력 베이스 어드레스를 증가시킨다(단계 352). 중앙처리장치는 입출력 베이스 어드레스를 증가시키고 (단계 353), 증가된 입출력 베이스 어드레스에서 8개의 레지스터로부터 판독한다(단계 348). 중앙처리장치(12)는 판독값을 기대값과 비교하도록 단계 338로 복귀시킨다.On the other hand, if the module address is within the range of memory read in step 346, the central processing unit 12 determines whether this is the last memory increment of the range (step 350) and if so the I / O base address range slot is not used at all. Or Ethernet interface module 26 is not configured in the system (step 354). On the other hand, if the memory read is not the last memory increase in the memory range, the controller chip 32 increases the I / O base address of the Ethernet interface module 26 by increasing bits 2-0 of the shift register / counter 48 (step 352). ). The CPU increases the input / output base address (step 353) and reads from eight registers at the increased input / output base address (step 348). Central processing unit 12 returns to step 338 to compare the reading to the expected value.

시프트 레지스터/카운터(48)의 구성 바이트를 우연한 기록으로부터 어드레스 0 ×12로 급격히 변경시키는 것을 피하기 위해 소프트웨어적인 디스에이블이 제공된다. 데이타 링크 레지스터의 입출력 베이스 로크 취소 비트(unlock bit)를 0으로 설정함으로써 시프트 레지스터/카운터(48)는 시스템 하드웨어 리셋이 다시 수행될 때까지 디스에이블된다. 리셋 명령시 로크 취소 비트는 이더네트 인터페이스 모듈(26)이 동적으로 그 자신을 비충돌 입출력 베이스 어드레스로 재구성하도록 하는 1로 설정된다.Software disable is provided to avoid abruptly changing the configuration byte of shift register / counter 48 from accidental write to address 0x12. By setting the I / O base lock unlock bit of the data link register to zero, the shift register / counter 48 is disabled until a system hardware reset is performed again. The lock cancel bit in the reset command is set to 1 to cause the Ethernet interface module 26 to dynamically reconfigure itself to a non-conflicting input and output base address.

일단 입출력 어드레스 충둘이 해소되면 소프트웨어는 그 초기와 루틴을 진행할 수 있다. 이더네트 인터페이스 모듈(26)은 지정된 더티 비트를 설정/재설정함으로써 시프트 레지스터/카운터(48)를 다시 레지스터 모드로 설정한다. 유틸리티 프로그램은 시프트 레지스터/카운터(48)로부터 새로운 구성 바이트를 판독하고 새로운 베이스 어드레스와 함께 ID메모리(36)에 저장된 구성 바이트를 재프로그램할 수 있다.Once the input and output addresses are resolved, the software can proceed through its initials and routines. Ethernet interface module 26 sets shift register / counter 48 back to register mode by setting / resetting the specified dirty bit. The utility program can read the new configuration byte from the shift register / counter 48 and reprogram the configuration byte stored in ID memory 36 with the new base address.

이하에서는 입출력 어드레스 프로그램이 완료된 후의 인터럽트를 설명하기로 한다. 상술한 바와같이 비트 7-6은 인더럽트 라인 구성에 전용으로 제공된다. 인터럽트는 애드-온 카드가 중앙처리장치(12)에 의한 인더럽트 서비스를 요청하도록 한다. 이들 비트는 이더네트 인터페이스 모듈(26)의 주 인터페이스측에서 이용 가능한 4개의 인터럽트 라인들 중 임의의 어느 하나를 선택하기 위해 프로그램 가능하다. 사용자는 이들 라인을 시스템 사용자에 대하여 이용 가능한 4개의 시스템 인터럽트 라인, 즉 인터럽트 0-3중 임의의 세트에 접속할 수 있는 선택권을 갖는다. 유틸리티는 인터럽트 구성을 시험하여 만약 충돌이 있다면 다음의 이용 가능한 인터럽트 옵션과 함께 ID메모리(36)를 재프로그램하고 시스템을 리부트하며 그 구성을 재시험한다.Hereinafter, the interrupt after the input / output address program is completed will be described. As discussed above, bits 7-6 are dedicated to interrupt line configurations. The interrupt causes the add-on card to request an interrupt service by the central processing unit 12. These bits are programmable to select any one of the four interrupt lines available on the primary interface side of Ethernet interface module 26. The user has the option to connect these lines to any set of four system interrupt lines available to the system user, interrupt 0-3. The utility tests the interrupt configuration and if there is a conflict, reprograms ID memory 36 with the next available interrupt option, reboots the system and retests the configuration.

표 4는 인터럽트 비트 정의의 리스트이다.Table 4 lists the interrupt bit definitions.

[표 4]TABLE 4

ID메모리(36)가 임의의 메모리와 입출력 베이스 어드레스 및 인터럽트 충돌을 해소시키도록 재프로그램된 후에는 구성 바이트의 추가의 재프로그램이 불필요하다. 구성이 완료되면 후속되는 컴퓨터(10)의 사용에 의한 어떤 충돌도 없게 된다.After the ID memory 36 has been reprogrammed to resolve any memory and I / O base address and interrupt conflicts, no additional reprogramming of the configuration bytes is necessary. Once the configuration is complete there will be no conflict by subsequent use of the computer 10.

본 발명은 바람직한 실시예에 기술되고 개시되어 있으나 당업자라면 다른 수정 및 변경을 가할 수 있다. 그러므로 본 발명은 첨부된 특허청구의 범위에 의해서만 제한되도록 의도되어 있다.Although the present invention has been described and disclosed in the preferred embodiments, those skilled in the art may add other modifications and changes. Therefore, it is intended that this invention be limited only by the scope of the appended claims.

Claims (21)

Translated fromKorean
(정정) 통신 버스 상에서 다른 어드레스 가능한 인터페이스 모듈과 함께 중앙 처리 장치에 결합하기 위한 어드레스 가능한 인터페이스 모듈용 인터페이스 콘트롤러로서, 상기 각 인터페이스 모듈은, 메모리 베이스 어드레스를 이용하여 인터페이스 모듈로부터의 구성 데이타 및 다른 데이타를 통신 버스로 판독하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 판독 명령 또는 메모리 베이스 어드레스를 이용하여 통신 버스로부터의 데이타를 인터페이스 모듈로 기록하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 기록 명령에 응답하고, 상기 중앙 처리 장치는 인터페이스 모듈로부터 판독된 상기 구성 데이타를 소정의 데이타와 비교하여 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 메모리 베이스 어드레스와 동일한 지의 여부를 판단하고, 소정의 메모리 어드레스를 이용하여 더미 판독 명령을 통신 버스 상에 발행하도록 실행하는 인터페이스 콘트롤러에 있어서, 대응하는 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하는데 있어서 대응하는 인터페이스 모듈에 의한 사용을 위해 저장된 메모리 베이스 어드레스와, 대응하는 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하도록 수정된 메모리 베이스 어드레스를 포함하는 상기 저장된 메모리 베이스 어드레스를 디코딩하는 디코더와, 상기 구성 데이타를 판독하기 위한 판독 명령에 응답하는 상기 저장된 메모리 베이스 어드레스를 이용하여 메모리 어드레스에 저장된 구성 데이타를 판독하는 수단과, 상기 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 유일한 메모리 베이스 어드레스와 동일한 경우 상기 저장된 메모리 베이스 어드레스를 자동 수정하고, 상기 저장된 메모리 베이스 어드레스를 상기 수정된 메모리 베이스 어드레스로 수정하기 위해 상기 소정의 메모리 어드레스를 이용하여 더미 판독 명령에 응답하는 수단을 포함하는 자동 수정 수단을 포함하는 것을 특징으로 하는 인터페이스 콘트롤러.(Correction) An interface controller for an addressable interface module for coupling to a central processing unit together with other addressable interface modules on a communication bus, wherein each interface module uses configuration data and other data from the interface module using a memory base address. The central processing unit on the communication bus to write data from the communication bus to the interface module using a memory base address or a read command using the memory address provided by the central processing unit on the communication bus to read the data into the communication bus. In response to a write command using the memory address provided by the CPU, the central processing unit compares the configuration data read from the interface module with predetermined data to compare the memory base for the interface module. An interface controller that determines whether an address is the same as a memory base address for one of the other interface modules, and executes a dummy read command on a communication bus using a predetermined memory address, wherein A memory base address stored for use by a corresponding interface module in determining a unique memory base address for a response, and a memory base address modified to determine a unique memory base address for a response by a corresponding interface module. Stored at a memory address using a decoder for decoding the stored memory base address and the stored memory base address in response to a read command for reading the configuration data. Means for reading configuration data and automatically modifying the stored memory base address if the memory base address for the interface module is the same as the unique memory base address for one of the other interface modules, and storing the modified memory base address with the modified memory. And automatic modifying means including means for responding to a dummy read command using said predetermined memory address to modify to a base address.(정정) 제1항에 있어서, 상기 인터페이스 콘트롤러는 단일 집적 회로 칩 상에 형성되는 것을 특징으로 하는 인터페이스 콘트롤러.(Correct) The interface controller according to claim 1, wherein the interface controller is formed on a single integrated circuit chip.(정정) 제1항에 있어서, 상기 수정 수단은 상기 저장된 메모리 베이스 어드레스에 의해 표시되는 값을 증분하도록 조정하는 카운터를 포함하는 것을 특징으로 하는 인터페이스 콘트롤러.(Correct) The interface controller according to claim 1, wherein the correction means includes a counter which adjusts to increment the value indicated by the stored memory base address.(정정) 제3항에 있어서, 상기 인터페이스 콘트롤러는 상기 저장된 메모리 베이스 어드레스를 초기에 저장하는 메모리를 포함하고, 상기 카운터는 증분 조정되기 전에 메모리로부터 상기 저장된 메모리 베이스 어드레스를 수신하도록 결합되는 것을 특징으로 하는 인터페이스 콘트롤러.(Correct) The interface controller of claim 3, wherein the interface controller includes a memory that initially stores the stored memory base address, and wherein the counter is coupled to receive the stored memory base address from memory before incremental adjustment. Interface controller.(정정) 제4항에 있어서, 메모리로부터의 상기 저장된 메모리 베이스 어드레스의 판독 및 상기 저장된 메모리 베이스 어드레스에 대응하는 신호의 카운터로의 로딩을 제어하는 상태 기기를 포함하는 것을 특징으로 하는 인터페이스 콘트롤러.(Correct) The interface controller according to claim 4, comprising a state machine which controls reading of the stored memory base address from the memory and loading of a signal corresponding to the stored memory base address to a counter.(정정) 제1항에 있어서, 상기 저장된 메모리 베이스 어드레스는 수정되는 메모리 베이스 어드레스인 제1메모리 베이스 어드레스와 메모리 어드레스 공간을 위한 메모리 베이스 어드레스인 제2메모리 베이스 어드레스를 포함하고, 상기 디코더는 인터페이스 콘트롤러에 개별적인 메모리 베이스 어드레스를 제공하도록 상기 제1 및 제2메모리 베이스 어드레스를 디코딩하는 수단을 포함하는 것을 특징으로 하는 인터페이스 콘트롤러.(Correct) The memory base address of claim 1, wherein the stored memory base address includes a first memory base address that is a memory base address to be modified and a second memory base address that is a memory base address for a memory address space, and wherein the decoder is an interface controller. Means for decoding the first and second memory base addresses to provide separate memory base addresses to the controller.(정정) 다른 어드레스 가능한 인터페이스 모듈 및 중앙 처리 장치와 함께 통신망 사이에서 통신 버스에 결합하기 위한 자동 재구성 가능하고 어드레스 가능한 인터페이스 모듈로서, 상기 각 인터페이스 모듈은, 메모리 베이스 어드레스를 이용하여 인터페이스 모듈로부터의 구성 데이타 및 다른 데이타를 통신 버스로 판독하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 판독 명령 또는 메모리 베이스 어드레스를 이용하여 통신 버스로부터의 데이타를 인터페이스 모듈로 기록하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 기록 명령에 응답하고, 상기 중앙 처리 장치는 인터페이스 모듈로부터 판독된 상기 구성 데이타를 소정의 데이타와 비교하여 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 메모리 베이스 어드레스와 동일한 지의 여부를 판단하고, 소정의 메모리 어드레스를 이용하여 더미 판독명령을 통신 버스 상에 발행하도록 실행하는 자동 재구성 가능한 인터페이스 모듈에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈에 대해 유일한 구성 데이타를 저장하는 메모리와, 대응하는 자동 재구성 가능한 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하는데 있어서 자동 재구성 가능한 인터페이스 모듈에 의한 사용을 위해 메모리 베이스 어드레스를 저장하는 레지스터와, 중앙 처리 장치에 의한 소정의 데이타와의 비교를 위해 메모리로부터 구성 데이타를 판독하도록 상기 판독 명령에 응답하는 저장된 메모리 베이스 어드레스를 이용하여 메모리에 저장된 구성 데이타를 판독하는 수단과, 상기 저장된 메모리 베이스 어드레스를 수정된 메모리 베이스 어드레스로 수정하기 위해 소정의 메모리 어드레스를 이용하여 더미 판독 명령에 응답하는 수단과, 대응하는 자동 재구성 가능한 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하도록 상기 수정된 메모리 베이스 어드레스를 포함하는 저장된 메모리 베이스 어드레스를 디코딩하는 디코더를 포함하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.(Correction) An automatically reconfigurable and addressable interface module for coupling to a communication bus between communication networks with other addressable interface modules and a central processing unit, each interface module configured from an interface module using a memory base address. On a communication bus to write data from the communication bus to the interface module using a memory base address or a read command using a memory address provided by the central processing unit on the communication bus to read data and other data onto the communication bus. In response to a write command using a memory address provided by the central processing unit, the central processing unit compares the configuration data read from the interface module with predetermined data, An automatic reconfigurable interface module that determines whether a rebase address is the same as a memory base address for one of the other interface modules, and executes a dummy read command on a communication bus using a predetermined memory address. A memory storing unique configuration data for the auto-reconfigurable interface module and a memory base address for use by the auto-reconfigurable interface module in determining a unique memory base address for response by the corresponding auto-reconfigurable interface module. Using a stored memory base address responsive to the read command to read configuration data from the memory for comparison with a register to store and predetermined data by the central processing unit. Means for reading configuration data stored in memory, means for responding to a dummy read command using a predetermined memory address to modify the stored memory base address to a modified memory base address, and a corresponding automatically reconfigurable interface module. And a decoder to decode a stored memory base address comprising the modified memory base address to determine a unique memory base address for response.(정정) 제7항에 있어서, 상기 통신 버스를 통해 전송된 데이타를 위한 추가의 메모리를 더 포함하며, 상기 레지스터는 상기 추가 메모리에 대한 추가 메모리 베이스 어드레스를 저장하며, 상기 디코더는 상기 추가 메모리 베이스 어드레스를 추가 메모리를 어드레스하기 위한 개별적인 메모리 베이스 어드레스로 디코딩하는 수단을 포함하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.(Correction) The apparatus of claim 7, further comprising additional memory for data transferred over the communication bus, the register storing an additional memory base address for the additional memory, and the decoder storing the additional memory base Means for decoding the address into a separate memory base address for addressing additional memory.(정정) 제7항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은 통신 버스와 통신망 사이에 인터페이스를 제공하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.(Correction) The automatic reconfigurable interface module of claim 7, wherein the automatic reconfigurable interface module provides an interface between the communication bus and the communication network.(정정) 제9항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은 근거리 통신망과 인터페이스하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.(Correction) The automatic reconfigurable interface module according to claim 9, wherein the automatic reconfigurable interface module interfaces with a local area network.(정정) 제10항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은 이더네트 통신망과 인터페이스하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스모듈.(Correct) The automatic reconfigurable interface module according to claim 10, wherein the automatic reconfigurable interface module interfaces with an Ethernet communication network.(정정) 제7항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은 AT통신 버스와 인터페이스하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.(Correct) The automatic reconfigurable interface module of claim 7, wherein the automatic reconfigurable interface module interfaces with an AT communication bus.(정정) 제7항에 있어서, 상기 통신 버스에 결합되어 통신 버스와의 통신을 제어하는 시스템 인터폐이스와, 자동 재구성 가능한 인터페이스 모듈과 통신 버스 또는 통신망 사이에서 통신되는 데이타를 저장하는 버퍼 메모리 및 이 버퍼 메모리로부터의 데이타 전송을 제어하는 버퍼 콘트롤러와, 상기 버퍼 콘트롤러로부터의 명령에 응답하여 데이타를 처리하고 통신망에 공급하는 송신기와, 상기 통신망으로부터의 데이타를 수신하고 처리하는 수신기를 더 포함하는 것을 특징으로 하는 자동 재구성 가능한 인터페이스 모듈.(Correction) The system according to claim 7, further comprising: a system memory coupled to the communication bus for controlling communication with the communication bus, a buffer memory for storing data communicated between an automatically reconfigurable interface module and the communication bus or network; A buffer controller for controlling data transfer from the buffer memory, a transmitter for processing data in response to a command from the buffer controller and for supplying the data to a communication network, and a receiver for receiving and processing data from the communication network. Features auto-reconfigurable interface module.(정정) 통신 버스와, 상기 통신 버스에 각각 결합하고, 메모리 베이스 어드레스를 이용하여 인터페이스 모듈로부터의 구성 데이타 및 다른 데이타를 통신 버스로 판독하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 판독 명령 또는 메모리 베이스 어드레스를 이용하여 통신 버스로부터의 데이타를 인터페이스 모듈로 기록하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 기록 명령에 응답하고, 최소한 하나의 어드레스 가능한 인터페이스 모듈은 자동 재구성 가능한 인터페이스 모듈을 포함하는 다수의 어드레스 가능한 인터페이스 모듈과, 인터페이스 모듈로부터 판독된 상기 구성 데이타를 소정의 데이타와 비교하여 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 메모리 베이스 어드레스와 동일한 지의 여부를 판단하고, 소정의 메모리 어드레스를 이용하여 더미 판독 명령을 통신 버스 상에 발행하도록 실행하는 상기 중앙 처리 장치를 포함하며, 상기 자동 재구성 가능한 인터페이스 모듈은, 상기 자동 재구성 가능한 인터페이스 모듈에 대해 유일한 구성 데이타를 저장하는 메모리와, 대응하는 자동 재구성 가능한 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하는데 있어서 자동 재구성 가능한 인터페이스 모듈에 의한 사용을 위해 메모리 베이스 어드레스를 저장하는 레지스터와, 중앙 처리 장치에 의한 소정의 데이타와의 비교를 위해 메모리로부터 구성 데이타를 판독하도록 상기 판독 명령에 응답하는 저장된 메모리 베이스 어드레스를 이용하여 메모리에 저장된 구성 데이타를 판독하는 수단과, 상기 저장된 메모리 베이스 어드레스를 수정된 메모리 베이스 어드레스로 수정하기 위해 소정의 메모리 어드레스를 이용하여 더미 판독 명령에 응답하는 수단과, 대응하는 자동 재구성 가능한 인터페이스 모듈에 의한 응답을 위해 유일한 메모리 베이스 어드레스를 결정하도록 상기 수정된 메모리 베이스 어드레스를 포함하는 저장된 메모리 베이스 어드레스를 디코딩하는 디코더를 포함하는 것을 특징으로 하는 마이크로프로세서 시스템.(Correction) a memory address provided by the central processing unit on the communication bus, coupled to the communication bus and respectively, for reading configuration data and other data from the interface module into the communication bus using the memory base address. At least one addressable interface in response to a write command using a memory address provided by the central processing unit on the communication bus to write data from the communication bus to the interface module using a read command or a memory base address. The module includes a plurality of addressable interface modules including an automatically reconfigurable interface module, and the memory base addresses for the interface modules differ from each other by comparing the configuration data read from the interface module with predetermined data. And a central processing unit that determines whether or not a memory base address for one of the interface modules is the same and executes a dummy read command on a communication bus using a predetermined memory address, wherein the automatically reconfigurable interface The module may include memory for storing unique configuration data for the auto reconfigurable interface module and for use by the auto reconfigurable interface module in determining a unique memory base address for response by the corresponding auto reconfigurable interface module. Using a register to store a memory base address and a stored memory base address responsive to the read command to read configuration data from the memory for comparison with predetermined data by the central processing unit. Means for reading configuration data stored in a memory, means for responding to a dummy read command using a predetermined memory address to modify the stored memory base address to a modified memory base address, and a corresponding automatically reconfigurable interface module. And a decoder to decode a stored memory base address comprising the modified memory base address to determine a unique memory base address for response.(정정) 제14항에 있어서, 상기 자동 재구성 가능한 인터페이스 모듈은, 중앙 처리 장치와 자동 재구성 가능한 인터페이스 모듈 사이에서 통신 버스상에 데이타를 전송시키도록 결합된 데이타 버스와, 통신 버스 상에서 어드레스 신호를 중앙 처리 장치 버스로부터 자동 재구성 가능한 인터페이스 모듈로 전송시키도록 결합된 어드레스 버스를 포함하는것을 특징으로 하는 마이크로프로세서 시스템.(Correction) The apparatus of claim 14, wherein the automatically reconfigurable interface module comprises: a data bus coupled to transfer data on a communication bus between the central processing unit and the automatically reconfigurable interface module; And an address bus coupled to transfer from a processing device bus to an automatically reconfigurable interface module.(정정) 제14항에 있어서, 상기 재구성 가능한 인터페이스 모듈은 상기 통신 버스를 통해 전송된 데이타를 위한 추가 메모리를 포함하며, 상기 레지스터는 추가 메모리의 메모리 공간을 위한 베이스를 설정하는 추가 메모리 베이스 어드레스를 저장하고, 상기 디코더는 추가 메모리를 어드레스하는 개별적인 메모리 베이스 어드레스로 상기 추가 메모리 베이스 어드레스를 디코딩하는 것을 특징으로 하는 마이크로프로세서 시스템.(Correction) 15. The memory device of claim 14, wherein the reconfigurable interface module includes additional memory for data transferred over the communication bus, and the register stores an additional memory base address that sets a base for the memory space of the additional memory. And the decoder decodes the additional memory base address into a separate memory base address that addresses the additional memory.(정정) 어드레스 가능한 인터페이스 모듈에 대해 유일한 메모리 베이스 어드레스를 자동으로 발생시키는 방법으로서, 상기 어드레스 가능한 인터페이스 모듈은 통신 버스 상에서 다른 어드레스 가능한 인터페이스 모듈과 함께 중앙 처리 장치에 결합되고, 상기 각 인터페이스 모듈은 메모리 베이스 어드레스를 이용하여 인터페이스 모듈로부터의 구성 데이타 및 다른 데이타를 통신 버스로 판독하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 판독 명령 또는 메모리 베이스 어드레스를 이용하여 통신 버스로부터의 데이타를 인터페이스 모듈로 기록하기 위해 통신 버스 상에 중앙 처리 장치에 의해 제공되는 메모리 어드레스를 이용하는 기록 명령에 응답하고, 상기 중앙 처리 장치는 인터페이스 모듈로부터 판독된 상기 구성 데이타를 소정의 데이타와 비교하여 인터페이스 모듈용 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 메모리 베이스 어드레스와 동일한 지의 여부를 판단하고, 소정의 메모리 어드레스를 이용하여 더미 판독 명령을 통신 버스 상에 발행하도록 실행하는 방법에 있어서, 메모리 베이스 어드레스를 인터페이스 모듈에 저장하는 단계와, 구성 데이타를 판독하기 위한 판독 명령에 응답하는 저장된 메모리 어드레스를 이용하여 메모리 어드레스에 저장된 구성 데이타를 판독하는 단계와, 상기 저장된 메모리 베이스 어드레스가 다른 인터페이스 모듈중 하나를 위한 유일한 메모리 베이스 어드레스와 동일한 경우 소정의 메모리 어드레스를 이용하여 더미 판독 명령에 응답하여 상기 저장된 메모리 베이스 어드레스를 수정된 메모리 베이스 어드레스로 수정하는 단계와, 인터페이스 모듈에 의한 응답을 위해 상기 유일한 메모리 베이스 어드레스를 결정하는데 있어서 인터페이스 모듈에 의한 사용을 위해 수정된 어드레스를 디코딩하는 단계를 포함하는 것을 특징으로 하는 방법.A method of automatically generating a unique memory base address for a (corrected) addressable interface module, wherein the addressable interface module is coupled to a central processing unit along with other addressable interface modules on a communication bus, each interface module being a memory. Data from the communication bus using a memory base address or a read command using the memory address provided by the central processing unit on the communication bus to read configuration data and other data from the interface module using the base address. In response to a write command using a memory address provided by the central processing unit on the communication bus to write the data to the interface module, the central processing unit reading from the interface module. The configured data is compared with predetermined data to determine whether the memory base address for the interface module is the same as the memory base address for one of the other interface modules, and using the predetermined memory address, a dummy read command is issued on the communication bus. 12. A method for executing to a computer, the method comprising: storing a memory base address in an interface module, reading configuration data stored at a memory address using a stored memory address responsive to a read command for reading configuration data; Modifying the stored memory base address in response to a dummy read command using a predetermined memory address if the stored memory base address is the same as the only memory base address for one of the other interface modules. Modifying the memory base address and decoding the modified address for use by the interface module in determining the unique memory base address for response by the interface module.(정정) 제17항에 있어서, 상기 저장된 메모리 어드레스를 수정하는 단계는 상기 저장된 메모리 베이스 어드레스에 의해 표시되는 카운터값을 증분하도록 조정하는 단계를 더 포함하는 것을 특징으로 하는 방법.(Correct) The method of claim 17, wherein modifying the stored memory address further comprises adjusting to increment a counter value indicated by the stored memory base address.(정정) 제18항에 있어서, 상기 인터페이스 콘트롤러는 메모리를 포함하고, 상기 메모리에 상기 저장된 메모리 베이스 어드레스를 초기에 저장하는 단계와, 상기 증분 조정 단계 이전에 메모리로부터 저장된 메모리 베이스 어드레스를 카운터에서 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.(Correct) The interface controller of claim 18, wherein the interface controller includes a memory, initially storing the stored memory base address in the memory, and receiving at the counter a memory base address stored from the memory prior to the incremental adjustment step. The method further comprises the step of.(정정) 제19항에 있어서, 인터페이스 콘트롤러를 구비한 인터페이스 모듈은 상태 기기를 포함하고, 상기 카운터가 증분 조정되어 증가할 때 저장된 메모리 베이스 어드레스를 카운터에 공급함으로써 메모리로부터의 저장된 메모리 베이스 어드레스 판독을 제어하기 위해 상태 기기를 사용하여 제어하는 단계를 더 포함하는 것을 특징으로 하는 방법.(Correct) The interface module according to claim 19, wherein the interface module having an interface controller includes a state machine and supplies a stored memory base address read from memory by supplying the stored memory base address to the counter when the counter is incrementally adjusted and increased. Controlling using a state machine to control.(정정) 제17항에 있어서, 상기 저장된 메모리 베이스 어드레스는 수정되는 메모리 베이스 어드레스인 제1메모리 베이스 어드레스와 제2메모리 베이스 어드레스를 포함하고, 개별적인 메모리 베이스 어드레스를 제공하도록 상기 제1 및 제2 메모리 베이스 어드레스를 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.(Correct) The memory of claim 17, wherein the stored memory base address includes a first memory base address and a second memory base address which are memory base addresses to be modified, and wherein the first and second memories are provided to provide separate memory base addresses. And decoding the base address.
KR1019940004756A1993-03-121994-03-11 Self-assignment device and method of input / output address for ISA busExpired - Fee RelatedKR100276496B1 (en)

Applications Claiming Priority (6)

Application NumberPriority DateFiling DateTitle
US3118093A1993-03-121993-03-12
US08/031,1801993-03-12
US8/0311801993-03-12
US11951193A1993-09-101993-09-10
US8/1195111993-09-10
US08/119,5111993-09-10

Publications (2)

Publication NumberPublication Date
KR940022289A KR940022289A (en)1994-10-20
KR100276496B1true KR100276496B1 (en)2000-12-15

Family

ID=26706922

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1019940004756AExpired - Fee RelatedKR100276496B1 (en)1993-03-121994-03-11 Self-assignment device and method of input / output address for ISA bus

Country Status (2)

CountryLink
JP (1)JP3588139B2 (en)
KR (1)KR100276496B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2016098027A (en)*2014-11-252016-05-30富士フイルム株式会社 Wrap around case

Also Published As

Publication numberPublication date
JPH076120A (en)1995-01-10
JP3588139B2 (en)2004-11-10
KR940022289A (en)1994-10-20

Similar Documents

PublicationPublication DateTitle
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
US5724529A (en)Computer system with multiple PC card controllers and a method of controlling I/O transfers in the 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
KR100262677B1 (en)ADD-IN Board With Enable/Disable Expansion ROM for PCI BUS Computer
US5495593A (en)Microcontroller device having remotely programmable EPROM and method for programming
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
KR920010580B1 (en) How to check information processing system and system configuration
US20080086631A1 (en)Flash memory controller controlling various flash memory cells
HK1004298B (en)Data processing system with pluggable option card
US6427198B1 (en)Method, system, and program for determining system configuration
US20080307154A1 (en)System and Method for Dual-Ported I2C Flash Memory
WO1994019750A1 (en)System and method for computer interface board identification
EP0698240A1 (en)Apparatus and method for automatic recognition and configuration of a peripheral device
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
CN118689819A (en) A data processing method, system and computing device based on complex programmable logic device CPLD
US6148384A (en)Decoupled serial memory access with passkey protected memory areas
US6128718A (en)Apparatus and method for a base address register on a computer peripheral device supporting configuration and testing of address space size
KR100276496B1 (en) Self-assignment device and method of input / output address for ISA bus
US6742056B2 (en)Semiconductor device and method for initializing interface card using serial EEPROM

Legal Events

DateCodeTitleDescription
PA0109Patent application

St.27 status event code:A-0-1-A10-A12-nap-PA0109

R17-X000Change to representative recorded

St.27 status event code:A-3-3-R10-R17-oth-X000

PG1501Laying open of application

St.27 status event code:A-1-1-Q10-Q12-nap-PG1501

A201Request for examination
P11-X000Amendment of application requested

St.27 status event code:A-2-2-P10-P11-nap-X000

P13-X000Application amended

St.27 status event code:A-2-2-P10-P13-nap-X000

PA0201Request for examination

St.27 status event code:A-1-2-D10-D11-exm-PA0201

PN2301Change of applicant

St.27 status event code:A-3-3-R10-R13-asn-PN2301

St.27 status event code:A-3-3-R10-R11-asn-PN2301

PN2301Change of applicant

St.27 status event code:A-3-3-R10-R13-asn-PN2301

St.27 status event code:A-3-3-R10-R11-asn-PN2301

R18-X000Changes to party contact information recorded

St.27 status event code:A-3-3-R10-R18-oth-X000

R18-X000Changes to party contact information recorded

St.27 status event code:A-3-3-R10-R18-oth-X000

E701Decision to grant or registration of patent right
PE0701Decision of registration

St.27 status event code:A-1-2-D10-D22-exm-PE0701

GRNTWritten decision to grant
PR0701Registration of establishment

St.27 status event code:A-2-4-F10-F11-exm-PR0701

PR1002Payment of registration fee

St.27 status event code:A-2-2-U10-U11-oth-PR1002

Fee payment year number:1

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R13-asn-PN2301

St.27 status event code:A-5-5-R10-R11-asn-PN2301

PG1601Publication of registration

St.27 status event code:A-4-4-Q10-Q13-nap-PG1601

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:4

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:5

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:6

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:7

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:8

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R11-asn-PN2301

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:9

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R14-asn-PN2301

FPAYAnnual fee payment

Payment date:20090925

Year of fee payment:10

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:10

R18-X000Changes to party contact information recorded

St.27 status event code:A-5-5-R10-R18-oth-X000

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R13-asn-PN2301

St.27 status event code:A-5-5-R10-R11-asn-PN2301

LAPSLapse due to unpaid annual fee
PC1903Unpaid annual fee

St.27 status event code:A-4-4-U10-U13-oth-PC1903

Not in force date:20100930

Payment event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903Unpaid annual fee

St.27 status event code:N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date:20100930

P22-X000Classification modified

St.27 status event code:A-4-4-P10-P22-nap-X000


[8]ページ先頭

©2009-2025 Movatter.jp