KR100395393B1 - 컴퓨터 주변장치의 초기화 및 컴퓨터 주변장치와의 통신을위한 시스템, 장치 및 방법 - Google Patents

컴퓨터 주변장치의 초기화 및 컴퓨터 주변장치와의 통신을위한 시스템, 장치 및 방법 Download PDF

Info

Publication number
KR100395393B1
KR100395393B1 KR10-2000-7013391A KR20007013391A KR100395393B1 KR 100395393 B1 KR100395393 B1 KR 100395393B1 KR 20007013391 A KR20007013391 A KR 20007013391A KR 100395393 B1 KR100395393 B1 KR 100395393B1
Authority
KR
South Korea
Prior art keywords
logic
mask
memory location
data
pci
Prior art date
Application number
KR10-2000-7013391A
Other languages
English (en)
Other versions
KR20010052423A (ko
Inventor
라자트 케이. 미트라
크리스토퍼 탄느
Original Assignee
모토로라 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22204361&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100395393(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 모토로라 인코포레이티드 filed Critical 모토로라 인코포레이티드
Publication of KR20010052423A publication Critical patent/KR20010052423A/ko
Application granted granted Critical
Publication of KR100395393B1 publication Critical patent/KR100395393B1/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/15Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/15Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators
    • A61F13/51Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the outer layers
    • A61F13/511Topsheet, i.e. the permeable cover or layer facing the skin
    • A61F13/512Topsheet, i.e. the permeable cover or layer facing the skin characterised by its apertures, e.g. perforations
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/15Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators
    • A61F13/45Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the shape
    • A61F13/49Absorbent articles specially adapted to be worn around the waist, e.g. diapers
    • A61F13/49007Form-fitting, self-adjusting disposable diapers
    • A61F13/49009Form-fitting, self-adjusting disposable diapers with elastic means
    • A61F13/49011Form-fitting, self-adjusting disposable diapers with elastic means the elastic means is located at the waist region
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/15Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators
    • A61F13/45Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the shape
    • A61F13/49Absorbent articles specially adapted to be worn around the waist, e.g. diapers
    • A61F13/49007Form-fitting, self-adjusting disposable diapers
    • A61F13/49009Form-fitting, self-adjusting disposable diapers with elastic means
    • A61F13/49014Form-fitting, self-adjusting disposable diapers with elastic means the elastic means is located at the side panels
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/15Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators
    • A61F13/45Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the shape
    • A61F13/49Absorbent articles specially adapted to be worn around the waist, e.g. diapers
    • A61F13/49007Form-fitting, self-adjusting disposable diapers
    • A61F13/49009Form-fitting, self-adjusting disposable diapers with elastic means
    • A61F13/4902Form-fitting, self-adjusting disposable diapers with elastic means characterised by the elastic material
    • DTEXTILES; PAPER
    • D04BRAIDING; LACE-MAKING; KNITTING; TRIMMINGS; NON-WOVEN FABRICS
    • D04HMAKING TEXTILE FABRICS, e.g. FROM FIBRES OR FILAMENTARY MATERIAL; FABRICS MADE BY SUCH PROCESSES OR APPARATUS, e.g. FELTS, NON-WOVEN FABRICS; COTTON-WOOL; WADDING ; NON-WOVEN FABRICS FROM STAPLE FIBRES, FILAMENTS OR YARNS, BONDED WITH AT LEAST ONE WEB-LIKE MATERIAL DURING THEIR CONSOLIDATION
    • D04H13/00Other non-woven fabrics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T428/00Stock material or miscellaneous articles
    • Y10T428/23Sheet including cover or casing
    • Y10T428/234Sheet including cover or casing including elements cooperating to form cells
    • Y10T428/236Honeycomb type cells extend perpendicularly to nonthickness layer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T428/00Stock material or miscellaneous articles
    • Y10T428/24Structurally defined web or sheet [e.g., overall dimension, etc.]
    • Y10T428/24273Structurally defined web or sheet [e.g., overall dimension, etc.] including aperture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T428/00Stock material or miscellaneous articles
    • Y10T428/24Structurally defined web or sheet [e.g., overall dimension, etc.]
    • Y10T428/24273Structurally defined web or sheet [e.g., overall dimension, etc.] including aperture
    • Y10T428/24298Noncircular aperture [e.g., slit, diamond, rectangular, etc.]

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Vascular Medicine (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Epidemiology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Textile Engineering (AREA)
  • Absorbent Articles And Supports Therefor (AREA)
  • Laminated Bodies (AREA)
  • Orthopedics, Nursing, And Contraception (AREA)
  • Woven Fabrics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)
  • Nonwoven Fabrics (AREA)

Abstract

호스트 장치가 초기화되지 않은 주변장치를 초기화시키고 통신하도록 허용하는 시스템, 장치 및 방법은, 주변장치 상에, 복수의 메모리 위치들 각각에 대응하는 개별 마스크를 기억시키기 위한 로직, 및 메모리 위치 판독을 위한 요구에 응답하고 메모리 위치 내에 기억된 데이터와 대응 마스크의 비트-와이즈 배타적 OR을 출력하기 위한 로직을 포함한다. 마스크는 소정의 구성값 및 사전 설정값의 비트-와이즈 배타적 OR과 동일하다. 따라서, 메모리 위치가 구성 정보로 사전에 프로그램되지 않은 경우에, 메모리 위치 내에 기억된 데이터 및 대응 마스크의 비트-와이즈 배타적 OR이 유효 디폴트 구성값이 된다. 일단 호스트 장치가 주변장치와 통신할 수 있게 되면, 호스트 장치는 신규 구성값 및 대응 마스크의 비트-와이즈 배타적 OR과 동일한 신규 데이터값을 메모리 위치 내에 기억함으로써 주변장치를 프로그램한다.

Description

컴퓨터 주변장치의 초기화 및 컴퓨터 주변장치와의 통신을 위한 시스템, 장치 및 방법{SYSTEM, DEVICE, AND METHOD FOR COMMUNICATING WITH AND INITIALIZING A COMPUTER PERIPHERAL}
퍼스널 컴퓨터 또는 워크스테이션 등과 같은 통상적인 컴퓨터 시스템에 있어서, 다양한 주변장치들이 이러한 컴퓨터 시스템에 입/출력 기능을 제공하는데 사용된다. 예를 들어, 통상적인 컴퓨터 시스템은 디스크 드라이브, CD-ROM 드라이브, 오디오/비디오/그래픽 제어기들, 근거리통신망 어댑터 및 모뎀 등과 같은 주변장치들을 포함한다. 구조적으로 컴퓨터 시스템 내에서 상기 주변장치들은 주변장치 버스에 의해 중앙처리장치(CPU)및 메모리와 상호 접속된다.
광범위하게 사용되는 주변장치 버스의 한 유형은 주변 구성요소 상호 접속 (Peripheral Component Interconnect; PCI) 버스이다. PCI는 주변장치와의(to and from) 초고속 버스트 전송을 허용하는 표준화된 버스 구조(architecture)이다. PCI 버스 상에서 "PCI 주변장치"라고 일컫는 각 주변장치들은 PCI 버스 프로토콜을 지원하고 관여한다. 컴퓨터 시스템의 개시 동안, 각 PCI 주변장치들은 식별되고,그것이 필요로하는 임의의 컴퓨터 시스템 자원에 할당된다.
컴퓨터 시스템 개시 동안 식별되기 위해, 각 PCI 주변장치는, 이 PCI 주변장치를 식별하고 이 PCI 주변장치에 의해 요구되는 컴퓨터 시스템 자원을 표시하는 특정 정보(이하 "구성 정보(configuration information)")를 보고할 수 있다. 따라서 통상적인 PCI 주변장치들은 구성 정보 기억용으로 프로그램 가능한 비휘발성 메모리 또는 하드 코드된 로직(hard-coded logic) 중 어느 하나를 포함한다. 구성 정보 기억용으로 하드 코드된 로직을 이용할 경우에는, 로직에서 일단 구성 정보가 하드 코드되면 구성 정보는 변경될 수 없다. 구성 정보 기억용으로 프로그램 가능한 비휘발성 메모리를 이용할 경우에는, 필요하다면 프로그램 가능한 비휘발성 메모리를 재프로그래밍함으로써 구성 정보를 그에 따라 변경할 수 있지만, 이 경우에 PCI 주변장치는 PCI 버스 상에서 동작할 수 있기 전에 구성 정보가 사전에 프로그램되어 있어야 한다. 예를 들어 PCI 주변장치의 소프트웨어 또는 하드웨어 업그레이드로 인하여, 구성 정보의 변경이 필요한 경우에 구성 정보를 변경할 수 있는 능력이 있기 때문에 후자의 접근법이 하드 코드된 접근법보다 바람직하다. 그러나, 프로그램 가능한 비휘발성 메모리를 사전에 프로그래밍하는 단계는 PCI 주변장치의 설치 이전, 통상적으로 PCI 주변장치의 제조 동안에 처리해야 할 추가 단계이므로, PCI 주변장치에 일정 비용을 추가시키게 된다. 프로그램 가능하면서 사전 프로그래밍이 필요없는 PCI 주변장치가 바람직하다.
본 발명은 일반적으로 통신 시스템들에 관한 것으로, 특히 초기화되지 않은 컴퓨터 주변장치를 초기화하고 그와 통신하는 것에 관한 것이다.
도 1은 종래 기술에서 공지된 퍼스널 컴퓨터 또는 워크스테이션 등과 같은전형적인 컴퓨터 시스템(100)의 다이어그램이다.
도 2는 종래 기술에서 공지된 전형적인 PCI 주변장치(112)의 블럭다이어그램이다.
도 3은 본 발명에 따른 PCI 주변장치(300)의 바람직한 실시예의 블럭다이어그램이다.
도 4는 본 발명에 따른 제어로직(302)의 바람직한 실시예의 다이어그램이다.
도 5는 본 발명에 따른 내장형 ROM 로직(422)의 바람직한 실시예의 다이어그램이다.
도 6은 본 발명에 따른 출력 선택 로직(438)의 바람직한 실시예의 다이어그램이다.
도 7은 본 발명의 바람직한 실시예에 따른 PCI 주변장치 내의 구성 정보값을 제공하기 위한 방법의 순서도이다.
도 8은 종래 기술의 PCI 주변장치들(112) 및 본 발명의 바람직한 실시예에 따른 PCI 주변장치(300)를 포함한 컴퓨터 시스템(800)의 다이어그램이다.
도 9는 본 발명의 바람직한 실시예에 따른 PCI 주변장치 내의 구성 정보값을 수정하기 위한 방법의 순서도이다.
도 1 은 종래 기술에서 공지된 퍼스널 컴퓨터 또는 워크스테이션 등과 같은 전형적인 컴퓨터 시스템(100)을 도시한다. 도 1에서 도시된 바와 같이, 컴퓨터 시스템(100)에는 컴퓨터 시스템(100)의 동작을 제어하는 소프트웨어 프로그램들을 전적으로 실행시키기 위한 호스트 중앙처리장치(CPU; 102)가 포함되어 있다. 컴퓨터 시스템(100)에는 컴퓨터 시스템(100)을 위해 다양한 입출력 기능을 제공하기 위한 복수의 PCI 주변장치들(1121내지 112N)(전체로는 "PCI 주변장치들(112)", 각각은 "PCI 주변장치(112)"라고 명명)이 포함되어 있다. 컴퓨터 시스템(100)에는, 호스트 CPU(102)에 의해 실행되는 소프트웨어 프로그램을 기억하고 이 호스트 CPU(102) 및 PCI 주변장치들(112)에 의해 사용되는 데이터를 또한 기억하기 위한 메모리 (104)가 더 포함되어 있다.
호스트 CPU(102), 메모리(104) 및 PCI 주변장치(112)는 상이한 인터페이스 요구사항들을 갖는다. 따라서, 이 컴퓨터 시스템(100)은 호스트 CPU(102), 메모리 (104) 및 PCI 주변장치(112)가 서로 인터페이스하도록 하기 위해서 캐쉬/브리지 (106)를 또한 포함한다. 이 캐쉬/브리지(106)는 CPU 로컬 버스(108)에 의해 호스트 CPU(102)와 결합되고, 메모리 버스(110)에 의해 메모리(104)와 결합되고, PCI 버스(114)에 의해 PCI 주변장치들(112)과 결합된다. 이 캐쉬/브리지(106)는 호스트 CPU(102), 메모리(104) 및 PCI 주변장치들(112) 사이의 정보 전송을 조절한다.
PCI 주변장치(112)가 컴퓨터 시스템(100) 내에서 동작할 수 있기 전에, PCI 주변장치(112)에는 그것이 요구하는 베이스 어드레스, 메모리 및 인터럽트들 등과 같은 임의의 시스템 자원이 할당되어야 한다. 따라서 컴퓨터 시스템(100)의 개시 동안, 호스트 CPU(102)는 메모리(104)에 기억된 구성 소프트웨어를 실행시킨다. 구성 소프트웨어는 PCI 버스를 주사하고, 각 PCI 주변장치(112)로부터 구성 정보를 판독한다. 이 구성 정보는 통상적으로 벤더(vendor) 식별 번호, 장치 식별 번호, 장치 일련 번호, 장치 인터럽트 요구사항들, 베이스 어드레스 레지스터 요구사항들, 메모리 요구사항들, 및 장치 기능들을 표시하는 파라미터들을 포함한다. 이 구성 정보는 PCI 주변장치(112)를 식별하고, PCI 주변장치(112)의 기능들 및 시스템 요구사항들을 구성 소프트웨어에 표시한다.
각 PCI 주변장치(112)로부터 구성 정보를 수신한 후, 구성 소프트웨어는 각 PCI 주변장치(112)의 시스템 자원들에 기초하여 베이스 어드레스, 메모리 및 인터럽트 자원을 PCI 주변장치들(112)에 할당한다. 그런 후에, PCI 주변장치들(112)은 컴퓨터 시스템(100) 내에서 동작할 수 있다.
도 2는 종래 기술에서 공지된 통상적인 PCI 주변장치(112)를 도시한다. 도 2에서 도시된 바와 같이, PCI 주변장치(112)는 PCI 주변장치(112)의 특정 기능을 실행하기 위한 모든 로직을 실질적으로 포함하는 로직블럭(201)을 포함한다. 로직블럭(201)은 통상적으로 주문형 반도체(Application Specific Integrated Circuit; ASIC), FPGA(Field Programmable Gate Array), 또는 관련 메모리 (associated memory) 내에 기억된 한 세트의 프로그램 명령들을 통해 응답하는 마이크로프로세서 내에 내장되어 있다. PCI 주변장치(112)는 구성 정보 및 다른 데이터를 기억하기 위해 직렬 EEPROM(electronically erasable programmable read-only memory)(210) 또는 다른 프로그램 가능한 비휘발성 메모리를 또한 포함한다. 로직블럭(201)은, 이 로직블럭(201)이 EEPROM(210)으로부터 데이터를 판독하고 EEPROM(210)에 데이터를 기록하도록 하는 인터페이스를 통해, EEPROM(210)과 결합되어 있다.
로직블럭(201)은 PCI 주변장치(112)에 PCI 컴플라이언트 인터페이스를 제공하기 위한 PCI 버스(114)와 연결된 PCI 인터페이스 로직(202)을 포함한다. 로직블럭(201)은 네트워크 인터페이스 어댑터를 위한 네트워크 인터페이스 기능 또는 모뎀을 위한 모뎀 기능 등과 같은 특정 장치 기능을 구현하기 위해, 주변장치 특정 로직(Peripheral Specific Logic)(206) 역시 포함한다. PCI 인터페이스 로직(202) 및 주변장치 특정 로직(206)은 레지스터들(204)과 결합되어, 이 레지스터들(204)을 통해 인터페이스한다. 이 로직블럭(201)은 EEPROM(210)과 결합되어 있고, PCI 인터페이스 로직(202) 및 주변장치 특정 로직(206) 양자 모두에 결합되어 있는 EEPROM 인터페이스 로직(208)을 더 포함한다. EEPROM 인터페이스 로직(208)은 PCI 인터페이스 로직(202) 및 주변장치 특정 로직(206)이 EEPROM(210)과 인터페이스하게 한다. 특히, EEPROM 인터페이스 로직(208)은 PCI 인터페이스 로직(202) 및 주변장치 특정 로직(206)이 EEPROM(210)으로부터 구성 정보 및 다른 데이터를 판독하고, EEPROM(210)에 구성 정보 및 다른 데이터를 기록하게 한다.
PCI 주변장치(112)에서, PCI 인터페이스 로직(202)은 EEPROM(210) 내의 대응 메모리 위치들을 판독함으로써 컴퓨터 시스템 개시 동안 구성 정보를 얻는다. 컴퓨터 시스템의 개시 전에 대응 메모리 위치가 유효 구성 정보값들로 프로그램되지 않은 경우에, 대응 메모리 위치들은 EEPROM(210) 등과 같은 통상적인 프로그램 가능한 비휘발성 메모리 내에 모두가 1인 사전 설정값들(preset values)을 포함하게 된다. 따라서, EEPROM(210)으로부터 판독되어 구성 소프트웨어로 송신되는 구성 정보는 모두 1이 될 것이다. 모두 1로 구성된 구성 정보는 무효이며, 따라서 구성 소프트웨어는 PCI 주변장치(112)를 식별할 수 없을 것이고, 이 PCI 주변장치(112)에 시스템 자원을 할당할 수 없을 것이다. 따라서, PCI 주변장치(112)가 컴퓨터 시스템(100) 내에서 동작할 수 있기 전에 EEPROM(210)은 구성 정보로 프로그램되어 있어야 한다.
전술한 바와 같이, 프로그램 가능할 뿐만 아니라 PCI 주변장치가 컴퓨터 시스템 내에서 동작할 수 있기 전에 사전 프로그래밍할 필요도 없는 PCI 주변장치에 대한 필요성은 여전히 남아있다. 본 발명은 구성 정보로 사전 프로그램되지 않은 경우에 디폴트 구성 정보를 보고하는 PCI 주변장치를 포함한다. 디폴트 구성 정보는 적어도 구성 소프트웨어가 이 PCI 주변장치를 식별할 수 있는 한, PCI 주변장치가 컴퓨터 시스템 내에서 동작할 수 있도록 한다. 일단 PCI 주변장치가 컴퓨터 시스템 내에서 동작할 수 있게 되면, 구성 소프트웨어(또는 다른 소프트웨어)는 PCI 주변장치를 신규 구성 정보로 프로그램할 수 있다.
본 발명에 따른 PCI 주변장치는 하드 코드된 로직 및 프로그램 가능한 비휘발성 메모리를 모두 포함한다. 프로그램 가능한 비휘발성 메모리 내의 각 메모리 위치는 하드 코드된 로직 내에 기억된 대응 마스크와 관련된다. 프로그램 가능한 비휘발성 메모리의 특정 메모리 위치를 판독하고자 할 경우에, PCI 주변장치 상의 로직은 그 메모리 위치에 기억된 실제(마스크되지 않은)값을 출력하기보다는 마스크된 값을 출력한다. 마스크된 값은 메모리 위치에 기억된 실제값 및 하드 코드된 로직 내에 기억된 대응 마스크의 비트-와이즈 배타적 OR(bit-wise exclusive-OR)과동일하다. 대응 메모리 위치로부터 판독된 값들이 모두 1 인 경우에 결과적인 마스크된 값이 소정의 디폴트 구성 정보값과 동일하게 되도록 각 마스크가 선택된다. 따라서, 본 발명의 바람직한 실시예에서, PCI 주변장치는 컴퓨터 시스템 내에서 동작하기 위한 사전 프로그래밍을 요구하지 않는다.
일단 구성 소프트웨어가 디폴트 구성 정보를 이용하여 PCI 주변장치와 통신할 수 있으면, 구성 소프트웨어(또는 다른 소프트웨어)는 필요한 경우에 구성 정보를 수정할 수 있다. 특정 구성 정보값을 신규 구성 정보값으로 변경하기 위해서, 소프트웨어는 PCI 주변장치 상의 프로그램 가능한 비휘발성 메모리 내의 대응 메모리 위치에 신규 데이터값을 기억한다. PCI 주변장치에 의해 출력되는 마스크된 값이 신규 구성 정보값과 동일하게 되도록 신규 데이터값이 선택된다. 따라서, 신규 데이터값은 신규 구성 정보값 및 대응 마스크의 비트-와이즈 배타적 OR과 동일하다. 이 소프트웨어는 신규 데이터값을 메모리 위치에 기록하기 위해서 표준 PCI 한정 데이터 전송 메커니즘들(standard PCI-defined data transfer mechanisms)을 사용한다. 따라서, 본 발명의 바람직한 실시예는 구성 정보 재프로그래밍용 수단을 제공한다.
도 3은 본 발명에 따른 바람직한 PCI 주변장치(300)의 전형적인 실시예를 도시한다. PCI 주변장치(300)는 PCI 주변장치(300)의 특정 기능을 실행하기 위해 모든 로직을 실질적으로 포함한 로직블럭(301)을 포함한다. 로직블럭(301)은 필드 프로그램 가능한 게이트 어레이(FPGA) 또는 관련 메모리 내에 기억된 한 세트의 프로그램 명령들을 통해 응답하는 마이크로프로세서 내에 내장될 수도 있지만, 바람직하게는 주문형 반도체(ASIC) 내에 내장된다. PCI 주변장치(300)는 구성 정보 및 다른 데이터를 기억하기 위해 직렬 EEPROM(210) 또는 다른 프로그램 가능한 비휘발성 메모리를 또한 포함한다. 로직블럭(301)은, 이 로직블럭(301)이 EEPROM(210)으로부터 데이터를 판독하고 EEPROM(210)에 데이터를 기록하도록 하는 인터페이스를 통해, EEPROM(210)과 결합되어 있다.
로직블럭(301)은 PCI 주변장치(300)와의 PCI 컴플라이언트 인터페이스를 제공하기 위한 PCI 버스(114)와 결합된 PCI 인터페이스 로직(202)을 포함한다. 로직블럭(301)은 네트워크 인터페이스 어댑터를 위한 네트워크 인터페이스 기능 또는 모뎀을 위한 모뎀 기능 등과 같은 특정 장치 기능을 구현하기 위해 주변장치 특정 로직(206)을 또한 포함한다. PCI 인터페이스 로직(202) 및 주변장치 특정 로직 (206)은 레지스터들(204)과 결합되어, 이 레지스터들(204)을 통해 인터페이스한다. 이 로직블럭(301)은 로직블럭(301)이 EEPROM(210)과 인터페이스하도록 하는 EEPROM 인터페이스 로직(208)을 더 포함한다. 바람직한 로직블럭(301) 내의 PCI 인터페이스 로직(202), 주변장치 특정 로직(206), 레지스터들(204), 및 EEPROM 인터페이스 로직(208)은 도 2에 도시된 종래 기술의 로직블럭(201) 내의 대응 로직과 실질적으로 동일하다.
계속해서 도 3을 참조하면, 로직블럭(301)은 전술한 바와 같이 마스크된 값을 출력하기 위한 제어로직(302)을 포함한다. 제어로직(302)(이하의 도 4에서 더 상세히 기술된다)은 한편으로는 PCI 인터페이스 로직(202)과 주변장치 특정 로직 (206) 사이에 결합되고, 다른 한편으로는 PCI 인터페이스 로직(202)과 EEPROM 인터페이스 로직(208) 사이에서 결합된다. 제어로직(302)은 PCI 인터페이스 로직 (202) 또는 주변장치 특정 로직(206)에 의한 각 시도를 인터셉트하여 EEPROM(210) 내의 메모리 위치를 판독한다. 제어로직(302)은 EEPROM 인터페이스 로직(208)에 의해 메모리 위치 내에 기억된 실제값을 얻는다. 그런 후 제어로직(302)은 레지스터들(204)로부터 수신된 ACCESS_MODE 신호(304)의 상태에 따라서 마스크된 값이나 실제값 중 어느 한 쪽을 PCI 인터페이스 로직(202) 또는 주변장치 특정 로직(206)에 출력한다. ACCESS_MODE 신호(304)가 마스크된 값을 선택한 경우(디폴트 선택인 경우)에, 제어로직(302)은 제어로직(302) 내에서 하드 코드된 대응 마스크 및 실제값의 비트-와이즈 배타적 OR과 동일한 마스크된 값을 출력한다.
도 4는 제어로직(302)의 바람직한 실시예를 도시한다. 이 바람직한 실시예에서 PCI 인터페이스 로직(202)이 마스크된 값들을 수신하고, 주변장치 특정 로직 (206)이 마스크되지 않은 값들을 수신하도록 제어로직(302)이 구성된다. PCI 인터페이스 로직(202)은 EEPROM(210)이 사전에 프로그래밍되어 있는지 여부에 관계없이 구성 정보를 제공할 수 있어야 하기 때문에, PCI 인터페이스 로직(202)은 항상 마스크된 값들을 수신한다. 주변장치 특정 로직(206)은 특정 용도 데이터 (application-specific data)의 기억을 위해 EEPROM(210)을 이용하기 때문에 주변장치 특정 로직(206)은 마스크되지 않은 값들을 수신하고, 통상적으로 구성 정보에 액세스할 필요가 없다.
도 4에서 도시된 바와 같이, 제어로직(302)은 3 개의 신호들에 의해 PCI 인터페이스 로직(202)과 인터페이스한다. 제어로직(302)은 PCI 인터페이스 로직(202)으로부터의 입력들로서 칩선택 입력신호(CHIP SEL; 402) 및 데이터 입력신호 (DATA IN; 404)를 수신할 수 있도록 실시 가능하게 결합되어 있다. PCI 인터페이스 로직(202)이 EEPROM(210)에 액세스할 필요가 있을 경우, 예를 들어 데이터를 판독 또는 기록할 필요가 있을 때, PCI 인터페이스 로직(202)은 칩선택 입력신호(402)를 로직레벨 1 로 구동함으로써 칩선택 입력신호(402)를 표명하고, 데이터 입력신호(404)에 대한 명령들을 송신한다. 제어로직(302)은 데이터 출력신호(410)를 통해서 데이터를 PCI 인터페이스 로직(202)에 출력한다.
유사하게, 제어로직(302)은 3 개의 신호들에 의해 주변장치 특정 로직(206)과 인터페이스한다. 제어로직(302)은 주변장치 특정 로직(206)으로부터의 입력들로서 칩선택 입력신호(CHIP SEL; 406) 및 데이터 입력신호(DATA IN; 408)를 수신할 수 있도록 실시 가능하게 결합되어 있다. 주변장치 특정 로직(206)이 EEPROM(210)에 액세스할 필요가 있을 경우, 예를 들어 데이터를 판독 또는 기록할 필요가 있을 때, 주변장치 특정 로직(206)은 칩선택 입력신호(406)를 로직레벨 1 로 구동함으로써 칩선택 입력신호(406)를 표명하고, 데이터 입력신호(408)에 대한 명령들을 송신한다. 제어로직(302)은 데이터 출력신호(412)를 통해서 데이터를 주변장치 특정 로직(206)에 출력한다.
칩선택 입력신호들(402 및 406)은 논리적 OR 게이트(414)에 입력으로 경로가 배정되어, 칩선택 신호(418)로서 칩선택 입력신호들(402 및 406)의 논리적 OR을 출력한다. 따라서, 칩선택 신호(418)는 칩선택 입력신호들(402 및 406) 중 어느 하나가 표명되는 경우에 표명된다. 칩선택 신호(418)는 EEPROM 인터페이스 로직(208) 및 내장형 ROM 로직(422) 양자 모두에 경로가 배정된다.
데이터 입력신호들(404 및 408)은 멀티플렉서(416)의 데이터 입력으로 경로가 배정된다. 멀티플렉서(416)는 레지스터들(204)로부터 ACCESS_MODE 신호(304)를 또한 입력으로 수신한다. 멀티플렉서(416)는 ACCESS_MODE 신호(304)의 상태에 기초하여 데이터 입력신호들(404 및408) 중 하나를 출력 데이터 신호(420)로서 출력한다. 특히, 멀티플렉서(416)는 ACCESS_MODE 신호(304)가 로직레벨 0 인 경우(디폴트 로직 레벨인 경우)에 데이터 입력신호(404)를 출력하고, ACCESS_MODE 신호(304)가 로직레벨 1 인 경우에 데이터 입력신호(408)를 출력한다. 따라서, 이 바람직한 실시예에서, ACCESS_MODE 신호(304)는 PCI 인터페이스 로직(202) 또는 주변장치 특정 로직(206)이 EEPROM(210)에 액세스했는지의 여부를 결정한다. 데이터 신호(420)는 EEPROM 인터페이스 로직(208) 및 내장형 ROM 로직(422) 양자 모두에 경로가 배정된다.
내장형 ROM 로직(422)(이하의 도 5에서 더 상세히 기술된다)은 칩선택 신호 (418) 및 데이터 신호(420)를 수신할 수 있도록 실시 가능하게 결합되어 있다. 내장형 ROM 로직 (422)은 특히 마스크 기억용 하드 코드된 로직을 포함한다. 칩선택 신호(418)가 표명되면, 내장형 ROM 로직(422)은 데이터 신호(420)에 대한 명령들을 디코딩함으로써 EEPROM(210)의 기능을 모방한다. 그 명령이 EEPROM(210) 내의 특정 메모리 위치를 판독하기 위한 것인 경우에, 내장형 ROM 로직(422)은 EEPROM 인터페이스 로직(208)에 의해 신호(428)로서 출력되는 데이터에 동기하는 대응 마스크를 신호(426)로서 출력한다. 그 명령이 EEPROM(210) 내의 특정 메모리 위치를 판독하기 위한 것이 아닌 경우에는, 내장형 ROM 로직(422)은 그 명령을 무시한다.
신호들(426 및 428)은 신호들(426 및 428)의 비트-와이즈 배타적 OR을 신호 (430)로 출력하는 비트-와이즈 배타적 OR 로직(424)에 입력으로 경로가 배정된다. 신호들(430 및 428)은 멀티플렉서(434)의 데이터 입력으로 경로가 배정된다. 멀티플렉서(434)는 레지스터들(204)로부터의 입력으로 ACCESS_MODE 신호(304)를 또한 수신한다. 멀티플렉서(434)는 ACCESS_MODE 신호(304)의 상태에 기초하여 신호들 (430 및 428) 중 하나를 출력 데이터 신호(436)로서 출력한다. 특히, 멀티플렉서 (434)는 ACCESS_MODE 신호(304)가 로직레벨 0 인 경우(디폴트 로직 레벨인 경우)에 신호 430을 출력하고, ACCESS_MODE 신호(304)가 로직레벨 1 인 경우에 신호 428을 출력한다. 따라서, 이 바람직한 실시예에서, ACCESS_MODE 신호(304)는 멀티플렉서 (434)가 EEPROM(210)으로부터의 실제 데이터값을 출력하는지 마스크된 값을 출력하는지의 여부를 결정한다.
멀티플렉서(434)로부터의 신호(436)는 출력 선택 로직(438)에 입력으로 경로가 배정된다. 출력 선택 로직(438)(이하의 도 6에서 더 상세히 기술된다)은 레지스터들(204)로부터의 입력으로 ACCESS_MODE 신호(304)를 또한 수신한다. ACCESS_MODE 신호(304)가 로직레벨 0 인 경우(디폴트 로직 레벨인 경우)에, 출력 선택 로직(438)은 신호(436)를 데이터 출력 신호(410)로 경로 배정하고, 데이터 출력 신호(412)는 0 으로 강제한다. ACCESS_MODE 신호(304)가 로직레벨 1 인 경우에, 신호(428)를 출력한다. 출력 선택 로직(438)은 신호(436)를 데이터 출력 신호 (412)로 경로 배정하고, 데이터 출력 신호(410)는 0 으로 강제한다.
도 5를 참조하면, 내장형 ROM 로직(422)은 하드 코드된 마스크 기억용 마스크 기억 로직(504)을 포함한다. 마스크 기억 로직(504)은 EEPROM(210) 내의 복수의 메모리 위치들 각각에 대한 개별 하드 코드된 마스크(separate hard-coded mask)를 포함한다. 내장형 ROM 로직(422)은 칩선택 신호(418) 및 데이터 신호(420)를 수신할 수 있도록 실시 가능하게 결합된 디코딩 로직(502)을 또한 포함한다. 칩선택 신호(418)가 표명될 때, 디코딩 로직(502)은 데이터 신호(420)로 수신된 명령을 디코딩한다. 그 명령이 EEPROM(210) 내의 특정 메모리 위치 판독을 위한 것인 경우에, 디코딩 로직(502)은 마스크 선택 로직(506)을 활성화시킨다. 마스크 선택 로직(506)은 인터페이스(510)를 통해 디코딩 로직(502)으로부터 메모리 위치 표시기를 얻고, 마스크 기억 로직(504)으로부터 대응 마스크를 선택한다. 마스크 선택 로직(506)은 선택된 마스크를 통하여 마스크 출력 로직(508)에서 신호(426) 상에 마스크를 출력한다.
도 6에서 도시된 바와 같이, 출력 선택 로직(438)은, 레지스터들(204)로부터 ACCESS_MODE 신호(304)를 수신하고 멀티플렉서(434)로부터 신호(436)를 수신할 수 있도록 실시 가능하게 결합되어 있다. 제 1 AND 게이트(602)는 PCI 인터페이스 로직(202)에 경로 배정되어 있는 데이터 출력 신호(410)를 제어한다. 제 2 AND 게이트(604)는 주변장치 특정 로직(206)에 경로 배정되어 있는 데이터 출력 신호(412)를 제어한다. 제 1 AND 게이트(602)는 ACCESS_MODE 신호(304)가 로직레벨 0 일 때 활성화된다. 따라서, ACCESS_MODE 신호(304)는 인버팅된 신호(608)를 출력하는 인버터(606)에 입력으로서 경로 배정된다. 제 1 AND 게이트(602)는 인버팅된신호(608) 및 멀티플렉서(434)로부터의 신호(436)를 2 개의 입력으로서 수신할 수 있도록 실시 가능하게 결합되어 있다. 제 2 AND 게이트(604)는 ACCESS_MODE 신호(304)가 로직레벨 1 일 때 활성화된다. 제 2 AND 게이트(604)는 ACCESS_MODE 신호(304) 및 멀티플렉서(434)로부터의 신호(436)를 2 개의 입력으로서 수신할 수 있도록 실시 가능하게 결합되어 있다. ACCESS_MODE 신호(304)가 로직레벨 0 일 때, 제 1 AND 게이트(602)는 신호(436)를 출력하는 반면, 제 2 AND 게이트(604)는 0을 출력한다. ACCESS_MODE 신호(304)가 로직레벨 1 일 때, 제 1 AND 게이트(602)는 0 을 출력하는 반면, 제 2 AND 게이트(604)는 신호(436)를 출력한다.
도 4 및 도 5 에 대해 기술된 다양한 메커니즘들이 다음의 예에 의해 설명된다. 먼저 EEPROM(210) 내의 특정 16비트 메모리 위치에 대응하는 유효 디폴트 구성 정보값이 0x342F("0x"는 16진수를 나타낸다)라고 가정한다. EEPROM(210) 내의 16비트 메모리 위치가 모두 하나의 값 0xFFFF로 사전 설정된다. 16비트 메모리 위치와 관련된 대응 마스크는 디폴트 구성 정보값 0x342F 및 메모리 위치 내의 사전 설정값 0xFFFF의 비트-와이즈 배타적 OR인 0xCBD0 이다. 따라서, 이 값 0xCBD0 은 내장형 ROM 로직(422) 내에, 구체적으로는 마스크 기억 로직(504) 내에 프로그램된다. PCI 인터페이스 로직(202)이 16비트 메모리 위치를 판독하고자 할 때, EEPROM (210) 내의 16비트 메모리 위치로부터 신호(428)상에 값 0xFFFF 가 얻어지고, 내장형 ROM 로직(422)으로부터 신호(426) 상에 대응 마스크 0xCBD0 이 얻어진다. 비트-와이즈 배타적 OR(424)은 0xFFFF 값을 대응 마스크 0xCBD0 과 결합하여 값 0x342F 를 신호(430) 상에 출력한다.
이제 디폴트 구성 정보값 0x342F 가, 예를 들어 신규 구성 정보값 0x8AB4 로 수정될 필요가 있다고 가정한다. 디폴트값 0x342F을 이용하여 PCI 주변장치와 통신을 설정했기 때문에, 구성 소프트웨어(또는 다른 소프트웨어)는 신규 데이터값을 EEPROM(210) 내의 16비트 메모리 위치 내에 기록함으로써 PCI 주변장치를 재프로그램한다. 신규 데이터값은 비트-와이즈 배타적 OR 연산을 이용하여 마스크 0xCBD0 과 결합되면 신규 구성 정보값 0x8AB4 가 얻어지도록 되어 있다. 따라서, 신규 데이터값은 신규 구성 정보값 0x8AB4 및 마스크 0xCBD0 의 비트-와이즈 배타적 OR인 0x4164 와 동일하다. 따라서 신규 데이터값 0x4164 는 EEPROM(210) 내의 16비트 메모리 위치 내에 기록된다. 그렇다면 PCI 인터페이스 로직(202)이 16비트 메모리 위치를 판독하고자 할 때, 이 값 0x4164 가 EEPROM(210) 내의 16비트 메모리 위치로부터 신호(428) 상에서 얻어지고, 대응 마스크 0xCBD0 이 내장형 ROM 로직(422)으로부터 신호(426) 상에서 얻어진다. 비트-와이즈 배타적 OR 로직(424)은 값 0x4164 를 대응 마스크 0xCBD0 과 결합시켜 0x8AB4 값을 신호(430) 상에 출력한다.
도 4에 도시된 바람직한 제어로직(302)은 도 3에서 도시된 로직(301)을 포함하는 주문형 반도체(ASIC) 내에 내장되어 있다. 제어로직(302)의 다양한 대안적인 실시예들이 가능하다. 하나의 대안적인 실시예(도시되지 않음)에서, 제어로직 (302)은 비휘발성 메모리 내에 기억되어 프로그램 가능한 로직 장치와 함께 사용되는 프로그램으로서 내장된다. 프로그램 가능한 로직 장치는 예를 들면 필드 프로그램 가능한 게이트 어레이(FPGA) 또는 마이크로프로세서를 포함할 수 있다.
따라서, 제어로직(302)은 도 7에서 도시된 바와 같이 PCI 주변장치 내에 구성 정보값들을 제공하기 위한 방법으로 구성된 일련의 단계들 또는 단계들의 시퀀스에 의해 통상적으로 기술될 수 있다. 이 방법(700)은 단계 702에서 시작하고, 단계 704에서 프로그램 가능한 비휘발성 메모리에 액세스하기 위한 명령을 수신한다. 이 방법은 단계 706에서 명령을 디코딩하고, 단계 708에서 이 명령이 프로그램 가능한 비휘발성 메모리 내의 특정 메모리 위치를 판독하기 위한 것인지 아닌지의 여부를 결정한다. 이 명령이 특정 메모리 위치를 판독하기 위한 것인 경우(단계 708에서 "예"인 경우)에, 이 방법은 프로그램 가능한 비휘발성 메모리로부터 얻어진 실제 데이터값 및 하드 코드된 로직으로부터의 대응 마스크의 비트-와이즈 배타적 OR과 동일한 마스크된 값을 생성하도록 진행된다. 단계 710에서 마스크된 값을 생성하기 위해서, 이 방법은 단계 712에서 하드 코드된 로직으로부터 대응 마스크를 선택한다. 이 방법은 단계 714에서 메모리로부터 실제 데이터값을 수신하고, 단계 716에서 비트-와이즈 배타적 OR 연산을 이용하여 마스크를 실제 데이터값과 결합시킨다. 이 방법은 단계 799에서 종료한다.
상술한 바와 같이, 도 4에 도시된 바람직한 제어로직(302)은 PCI 인터페이스 로직(202)이 마스크된 값들을 수신하고 주변장치 특정 로직(206)이 마스크되지 않은 값들을 수신하도록 구성된다. 제어로직(302)은 복수의 대안적인 실시예들이 가능하다. 하나의 대안적인 실시예(도시되지 않음)에서는, 신호(436)를 데이터 출력 신호들(410 및 412) 양자 모두에 경로 배정함으로써 출력선택 로직(438)이 제거될 수 있다. 또다른 대안적인 실시예(도시되지 않음)에서는, 신호(430)를 데이터 출력 신호(410)에 경로 배정하고 신호(428)를 데이터 출력 신호(412)에 경로 배정함으로써 출력선택 로직(438) 및 멀티플렉서(434) 양자 모두가 제거될 수 있다. 다른 대안적인 실시예들은 당업자들에게 자명할 것이다.
도 4에서 도시된 바람작한 제어로직(302)은 한 번에 한 비트를 출력하는 직렬 EEPROM(210)과 함께 동작한다. 제어로직(302)의 대안적인 실시예들은 병렬식으로 데이터를 출력하는 다른 프로그램 가능한 비휘발성 메모리 또는 EEPROM과 함께 사용될 수도 있다. 하나의 대안적인 실시예(도시되지 않음)는 병렬식으로 마스크를 출력하는 변형된 내장형 ROM 로직(422)을 포함하고, 또한 병렬식으로 신호들 (426 및 428)을 수신하고 결과의 마스크된 값을 직렬로 신호(430)로서 출력하기 위한 개량된 비트-와이즈 배타적 OR 로직(424) 역시 포함한다. 다른 대안적인 실시예들은 당업자들에게 자명할 것이다.
도 8은 본 발명에 따른 PCI 주변장치(300) 뿐만 아니라 종래 기술의 PCI 주변장치(112)도 모두 포함하는 컴퓨터 시스템(800)을 도시한다. PCI 주변장치(300)는 통상적으로 구성 정보로 사전에 프로그램되지 않고 컴퓨터 시스템(300) 내에 설치된다. 도 3에서 도시되고, 도 4에서 더 상세히 설명되는 제어로직(302)은 컴퓨터 시스템 개시 동안 PCI 주변장치(300)가 구성 소프트웨어에 디폴트 구성 정보를 보고하게 한다. 따라서, PCI 주변장치(300)는 구성 정보로 사전에 프로그램되지 않아도 컴퓨터 시스템(800) 내에서 동작할 수 있다.
컴퓨터 시스템(800)은 통상적으로 주변장치와 통신하는 호스트 장비를 갖는 시스템으로 기술될 수 있다. 바람직한 실시예에서, 호스트 장치는 호스트 CPU (102)이고, 주변장치는 PCI 주변장치(300)이다. 호스트 장치는 주변장치와 통신하기 위한 수단을 포함하는데, 바람직한 실시예에서는 CPU 로컬 버스(108) 및 PCI 버스(114)를 거쳐 캐쉬/브리지(106)를 통해 통신하는 것을 포함한다. 대안적으로, 호스트 장치는 PCI 버스에 직접 접속하기 위해 그 자신의 PCI 인터페이스 로직을 포함할 수 있다. 또한, 본 발명이 PCI 주변장치들에만 국한되는 것이 아니기 때문에, 호스트 장치는 임의의 복수의 다른 통신 링크들에 의해 주변장치와 통신할 수도 있다.
일단 PCI 주변장치(300)가 컴퓨터 시스템(800) 내에서 동작할 수 있게 되면, 호스트 장치 상에서 실행하는 구성 소프트웨어(또는 다른 소프트웨어)는 PCI 주변장치(300) 내의 구성 정보를 수정할 수 있다. 특정 구성 정보값을 신규 구성 정보값으로 변경하기 위해서, 구성 소프트웨어(또는 다른 소프트웨어)는 PCI 주변장치 (300)에 EEPROM(210) 내의 대응 메모리 위치에 기억되는 신규 데이터값을 기록한다. 신규 데이터값은 신규 구성 정보값 및 대응 마스크의 비트-와이즈 배타적 OR과 동일하다. 소프트웨어는 표준 PCI 기반 데이터 전송 메커니즘을 사용하여 신규 데이터값을 메모리 위치에 기록한다.
따라서, 구성 소프트웨어(또는 다른 소프트웨어)는 도 9에서 도시된 바와 같이, PCI 주변장치 내의 특정 구성 정보값을 수정하기 위한 방법으로 구성된 일련의 단계들 또는 단계들의 시퀀스를 실행한다. 이 방법(900)은 단계 902에서 개시하고, 단계 904에서 신규 구성 정보값을 결정하도록 진행된다. 이 방법은 단계 906에서 대응 마스크를 선택하고, 단계 908에서 신규 구성 정보값 및 대응 마스크의 비트-와이즈 배타적 OR과 동일한 신규 데이터값을 생성한다. 그런 후, 이 방법은단계 910에서 표준 PCI 한정 데이터 전송 메커니즘을 이용하여 PCI 주변장치 내의 대응 메모리 위치에 신규 데이터값을 기록한다. 이 방법은 단계 999에서 종료한다.
여기서 기술된 모든 로직은 개별 부품들, 집적 회로, 필드 프로그램 가능한 게이트 어레이(FPGA) 또는 마이크로프로세서 등과 같은 프로그램 가능한 로직 장치와 관련하여 사용되는 프로그램 가능한 로직, 또는 그들의 결합을 포함한 임의의 다른 수단을 이용하여 내장될 수 있다. 프로그램 가능한 로직은 판독전용 메모리칩, 컴퓨터 메모리, 디스크 또는 다른 기억 매체 등과 같은 유형의 매체 내에 일시적 또는 영구적으로 고정될 수 있다. 프로그램 가능한 로직은 또한, 프로그램 가능한 로직이 컴퓨터 버스 또는 통신 네트워크 등과 같은 인터페이스를 통해 전송될 수 있게 하는 반송파(carrier wave) 내에 내장된 컴퓨터 데이터 신호 내에 고정될 수도 있다. 이러한 모든 실시예들이 본 발명의 범위 내에 포함되도록 의도되었다.
본 발명이 PCI 주변장치에만 한정되는 것이 아니라, 프로그램 가능하면서 디폴트 구성 정보로 사전에 프로그램될 필요가 없는 다른 응용들에도 더 일반적으로 적용될 수 있다는 것은 당업자들에게 자명할 것이다. 모든 그러한 응용들이 본 발명의 범위 내에 포함되도록 의도되었다.
본 발명은 본 발명의 본질 또는 본질적 특성을 벗어나지 않는 다른 특정 형태들을 구현할 수도 있다. 기재된 실시예들은 모든 점에서 예시적일 뿐 제한적이지는 않다.

Claims (10)

  1. 데이터를 기억하기 위한 복수의 메모리 위치들을 갖는 외부 메모리 장치 내에 기억된 데이터로부터, 마스크된 값을 출력하기 위한 장치에 있어서,
    상기 복수의 메모리 위치들 각각에 대응하는 개별 마스크를 기억시키기 위한 마스크 기억 로직; 및
    임의의 메모리 위치 판독을 위한 요구에 응답하여, 상기 임의의 메모리 위치 내에 기억된 데이터 및 상기 마스크 기억 로직으로부터의 상기 데이터에 대응하는 마스크의 비트-와이즈 배타적 OR (bit-wise exclusive OR)과 동일한 마스크된 값을 출력하기 위한 로직
    을 포함하는 장치.
  2. 제1항에 있어서, 각 마스크는 소정의 구성값 및 사전 설정값의 비트-와이즈 배타적 OR과 동일한 장치.
  3. 제2항에 있어서, 상기 사전 설정값은 모두 1과 동일한 값인 장치.
  4. 제1항에 있어서, 상기 마스크된 값을 출력하기 위한 상기 로직은,
    상기 메모리 위치 내에 기억된 상기 데이터를 수신하기 위한 수신 로직;
    상기 마스크 기억 로직으로부터의 상기 대응 마스크를 선택하기 위한 선택 로직; 및
    상기 수신 로직으로부터의 상기 데이터 및 상기 선택 로직으로부터의 상기 대응 마스크를 수신할 수 있도록 실시 가능하게 결합되어, 상기 마스크된 값을 발생시키고 출력하기 위한 비트-와이즈 배타적 OR 로직
    을 더 포함하는 장치.
  5. 제4항에 있어서, 상기 선택 로직은,
    상기 메모리 위치 판독을 위한 상기 요구를 디코딩하기 위한 디코딩 로직;
    상기 디코딩 로직 및 상기 마스크 기억 로직에 실시 가능하게 결합되어, 상기 디코딩 로직으로부터 메모리 위치 표시기를 수신하고, 상기 마스크 기억 로직으로부터 상기 대응 마스크를 선택하기 위한 마스크 선택 로직; 및
    상기 마스크 선택 로직으로부터 상기 선택된 마스크를 수신할 수 있도록 결합되어, 상기 데이터와 동기로 상기 선택된 마스크를 출력하기 위한 마스크 출력 로직
    을 포함하는 장치.
  6. 데이터를 기억하기 위한 복수의 메모리 위치들을 갖는 외부 메모리 장치 내에 기억된 데이터로부터, 마스크된 값을 출력하기 위한 방법에 있어서,
    메모리 위치 판독을 위한 요구를 수신하는 단계;
    상기 외부 메모리 장치로부터 상기 메모리 위치 내에 기억된 상기 데이터를 수신하는 단계;
    마스크 기억 로직으로부터의 상기 데이터에 대응하는 마스크를 선택하는 단계; 및
    상기 데이터 및 상기 대응하는 마스크를 비트-와이즈 배타적 OR 연산을 이용하여 결합시켜 상기 마스크된 값을 생성하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서, 상기 마스크는 소정의 구성값 및 사전 설정값의 비트-와이즈 배타적 OR과 동일한 방법.
  8. 제7항에 있어서, 상기 사전 설정값은 모두 1과 동일한 값인 방법.
  9. 제6항에 있어서, 상기 마스크 기억 로직으로부터 상기 대응 마스크를 선택하는 상기 단계는,
    메모리 위치 표시기를 얻기 위해 상기 요구를 디코딩하는 단계; 및
    상기 메모리 위치 표시기에 기초하여 상기 마스크를 선택하는 단계
    를 포함하는 방법.
  10. 메모리 위치를 판독하기 위해 주변장치로 요청을 송신하기 위한 로직을 포함하는 호스트 장치, 및 데이터를 기억하기 위한 복수의 메모리 위치를 갖는 메모리 장치를 구비하는 시스템에 있어서,
    상기 주변장치는,
    상기 복수의 메모리 위치들 각각에 대응하는 개별 마스크를 기억시키기 위한 마스크 기억 로직; 및
    상기 메모리 위치 판독을 위한 상기 요구에 응답하여, 상기 호스트 장치에 마스크된 값을 송신하기 위한 로직
    을 포함하되,
    상기 마스크된 값은 상기 메모리 위치 내에 기억된 데이터 및 상기 마스크 기억 로직으로부터의 상기 데이터에 대응하는 마스크의 비트-와이즈 배타적 OR과 동일한 시스템.
KR10-2000-7013391A 1998-05-29 1999-04-09 컴퓨터 주변장치의 초기화 및 컴퓨터 주변장치와의 통신을위한 시스템, 장치 및 방법 KR100395393B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8730298P 1998-05-29 1998-05-29
US09/087,302 1998-05-29

Publications (2)

Publication Number Publication Date
KR20010052423A KR20010052423A (ko) 2001-06-25
KR100395393B1 true KR100395393B1 (ko) 2003-08-21

Family

ID=22204361

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2000-7013391A KR100395393B1 (ko) 1998-05-29 1999-04-09 컴퓨터 주변장치의 초기화 및 컴퓨터 주변장치와의 통신을위한 시스템, 장치 및 방법
KR10-2000-7013280A KR100430944B1 (ko) 1998-05-29 1999-05-25 다공성 거시적-확장 3차원 탄성중합체성 웹 및 그것을 포함하는 의복

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR10-2000-7013280A KR100430944B1 (ko) 1998-05-29 1999-05-25 다공성 거시적-확장 3차원 탄성중합체성 웹 및 그것을 포함하는 의복

Country Status (22)

Country Link
US (1) US6452063B1 (ko)
EP (1) EP1082080B1 (ko)
JP (1) JP4493848B2 (ko)
KR (2) KR100395393B1 (ko)
CN (1) CN1145467C (ko)
AR (1) AR015309A1 (ko)
AT (1) ATE318124T1 (ko)
AU (1) AU4097299A (ko)
BR (1) BR9910809A (ko)
CA (1) CA2333214C (ko)
DE (1) DE69929969T2 (ko)
ES (1) ES2259234T3 (ko)
HK (1) HK1036396A1 (ko)
HU (1) HUP0103561A3 (ko)
ID (1) ID29142A (ko)
IL (1) IL139182A0 (ko)
NZ (1) NZ507925A (ko)
PE (1) PE20000600A1 (ko)
TR (1) TR200003526T2 (ko)
TW (1) TW527283B (ko)
WO (1) WO1999062449A2 (ko)
ZA (1) ZA200005839B (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7087287B2 (en) * 1997-02-21 2006-08-08 The Procter & Gamble Company Tear resistant porous extensible web
US6605172B1 (en) 1999-09-30 2003-08-12 The Procter & Gamble Company Method of making a breathable and liquid impermeable web
US20070202767A1 (en) 2006-02-24 2007-08-30 Anderson Barry J Method of making laminate structures for mechanical activation
EP1104668A1 (en) * 1999-12-01 2001-06-06 The Procter & Gamble Company Apertured elastic member
JP3783919B2 (ja) 2000-09-14 2006-06-07 大王製紙株式会社 布様外観を呈するプラスチックシート及び吸収性物品並びにその製造方法
US20020123538A1 (en) 2000-12-29 2002-09-05 Peiguang Zhou Hot-melt adhesive based on blend of amorphous and crystalline polymers for multilayer bonding
US6582798B2 (en) 2001-06-06 2003-06-24 Tredegar Film Products Corporation Vacuum formed film topsheets having a silky tactile impression
US20030021951A1 (en) * 2001-07-20 2003-01-30 The Procter & Gamble Company High-elongation apertured nonwoven web and method for making
MXPA04004110A (es) * 2001-11-05 2004-07-23 Procter & Gamble Materiales compuestos elastizados y metodos para su elaboracion.
MXPA04004108A (es) * 2001-11-05 2004-07-23 Procter & Gamble Materiales compuestos de elasticidad variable y metodos para su elaboracion.
AR037598A1 (es) 2001-11-30 2004-11-17 Tredegar Film Prod Corp Compuesto suave y elastico
US20030171730A1 (en) * 2002-02-14 2003-09-11 Kelly William G. F. Three-dimensional apertured film
US6966883B2 (en) * 2002-12-03 2005-11-22 Pidcock Ralph M Method and apparatus for relieving leg cramps and massaging muscles
US20040121120A1 (en) * 2002-12-20 2004-06-24 The Procter & Gamble Company Apparatus for making a polymeric web exhibiting a soft and silky tactile impression
US7655176B2 (en) * 2002-12-20 2010-02-02 The Procter & Gamble Company Method of making a polymeric web exhibiting a soft and silky tactile impression
US8057729B2 (en) * 2002-12-20 2011-11-15 The Procter & Gamble Company Method for making a forming structure
US7402723B2 (en) * 2002-12-20 2008-07-22 The Procter & Gamble Company Polymeric web exhibiting a soft and silky tactile impression
US9545744B2 (en) 2002-12-20 2017-01-17 The Procter & Gamble Company Apparatus for making polymeric web exhibiting a soft and silky tactile impression
US20040247833A1 (en) * 2003-03-10 2004-12-09 Copat Marcelo S. Soft and resilient formed film
US20040241389A1 (en) 2003-03-26 2004-12-02 Chung Tze Wan Pansy Stretchable web
US20050158513A1 (en) * 2003-04-15 2005-07-21 Tredegar Film Products Corporation Breathable elastic web
US20040209042A1 (en) * 2003-04-15 2004-10-21 Peacock Andrew J. Breathable elasctic web
US7191486B1 (en) * 2003-08-12 2007-03-20 Butler Home Products, Llc Cleaning pad
US7955710B2 (en) 2003-12-22 2011-06-07 Kimberly-Clark Worldwide, Inc. Ultrasonic bonding of dissimilar materials
US7648771B2 (en) * 2003-12-31 2010-01-19 Kimberly-Clark Worldwide, Inc. Thermal stabilization and processing behavior of block copolymer compositions by blending, applications thereof, and methods of making same
US20050202208A1 (en) * 2004-03-12 2005-09-15 Kelly William G. Three dimensional apertured film
US8377027B2 (en) * 2005-04-29 2013-02-19 Kimberly-Clark Worldwide, Inc. Waist elastic members for use in absorbent articles
US8575417B2 (en) * 2007-02-23 2013-11-05 The Procter And Gamble Company Printed formed film web and method for making
US8980994B2 (en) * 2010-12-30 2015-03-17 Kraton Polymers U.S. Llc Elastic film/fiber formulations
US8604129B2 (en) 2010-12-30 2013-12-10 Kimberly-Clark Worldwide, Inc. Sheet materials containing S-B-S and S-I/B-S copolymers
FR2970666B1 (fr) * 2011-01-24 2013-01-18 Snecma Procede de perforation d'au moins une paroi d'une chambre de combustion
US8847002B2 (en) * 2011-05-19 2014-09-30 Kimberly-Clark Worldwide, Inc. Absorbent article containing apertures arranged in registration with an embossed wave pattern
SI3054908T1 (en) * 2013-10-10 2018-07-31 F. Hoffmann-La Roche Ag Carrier system for the body to be worn and the production process
US9962851B2 (en) 2013-12-12 2018-05-08 3M Innovative Properties Company Method of making polymeric multilayer films
US10611131B2 (en) * 2016-04-19 2020-04-07 Aplix Perforated stretch laminate
JP7440264B2 (ja) 2017-01-31 2024-02-28 ザ プロクター アンド ギャンブル カンパニー 成形不織布
WO2018144293A1 (en) 2017-01-31 2018-08-09 The Procter & Gamble Company Shaped nonwoven
WO2020160271A1 (en) * 2019-02-01 2020-08-06 Tredegar Film Products Llc Forming structure, apparatus and method for forming a breathable, liquid impermeable, apertured formed film and film manufactured thereby

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3989867A (en) * 1973-02-16 1976-11-02 The Procter & Gamble Company Absorptive devices having porous backsheet
US3929135A (en) 1974-12-20 1975-12-30 Procter & Gamble Absorptive structure having tapered capillaries
US4342314A (en) * 1979-03-05 1982-08-03 The Procter & Gamble Company Resilient plastic web exhibiting fiber-like properties
US4324246A (en) * 1980-05-12 1982-04-13 The Procter & Gamble Company Disposable absorbent article having a stain resistant topsheet
US4681580A (en) 1985-03-29 1987-07-21 The Procter & Gamble Company Disposable diapers with unitary waistshield and elastically expansible waistbands
US5501679A (en) 1989-11-17 1996-03-26 Minnesota Mining And Manufacturing Company Elastomeric laminates with microtextured skin layers
US5156793A (en) 1991-02-28 1992-10-20 The Procter & Gamble Company Method for incrementally stretching zero strain stretch laminate web in a non-uniform manner to impart a varying degree of elasticity thereto
US5143679A (en) 1991-02-28 1992-09-01 The Procter & Gamble Company Method for sequentially stretching zero strain stretch laminate web to impart elasticity thereto without rupturing the web
US5167897A (en) 1991-02-28 1992-12-01 The Procter & Gamble Company Method for incrementally stretching a zero strain stretch laminate web to impart elasticity thereto
TW273531B (en) * 1991-08-14 1996-04-01 Chicopee Textile-like apertured plastic films
BR9207021A (pt) * 1992-01-03 1995-12-05 Procter & Gamble Tintura tridimensional resiliente e bandagem absorvente
US5514105A (en) * 1992-01-03 1996-05-07 The Procter & Gamble Company Resilient plastic web exhibiting reduced skin contact area and enhanced fluid transfer properties
US5261899A (en) * 1992-04-06 1993-11-16 The Procter & Gamble Company Multilayer film exhibiting an opaque appearance
JP2587166Y2 (ja) * 1992-05-29 1998-12-14 株式会社日本吸収体技術研究所 弾性複合体
US5366782A (en) * 1992-08-25 1994-11-22 The Procter & Gamble Company Polymeric web having deformed sections which provide a substantially increased elasticity to the web
CA2168207C (en) * 1993-08-25 2000-02-29 John Joseph Curro Absorbent article having composite elasticized member
US5804286A (en) * 1995-11-22 1998-09-08 Fiberweb North America, Inc. Extensible composite nonwoven fabrics
US6050985A (en) * 1995-04-13 2000-04-18 The Procter & Gamble Company Absorbency system
AU744099B2 (en) * 1996-10-10 2002-02-14 Procter & Gamble Company, The Breathable elastic polymeric film laminates
US5733628A (en) * 1996-10-10 1998-03-31 Tredegar Industries, Inc. Breathable elastic polymeric film laminates
DE69808254T2 (de) * 1997-02-21 2003-01-23 The Procter & Gamble Company, Cincinnati Reissfeste poröse dehnbare bahn

Also Published As

Publication number Publication date
ID29142A (id) 2001-08-02
TW527283B (en) 2003-04-11
IL139182A0 (en) 2001-11-25
HK1036396A1 (en) 2002-01-04
CA2333214A1 (en) 1999-12-09
WO1999062449A2 (en) 1999-12-09
AR015309A1 (es) 2001-04-18
KR20010043830A (ko) 2001-05-25
AU4097299A (en) 1999-12-20
EP1082080A2 (en) 2001-03-14
JP4493848B2 (ja) 2010-06-30
KR20010052423A (ko) 2001-06-25
PE20000600A1 (es) 2000-09-08
EP1082080B1 (en) 2006-02-22
ATE318124T1 (de) 2006-03-15
US6452063B1 (en) 2002-09-17
TR200003526T2 (tr) 2001-07-23
NZ507925A (en) 2003-08-29
CN1303257A (zh) 2001-07-11
CN1145467C (zh) 2004-04-14
DE69929969T2 (de) 2006-09-28
HUP0103561A2 (hu) 2002-02-28
ZA200005839B (en) 2002-01-21
BR9910809A (pt) 2001-10-02
JP2002516768A (ja) 2002-06-11
DE69929969D1 (de) 2006-04-27
HUP0103561A3 (en) 2008-06-30
WO1999062449A3 (en) 2000-01-27
ES2259234T3 (es) 2006-09-16
KR100430944B1 (ko) 2004-05-12
CA2333214C (en) 2006-03-14

Similar Documents

Publication Publication Date Title
KR100395393B1 (ko) 컴퓨터 주변장치의 초기화 및 컴퓨터 주변장치와의 통신을위한 시스템, 장치 및 방법
US5542055A (en) System for counting the number of peripheral buses in each hierarch connected to primary bus for creating map of peripheral buses to locate peripheral devices
US5729767A (en) System and method for accessing peripheral devices on a non-functional controller
US5263168A (en) Circuitry for automatically entering and terminating an initialization mode in a data processing system in response to a control signal
EP0117836B1 (en) Address-controlled automatic bus arbitration and address modification
EP1256055B1 (en) Computer system including a memory access controller for using non-system memory storage resources during system boot time
US7404019B2 (en) Method and apparatus for endianness control in a data processing system
US6601165B2 (en) Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors
US6148384A (en) Decoupled serial memory access with passkey protected memory areas
US6167472A (en) System for communicating with and initializing a computer peripheral utilizing a masked value generated by exclusive-or of data and corresponding mask
US4947478A (en) Switching control system for multipersonality computer system
US5872940A (en) Programmable read/write access signal and method therefor
US5664198A (en) High speed access to PC card memory using interrupts
US6754760B1 (en) Programmable interface for a configurable system bus
JPH10116187A (ja) マイクロコンピュータ
US6898643B2 (en) Device and method for controlling access to computer peripherals
CN110765060A (zh) Mdio总线到并行总线转换方法及装置、设备、介质
US6901466B2 (en) Apparatus for extending the available number of configuration registers
JP3584977B2 (ja) Pciデバイスおよびそれを備えるpciバスシステムならびにデータ収集方法
US6243775B1 (en) System for extending the available number of configuration registers
US7237099B2 (en) Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor
JP2008102886A (ja) バス制御方法および装置
JP7363344B2 (ja) メモリ制御装置、および制御方法
JPH09167117A (ja) マイクロコンピュータおよびこれを用いたリアルタイムシステム
KR920001800B1 (ko) 팩시밀리의 용량확장용 접속장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee