KR200224595Y1 - 버스트 어드레스 생성장치 - Google Patents

버스트 어드레스 생성장치 Download PDF

Info

Publication number
KR200224595Y1
KR200224595Y1 KR2019960016274U KR19960016274U KR200224595Y1 KR 200224595 Y1 KR200224595 Y1 KR 200224595Y1 KR 2019960016274 U KR2019960016274 U KR 2019960016274U KR 19960016274 U KR19960016274 U KR 19960016274U KR 200224595 Y1 KR200224595 Y1 KR 200224595Y1
Authority
KR
South Korea
Prior art keywords
bit
burst
address
counter
signal
Prior art date
Application number
KR2019960016274U
Other languages
English (en)
Other versions
KR980005133U (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 KR2019960016274U priority Critical patent/KR200224595Y1/ko
Publication of KR980005133U publication Critical patent/KR980005133U/ko
Application granted granted Critical
Publication of KR200224595Y1 publication Critical patent/KR200224595Y1/ko

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 고안은 버스트 어드레스 생성장치에 관한 것으로서, 바이트 인에이블 신호를 논리조합하여 어드레스(A1', A0')를 생성하는 조합로직부; 조합로직부의 어드레스 A1', A0'를 마이크로프로세서의 어드레스 시작신호(/ADS)가 인에이블될 때 로드하는 로드입력단자, 버스트전송을 나타내는 버스트 준비신호(/BRDY)가 인에이블 될 때마다 클러킹하는 클럭입력단자를 구비하며, 클럭입력단자를 통해 클러킹될 때마다 로드된 어드레스를 카운트 업하는 2비트 업카운터; 및 8비트 버스트모드 버스사이클일 때는 상기 2비트 업카운터의 출력신호(Q1, Q0)를 버스트 어드레스(A1, A0)로 출력하고, 16비트 버스트모드 버스 사이클일 때는 2비트 업카운터의 출력신호(Q0)를 버스트어드레스(A1)으로 출력하는 선택부를 포함함을 특징으로 한다.
본 고안에 의하면, 연속된 어드레스 공간을 억세스하는 버스트 모드의 성질을 이용해서 A1, A0의 생성에 업카운터를 적용하여 16비트/8비트 버스 사이클에서도 버스트 전송 및 캐싱이 가능하다.

Description

버스트 어드레스 생성 장치
제1도는 바이트 인에이블 신호(/BE0-/BE3)를 조합하여 어드레스 A1, A0를 생성하는 회로를 도시한 것이다.
제2도는 8비트 버스사이클의 버스트 전송에 대한 타이밍도를 도시한 것이다.
제3도는 16비트 버스 사이클로 캐시모드에서의 버스트 전송에 대한 타이밍도를 도시한 것이다.
제4도는 본 고안의 기본 개념에 대한 블록도를 도시한 것이다.
제5도는 본 고안에 따른, 비동기(Asynchronous) 로드가 가능한 2비트 업카운터를 활용한 버스트 어드레스 생성장치의 일실시예를 블록도를 도시한 것이다.
본 고안은 마이크로프로세서의 효율적인 사용을 위한 어드레스 생성장치에 관한 것으로서, 특히 마이크로프로세서의 16비트 및 8비트 데이터를 전송하는 버스 사이클에서 버스트 전송을 가능하게 하는 버스트 어드레스 생성 장치에 관한 것이다.
인텔(Intel;미국 컴퓨터 회사명)의 32비트 마이크로프로세서(i80486)는 어드레스 신호(A2-A31)와 32비트로 된 데이터버스의 각 데이터 바이트를 인에이블(enable)하는 바이트 인에이블 신호(/BE0-/BE3)를 사용하여 메모리와 입출력 장치를 억세스한다. 상기 마이크로프로세서의 기본적인 데이터 억세스는 32비트 버스 사이클로 이루어지며, 상기 마이크로프로세서는 8비트 또는 16비트의 메모리 뱅크(bank) 혹은 입출력포트(I/O port)를 연속적으로 억세스하는 기능도 제공한다. 32비트의 버스크기를 갖는 어드레스 버스 모두를 이용하여 데이터를 억세스하면, 0,4,8,… 등과 같이 32비트 즉 4바이트 단위의 어드레스 증가가 일어난다. 그리고 16비트/8비트의 메모리 뱅크나 입출력 포트에 대한 억세스는 0,2,4,6,…(0,1,2,3,…)과 같이 연속적인 어드레스의 증가가 가능하여야 하는데, 이것을 소버스사이클(small bus cycle)이라 한다. 상기 소버스(small bus) 억세스를 위해서는 마이크로프로세서에서 출력되지 않는 A1,A0의 어드레스 신호가 필요하다.
일반적으로 버스트가 아닌(Non-burst) 전송을 위해서는 바이트 인에이블 신호(/BE0-/BE3)를 조합하면 가능하다. 제1도는 상기 바이트 인에이블 신호(/BE0-/BE3)를 조합하여 어드레스 A1, A0를 생성하는 조합로직을 도시한 것이다.
마이크로프로세서가 구동하는 상기 바이트 인에이블 신호(/BE0-/BE3)의 조합에 의한 어드레스 신호 A1, A0의 생성은 Non-burst 전송 및 캐싱이 아닌(non-caching) 전송일 때에는 16비트/8비트 버스 사이클에 적용이 가능하다. 그러나 버스트 전송에서는 상기 바이트 인에이블 신호(/BE0-/BE3)의 출력이 너무 늦으며, 캐싱이 되면 상기 /BE0-/BE3의 조합된 A1, A0가 의미가 없어진다.
제2도는 8비트 버스사이클의 버스트 전송에 대한 타이밍도를 도시한 것이다. 신호 /ADS는 어드레스 버스의 시작을 나타내는 신호로서, 마이크로프로세서에서 출력된다. 신호 /BRDY는 버스트 전송의 준비를 나타내며, 신호 /RDY는 전송준비를 나타내는 신호로서, 둘다(/BRDY, /RDY) 외부로직(도시안됨)에서 제공하는 신호이다. 그리고 A1, A0는 상기 신호들에 의해 생성되는 어드레스 신호이다.
제3도는 16비트 버스 사이클로 캐시모드에서의 버스트 전송(cached burst transfer)에 대한 타이밍도를 도시한 것이다. 신호 /ADS는 어드레스 버스의 시작을 나타내는 신호로서, 마이크로프로세서에서 출력된다. 신호 /BRDY는 버스트 전송의 준비를 나타내며, 신호 /KEN는 캐시모드의 전송을 나타내는 신호로서, 둘 다(/BRDY, /KEN) 외부로직(도시안됨)에서 제공하는 신호이다. 그리고 조합 A1, A0는 상기 바이트 인에이블 신호들(/BE0-/BE3)에 의해 생성되는 어드레스 신호이며, CPU A1, A0는 마이크로프로세서에서 읽는 데이터의 A1, A0이다. 즉 제3도에서 마이크로프로세서는 캐싱 시작단계에서 조합된 A1, A0보다는 실제 마이크로프로세서에서 읽혀질 때 A1, A0가 0인 번지로 간주하도록 되어 있다. 캐싱의 그 다음부터는 정상적인 값으로 조합이 가능하다.
따라서 본 고안은 상술한 기존의 버스트 모드 버스사이클에 대한 문제점을 해결하기 위해 창출된 것으로서, 바이트 인에이블 신호(/BE0-/BE3)의 조합에 따른 지연요소에 의한 영향을 배제하고, 연속된 어드레스 공간을 억세스하는 버스트모드의 성질을 이용해서 A1, A0의 생성에 업카운터를 적용하여 16비트/8비트 버스 사이클에서도 버스트 전송 및 캐싱을 가능하게 하는 버스트 어드레스 생성 장치를 제공함에 그 목적이 있다.
상기의 목적을 달성하기 위한 본 고안에 따른, 마이크로프로세서의 16비트 및 8비트 데이터를 전송하는 버스 사이클에서 버스트전송을 가능하게 하는 버스트 어드레스 생성 장치는
데이터버스 상의 바이트 데이터에 대한 유효함을 나타내는 바이트 인에이블 신호를 논리조합하여 어드레스(A1', A0')를 생성하는 조합로직부;
상기 조합로직부의 어드레스 A1', A0'를 마이크로프로세서의 어드레스 시작신호(/ADS)가 인에이블될 때 로드하는 로드입력단자, 버스트전송을 나타내는 버스트 준비신호(/BRDY)가 인에이블 될 때마다 클러킹하는 클럭입력단자를 구비하며, 상기 클럭입력단자를 통해 클러킹될 때마다 상기 로드된 어드레스를 카운트 업하는 2비트 업카운터; 및
8비트 버스트 모드 버스 사이클일 때는 상기 2비트 업카운터의 출력신호(Q1, Q0)를 버스트 어드레스(A1, A0)로 출력하고, 16비트 버스트모드 버스 사이클일 때는 상기 2비트 업카운터의 출력신호(Q0)를 버스트어드레스(A1)으로 출력하는 선택부를 포함함이 바람직하다.
그리고 상기 조합로직부는
상기 마이크로프로세서가 캐시메모리로 데이터를 읽거나 쓰는 캐시모드일 때는 캐시 인에이블 신호(/KEN)가 인에이블될 때 상기 어드레스(A1', A0')를 클리어되는 클리어 단자를 구비함을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 고안을 상세히 설명한다. 먼저 16비트/8비트의 소버스 사이클에서 캐시모드의 버스트(cached burst) 사이클이 가능하기 위해서는 캐시 인에이블시 A1, A0의 클리어(clear)를 위한 로직과 A1, A0의 연속적으로 증가되는 버스트전송 특성을 이용하여 2비트 업카운터 및 16비트/8비트 버스 사이클에 따른 카운터 출력의 선택 로직이 필요하다.
제4도는 본 고안의 기본 개념에 대한 블록도를 도시한 것으로서, 제1로직조합부(400), 제1MUX(410), 2비트래치(420), 제2조합로직부(430), 논리곱게이트(440) 및 제2MUX(450)으로 이루어진다. 상기 제4도의 구성요소와 동작을 함께 설명하면 다음과 같다.
제1조합로직부(400)는 제1도에 도시된 로직으로 구성되며, 마이크로프로세서(도시안됨)로부터 출력되는 4개의 바이트 인에이블 신호(/BE[0..3])를 입력으로 하여 버스트 전송을 위한 중간 단계의 어드레스(A'1, A'0)를 생성한다. 이때 캐시모드일 때는 캐시인에이블 신호(/KEN)가 인에이블될 때 상기 중간단계의 어드레스(A'1, A'0)를 클리어(clear)한다. 제1MUX(410)은 어드레스버스신호의 시작을 알리는 신호(/ADS)를 선택신호로 하여 상기 /ADS가 시작되면 상기 제1조합로직부(400)의 출력신호(A'0, A'1)을 출력하고, 그렇지 않으면 제2조합로직부(430)의 출력신호(A''0, A''1)를 출력한다.
2비트래치(420)는 버스트모드 준비를 나타내는 신호(/BRDY)가 인에이블되거나 상기 /ADS가 인에이블될 때마다 인에이블 되는 논리곱게이트(440)의 출력신호를 클럭신호로 받아들여 상기 제1MUX(410)의 출력신호를 래치한다.
제2조합로직부(430)은 상기 2비트래치(420)에서 출력되는 신호를 1만큼 증가시키는 업카운터 역할을 한다. 제2MUX(450)는 16비트 버스트모드인지 9비트 버스트모드인지를 나타내는 신호(/BS16)의 상태에 따라 출력신호를 달리하는 선택부로서, 상기 /BS16이 인에이블되면 즉 16비트 버스트모드 전송이면, 상기 2비트래치(420)의 출력신호 Q0를 A1신호로 출력하고, 만일 상기 /BS16이 디스에이블되면 즉 8비트 버스트모드 전송이면, 상기 2비트래치(420)의 출력신호 Q1을 A1신호로 출력한다.
제5도는 본 고안에 따른, 비동기(Asynchronous) 로드가 가능한 2비트 업카운터를 활용한 버스트 어드레스 생성장치의 일실시예를 블록도를 도시한 것으로서, 조합로직부(500), 2비트업카운터(510) 및 선택부(520)로 이루어진다.
조합로직부(500)는 제1도에 도시된 로직으로 구성되며, 마이크로프로세서(도시안됨)로부터 출력되는 4개의 바이트인에이블 신호(/BE[0..3])를 입력으로 하여 버스트 전송을 위한 중간 단계의 어드레스(A'1, A'0)를 생성한다. 이 때 캐시모드일 때는 캐시인에이블 신호(/KEN)가 인에이블될 때 상기 중간단계의 어드레스(A'1, A'0)를 클리어(clear)한다.
2비트업카운터(510)는 상기 조합로직부(500)의 어드레스 A1', A0'를 마이크로프로세서의 어드레스 시작 신호(/ADS)가 인에이블될 때 로드하고, 버스트전송을 나타내는 버스트 준비신호(/BRDY)가 인에이블 될 때마다 이를 클럭신호로 사용하여 상기 로드된 어드레스를 업카운트한다.
선택부(520)는 멀티플렉서로 구성되며, 8비트 버스트모드 버스 사이클일 때는 상기 2비트 업카운터(510)의 출력신호(Q1, Q0)를 버스트 어드레스(A1, A0)로 출력하고, 16비트 버스트모드 버스 사이클일 때는 상기 2비트 업카운터의 출력신호(Q0)를 버스트어드레스(A1)으로 출력한다.
제5도에 도시된 본 고안의 일실시예의 동작을 설명하기로 한다. 먼저, 마이크로프로세서(도시안됨)로부터 출력되는 4개의 바이트인에이블 신호(/BE[0..3])는 상기 조합로직부(500)으로 입력되어 버스트 전송을 위한 중간 단계의 어드레스(A'1, A'0)를 생성한다. 이 때 캐시모드일 때는 캐시인에이블 신호(/KEN)가 인에이블될 때 상기 중간단계의 어드레스(A1', A0')를 클리어(clear)한다.
그리고 나서 2비트업카운터(510)를 통해 상기 조합로직부(500)의 어드레스 A1', A0'는 마이크로프로세서의 어드레스 시작신호(/ADS)가 인에이블될 때 상기 2비트업카운터(510)에 로드되고, 버스트전송을 나타내는 버스트 준비신호(/BRDY)가 인에이블될 때마다 이를 클럭신호로 사용하여 상기 로드된 어드레스를 업카운트한다.
그리고 나서 8비트 버스트모드 버스 사이클일 때, 즉 16비트 버스트모드 버스사이클을 나타내는 신호(/BS16)가 디스에이블일 때는 상기 2비트 업카운터(510)의 출력신호(Q0)를 버스트 어드레스(A0)로 출력되고 상기 선택부인 멀티플렉서(520)을 통해 상기 2비트 업카운터(510)의 출력신호(Q1)은 버스트 어드레스(A1)으로 출력된다. 또한 16비트 버스트모드 버스 사이클일 때, 즉 16비트 버스트모드 버스사이클을 나타내는 신호(/BS16)가 디스에이블일 때는 상기 2비트 업카운터(510)의 출력신호(Q0)가 상기 멀티플렉서(510)을 통해 버스트어드레스(A1)으로 출력된다.
상술한 바와 같이 본 고안에 의하면, 바이트 인에이블 신호(/BE0-/BE3)의 조합에 따른 지연요소에 의한 영향을 배제하고, 연속된 어드레스 공간을 억세스하는 버스트모드의 성질을 이용해서 A1, A0의 생성에 업카운터를 적용하여 16비트/8비트 버스 사이클에서도 버스트 전송 및 캐싱이 가능하다.
즉 상기 버스트 어드레스 생성로직은 버스트 전송이 16비트/8비트 버스 사이클에서도 가능하게 하므로써, 캐시 인에이블시 32비트 메모리 뱅크의 구현없이도 동작속도에 큰 영향을 미치지 않는다. 실제로 인텔의 i486 마이크로프로세서에서 버스트 아닌 모드에서 0-웨이트(wait)의 16바이트 읽기를 8비트 버스 사이클에서 수행한다면 32 클럭이 소요되나 버스트 읽기일 때는 17클럭만으로 가능하며 버스의 부하를 줄일 수 있다.

Claims (2)

  1. 마이크로프로세서의 16비트 및 8비트 데이터를 전송하는 버스 사이클에서 버스트전송을 가능하게 하는 버스트 어드레스 생성 장치에 있어서,
    데이터버스 상의 바이트 데이터에 대한 유효함을 나타내는 바이트 인에이블 신호를 논리조합하여 어드레스(A1', A0')를 생성하는 조합로직부;
    상기 조합로직부의 어드레스 A1', A0'를 마이크로프로세서의 어드레스 시작신호(/ADS)가 인에이블될 때 로드하는 로드입력단자, 버스트전송을 나타내는 버스트 준비신호(/BRDY)가 인에이블 될 때마다 클러킹하는 클럭입력단자를 구비하며, 상기 클럭입력단자를 통해 클러킹될 때마다 상기 로드된 어드레스를 카운트 업하는 2비트 업카운터; 및
    8비트 버스트 모드 버스 사이클일 때는 상기 2비트 업카운터의 출력신호(Q1, Q0)를 버스트 어드레스(A1, A0)로 출력하고, 16비트 버스트모드 버스 사이클일 때는 상기 2비트 업카운터의 출력신호(Q0)를 버스트어드레스(A1)으로 출력하는 선택부를 포함함을 특징으로 하는 버스트 어드레스 생성장치.
  2. 제1항에 있어서, 상기 조합로직부는
    상기 마이크로프로세서가 캐시메모리로 데이터를 읽거나 쓰는 캐시모드일 때는 캐시 인에이블 신호(/KEN)가 인에이블될 때 상기 어드레스(A1', A0')를 클리어하는 클리어단자를 구비함을 특징으로 하는 버스트 어드레스 생성장치.
KR2019960016274U 1996-06-18 1996-06-18 버스트 어드레스 생성장치 KR200224595Y1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR2019960016274U KR200224595Y1 (ko) 1996-06-18 1996-06-18 버스트 어드레스 생성장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR2019960016274U KR200224595Y1 (ko) 1996-06-18 1996-06-18 버스트 어드레스 생성장치

Publications (2)

Publication Number Publication Date
KR980005133U KR980005133U (ko) 1998-03-30
KR200224595Y1 true KR200224595Y1 (ko) 2001-06-01

Family

ID=60924495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR2019960016274U KR200224595Y1 (ko) 1996-06-18 1996-06-18 버스트 어드레스 생성장치

Country Status (1)

Country Link
KR (1) KR200224595Y1 (ko)

Also Published As

Publication number Publication date
KR980005133U (ko) 1998-03-30

Similar Documents

Publication Publication Date Title
US5884100A (en) Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
US5255378A (en) Method of transferring burst data in a microprocessor
US5131083A (en) Method of transferring burst data in a microprocessor
KR0154533B1 (ko) 데이타 프로세서
US5608892A (en) Active cache for a microprocessor
US5970236A (en) Circuit for selectively performing data format conversion
US5317711A (en) Structure and method for monitoring an internal cache
US6718441B2 (en) Method to prefetch data from system memory using a bus interface unit
KR930005800B1 (ko) 데이타 처리시스템
EP0461923A2 (en) True least recently used replacement method and apparatus
US5073969A (en) Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal
EP0664030A1 (en) Double buffering operations between the memory bus and the expansion bus of a computer system
US5941960A (en) Host initiated PCI burst writes utilizing posted write buffers
US6256693B1 (en) Master/slave data bus employing undirectional address and data lines and request/acknowledge signaling
KR970002600A (ko) 집적회로 장치, 디지탈 데이타 처리 및 영상 디스플레이 신호 발생 장치, 프로세서 컴플렉스
CA2119200C (en) Burst srams for use with a high speed clock
US5175826A (en) Delayed cache write enable circuit for a dual bus microcomputer system with an 80386 and 82385
US5327545A (en) Data processing apparatus for selectively posting write cycles using the 82385 cache controller
US5911151A (en) Optimizing block-sized operand movement utilizing standard instructions
US6073224A (en) Network interface circuit with replacement circuitry and method for segregating memory in an address translation unit with locked and unlocked regions
KR200224595Y1 (ko) 버스트 어드레스 생성장치
CA2016399C (en) Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
US5754825A (en) Lower address line prediction and substitution
US6377650B1 (en) Counter register monitor and update circuit for dual-clock system
US4488222A (en) Circuit for reusing previously fetched data

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
REGI Registration of establishment
FPAY Annual fee payment

Payment date: 20050303

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee