KR100254197B1 - 로크 데이터 비교기를 포함하는 딕시-투 에이직 - Google Patents

로크 데이터 비교기를 포함하는 딕시-투 에이직 Download PDF

Info

Publication number
KR100254197B1
KR100254197B1 KR1019970034414A KR19970034414A KR100254197B1 KR 100254197 B1 KR100254197 B1 KR 100254197B1 KR 1019970034414 A KR1019970034414 A KR 1019970034414A KR 19970034414 A KR19970034414 A KR 19970034414A KR 100254197 B1 KR100254197 B1 KR 100254197B1
Authority
KR
South Korea
Prior art keywords
data
register
dixy
bit
system bus
Prior art date
Application number
KR1019970034414A
Other languages
English (en)
Other versions
KR19990011347A (ko
Inventor
김창용
Original Assignee
윤종용
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자주식회사 filed Critical 윤종용
Priority to KR1019970034414A priority Critical patent/KR100254197B1/ko
Publication of KR19990011347A publication Critical patent/KR19990011347A/ko
Application granted granted Critical
Publication of KR100254197B1 publication Critical patent/KR100254197B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 버스의 활용도를 높혀 시스템 성능을 향상시키기 위한 로크 데이터 비교기를 포함하는 DIXY-II ASIC에 관한 것으로, 각각이 4 계층 파이프라인 레지스터인 XACH18PR, XACL18PR, XCAH18PR, XCAL18PR 와; 각각이 4 계층 파이프라인 레지스터인 YCBL18PR, YCBH18PR, YBCL18PR, YBCH18PR 와; 채널 X 다이렉트 포트인 XDAPST 및 XDAPTS, 홀수/짝수 선택가능 패리티 제너레이터 로직인 XTSPGN와; 채널 Y 다이렉트 포트인 YDAPST 및 YDAPTS, 홀수/짝수 선택가능 패리티 제너레이터 로직인 YTSPGN와; 홀수/짝수 선택가능 패리티 체커인 XYPCHKER 과; 포트 랫치 및 포트 멀티플레서 모듈과;XLOCKCM 와;YLOCKCMP와 IOPLOCAL을 포함하는 DIXY-II ASIC에 있어서,
상기 XLOCKCMP는, 시스템 버스로부터 모든 판독 사이클마다 4 바이트의 판독 데이터를 DIXY-II 내의 LOCKRD 레지스터에 로드하고 데이터의 정렬에 따라 레지스터를 선택하는 XLOCKRD와, XMCM으로부터 모든 기입 사이클마다 2 바이트의 기입 데이터를 DIXY-II 내의 LOCKWD 레지스터에 로드하고 데이터의 상위/하위 여부에 따라 레지스터를 선택하는 XLOCKWD를 포함하며, XLOCKRD 레지스터와 XLOCKWD 레지스터의 데이터를 비교하여 그 결과를 XALD중 하위 4 비트에 실어 CPU 보드의 TTL(F 30) 칩으로 보내주는 기능을 수행하고 비교기의 OUTPUT 인에이블을 상태기에서 제어하고;
상기 YLOCKCMP는 시스템 버스로부터 모든 판독 사이클마다 4 바이트의 판독 데이터를 DIXY-II 내의 LOCKRD 레지스터에 로드하고 데이터의 정렬 여부에 따라 레지스터를 선택하는 YLOCKRD 와, XMCM으로부터 모든 기입 사이클마다 2 바이트의 기입 데이터를 DIXY-II 내의 LOCKWD 레지스터에 로드하고 데이터의 상위/하위 여부에 따라 레지스터를 선택하는 YLOCKWD를 포함하며 YLOCKRD 레지스터와 YLOCKWD 레지스터의 데이터를 비교하여, 그 결과를 YBLD중 하위 4 비트에 실어 CPU 보드의 TTL(F 30) 칩으로 보내주는 기능을 수행하고 비교기의 OUTPUT 인에이블은 상태기에서 제어하며; 상기 IOPLOCAL는 BDSEL 신호에 따라 액티브되는 블록으로 판독 사이클에서는 64 비트의 시스템 버스를 동시에 처리하여 주기 위해 ALD와 BLD에 시스템 데이터를 매칭시키는 IOPLOCALRD와, XSELU 신호를 이용하여 8 비트의 데이터 폭을 가진 로컬 MUX 쪽으로 16비트의 RD 데이터를 전송하기 위한 ALDEV와, YSELU 신호를 이용하여 8 비트의 데이터 폭을 가진 로컬 MUX 쪽으로 16비트의 RD 데이터를 전송하기 위한 BLDEV와, 8 비트 폭의 ALD 포트를 이용하여 시스템 버스로 16 비트의 데이터를 전송하는 ALDWD 와, 8 비트 폭의 BLD 포트를 이용하여 시스템 버스로 16 비트의 데이터를 전송하는 BLDWD로 이루어 진다.

Description

로크 데이터 비교기를 포함하는 딕시-투 에이직
본 발명은 버스의 활용도를 높혀 시스템 성능을 향상시키기 위한 DIXY-II ASIC를 이용한 로크 데이터 비교기에 관한 것으로 특히, 시스템 버스와 로컬 데이터를 겸해 사용할 수 있고 DIXY-II ASIC의 속도를 개선시키는 로직을 구현하여 시스템 성능을 향상시키는 DIXY-II ASIC를 이용한 로크 데이터 비교기에 관한 것이다.
본 발명의 종래기술은 삼성전자주식회사 의 DIXY-I ASIC이다.
이하, 도 1을 참조하여 종래 DIXY-I ASIC을 설명한다.
XACH18PR 는 시스템 버스로의 데이터 기입을 위해 XMCM의 상위(High) 64 비트 데이터중 16 비트 데이터 및 해당 8 비트 패리티중 2 비트 데이터 패리티를 로드하기 위한 파이프라인 레지스터로서 시스템 버스의 버스트(burst) 데이터 전송을 지원할 수 있도록 4-계층(depth)으로 이루어져 있다.
XACL18PR는 시스템 버스로의 데이터 기입을 위해 XMCM의 하위(Low) 64 비트 데이터중 16 비트 데이터 및 해당 8 비트 패리티중 2비트 데이터 패리티를 로드하기 위한 파이프라인 레지스터로서 시스템 버스의 버스트 데이터 전송을 지원할 수 있도록 4-계층으로 이루어져 있다.
XCAH18PR는 시스템 버스로부터 XMCM으로 데이터 전송(Data Read Cycle)을 위하여 128 비트 데이터 버스 폭의 시스템 버스에서 상위 64 비트 데이터중 16 비트 데이터 및 해당 8 비트 패리티중 2비트 데이터 패리티를 로드하기 위한 파이프라인 레지스터로서 시스템 버스의 버스트 데이터 전송을 지원할 수 있도록 4-계층으로 이루어져 있다.
XCAL18PR는 시스템 버스로부터 XMCM으로 데이터 전송을 위하여 128 비트 데이터 버스 폭의 시스템 버스에서 로우 64 비트 데이터중 16 비트 데이터 및 해당 8 비트 패리티중 2비트 데이터 패리티를 로드하기 위한 파이프라인 레지스터로서 시스템 버스의 버스트 데이터 전송을 지원할 수 있도록 4-계층으로 이루어져 있다.
XDAPST는 XLORY(포트 T)로 데이터 기입을 위해 XMCM(64 비트 데이터 버스 폭)을 위한 상위(upper) 32 비트 데이터중 8 비트 데이터 및 해당 4 비트 패리티중 1 비트 패리티와 하위(lower) 32 비트 데이터중 8 비트 데이터 및 해당 4 비트 패리티중 1 비트 패리티등 총 18 비트를 랫치할 수 있는 채널 X 다이렉트 액세스 포트이다.
XDAPTS는 XLORY(포트 T)로 부터의 데이터 판독을 위해 XMCM을 위한 상위 32 비트 데이터중 8 비트 데이터 및 해당 4 비트 패리티중 1 비트 패리티와 하위 32 비트 데이터중 8 비트 데이터 및 해당 4 비트 패리티중 1 비트 패리티등 총 18 비트를 랫치할 수 있는 채널 X 다이렉트 액세스 포트이며 각각 9 비트 단위로 랫치 인에이블이 가능하다.
XTSPGEN는 XLORY(포트 T)로 부터의 데이터 판독에 대한 짝수/홀수(even/odd) 선택가능 패리티 제너레이터 로직이다.
XYPCHKER 는 시스템 버스로 부터의 데이터 판독에 대한 짝수/홀수 선택가능 패리티 제너레이터 체커이다. 채널 X와 Y 모두에 의해 공유된다.
YBCH18PR 는 시스템 버스로의 데이터 기입을 위해 YMCM의 상위 64 비트 데이터중 16 비트 데이터 및 해당 8 비트 패리티중 2비트 데이터 패리티를 로드하기 위한 파이프라인 레지스터로서 시스템 버스의 버스트 데이터 전송을 지원할 수 있도록 4-계층으로 이루어져 있다.
YBCL18PR 는 시스템 버스로의 데이터 기입을 위해 YMCM의 하위 64 비트 데이터중 16 비트 데이터 및 해당 8 비트 패리티중 2비트 데이터 패리티를 로드하기 위한 파이프라인 레지스터로서 시스템 버스의 버스트 데이터 전송을 지원할 수 있도록 4-계층으로 이루어져 있다.
YCBH18PR는 시스템 버스로부터 YMCM으로의 데이터 판독을 위하여 시스템 버스(128 비트 데이터 버스 폭)의 상위 64 비트 데이터중 16 비트 데이터 및 해당 8 비트 패리티중 2비트 데이터 패리티를 로드하기 위한 파이프라인 레지스터로서 시스템 버스의 버스트 데이터 전송을 지원할 수 있도록 4-계층으로 이루어져 있다.
YCBL18PR 는 시스템 버스로부터 YMCM으로의 데이터 판독을 위하여 시스템 버스(128 비트 데이터 버스 폭)의 하이 64 비트 데이터중 16 비트 데이터 및 해당 8 비트 패리티중 2비트 데이터 패리티를 로드하기 위한 파이프라인 레지스터로서 시스템 버스의 버스트 데이터 전송을 지원할 수 있도록 4-계층으로 이루어져 있다.
YDAPST 는 YLORY(포트 T)로 데이터 기입을 위해 YMCM(64 비트 데이터 버스 폭)을 위한 상위(upper) 32 비트 데이터중 8 비트 데이터 및 해당 4 비트 패리티중 1 비트 패리티와 하위(lower) 32 비트 데이터중 8 비트 데이터 및 해당 4 비트 패리티중 1 비트 패리티등 총 18 비트를 랫치할 수 있는 채널 Y 다이렉트 액세스 포트이다.
YDAPTS는 YLORY(포트 T)로 부터의 데이터 판독을 위해 YMCM(64 비트 데이터 버스 폭)을 위한 상위 32 비트 데이터중 8 비트 데이터 및 해당 4 비트 패리티중 1 비트 패리티와 하위 32 비트 데이터중 8 비트 데이터 및 해당 4 비트 패리티중 1 비트 패리티등 총 18 비트를 랫치할 수 있는 채널 Y 다이렉트 액세스 포트이며, 각각 9 비트 단위로 랫치 인에이블이 가능하다.
종래 DIXY-I(Data bus Interface pipeline register & exchanger for both of channel X and Y -I) ASIC(Application Specific Integration Circuit)은 로크 데이터 비교기를 두지 않아 버스의 활용도를 높이지 못해 시스템 전체의 성능을 제대로 발휘하지 못하였다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여, 시스템 버스의 성능을 높이기 위해 불필요한 로크 사이클을 제거하여 시스템 성능을 향상시키는 것을 목적으로 한다.
도 1은 종래의 DIXY-I의 전체 블록도.
도 2는 DIXY-II를 이용한 CPU 보드의 데이터 블록도.
도 3은 로크 데이터 비교기의 상태 천이도.
도 4는 DIXY-II의 전체 블록도.
도 5 및 도 6는 로크 데이터 비교기의 상태 블록도.
상기한 목적을 달성하기 위해 본 발명은, 각각이 4 계층 파이프라인 레지스터인 XACH18PR, XACL18PR, XCAH18PR, XCAL18PR 와; 각각이 4 계층 파이프라인 레지스터인 YCBL18PR, YCBH18PR, YBCL18PR, YBCH18PR 와; 채널 X 다이렉트 포트인 XDAPST 및 XDAPTS, 홀수/짝수 선택가능 패리티 제너레이터 로직인 XTSPGN와; 채널 Y 다이렉트 포트인 YDAPST 및 YDAPTS, 홀수/짝수 선택가능 패리티 제너레이터 로직인 YTSPGN와; 홀수/짝수 선택가능 패리티 체커인 XYPCHKER 과; 포트 랫치 및 포트 멀티플레서 모듈과 XLOCKCM 와;YLOCKCMP와 IOPLOCAL을 포함하는 DIXY-II ASIC에 있어서,
상기 XLOCKCM 시스템 버스로부터 모든 판독 사이클마다 4 바이트의 판독 데이터를 DIXY-II 내의 LOCKRD 레지스터에 로드하고 데이터의 정렬에 따라 레지스터를 선택하는 XLOCKRD와, XMCM으로부터 모든 기입 사이클마다 2 바이트의 기입 데이터를 DIXY-II 내의 LOCKWD 레지스터에 로드하고 데이터의 상위/하위 여부에 따라 레지스터를 선택하는 XLOCKWD를 포함하며, XLOCKRD 레지스터와 XLOCKWD 레지스터의 데이터를 비교하여 그 결과를 XALD중 하위 4 비트에 실어 CPU 보드의 TTL(F 30) 칩으로 보내주는 기능을 수행하고 비교기의 OUTPUT 인에이블을 상태기에서 제어하고;
상기 YLOCKCMP는 시스템 버스로부터 모든 판독 사이클마다 4 바이트의 판독 데이터를 DIXY-II 내의 LOCKRD 레지스터에 로드하고 데이터의 정렬 여부에 따라 레지스터를 선택하는 YLOCKRD 와, XMCM으로부터 모든 기입 사이클마다 2 바이트의 기입 데이터를 DIXY-II 내의 LOCKWD 레지스터에 로드하고 데이터의 상위/하위 여부에 따라 레지스터를 선택하는 YLOCKWD를 포함하고, YLOCKRD 레지스터와 YLOCKWD 레지스터의 데이터를 비교하여, 그 결과를 YBLD중 하위 4 비트에 실어 CPU 보드의 F 30 칩으로 보내주는 기능을 수행하고 비교기의 OUTPUT 인에이블은 상태기에서 제어하며;
상기 IOPLOCAL는 BDSEL 신호에 따라 액티브되는 블록으로 판독 사이클에서는 64 비트의 시스템 버스를 동시에 처리하여 주기 위해 ALD와 BLD에 시스템 데이터를 매칭시키는 IOPLOCALRD와, XSELU 신호를 이용하여 8 비트의 데이터 폭을 가진 로컬 MUX 쪽으로 16비트의 RD 데이터를 전송하기 위한 ALDEV와, YSELU 신호를 이용하여 8 비트의 데이터 폭을 가진 로컬 MUX 쪽으로 16비트의 RD 데이터를 전송하기 위한 BLDEV와, 8 비트 폭의 ALD 포트를 이용하여 시스템 버스로 16 비트의 데이터를 전송하는 ALDWD 와, 8 비트 폭의 BLD 포트를 이용하여 시스템 버스로 16 비트의 데이터를 전송하는 BLDWD로 이루어진다.
본 발명에서는 이름을 DIXY-II ASIC로 명명하여 DIXY ASIC의 전체 기능과 추가 기능을 설명하고자 한다.
DIXY-II ASIC은 기개발되어 사용중인 DIXY-I ASIC의 일부 기능을 개선하고, 새로운 기능을 추가하여 기존의 DIXY-I ASIC 과 호환되도록 설계되었다.
DIXY-II ASIC은 기존의 데이터 통로로서의 기능뿐 만 아니라, 로크 동작을 지원할 기능이 내장되었으며, 다른 보드(IOP B'D)에서의 활용 가능성을 고려하여 설계되었다.
상기 DIXY-II ASIC의 제원은 다음과 같다.
제조자 : Toshiba
부품번호 : TC170G35
테크놀로지 : 0.7μm 게이트 어레이
패키지 유형 : 184 핀 PQFP(QFP184-P-3232B)
리드 핏치 : 0.65mm
게이트 수 : 15,400 게이트
CPU 보드에서는 시스템 버스의 128 비트 데이터 버스 전송 폭(width)을 지원하기 위해 DIXY-II ASIC 칩이 4개씩 사용된다.
그리고 IOP보드에서 사용할 때에도 보드당 4개의 DIXY-II ASIC이 사용된다.
여기서 설명되어지는 CPU 보드는 듀얼 프로세서 칩(X,Y_MCM)을 사용한 것을 의미하며 IOP보드는 1칩 프로세서를 사용한 I/O 기능을 가진 보드를 의미한다.
DIXY-II ASIC은 CPU 보드와 IOP 보드에 도 1과 같이 각 4개씩 장착되어 데이터 전송 및 기타 기능을 지원하도록 설계된 데이터 경로(path) 제어 칩이다.
CPU 보드내에서 DIXY-II ASIC은 내부의 XMCM 블록과 YMCM 블록이 단일 시스템 버스데이터 통로인 DATABTL을 통해 128 비트 데이터 버스 전송 크기를 충돌없이 지원하도록 설계되었다. 또한, DIXY-I ASIC이 가지고 있었던 일부 문제점을 해결하기 위해 데이터 판독 경로를 일부 수정하였다.
특히 기존 시스템에서 개선이 요구되었던 로크 동작을 지원하기 위하여, 로크 데이터 비교기와 관련 로직 그리고 필요한 경로가 추가되었다.
IOP 보드에서 DIXY-II ASIC은 기존 SDX ASIC 대신에 사용할 수 있도록 하기 위하여, 64 비트 폭/크기를 지원하여야 한다.
기존 DIXY-I ASIC의 경우 X,Y 채널이 각각 32 비트 폭/크기의 로컬 데이터 경로를 가지므로 DIXY-II ASIC에서는 X,Y 채널의 데이터 경로를 공유할 수 있도록 설계하여64 비트 폭을 지원하도록 하였다.
보드 선택 신호를 이용해 DIXY-II ASIC가 어느 보드에 장착되었는지 여부를 확인하고, 이에따라 필요한 기능을 수행할 수 있도록 설계되어 있으며, 일부 I/O 핀의 경우 두가지 이상의 모드를 지원하기 위하여 멀티플렉싱 되어있다.
이하, 첨부한 도면을 참조하여 본 발명을 더욱 상세히 설명한다.
도 4는 DIXY-II의 전체 블록도이다.
도시된 바와 같이, DIXY-II는 각각이 4 계층 파이프라인 레지스터인 XACH18PR, XACL18PR, XCAH18PR, XCAL18PR 와; 각각이 4 계층 파이프라인 레지스터인 YCBL18PR, YCBH18PR, YBCL18PR, YBCH18PR 와; 채널 X 다이렉트 포트인 XDAPST 및 XDAPTS, 홀수/짝수 선택가능 패리티 제너레이터 로직인 XTSPGN와; 채널 Y 다이렉트 포트인 YDAPST 및 YDAPTS, 홀수/짝수 선택가능 패리티 제너레이터 로직인 YTSPGN와; 홀수/짝수 선택가능 패리티 체커인 XYPCHKER 과; 포트 랫치 및 포트 멀티플레서 모듈과; XLOCKRD와 XLOCKWD를 포함하는 XLOCKCMP와; YLOCKRD 와 YLOCKWD를 포함하는 YLOCKCMP와; IOPLOCALRD , ALDEV , BLDEV, ALDWD 와 BLDWD로 이루어진 IOPLOCAL을 포함하여 구성된다.
여기서 상기 XACH18PR, XACL18PR, XCAH18PR, XCAL18PR,YCBL18PR, YCBH18PR, YBCL18PR, YBCH18PR,XDAPST,XDAPTS,XTSPGN, YDAPST, YDAPTS, YTSPGN, XYPCHKER, 포트 랫치 및 포트 멀티플레서 모듈은 상기 종래 DIXY-I ASIC에서 설명한 것과 동일하므로 더 이상 설명을 생략한다.
이하, 도 4를 참조하여, 본 발명의 DIXY-II ASIC에 새롭게 추가된 로크 비교기인 XLOCKCMP 및 YLOCKCMP와 IOPLOCAL을 상세히 설명한다.
먼저, 도 4의 ① 과 ①'을 참조하여 XLOCKCMP 및 YLOCKCMP을 설명한다.
XLOCKCMP 및 YLOCKCMP은 로크 동작을 지원하기 위하여 추가된 로직으로, XMCM과 YMCM을 지원한다.
상기 XLOCKCMP는 XLOCKRD와 XLOCKWD를 포함하고 YLOCKCMP는 YLOCKRD 와 YLOCKWD를 포함한다.
XLOCKRD 는 시스템 버스로부터 모든 판독 사이클마다 4 바이트의 판독 데이터를 DIXY-II 내의 LOCKRD 레지스터에 로드한다. 이때, 데이터의 정렬(aligned)여부에 따라 레지스터를 선택한다.
XLOCKWD는 XMCM으로부터 모든 기입 사이클마다 2 바이트의 기입 데이터를 DIXY-II 내의 LOCKWD 레지스터에 로드한다. 이때, 데이터의 상위(upper)/하위(lower) 여부에 따라 레지스터를 선택한다.
YLOCKRD 는 시스템 버스로부터 모든 판독 사이클마다 4 바이트의 판독 데이터를 DIXY-II 내의 LOCKRD 레지스터에 로드한다. 이때, 데이터의 정렬 여부에 따라 레지스터를 선택한다.
YLOCKWD 는 XMCM으로부터 모든 기입 사이클마다 2 바이트의 기입 데이터를 DIXY-II 내의 LOCKWD 레지스터에 로드한다. 이때, 데이터의 상위/하위 여부에 따라 레지스터를 선택한다.
그리고 상기 XLOCKRD와 XLOCKWD 를 포함하는 XLOCKCMP는, XLOCKRD 레지스터와 XLOCKWD 레지스터의 데이터를 비교하여, 그 결과를 XALD중 하위 4 비트에 실어 CPU 보드의 TTL(F 30) 칩으로 보내주는 기능을 수행한다.
이때 비교기의 OUTPUT 인에이블은 상태기에서 제어한다.
마찬가지로 상기 YLOCKRD 와 YLOCKWD를 포함하는 YLOCKCMP는 YLOCKRD 레지스터와 YLOCKWD 레지스터의 데이터를 비교하여, 그 결과를 YBLD중 하위 4 비트에 실어 CPU 보드의 TTL(F 30) 칩으로 보내주는 기능을 수행한다.
이때 비교기의 OUTPUT 인에이블은 상태기에서 제어한다.
도 3은 LOCK 데이터 비교기의 상태 천이도이다.
XLOCKCMP 및 YLOCKCMP 블록은 CPU 보드에서만 인에이블된다.
XLOCKCMP 및 YLOCKCMP 블록의 일반적인 기능을 살펴보면, 몇 개의 입력정보(Bdsel, Lockcyc, Mbe)를 이용하여 각각의 프로세서 보드(CPU 보드)상에 자신의 로크 판독 데이터를 저장한 후, 후속되는 프로세서로부터의 로크 기록시의 데이터와 비교한다.
이 비교결과가 같으면, 시스템 버스상에 전송(forward) 시키지 않고 즉, 시스템 버스로 ILW를 발생시키지 않고 내부적으로 사이클을 종료시킨다.
이렇게하여, 버스 트래픽 증가를 방지하고, 불필요한 스누핑을 제거하므로써 시스템 성능을 향상시키는 것을 목적으로 구현되었다.
상기 기능을 구현하기 위한 구체적인 로직 구성은 다음과 같다.
먼저, 입력신호인 상기 lockcyc 신호를 이용해 내부 신호 rsplit 와 wsplit 신호를 발생시키며, 리셋트 이후 최초 상태는 로우이다.
모든 데이터 판독 사이클에서, caprcen_n(로우) & rsplit(로우) 이면 4 바이트의 판독 데이터는 DIXY ASIC내의 레지스터인 h64lockrd1h, h64lockrd1l, L64LOCKRD1H 및 L64LOCKRD1L로 각각 로드된다.
이때, 상기 lockcyc 과 caprcen 신호에 의해 rsplit 신호가 생성되며, lockcyc 신호가 하이로 변할 때 클리어된다.
모든 데이터 판독 사이클에서, caprcen_n(로우) & rsplit(로우)이면 4 바이트의 판독 데이터는 DIXY ASIC내의 레지스터인 h64lockrd2h, h64lockrd2l, L64LOCKRD2H, L64LOCKRD2L로 각각 로드된다.
이때, lockcyc 과 caprcen 신호에 의해 rsplit 신호가 생성되며, lockcyc 신호가 하이로 변할 때 클리어된다.
모든 데이터 기입 사이클에서, wsplit(로우) & (achprcen(로우) # aclprcen(로우))이면, 2 바이트의 기입 데이터는 DIXY ASIC내의 레지스터인 LOCKWD1H 및 LOCKWD1L 로 로드된다.
이때, lockcyc(로우) & wsplit(로우) 이면 두 개의 mbe 신호가 랫치 및 인버트 되어 lcmp1hen, lcmp1len이 생성되고, 이 신호들은 lockcyc가 하이가 되면 클리어 된다.
또한, 이때 lockcyc(로우) & (achprcen(로우) # aclprcen(로우))이면, 다음 클로부터 wsplit 신호가 셋트되며, lockcyc가 하이가 되면 클리어 된다.
lockcyc(하이) & wsplit(로우) 일때 achprcen(로우)이면, hl64sell신호가 셋트(하이)되고, aclprcen(로우)이면 hl64sell 신호가 클리어되며, 이는 후에 로크 데이터 비교시에 로크 기입 데이터와 비교하여 그 출력할 대상으로 이미 랫치되어 있는 128 비트의 로크 판독 데이터에서 하이 64 비트와 로우 64 비트 데이터중 하나를 선택하는 데 사용된다.
모든 데이터 기입 사이클에서 wsplit(하이) & (achprcen(로우) #aclprcen(로우))이면, 2 바이트의 기입 데이터는 DIXY ASIC내의 레지스터인 LOCKWD2H 및 LOCKWD2L 로 로드된다.
이때, lockcyc(로우) & wsplit(하이) 이면 두 개의 mbe 신호가 랫치 및 인버트 되어 lcmp2hen, lcmp2len이 생성되고, 이 신호들은 lockcyc가 하이가 되면 클리어 된다.
lockcyc(하이) & wsplit(하이) 일 때 achprcen(로우)이면, hl64sel2신호가 셋트(하이)되고, aclprcen(로우)이면 hl64sel2 신호가 클리어된다.
그후 상기 신호들은, 로크 데이터 비교시에 로크 기입 데이터와 비교하여 그 출력할 대상으로 이미 랫치되어 있는 128 비트의 로크 판독 데이터에서 하이 64 비트와 로우 64 비트 데이터중 하나를 선택하는 데 사용된다.
lockcyc가 로우일 때 achprcen 또는 aclprcen이 로우로 샘플링된 4 클록후( 이 시간동안 로크 데이터의 비교가 행해진다.) 2 클록동안 lockouten[3:0] 또는 lockouten[1:0]가 로우로 구동된다.
그후, 이들은 다시 xaoe (IOP 보드를 지원하기 위해 추가된 블록우의 로컬 포트 출력 인에이블 신호) 로 게이팅되고, 이는 다시 기존 MCM으로부터 로컬 블록으로의 인에이블 신호인 loest 입력신호들과 게이팅하여 로컬 데이터 [7:0]의 출력 포트의 인에이블을 제어한다.
LOCKCMP 블록의 출력(로컬 데이터중 로우 4 비트)값은 다음과 같이 전달된다.
HL64SEL1(로우) & LCMP1LEN(하이)이면, L64LOCKRD1L 과 LOCKWD1L의 비교결과는 출력핀인 ALD0로 전달되고, HL64SEL1(로우) & LCMP1LEN(로우)이면 출력 ALD0는 무조건 하이이다.
HL64SEL1(로우) & LCMP1LEN(하이)이면, L64LOCKRD1H 과 LOCKWD1H의 비교결과는 출력핀인 ALD0로 전달되고, HL64SEL1(로우) &LCMP1HEN(로우)이면 출력 ALD1는 무조건 하이이다.
HL64SEL1(하이) & LCMP2LEN(하이)이면, L64LOCKRD2L 과 LOCKWD2L의 비교결과는 출력핀인 ALD2로 전달되고, HL64SEL1(하이) & LCMP2LEN(로우)이면 출력 ALD2는 무조건 하이이다.
HL64SEL1(하이) & LCMP2HEN(하이)이면, L64LOCKRD2H 과 LOCKWD2H의 비교결과는 출력핀인 ALD3로 전달되고, HL64SEL1(하이) & LCMP2HEN(로우)이면 출력 ALD3는 무조건 하이이다.
DIXY-II ASIC은 상기와 같은 LOCKCMP 블록을 XMCM과 YMCM을 지원하기 의해 각각 1개씩 2 개의 동일한 블록으로 내장하고 있으며, 이를 통하여 로크 동작시 시스템의 성능 저하 현상을 해소하고 있다.
이하 IOPLOCALRD , ALDEV , BLDEV, ALDWD 와 BLDWD를 포함하는 IOPLOCAL 블록을 상세히 설명한다.
IOPLOCALRD 는 BDSEL 신호에 따라 액티브되는 블록으로 판독 사이클에서는 64 비트의 시스템 버스를 동시에 처리하여 주기 위하여, ALD와 BLD에 시스템 데이터를 매칭시키는 구조를 갖는다.
즉, 첫 번째 32 비트 중 상위 18비트는 ALD 포트로 매핑시키고, 하위 18비트는 BLD 포트로 매핑시키는 방식을 취한다.
ALDEV 는 XSELU 신호를 이용하여, 8 비트의 데이터 폭을 가진 로컬 MUX 쪽으로 16비트의 RD 데이터를 전송하기 위한 레지스터이다.
BLDEV 는 YSELU 신호를 이용하여, 8 비트의 데이터 폭을 가진 로컬 MUX 쪽으로 16비트의 RD 데이터를 전송하기 위한 레지스터이다.
ALDWD 는 8 비트 폭의 ALD 포트를 이용하여, 시스템 버스로 16 비트의 데이터를 전송하기 위하여 만들어진 레지스터이다.
BLDWD 는 8 비트 폭의 BLD 포트를 이용하여, 시스템 버스로 16 비트의 데이터를 전송하기 위하여 만들어진 레지스터이다.
그리고 상기 IOP 로컬 블록은 BDSEL 신호가 로우일때만 액티브되는 블록으로 DIXY-II ASIC이 IOP 보드에서 사여용되어 질 수 있도록 새롭게 구현된 블록이다.
IOP 로컬 블록은 기존 DIXY에서 제공하지 않았던 BUSTOLOCAL , LOCALTOBUS 통/경로를 새롭게 구현하여 , X 및 Y 로컬 포트를 하나의 64 비트 데이터 통로로 사용하도록 설계되었다.
IOP 로컬 블록이 액티브되면 자동적으로 lockcmp 블록은 디스에이블되며 , 이러한 제어는 bdsel 신호에 의해 제어된다.
IOP 로컬 블록은 먼저 시스템 버스로부터 X 및 Y 로컬 블록으로 데이터를 전달하는 데이터 판독 블록, X 및 Y 로컬 블록으로부터 데이터를 전달하는 데이터 기입 블록, 데이터 판독시 X 및 Y 포트로 각각 32 비트를 전달해 주는 분배기, lockcmp 블록 데이터와 IOP 로컬 블록 데이터중 하나를 선택하는 mux 블록등으로 구성디어 있다.
모든 데이터 판독 사이클에서 데이터 판독은 시스템 버스의 32비트 데이터가, X 및 Y 로컬 블록으로 구분되어진다.
즉, 상위 16 비트는 X 로컬 블록으로, 하위 16 비트는 Y 로컬 블록으로 연결되어 진다.
2개의 포트로 구분되어진 BUS 데이터는 로컬 데이터 비트 폭인 8 비트로 액세스하기 위해 xelu라는 제어신호에 의해 IOPtmp1, IOPtmp2(이상 XLOCAL 포트) IOPtmp2, IOPtmp3(이상 YLOCAL 포트) 레지스터로 임시 저장된다.
IOPTMP 레지스터에 저장된 버스 데이터는 IOPOE라는 출력 인에이블 신호에 의해 MUX 블록으로 전달되어 진다.
모든 데이터 기입 사이클에서 XLOCAL 데이터 경로와 YLOCAL 데이터 경로를 통하여 기입되는 32 비트 폭의 데이터는 IOPcd 레지스터를 통하여 데이터 교환 블록으로 전달된다.
즉, 기존 CPU 보드의 로컬에서 MCM으로의 제어 신호인 xllest0, xllest1, yllest0, yllest1 등 4개의 신호를 이용하여 8 비트 폭의 로컬 데이터 포트를 통해 32 비트의 기입 데이터를 전달하는 기능을 수행한다.
BDSEL 신호가 로우일 경우에만 액티브되는 블록으로서 BDSEL(로우)& xllest0(로우)이면 8 비트의 xlocal 포트 데이터가 IOPcd1 레지스터로 전달되고, BDSEL(로우)& xllest1(로우)이면 8 비트의 xlocal 포트 데이터가 IOPcd2 레지스터로 전달되고, 그렇지 않으면 디폴트 하이가 전달되도록 설계되었다.
또한,BDSEL(로우)& yllest0(로우)이면 8 비트의 ylocal 포트 데이터가 IOPcd3 레지스터에 저장되고, BDSEL(로우)& yllest1(로우)이면 8 비트의 ylocal 포트 데이터가 IOPcd4 레지스터에 저장된다.
이때, IOPcd1은 MSB를 구성하고, IOPcd4는 LSB를 구성한다.
즉, 시스템버스 32 비트[31:0]는 [IOPcd1, IOPcd2 ,IOPcd3, IOPcd4]로 구성된다.
이러한 IOP 기입 기능을 구현하기 위하여, 기존 DIXY-I에서 사용되었던 데이터 교환의 2 X 1 MUX 가 3 X 1 MUX로 바뀌고, IOP용 데이터 경로가 추가되었다.
데이터 판독 사이클에서 로컬 포트로 전달되어지는 IOPTMP 레지스터의 데이터는 LockCMP 블록의 데이터와 BDSEL 신호에 의해 MCM 에서 로컬 경로의 기입 데이터와 LDOE라는 선택 신호에 의해 선택적으로 전달된다.
DIXY-II ASIC의 경우 기존 DIXY-I ASIC의 속도를 획기적으로 개선하기 위해 새로운 기능을 내장하고 있다.
즉, 기존 DIXY-I ASIC의 경우 파이프 라인 레지스터의 데이터를 매 클록마다 인출(fetch)하도록 초기 설계되었으나, loprsel등의 제어신호의 전달 지연과 데이터 셋업 타임의 부족으로 인하여, 실제로는 두 클록마다 데이터를 펫치하도록 구현하였다.
이러한 문제점을 해결하기 위하여, 파이프라인 레지스터 다음 단에 클록된 플립 플롭을 두어, 파이프라인 레지스터의 출력 데이터를 한 클록 다음부터 가져가도록 하므로써, 한 클록 다음부터는 매 클록 마다 데이터를 가져가도록 디자인 하였다.
상기 설계의 결과 현재 데이터 판독 사이클에 8 클록 걸리는 것을 5 클록이 걸리도록 개선되었으며 , 이를 통해 시스템 성능이 개선될 것으로 기대된다.
도 4의 발명 관련 로직에 대해 간단히 설명하자면 CPU 보드가 시스템 버스상에서 LOCK를 실시하고자 하면, 먼저 현재 LOCK이 걸려 있는 데이터를 가지고 와서 일단 그 데이터에 대해 현재 LOCK이 걸려 있는지의 여부를 구분 해야 한다.
이는 O/S 측면에서 서로 약속한 바이므로 LOCK이 걸려 있는 데이터를 가지고 오면서 LOCK 데이터 비교기에 이 데이터를 저장한다.
LOCK이 걸려 있는 데이터를 읽어 왔기 때문에 그 데이터를 시스템 버스상에 도로 내놓는 동작을 하여야 하는데 이는 시스템 측면에서 불필요한 동작이다.
왜냐하면, 그 LOCK이 걸려 있는 데이터를 다른 보드가 읽어가도 동일하게 LOCK이 걸려 있는 데이터임을 알기 때문에 다시 시스템 버스를 쓰겠다고 요구하고 데이터를 쓰지 않아도 된다.
상기와 같은 구성에 의해 본 발명은 불필요한 로크 사이클을 제거하므로서 시스템의 성능을 향상시킨다.

Claims (3)

  1. 각각이 4 계층 파이프라인 레지스터인 XACH18PR, XACL18PR, XCAH18PR, XCAL18PR 와; 각각이 4 계층 파이프라인 레지스터인 YCBL18PR, YCBH18PR, YBCL18PR, YBCH18PR 와; 채널 X 다이렉트 포트인 XDAPST 및 XDAPTS, 홀수/짝수 선택가능 패리티 제너레이터 로직인 XTSPGN와; 채널 Y 다이렉트 포트인 YDAPST 및 YDAPTS, 홀수/짝수 선택가능 패리티 제너레이터 로직인 YTSPGN와; 홀수/짝수 선택가능 패리티 체커인 XYPCHKER 과; 포트 랫치 및 포트 멀티플레서 모듈과;로크 데이터 비교기들인 XLOCKCM와 YLOCKCMP와 IOPLOCAL를 포함하는 DIXY-II ASIC에 있어서,
    상기 XLOCKCMP는,
    시스템 버스로부터 모든 판독 사이클마다 4 바이트의 판독 데이터를 DIXY-II 내의 LOCKRD 레지스터에 로드하고 데이터의 정렬에 따라 레지스터를 선택하는 XLOCKRD와,
    XMCM으로부터 모든 기입 사이클마다 2 바이트의 기입 데이터를 DIXY-II 내의 LOCKWD 레지스터에 로드하고 데이터의 상위/하위 여부에 따라 레지스터를 선택하는 XLOCKWD를 포함하며,
    상기 YLOCKCMP는,
    시스템 버스로부터 모든 판독 사이클마다 4 바이트의 판독 데이터를 DIXY-II 내의 LOCKRD 레지스터에 로드하고 데이터의 정렬 여부에 따라 레지스터를 선택하는 YLOCKRD와,
    XMCM으로부터 모든 기입 사이클마다 2 바이트의 기입 데이터를 DIXY-II 내의 LOCKWD 레지스터에 로드하고 데이터의 상위/하위 여부에 따라 레지스터를 선택하는 YLOCKWD를 포함하며
    상기 IOPLOCAL는,
    BDSEL 신호에 따라 액티브되는 블록으로 판독 사이클에서는 64 비트의 시스템 버스를 동시에 처리하여 주기 위해 ALD와 BLD에 시스템 데이터를 매칭시키는 IOPLOCALRD와,
    XSELU 신호를 이용하여 8 비트의 데이터 폭을 가진 로컬 MUX 쪽으로 16비트의 RD 데이터를 전송하기 위한 ALDEV와,
    YSELU 신호를 이용하여 8 비트의 데이터 폭을 가진 로컬 MUX 쪽으로 16비트의 RD 데이터를 전송하기 위한 BLDEV와,
    8 비트 폭의 ALD 포트를 이용하여 시스템 버스로 16 비트의 데이터를 전송하는 ALDWD 와,
    8 비트 폭의 BLD 포트를 이용하여 시스템 버스로 16 비트의 데이터를 전송하는 BLDWD를 포함하는 것을 특징으로 하는,
    로크 데이터 비교기를 포함하는 DIXY-II ASIC.
  2. 제 1 항에 있어서, 상기 XLOCKCMP는
    XLOCKRD 레지스터와 XLOCKWD 레지스터의 데이터를 비교하여 그 결과를 XALD중 하위 4 비트에 실어 CPU 보드의 F30 칩으로 보내주는 기능을 수행하고, 이때 출력 인에이블은 내부의 상태기에서 제어되는 것을 특징으로 하는,
    로크 데이터 비교기를 포함하는 DIXY-II ASIC.
  3. 제 1 항에 있어서, 상기 YLOCKCMP는
    YLOCKRD 레지스터와 YLOCKWD 레지스터의 데이터를 비교하여, 그 결과를 YBLD중 하위 4 비트에 실어 CPU 보드의 F30 칩으로 보내주는 기능을 수행하고, 이때 출력 인에이블은 내부의 상태기에서 제어되는 것을 특징으로 하는,
    로크 데이터 비교기를 포함하는 DIXY-II ASIC.
KR1019970034414A 1997-07-23 1997-07-23 로크 데이터 비교기를 포함하는 딕시-투 에이직 KR100254197B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970034414A KR100254197B1 (ko) 1997-07-23 1997-07-23 로크 데이터 비교기를 포함하는 딕시-투 에이직

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970034414A KR100254197B1 (ko) 1997-07-23 1997-07-23 로크 데이터 비교기를 포함하는 딕시-투 에이직

Publications (2)

Publication Number Publication Date
KR19990011347A KR19990011347A (ko) 1999-02-18
KR100254197B1 true KR100254197B1 (ko) 2000-04-15

Family

ID=19515376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970034414A KR100254197B1 (ko) 1997-07-23 1997-07-23 로크 데이터 비교기를 포함하는 딕시-투 에이직

Country Status (1)

Country Link
KR (1) KR100254197B1 (ko)

Also Published As

Publication number Publication date
KR19990011347A (ko) 1999-02-18

Similar Documents

Publication Publication Date Title
US5261064A (en) Burst access memory
US5285323A (en) Integrated circuit chip having primary and secondary random access memories for a hierarchical cache
US5119481A (en) Register bus multiprocessor system with shift
TWI536394B (zh) 獨立連結與記憶庫選擇
US5197035A (en) Semiconductor memory
US6381684B1 (en) Quad data rate RAM
KR101445013B1 (ko) 직렬 및 병렬 모드를 갖는 메모리 시스템 및 방법
US3940743A (en) Interconnecting unit for independently operable data processing systems
US4470113A (en) Information processing unit
EP0187289A2 (en) Hierarchical memory system
US6104663A (en) Memory array with a simultaneous read or simultaneous write ports
EP0178163B1 (en) A dual access digital storage device
US7710789B2 (en) Synchronous address and data multiplexed mode for SRAM
US5847450A (en) Microcontroller having an n-bit data bus width with less than n I/O pins
US4737933A (en) CMOS multiport general purpose register
EP0421627B1 (en) Memory device
KR100372247B1 (ko) 프리페치 동작모드를 가지는 반도체 메모리 장치 및 메인데이터 라인수를 줄이기 위한 데이터 전송방법
EP0322116B1 (en) Interconnect system for multiprocessor structure
KR100254197B1 (ko) 로크 데이터 비교기를 포함하는 딕시-투 에이직
JP2891979B1 (ja) 部分書き換え可能なpld
KR100238179B1 (ko) 범용성을 갖는 데이터경로 제어장치
US6442097B2 (en) Virtual channel DRAM
TWI460736B (zh) 獨立連結與記憶庫選擇
KR860001069B1 (ko) 다중 중앙제어장치 시스템의 공유 ram의 시분할 access 제어방법
KR100340058B1 (ko) 버스신호전송장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20051227

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee