KR100459728B1 - 고속 변환 색인 버퍼 - Google Patents
고속 변환 색인 버퍼 Download PDFInfo
- Publication number
- KR100459728B1 KR100459728B1 KR10-2002-0064634A KR20020064634A KR100459728B1 KR 100459728 B1 KR100459728 B1 KR 100459728B1 KR 20020064634 A KR20020064634 A KR 20020064634A KR 100459728 B1 KR100459728 B1 KR 100459728B1
- Authority
- KR
- South Korea
- Prior art keywords
- word line
- memory cells
- virtual address
- control signal
- response
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
고속으로 동작하는 변환색인버퍼(translation lookaside buffer)가 개시된다. 본 발명에 따른 변환색인버퍼는 가상 어드레스(virtual address)를 수신하고 상기 가상 어드레스와 각각의 가상 어드레스 태그를 비교하고, 그 비교결과에 응답하여 소정의 제어신호를 출력하는 다수의 가상 어드레스 비교회로들; 상기 어드레스 비교회로의 출력신호를 수신하고 상기 어드레스 비교회로의 출력신호에 응답하여 워드라인을 활성화시키는 다수의 워드라인 드라이버들; 및, 상기 워드라인에 접속된 제 1메모리 셀들 및 제 2메모리 셀들을 구비하고, 상기 워드라인의 활성화에 응답하여 상기 제 1메모리 셀들 및 상기 제 2메모리 셀들에 저장된 물리적 주소(physical address)를 출력하는 다수의 저장회로들을 구비하고, 상기 각각의 저장회로는 상기 제 1메모리 셀들과 상기 워드라인과 접속된 노드 및 상기 제 2메모리 셀들과 상기 워드라인과 접속된 노드 사이에 소정의 버퍼를 구비하는 것을 특징으로 한다. 본 발명에 따르면, 변환색인버퍼의 동작을 빠르게 하여 고속으로 동작할 수 있다.
Description
본 발명은 메모리 관리 시스템(memory management system)에 관한 것으로, 특히 메모리 관리 시스템 중에서 변환 색인 버퍼(Translation Lookaside Buffer; TLB)에 관한 것이다.
종래에는 하나의 중앙 처리 장치(CPU)가 하나의 프로그램만을 수행하였다.그러나, 현재는 하나의 중앙 처리 장치가 여러 개의 프로그램을 수행할 수 있다. 예를 들면, 모바일(Mobile) 환경에서 MP3를 들으면서 스케줄 관리를 할 수 있고, 여러 가지 컨텐츠(contents)를 다운로드하면서 동영상을 시청할 수 있다.
또한 예컨대 모바일 환경에서 요구하는 프로그램 또한 점점 더 복잡해짐에 따라 이것을 수행할 프로그램의 크기도 커지고 데이터의 크기도 커지고 있다. 이러한 결과, 리소스(resource)는 쉽게 그 한계에 부딪히게 되어 더 이상 프로그램을 수행할 수 없게 된다.
메모리 관리부(Memory Management Unit; MMU)는 가상 메모리 시스템을 구현한 것으로서, 여러 개의 프로그램들이 하나의 중앙처리장치에서 동작할 때 프로그램들 간의 리소스(resource)를 적당히 할당하고 할당한 리소스가 서로를 침해하지 않도록 한다. 또한 메모리 관리부(MMU)는 불필요한 리소스를 재회수하여 리소스가 효율적으로 사용될 수 있도록 한다.
이러한 메모리 관리부(MMU)는 크게 변환색인버퍼(TLB)와 상기 변환색인버퍼의 동작을 제어하는 제어부를 구비한다. 변환색인버퍼는 생성된 가상 어드레스(virtual address)를 물리 어드레스(physical address)로 변환시켜주는 역할을 한다.
도 1은 변환색인버퍼에 의하여 가상 어드레스가 물리적 어드레스로 변환되는 것을 개략적으로 나타낸 도면이다. 가상 어드레스는 가상 페이지 넘버(virtual page number)와 페이지 오프셋(page offset)으로 분리되며, 변환색 인버퍼는 가상 페이지 넘버를 물리적 페이지 넘버(physical page number)로 변환한다.
이처럼, 모든 프로그램은 가상의 메모리 공간에서 동작하도록 작성되고 리소스와는 무관하게 동작한다. 반면, 실제 수행은 이러한 변환에 의하여 수행되기 때문에 필요한 리소스를 효율적으로 할당하고 재회수할 수 있다.
도 2는 일반적인 변환색인버퍼의 블록을 나타낸 도면이다. 도 2에 도시된 변환색인버퍼(200)는 가상 어드레스 비교회로(210), 워드라인 드라이버(220) 및 저장회로(230)를 구비한다. 가상 어드레스 비교회로(210)는 가상 어드레스와 가상 어드레스 태그(도시하지 않음)를 비교하여 그 결과를 출력하고, 워드라인 드라이버(220)는 가상 어드레스 비교회로(210)의 출력신호에 응답하여 워드라인을 활성화시킨다. 저장회로(230)는 워드라인의 활성화에 응답하여 메모리 셀(도시하지 않음)에 저장된 물리 어드레스를 출력한다.
다수의 엔트리(entry)들을 구비하는 변환색인버퍼에서, 각각의 가상 어드레스 비교회로는 입력되는 가상 어드레스와 각각의 가상 어드레스 비교회로에 저장된 각각의 가상 어드레스 태그와 비교하여, 가상 어드레스의 각각의 비트와 가상 어드레스 태그의 각각의 비트가 일치하는 경우, 상기 가상 어드레스 비교회로에 상응하는 워드라인 드라이버가 위드라인을 활성화시킨다.
도 2의 변환색인버퍼(200)는 64개의 엔트리들을 구비한다. 도 2의 변환색인버퍼(200)에서, 예컨대 소정의 가상 어드레스가 입력되면 각각의 64개의 가상 어드레스 비교회로들(210)은 상기 가상 어드레스와 각각의 가상 어드레스 비교회로들(210)에 저장된 가상 어드레스 태그(도시하지 않음)를 비교하여 그 비교결과를 출력한다.
만일 도 2의 가상 어드레스 비교회로 0의 가상 어드레스 태그와 입력되는 가상 어드레스가 일치하는 경우 워드라인 드라이버가 구동되고, 워드라인 드라이버는 상응하는 워드라인을 활성화시키며, 저장회로 0은 워드라인의 활성화에 응답하여 물리 어드레스를 출력한다. 입력되는 가상 어드레스는 각각의 가상 어드레스 비교회로에 저장된 가상 어드레스 태그들 중 하나와 일치하게 되고, 따라서 변환색인버퍼가 구비하는 다수의 워드라인 드라이버들 중 하나의 워드라인 드라이버만이 구동된다.
이처럼 변환색인버퍼(200)는 도 2에 도시된 몇몇 블록들을 거쳐야 한다. 여기에서, 전술한 바와 같이 프로그램의 크기 및 데이터의 크기가 점점 커짐에 따라 메모리 관리부(MMU)의 동작속도가 중요시되며, 고속으로 동작하는 변환색인버퍼가 요구된다.
따라서, 본 발명이 이루고자 하는 기술적 과제는, 고속으로 동작할 수 있는 변환색인버퍼를 제공하는 데 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 변환색인버퍼에 의하여 가상 어드레스가 물리적 어드레스로 변환되는 것을 개략적으로 나타낸 도면이다.
도 2는 일반적인 변환색인버퍼의 블록을 나타낸 도면이다.
도 3은 본 발명에 따른 변환색인버퍼를 개략적으로 도시한 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 변환색인버퍼를 도시한 도면이다.
도 5는 본 발명의 다른 바람직한 실시예에 따른 변환색인버퍼를 도시한 도면이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일면은 변환색인버퍼에 관한 것이다. 본 발명에 따른 변환색인버퍼는 가상 어드레스(virtual address)를 수신하고 상기 가상 어드레스와 각각의 가상 어드레스 태그를 비교하고, 그 비교결과에 응답하여 소정의 제어신호를 출력하는 다수의 가상 어드레스 비교회로들; 상기 어드레스 비교회로의 출력신호를 수신하고 상기 어드레스 비교회로의 출력신호에 응답하여 대응되는 워드라인을 활성화시키는 다수의 워드라인 드라이버들; 및, 상기 워드라인에 접속된 제 1메모리 셀들 및 제 2메모리 셀들을 구비하고, 상기 워드라인의 활성화에 응답하여 상기 제 1메모리 셀들 및 상기 제 2메모리 셀들에 저장된 물리적 주소(physical address)를 출력하는 다수의 저장회로들을 구비하고, 상기 각각의 저장회로는 상기 제 1메모리 셀들과 상기 워드라인과 접속된 노드 및 상기 제 2메모리 셀들과 상기 워드라인과 접속된 노드 사이에 소정의 버퍼를 구비하는 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 일면은 변환색인버퍼에 관한 것이다. 본 발명에 따른 변환색인버퍼는 가상 어드레스(virtual address)의 제 1군을 수신하고 상기 제 1군과 대응되는 가상 어드레스 태그를 비교하고, 그 비교결과에 응답하여 제 1제어신호를 출력하는 다수의 제 1가상 어드레스 비교회로들; 상기 가상 어드레스(virtual address)의 제 2군을 수신하고 상기 제 2군과 대응되는 가상 어드레스 태그를 비교하고, 그 비교결과에 응답하여 제 2제어신호를 출력하는 다수의 제 2가상 어드레스 비교회로들; 상기 제 1제어신호 및 상기 제 2제어신호를 수신하고 상기 제 1제어신호 및 상기 제 2제어신호에 응답하여 대응되는 워드라인을 활성화시키는 워드라인 드라이버; 및, 상기 워드라인에 접속된 제 1메모리 셀들 및 제 2메모리 셀들을 구비하고, 상기 워드라인의 활성화에 응답하여 상기 제 1메모리 셀들 및 상기 제 2메모리 셀들에 저장된 물리적 주소(physical address)를 출력하는 다수의 저장회로들을 구비하고, 상기 각각의 저장회로는 상기 제 1메모리 셀들과 상기 워드라인과 접속된 노드 및 상기 제 2메모리 셀들과 상기워드라인과 접속된 노드 사이에 소정의 버퍼를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 가상 어드레스의 제 1군은 상기 가상 어드레스의 짝수 비트들(even bits)이며, 상기 가상 어드레스의 제 2군은 상기 가상 어드레스의 홀수 비트들(odd bits)인 것을 특징으로 한다.
또한 바람직하게는, 상기 워드라인 드라이버는 상기 제 1제어신호 및 상기 제 2제어신호를 수신하고 상기 제 1제어신호 및 상기 제 2제어신호를 논리곱하여 래치하고, 외부클럭에 동기되어 상기 래치된 신호를 출력하는 래치회로; 상기 래치회로의 출력신호 및 상기 외부클럭을 수신하고 논리곱하여 출력하는 제 1논리회로; 및, 상기 제 1논리회로의 출력신호 및 소정의 인에이블신호를 수신하고 논리곱하여 출력하는 제 2논리회로를 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 워드라인 드라이버는 상기 제 1제어신호 및 상기 제 2제어신호를 수신하여 논리곱하고, 상기 외부클럭에 응답하여 논리곱된 신호를 출력하는 제 1논리곱회로; 및, 상기 감지증폭기의 출력신호 및 상기 인에이블신호를 수신하고 논리곱하여 출력하는 제 2논리곱회로를 구비하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명에 따른 변환색인버퍼를 개략적으로 도시한 도면이다. 도 3에 도시된 변환색인버퍼(300)는 다수의 페이지 테이블 엔트리(page table entry)들을 구비하며, 각각의 엔트리는 가상 어드레스 비교회로(311, 312, 313), 워드라인 드라이버(321, 322, 323) 및 저장회로(330)를 구비한다. 도 3에 도시된 변환색인버퍼(300)는 64개의 엔트리를 구비한다.
다수의 가상 어드레스 비교회로들(311, 312, 313)은 각각 가상 어드레스를 수신하고 상기 가상 어드레스와 각각의 가상 어드레스 태그들을 비교하여, 그 비교결과에 응답하여 소정의 제어신호를 출력한다.
다수의 워드라인 드라이버들(321, 322, 323)은 상기 가상 어드레스 비교회로들(311, 312, 313)의 출력신호를 각각 수신하고 어드레스 비교회로들(311, 312, 313)의 출력신호에 응답하여 워드라인을 활성화시킨다.
여기에서, 입력되는 가상 어드레스의 모든 비트들과 각각의 엔트리에 저장되어 있는 가상 어드레스 태그의 모든 비트들을 비교하여 모든 비트들이 일치된 경우, 해당하는 엔트리의 워드라인을 활성화시킨다.
저장회로(330)는 제 1메모리 셀들(331, 334, 337) 제 2메모리 셀들(332, 335, 339)를 구비하며, 제 1메모리 셀들(331, 334, 337) 및 제 2메모리 셀들(332, 335, 339)은 각각의 엔트리의 워드라인(WL0, WL1, WL63)에 접속된다. 이러한 제 1메모리 셀들 및 제 2메모리 셀들의 개수는 물리 어드레스의 총 비트수가 된다. 저장회로(330)는 워드라인의 활성화에 응답하여 제 1메모리 셀들 및 제 2메모리 셀들에 저장된 물리 어드레스를 출력한다.
이러한 저장회로(330)는 각각의 엔트리별로, 제 1메모리 셀들과 워드라인에 접속된 노드 및 제 2메모리 셀들과 워드라인에 접속된 노드 사이에 소정의 버퍼를 구비하는 것을 특징으로 한다.
도 3에 도시된 변환색인버퍼(300)가 64개의 엔트리로 구성되고, 변환색인버퍼(300)의 저장된 가상 어드레스 태그가 24비트이고, 출력되는 물리 어드레스가 40비트라고 가정하면, 저장회로(330)에서 하나의 엔트리의 워드라인에 접속되는 메모리 셀들은 전체 40개가 되고, 이러한 메모리 셀들은 제 1메모리 셀들 및 제 2메모리 셀들로 나뉘어 구현될 수 있다.
하나의 워드라인에 이처럼 많은 메모리 셀들이 접속되는 경우, 워드라인이 활성화되어도 워드라인 드라이버에서 바라본 워드라인에 걸리는 부하가 대단히 크기 때문에, 메모리 셀에 있는 물리 어드레스가 빠른 시간 안에 출력될 수 없다는 문제점이 있다.
따라서, 변환색인버퍼(300)의 동작속도를 향상시키기 위하여 제 1메모리 셀들(331, 334, 337)의 영역과 제 2메모리 셀들(332, 335, 338)의 영역을 나누고, 제 1메모리 셀들(331, 334, 337)과 각각의 워드라인들(WL0, WL1, WL63)이 접속된 노드와, 제 2메모리 셀들(332, 335, 338)과 각각의 워드라인들(WL0, WL1, WL63)이 접속된 노드 사이에 소정의 버퍼들(333, 336, 339)을 구비하도록 함으로써, 제 1메모리 셀들(331, 334, 337)과 제 2메모리 셀들(332, 335, 338)을 분리시켜 각각 최적화시킴으로써 전체적으로 변환색인버퍼(300)가 빠르게 동작할 수 있다.
여기서, 제 1메모리 셀들(331, 334, 337)은 고속으로 동작하는(high-speed)작은 영역을 차지하는 메모리 셀들이고, 제 2메모리 셀들(332, 335, 338)은 저속으로 동작하는(low-speed) 큰 영역을 차지하는 메모리 셀들인 것이 바람직하다.
도 4는 본 발명의 바람직한 실시예에 따른 변환색인버퍼를 도시한 도면이다. 도 4에 도시된 변환색인버퍼(400)는 제 1가상 어드레스 비교회로(410), 제 2가상 어드레스 비교회로(420), 워드라인 드라이버(430) 및 저장회로(440)를 구비한다. 도 4는 하나의 엔트리의 경우를 예시한 것으로서, 만일 앞에서 설명한 것처럼 64개의 엔트리를 구비하는 경우 변환색인버퍼는 도 4와 같은 구조를 64개 구비하게 된다.
제 1가상 어드레스 비교회로(410)는 가상 어드레스의 제 1군을 수신하고, 상기 제 1군과 대응되는 가상 어드레스 태그를 서로 비교하고 그 비교결과에 응답하여 제 1제어신호(HITO)를 출력한다. 본 실시예에서 제 1가상 어드레스 비교회로(410)는 가상 어드레스의 제 1군을 입력받아 대응되는 가상 어드레스 태그와 비교하여 출력하는 비교회로(411) 및 비교회로(411)의 출력(MAT0B)이 게이트에 접속되는 모스 트랜지스터(MN0)로 구현되었다.
제 2가상 어드레스 비교회로(420)는 가상 어드레스의 제 2군을 수신하고 상기 제 2군과 대응되는 가상 어드레스 태그를 서로 비교하고 그 비교결과에 응답하여 제 2제어신호(HITE)를 출력한다. 본 실시예에서 제 2가상 어드레스 비교회로(420)는 가상 어드레스의 제 2군을 입력받아 대응되는 가상 어드레스 태그와 비교하여 출력하는 비교회로(421) 및 비교회로(421)의 출력(MATEB)이 게이트에 접속되는 모스 트랜지스터(MN1)로 구현되었다.
구동 트랜지스터(MPO, MPE)는 게이트가 접지전원과 접속되고 드레인 및 소스가 각각 전원전압(VDD) 및 제어신호 단자(HITO, HITE)에 접속되어, 모스 트랜지스터들(MNO, MNE)에 전원을 공급한다.
제 1가상 어드레스 비교회로(410) 및 제 2가상 어드레스 비교회로(420)는 각각 가상 어드레스의 짝수 비트들 및 가상 어드레스의 홀수 비트들을 입력받는 것이 바람직하다.
워드라인 드라이버(430)는 제 1제어신호(HITO) 및 제 2제어신호(HITE)를 수신하고 제 1제어신호(HITO) 및 제 2제어신호(HITE)에 응답하여 워드라인(WL)을 활성화시킨다. 바람직하게는, 워드라인 드라이버(430)는 제 1제어신호(HITO) 및 제 2제어신호(HITE)를 수신하고 제 1제어신호(HITO) 및 제 2제어신호(HITE)를 논리곱하여 래치하고 외부클럭(GCLK)에 동기되어 래치된 신호를 출력하는 래치회로(431), 래치회로(431)의 출력신호 및 외부클럭(GCLK)을 수신하고 논리곱하여 출력하는 제 1논리회로(432) 및 소정의 인에이블신호(EN) 및 제 1논리회로(432)의 출력신호를 수신하고 논리곱하여 출력하는 제 2논리회로(433)를 구비한다.
저장회로(440)는 제 1메모리 셀들(441), 제 2메모리 셀들(442) 및 버퍼(443)를 구비한다. 제 1메모리 셀들(441) 및 제 2메모리 셀들(442)은 각각 워드라인(WL)에 접속되고, 제 1메모리 셀들(441)과 워드라인(WL)이 접속된 노드와 제 2메모리 셀들(432)과 워드라인(WL)이 접속된 노드 사이에 버퍼(443)가 접속되는 것을 특징으로 한다.
제어로직(445)은 제 1메모리 셀들(441)의 출력단에 접속되고, 제 1메모리 셀들(441)의 출력을 수신하여 소정의 정보를 출력한다. 이러한 정보들은 다른 물리 어드레스들의 정보보다 시스템에 더 중요한 것으로서, 예를 들면 시스템에 억세스의 허가(access permission) 여부 등을 나타낸다. 센스증폭기(444)는 외부클럭(GCLK)에 동기되어 제 2메모리 셀들(442)의 양 출력단(R_H, R_L)을 감지하여 증폭한 후 외부로 출력한다.
도 4의 변환색인버퍼(400)는 하나의 엔트리만을 도시한 것이다. 또한 변환색인버퍼(400)는 가상 어드레스의 비트수만큼 제 1가상 어드레스 비교회로(410) 및 제 2가상 어드레스 비교회로(420)를 구비한다. 또한 저장부(440)는 물리 어드레스의 비트수 만큼의 메모리 셀들을 구비한다.
도 4를 참조하여 본 발명에 따른 변환색인버퍼를 설명하면 다음과 같다. 제 1가상 어드레스 비교회로(410) 및 제 2가상 어드레스 비교회로(420)는 가상 어드레스의 제 1군 및 제 2군을 수신하고 대응되는 가상 어드레스 태그와 비교하여 비교결과를 출력한다.
예를 들면, 제 1가상 어드레스 비교회로(410)에 입력되는 가상 어드레스(VHO, VLO)가 제 1논리상태(예컨대, 논리 하이)이고 대응되는 가상 어드레스 태그(THO, TLO)가 제 1논리상태이면, 비교회로(411)의 출력신호(MATOB)는 제 2논리상태(예컨대, 논리 로우)를 출력하고, 그에 따라 모스 트랜지스터(MNO)는 턴오프되어 제 1제어신호(HITO)가 제 1논리상태를 가지게 된다.
각 비트의 가상 어드레스와 가상 어드레스 태그가 일치하면 제 1제어신호(HITO)가 제 1논리상태가 되며, 만일 하나라도 일치하지 않을 경우는 그에 해당하는 모스 트랜지스터가 턴온되므로 제 1제어신호(HITO)는 제 2논리상태가 된다.
래치회로(431)는 제 1제어신호(HITO) 및 제 2제어신호(HITE)를 논리곱하여 래치하므로, 가상 어드레스의 모든 비트들이 대응하는 가상 어드레스 태그의 모든 비트들과 일치하여야 제 1논리회로(432) 및 제 2논리회로(433)에 의하여 워드라인(WL)이 활성화된다.
워드라인(WL)이 활성화되면, 워드라인(WL)에 접속된 제 1메모리 셀들(431) 및 제 2메모리 셀들(432)로부터 데이터가 출력되며, 이러한 데이터는 가상 어드레스에 상응하는 물리 어드레스가 된다.
본 실시예에서는 변환색인버퍼의 속도를 높이기 위하여, 저장회로(440)의 제 1메모리 셀들(441)과 워드라인(WL)과 접속된 노드 및 제 2메모리 셀들(442)과 워드라인(WL)과 접속된 노드 사이에 소정의 버퍼를 구비함으로써, 워드라인(WL)에 접속되는 큰 부하를 줄일 수 있고, 따라서 워드라인의 활성화에 응답하여 물리 어드레스가 빠르게 출력될 수 있다.
또한, 가상 어드레스 비교회로를 제 1가상 어드레스 비교회로(410) 및 제 2가상 어드레스 비교회로(420)로 나누어 구현하였다. 가상 어드레스 비교회로가 하나만 존재하는 경우, 비트수 만큼의 모스 트랜지스터들이 제어신호가 출력되는 노드에 접속되기 때문에 제어신호단에 걸리는 부하가 커지게 되고, 따라서 제어신호단에 걸리는 부하를 줄이기 위함이다.
즉, 본 발명의 바람직한 실시예에 따르면, 저장회로(440)에 소정의 버퍼를더 구비하고, 가상 어드레스 비교회로를 가상 어드레스의 짝수 비트들과 홀수 비트들로 나누어 구현함으로써, 변환색인버퍼의 동작속도를 향상시켜 고속으로 동작할 수 있도록 하였다.
도 5는 본 발명의 다른 바람직한 실시예에 따른 변환색인버퍼를 도시한 도면이다. 도 5의 변환색인버퍼(500)는 제 1가상 어드레스 비교회로(410), 제 2가상 어드레스 비교회로(420), 워드라인 드라이버(530) 및 저장회로(440)를 구비한다.
도 5의 변환색인버퍼(500)는 도 4의 변환색인버퍼(400)와 비교하면, 워드라인 드라이버(530)를 다르게 구현하였다는 점에서 차이가 있다. 제 1가상 어드레스 비교회로(410), 제 2가상 어드레스 비교회로(420) 및 저장회로(440)의 경우 도 4에서 설명하였으므로 생략하도록 하고, 워드라인 드라이버(530)에 관하여 설명하도록 한다.
도 5의 워드라인 드라이버(530)는 제 1제어신호(HITO) 및 제 2제어신호(HITE)를 수신하고 외부클럭(GCLK)에 동기되어 제 1제어신호(HITO)와 제 2제어신호(HITE)를 논리곱한 신호를 출력하는 제 1논리곱회로(531) 및 제 1논리곱회로(531)의 출력신호 및 소정의 인에이블신호(EN)를 수신하고 논리곱하여 출력하는 제 2논리곱회로(532)를 구비한다.
도 5의 변환색인버퍼(500)의 워드라인 드라이버(530)는 제 1제어신호(HITO) 및 제 2제어신호(HITE)를 수신하여 외부클럭(GCLK)에 동기되어 결과를 출력하는 제 1논리곱회로(531)를 구비함으로써, 도 4의 래치회로(431)를 사용하지 않게 되어 도 4의 워드라인 드라이버(530)에 비하여 제어신호가 통과하는 게이트들의 수를 줄일수 있게 된다. 따라서 제 1논리곱회로(531)를 사용하게 됨으로써 도 4의 변환색인버퍼(400)에 비하여 더욱 고속으로 동작할 수 있게 된다.
이상에서와 같이 도면과 명세서에 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따르는 변환색인버퍼는 제 1메모리 셀들과 제 2메모리 셀들 사이에 소정의 버퍼를 구비하도록 함으로써, 워드라인에 걸리는 부하를 줄이게 되어 고속으로 동작하도록 할 수 있는 효과가 있다.
또한, 입력되는 가상 어드레스를 제 1군과 제 2군으로 나누어 따로 비교하여 출력하도록 함으로써 변환색인버퍼가 더욱 고속으로 동작할 수 있다.
Claims (5)
- 가상 어드레스(virtual address)를 수신하고 상기 가상 어드레스와 각각의 가상 어드레스 태그를 비교하고, 그 비교결과에 응답하여 소정의 제어신호를 출력하는 다수의 가상 어드레스 비교회로들;상기 어드레스 비교회로의 출력신호를 수신하고 상기 어드레스 비교회로의 출력신호에 응답하여 대응되는 워드라인을 활성화시키는 다수의 워드라인 드라이버들; 및,상기 워드라인에 접속된 제 1메모리 셀들 및 제 2메모리 셀들을 구비하고, 상기 워드라인의 활성화에 응답하여 상기 제 1메모리 셀들 및 상기 제 2메모리 셀들에 저장된 물리적 주소(physical address)를 출력하는 다수의 저장회로들을 구비하고,상기 각각의 저장회로는 상기 제 1메모리 셀들과 상기 워드라인과 접속된 노드 및 상기 제 2메모리 셀들과 상기 워드라인과 접속된 노드 사이에 소정의 버퍼를 구비하는 것을 특징으로 하는 변환 색인 버퍼(translation lookaside buffer).
- 가상 어드레스(virtual address)의 제 1군을 수신하고 상기 제 1군과 대응되는 가상 어드레스 태그를 비교하고, 그 비교결과에 응답하여 제 1제어신호를 출력하는 다수의 제 1가상 어드레스 비교회로들;상기 가상 어드레스(virtual address)의 제 2군을 수신하고 상기 제 2군과 대응되는 가상 어드레스 태그를 비교하고, 그 비교결과에 응답하여 제 2제어신호를 출력하는 다수의 제 2가상 어드레스 비교회로들;상기 제 1제어신호 및 상기 제 2제어신호를 수신하고 상기 제 1제어신호 및 상기 제 2제어신호에 응답하여 대응되는 워드라인을 활성화시키는 워드라인 드라이버; 및,상기 워드라인에 접속된 제 1메모리 셀들 및 제 2메모리 셀들을 구비하고, 상기 워드라인의 활성화에 응답하여 상기 제 1메모리 셀들 및 상기 제 2메모리 셀들에 저장된 물리적 주소(physical address)를 출력하는 다수의 저장회로들을 구비하고,상기 각각의 저장회로는 상기 제 1메모리 셀들과 상기 워드라인과 접속된 노드 및 상기 제 2메모리 셀들과 상기 워드라인과 접속된 노드 사이에 소정의 버퍼를 구비하는 것을 특징으로 하는 변환 색인 버퍼(translation lookaside buffer).
- 제 2항에 있어서,상기 가상 어드레스의 제 1군은 상기 가상 어드레스의 짝수 비트들(even bits)이며, 상기 가상 어드레스의 제 2군은 상기 가상 어드레스의 홀수 비트들(odd bits)인 것을 특징으로 하는 변환 색인 버퍼.
- 제 2항에 있어서, 상기 워드라인 드라이버는상기 제 1제어신호 및 상기 제 2제어신호를 수신하고 상기 제 1제어신호 및 상기 제 2제어신호를 논리곱하여 래치하고, 외부클럭에 동기되어 상기 래치된 신호를 출력하는 래치회로;상기 래치회로의 출력신호 및 상기 외부클럭을 수신하고 논리곱하여 출력하는 제 1논리회로; 및,상기 제 1논리회로의 출력신호 및 소정의 인에이블신호를 수신하고 논리곱하여 출력하는 제 2논리회로를 구비하는 것을 특징으로 하는 변환 색인 버퍼.
- 제 2항에 있어서, 상기 워드라인 드라이버는상기 제 1제어신호 및 상기 제 2제어신호를 수신하여 논리곱하고, 상기 외부클럭에 응답하여 논리곱된 신호를 출력하는 제 1논리곱회로; 및,상기 감지증폭기의 출력신호 및 상기 인에이블신호를 수신하고 논리곱하여 출력하는 제 2논리곱회로를 구비하는 것을 특징으로 하는 변환 색인 버퍼.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0064634A KR100459728B1 (ko) | 2002-10-22 | 2002-10-22 | 고속 변환 색인 버퍼 |
US10/426,686 US7035992B2 (en) | 2002-10-22 | 2003-05-01 | High-speed translation lookaside buffer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0064634A KR100459728B1 (ko) | 2002-10-22 | 2002-10-22 | 고속 변환 색인 버퍼 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040035474A KR20040035474A (ko) | 2004-04-29 |
KR100459728B1 true KR100459728B1 (ko) | 2004-12-03 |
Family
ID=32089753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0064634A KR100459728B1 (ko) | 2002-10-22 | 2002-10-22 | 고속 변환 색인 버퍼 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7035992B2 (ko) |
KR (1) | KR100459728B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980035680A (ko) * | 1996-11-14 | 1998-08-05 | 김영환 | 어드레스 변환기 회로 |
KR19980034440A (ko) * | 1996-11-06 | 1998-08-05 | 김영환 | 내용번지메모리를 이용한 고속 변환색인버퍼 |
KR19990063478A (ko) * | 1997-12-26 | 1999-07-26 | 가나이 쓰토무 | 반도체 장치 |
US6078987A (en) * | 1997-09-30 | 2000-06-20 | Sun Microsystems, Inc. | Translation look aside buffer having separate RAM arrays which are accessable with separate enable signals |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3947823A (en) * | 1973-12-26 | 1976-03-30 | International Business Machines Corp. | Means for coordinating asynchronous main store accesses in a multiprocessing system using virtual storage |
US4096573A (en) * | 1977-04-25 | 1978-06-20 | International Business Machines Corporation | DLAT Synonym control means for common portions of all address spaces |
US4136385A (en) * | 1977-03-24 | 1979-01-23 | International Business Machines Corporation | Synonym control means for multiple virtual storage systems |
US5606683A (en) * | 1994-01-28 | 1997-02-25 | Quantum Effect Design, Inc. | Structure and method for virtual-to-physical address translation in a translation lookaside buffer |
WO1996012231A1 (en) * | 1994-10-14 | 1996-04-25 | Silicon Graphics, Inc. | A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein |
US6216200B1 (en) * | 1994-10-14 | 2001-04-10 | Mips Technologies, Inc. | Address queue |
TW324101B (en) * | 1995-12-21 | 1998-01-01 | Hitachi Ltd | Semiconductor integrated circuit and its working method |
US20040054867A1 (en) * | 2002-09-13 | 2004-03-18 | Paulus Stravers | Translation lookaside buffer |
-
2002
- 2002-10-22 KR KR10-2002-0064634A patent/KR100459728B1/ko active IP Right Grant
-
2003
- 2003-05-01 US US10/426,686 patent/US7035992B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980034440A (ko) * | 1996-11-06 | 1998-08-05 | 김영환 | 내용번지메모리를 이용한 고속 변환색인버퍼 |
KR19980035680A (ko) * | 1996-11-14 | 1998-08-05 | 김영환 | 어드레스 변환기 회로 |
US6078987A (en) * | 1997-09-30 | 2000-06-20 | Sun Microsystems, Inc. | Translation look aside buffer having separate RAM arrays which are accessable with separate enable signals |
KR19990063478A (ko) * | 1997-12-26 | 1999-07-26 | 가나이 쓰토무 | 반도체 장치 |
Also Published As
Publication number | Publication date |
---|---|
US7035992B2 (en) | 2006-04-25 |
KR20040035474A (ko) | 2004-04-29 |
US20040078545A1 (en) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI699651B (zh) | 記憶體裝置及其操作方法 | |
US5568415A (en) | Content addressable memory having a pair of memory cells storing don't care states for address translation | |
US5617348A (en) | Low power data translation circuit and method of operation | |
TWI415136B (zh) | 用於在電子記憶體操作中動態功率節省之系統及方法 | |
US5717885A (en) | TLB organization with variable page size mapping and victim-caching | |
US5699288A (en) | Compare circuit for content-addressable memories | |
JPH11161547A (ja) | データ処理装置用記憶装置、および記憶場所にアクセスする方法 | |
US5754463A (en) | Multi-ported content addressable memory with precharge "non match" | |
US7035968B1 (en) | Content addressable memory with range compare function | |
US5638315A (en) | Content addressable memory for a data processing system | |
JPH0621998B2 (ja) | メモリ−管理システム | |
KR20080009129A (ko) | 저장 회로 및 방법 | |
US5841957A (en) | Programmable I/O remapper for partially defective memory devices | |
KR100459728B1 (ko) | 고속 변환 색인 버퍼 | |
JPH0362243A (ja) | 情報処理システムにおいてメモリアクセスを速くする装置 | |
US5606709A (en) | Register group circuit for data processing system | |
US5463751A (en) | Memory device having address translator and comparator for comparing memory cell array outputs | |
US20020062433A1 (en) | Memory with address conversion table | |
US7486542B2 (en) | General purpose register circuit | |
JP2000163318A (ja) | アドレス変換バッファ | |
US7185170B2 (en) | Data processing system having translation lookaside buffer valid bits with lock and method therefor | |
JP5337247B2 (ja) | 半導体記憶装置 | |
US6128697A (en) | Selectively updateable mapped data storage system | |
KR100218301B1 (ko) | 반도체 메모리장치 | |
KR20000065960A (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: 20121031 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20131031 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20141031 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20151030 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20181031 Year of fee payment: 15 |