KR960016409B1 - 버스 사이징(sizing) 기능을 갖는 마이크로프로세서 - Google Patents

버스 사이징(sizing) 기능을 갖는 마이크로프로세서 Download PDF

Info

Publication number
KR960016409B1
KR960016409B1 KR1019940000448A KR19940000448A KR960016409B1 KR 960016409 B1 KR960016409 B1 KR 960016409B1 KR 1019940000448 A KR1019940000448 A KR 1019940000448A KR 19940000448 A KR19940000448 A KR 19940000448A KR 960016409 B1 KR960016409 B1 KR 960016409B1
Authority
KR
South Korea
Prior art keywords
bus
data bus
internal data
data
pads
Prior art date
Application number
KR1019940000448A
Other languages
English (en)
Other versions
KR940018754A (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 니뽄 덴끼 가부시끼가이샤
Publication of KR940018754A publication Critical patent/KR940018754A/ko
Application granted granted Critical
Publication of KR960016409B1 publication Critical patent/KR960016409B1/ko

Links

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
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

없음.

Description

버스 사이징(sizing) 기능을 갖는 마이크로프로세서
제1도는 본 발명의 제 1 실시예에 의한 버스 사이징 기능을 갖는 마이크로프로세서의 배선을 도시하는 블럭도.
제2도는 제 1 도의 마이크로프로세서의 데이타 버스 인터페이스 회로의 구성을 도시하는 블럭도.
제3도는 본 발명의 제 2 실시예에 의한 버스 사이징 기능을 갖는 마이크로프로세서의 배선을 도시하는 블럭도.
제4도는 제 3 도의 마이크로프로세서의 데이타 버스 인터페이스 회로의 구성을 도시하는 블럭도.
제5도는 종래의 버스 사이징 가능을 구비한 마이크로프로세서의 배선을 도시하는 블럭도.
제6도는 버스 사이징의 동작예를 설명하는 도면.
* 도면의 주요부분에 대한 부호의 설명
103 : 선택기113 : 래치(latch)회로
501 : 얼라이너(aligner).
발명의 배경
발명의 분야
본 발명은 마이크로프로세서에 관한 것이며, 특히, 상이한 데이타 포트를 갖는 시스템 자원과 데이타 통신하는 것이 가능한 마이크로프로세서에 관한 것이다.
종래 기술에 대한 설명
외부와 데이타 통신을 행하는 마이크로프로세서에서는 통신에 사용하는 버스는 메모리 등의 여러가지 자원에 대해서 공통인 것을 사용할 필요가 있다.
그러나, 이들 자신의 버스폭은 반드시 마이크로프로세서와 동일하지 않다. 예컨대, 데이타 버스폭이 32비트인 마이크로프로세서에 16비트폭이나 8비트폭의 메모리나 I/O 장치를 접속해서 데이타 통신을 행하는 요구가 있다.
그래서, 이들 자원의 버스폭에 동적으로 대응하는 버스 사이징 기능을 갖는 마이크로프로세서가 제공되어 있다.
제 5 도에 버스 사이징의 동작예를 MOTOROLA MC68060 User's Manual P. 7-6 기호에 의거해서 설명한다. 제 5 도에서 [ ]로 표시하는 숫자는 비트 번호를 나타내고 있다.
(500)은 마이크로프로세서 내부의 레지스터, (501)은 버스 사이징 기능을 갖는 얼라이너(aligner), (502)는 마이크로프로세서의 외부 데이타 버스이다. (503),(504),(505)는 각각 32비트, 16비트, 8비트의 비트폭의 포트이다. (510-513)은 내부 레지스터(500)에 격납된 8비트 단위의 데이타이다.
여기에서 레지스터(500)로부터 포트(503),(504),(505)에 각각 데이타를 출력하는 것을 상정한다.
32비트폭의 포트(503)에는 내부 레지스터(500)의 내용인 데이타(510)-(513)이 그대로 전달된다.
16비트폭의 포트(504)에는 상위 16비트분의 데이타(510) 및 (511)과 하위의 16비트분의 데이타(512) 및 (513)으로 나뉘어서 차례로 출력된다.
8비트폭의 포트(505)에는 데이타(510)-(513)이 8비트 마다 나뉘어서 차례로 출력된다.
하기와 같은 동작을 실현하기 위해서 출력되는 데이타 버스의 폭을 제한하고 내부 레지스터(500)의 값을 8비트 단위로 정렬할 수 있는 얼라이너(501)가 구비되어 있다.
제 6 도에 버스 사이징 기능을 구비한 마이크로프로세서의 배선도를 도시한다. (201)은 마이크로프로세서, (202)는 실제의 연산을 행하는 데이타 버스에 있다. 데이타 버스(202)는 32비트폭을 갖고 있으며 이 데이타버스(202)가 내부 데이타 버스 20(0)-20(31)을 거쳐서 외부 데이타 버스와 데이타의 입출력을 행하는 데이타 버스 인터페이스 회로 300(0)-300(31)과 접속되어 있다. 그리고 이 데이타 버스 인터페이스 회로 300(0)-300(31)에는 각각 외부 데이타 버스와 접속하기 위한 패드 460(0)-400(31)가 접속되어 있다. 여기에서 [ ]의 번호는 비트 번호를 도시하고 있다. 또, ( )로 나타내는 번호는 비트 번호에 대응하고 있다.
도시한 것과 같이 데이타 버스 인터페이스 회로 300(0)-300(31) 및 패드 400(0)-400(31)는 횡 일렬로 차례로 병렬해서 배치되어 있다.
마이크로프로세서(101)는 32비트의 통신용의 내부 데이타 버스를 구비하고 있다. 이것에 대해서 외부의 자원(메모리나 I/O 기기 등)도 32비트 이외에 8비트 및 16비트의 버스 폭을 갖는 것이 상정된다. 이들 외부의 자원과의 데이타의 전송에 동적으로 대응하기 위해서 데이타 버스 인터페이스 회로 300(0)-300(31)에 의해서 내부 데이타 버스 20(1)-20(31)은 4가지의 조합으로 선택하고 그 선택된 내부 데이타 버스를 거쳐서 패드 400(1)-400(31)로부터 데이타가 입출력된다. 따라서, 각 데이타 버스 인터페이스 회로에는 4개의 내부 데이타 버스가 배선되어 있다. 그리고, 제어 신호에 의해서 이 4개의 내부 데이타 버스로부터 데이타의 입출력을 행하는 내부 데이타 버스를 선택한다.
제 6 도의 마이크로프로세서(101)에서 8비트 단위의 버스 사이징을 행하는 경우, 8개의 패드 400(0)-400(7)을 거쳐서 외부의 자원과 데이타의 입출력을 행한다. 즉, 마이크로프로세서(101)로부터 32비트의 데이타를 출력하는 경우에는 32비트의 데이타를 8비트마다 나누고 차례로 패드 400(0)-400(7)을 거쳐서 출력한다.
예컨대, 데이타 인터페이스 회로 300(0)에 접속되는 패드 400(0)은 내부 데이타 버스 20(0), 20(8), 20(16), 20(24)와 접촉된다. 8비트 단위의 버스 사이징의 경우, 이 내부 데이타 버스가 차례로 제어 신호에 의해서 선택되며 입출력이 실행된다. 16비트 단위의 버스 사이징의 경우, 내부 데이타 버스 20(0), 20(16)이 차례로 선택된다.
마찬가지로 데이타 버스 인터페이스 회로 300(1)에 접속되는 패드 400(1)는 내부 데이타 버스 20(1), 20(9), 20(17), 20(25)과 접속된다. 16비트 단위의 버스 사이징의 경우, 내부 데이타 버스 20(1), 20(17)이 차례로 선택된다.
따라서, 예컨대, 외부의 자원의 버스 폭이 8비트인 경우, 외부 데이타 버스의 0비트로부터 7비트에 대응시켜서 시분할로 4회로 나누어서 데이타의 입출력을 행하는 경우, 패드 400(0)-400(7)에는 내부 데이타 버스 20(0)-20(7), 20(8)-20(15), 20(16)-20(23), 20(24)-20(31)이 차례로 접속된다.
또, 외부 자원의 버스 폭이 16비트인 경우, 외부 데이타 버스의 [0]-[15]비트에 대응시켜서 시분할로 2회로 나누어서 데이타의 입출력을 행하는 경우, 패드 400(0)-400(15)에는 내부 데이타 버스 20(0)-20(15), 20(16)-20(31)이 차례로 접속된다.
상술한 바와 같이 종래의 버스 사이징 기능을 가지는 마이크로프로세서에서는 제 6 도에 도시하듯이 패드 및 데이타 버스 인터페이스 회로가 칩의 배선상의 주변의 1변을 차지하고 있으며 또한, 그것들이 비트의 순서대로 배치되어 있다.
여기에서 제 6 도의 내부 데이타 버스 20(0)의 접속끝을 보면 8비트의 버스 사이징 때문에 8비트 간격으로 떨어져서 배치된 0비트, 8비트, 16비트, 24비트째의 데이타 버스 인터페이스 회로 300(0), 300(8), 300(16), 300(24)에 접속되어 있다. 기타의 내부 데이타 버스에 대해서도 마찬가지로 8비트 간격으로 떨어져서 배치된 4개의 데이타 버스 인터페이스 회로에 접속되어 있다.
이같이 1개의 내부 데이타 버스를 떨어져서 위치하는 4개의 데이타 버스 인터페이스 회로에 접속하기 때문에 실제의 내부 데이타 버스의 배선에서는 칩의 배선상에 다수의 배선을 실시한 구조로 되며 배선 길이가 커진다. 이 배선 길이의 증대로 배선 용량이 증가되고 입력 셋업 시간 및 출력 지연 시간이 증대하는 원인으로 되어 있다. 또, 칩 면적의 증대를 초래하고 있다.
발명의 개요
본 발명의 목적은 배선 용량을 삭감하므로써 입력 셋업 시간 및 출력 지연 시간을 감소시킬 수 있는 버스 사이징 기능을 갖는 마이크로프로세서를 제공하는데 있다.
또, 다른 목적은 내부 데이타 버스의 배선에 요하는 면적을 삭감함으로서 칩 면적의 증대를 해소할 수 있는 버스 사이징 기능을 갖는 마이크로프로세서를 제공하는데 있다.
이 목적을 달성하는 본 발명의 바람직한 양태는 버스 사이징 기능을 갖는 마이크로프로세서가 데이타의 연산을 행하는 데이타 경로와, 상기 데이타 경로에 대해서 데이타의 입출력을 행하는 2n(n은 자연수)비트폭의 데이타 버스 및 외부 데이타 버스와, 상기 외부 데이타 버스를 2m비트폭(m은 자연수, m<n)의 버스로서 사용하는 버스 사이징 기능을 가지며 2n-m개의 상기 내부 데이타 버스와 접속되는 2n개이 인터페이스 회로와, 상기 내부 데이타 버스를 상기 인터페이스 회로를 거쳐서 외부 데이타 버스와 접속하기 위한 2n개의 패드를 구비하며, 상기 인터페이스 회로 및 상기 패드중, 상기 내부 데이타 버스가 공통하는 2n-m개의 상기 인터페이스 회로와 상기 패드를 1짝의 블럭으로 마무리하고 선로 근접시켜서 배치한다.
다른 바람직한 양태에 의하면 상기 인터페이스 회로는 접속되는 2n-m개의 내부 데이타 버스를 선택적으로 전환하고 상기 패드와 접속하는 전환 수단을 구비한다.
상기 내부 데이타 버스 및 외부 데이타 버스가 32비트이며 32개의 인터페이스 회로에 8비트 마다 4개씩 상기 내부 데이타 버스가 접속되며, 상기 인터페이스 회로와 상기 패드중, 접속되는 상기 내부 데이타 버스의 비트 번호가 공통하는 4개의 인터페이스 회로와 상기 패드를 1블럭으로 하고 8블럭으로 마무리하고 각 블럭마다 배치한다.
버스 사이징 기능을 갖는 프로세서는 데이타의 연산을 행하는 데이타 경로와 상기 데이타 경로에 대해서 데이타의 입출력을 행하는 2n(n은 자연수)비트폭의 내부 데이타 버스 및 외부 데이타 버스와 상기 외부 데이타 버스를 2m비트폭(m은 자연수, m<n)의 버스로서 사용하는 버스 사이징 기능을 가지며 2n-m개의 상기 내부 데이타 버스와 접속되는 2m개의 인터페이스와 상기 내부 데이타 버스를 상기 인터페이스 회로를 거쳐서 외부 데이타 버스와 접속하기 위한 2n개의 패드를 구비하며, 상기 인터페이스 회로에 상기 인터페이스회로와 접속되는 상기 내부 데이타 버스와 같은 비트 번호의 상기 패드를 2n-m개의 접속해서 마무리하여 배치한다.
상기 인터페이스 회로는 접속되는 상기 내부 데이타 버스를 선택적으로 상기 패드와 접속하는 수단을 구비한다.
상기 내부 데이타 버스 및 외부 데이타 버스가 32비트이며 16개의 인터페이스 회로에 16비트마다 2개씩 상기 내부 데이타 버스가 접속되며, 상기 인터페이스 회로에 접속되는 내부 데이타 버스와 같은 비트 번호의 2개의 패드를 상기 인터페이스 회로에 근접시켜서 마무리해서 배치한다.
상기 인터페이스 회로는 상기 2개의 내부 데이타 버스중, 상위의 비트 번호의 내부 데이타 버스를 상기 2개의 패드에 선택적으로 접속하고 상기 패드중, 하위의 비트 번호의 패드를 상기 2개의 내부 데이타 버스에 선택적으로 접속하는 수단을 구비한다.
본 발명의 또한 다른 목적, 특징 및 효과는 이하의 상세한 설명으로 분명하게 된다.
양호한 실시예에 대한 설명
본 발명의 양호한 실시예에 대해서 도면을 참조하여 설명한다.
제 1 도는 본 발명의 제 1 실시예에 의한 버스 사이징 기능을 갖는 마이크로프로세서의 배선을 도시한 모식도이다. 제 1 도에서 (10)은 마이크로프로세서(마이크로프로세서의 칩을 도시하고 있다), (15)는 실제의 연산을 실행하는 데이타 경로이다.
데이타 경로(15)는 32비트폭을 가지고 있으며 이 데이타 경로(15)가 내부 데이타 버스 20(0)-20(31)을 거쳐서 외부 데이타 버스와 데이타의 입출력을 행하는 데이타 버스 인터페이스 회로 13(0)-13(31)과 접속되어 있다. 그리고, 이 데이타 버스 인터페이스 회로 13(0)-13(31)에는 각각 마이크로프로세서의 외부 데이타 버스(도시 생략)와 접속하기 위한 패드 14(0)-14(31)가 접속되어 있다. 여기에서, [ ]의 번호는 비트번호를 나타내고 있다. 또, ( )로 나타내는 번호는 비트 번호에 대응하고 있다.
여기에서, 데이타 버스 인터페이스 회로 13(0)-13(31)의 회로 구성을 제 2 도에 의거해서 설명한다. 여기에선 데이타 버스 인터페이스 회로에 대해서도 내부 데이타 버스 및 패드의 비트 번호가 상이한 것만으로 구성은 동일하다.
이 데이타 버스 인터페이스 회로 13(31)은 3 상태 버퍼(three state buffer)(101), 선택기(103), 3 상태 버퍼(108)-(111), 래치(latch) 회로(113), 종료 회로(115)-(118)에 의해서 구성된다.
도시한 것과 같이 내부 데이타 버스 20(7), 20(15), 20(23), 20(31)이 선택기(103)의 입력에 접속되고 선택기(103)의 출력이 3 상태 버퍼(101)를 거쳐서 패드 14(31)에 접속되어 있다. 또, 패드 14(31)는 래치 회로(113)의 입력에 접속되며 래치 회로(113)의 출력이 4개의 3 상태 버퍼(115)-(118)를 거쳐서 각각 내부 데이타 버스 20(7), 20(15), 20(23), 20(31)에 접속되어 있다.
데이타 입력의 경우, 패드 14(31)부터 입력된 데이타는 클럭(114)에 의해서 래치 회로(113)에 래치된다. 또한, 종료 회로(115)-(118)을 거쳐서 입력하는 제어 신호(104)-(107)에 의해서 3 상태 버퍼(108)-(111)가 제어되고 입력선의 내부 데이타 버스 20(7), 20(15), 20(23), 20(31)중의 어느 하나가 선택된다.
데이타 출력의 경우 제어 신호(104)-(107)에 의거하여 선택기(103)에서 출력하는 내부 데이타 버스 20(7), 20(15), 20(23), 20(31)중의 어느 하나가 선택된다. 그리고, 선택된 내부 데이타 버스로부터 보내진 데이타 3 상태 버퍼(101)의 입력(102)에 따라서 패드 14(31)를 거쳐서 외부 데이타 버스에 출력된다.
다음에 이들 기능을 써서 버스 사이징을 실현하는 방법을 말한다. 제 1 도에 도시하는 마이크로프로세서(10)는 32비트의 통신용 내부 데이타 버스를 구비하고 있다. 이것에 대해서 외부이 자원(메모리나 I/O 기기 등)은 32비트 이외에 8비트 및 16비트의 버스 폭을 갖는 것이 상정된다. 이들 외부의 자원과의 데이타의 전송에 동적으로 대응하기 위해서 데이타 버스 인터페이스 회로 13(1)-13(31)에 의해서 내부 데이타 버스 20(1)-20(31)을 4가지의 조합으로 선택하고 그 선택된 내부 데이타 버스를 거쳐서 패드 14(1)-14(31)부터 데이타가 입출력된다.
따라서, 제 2 도에 도시하듯이 각 데이타 버스 인터페이스 회로에는 4개의 내부 데이타 버스가 배선된다. 그리고, 제어 신호(104)-(107)에 의해서 이 4개의 내부 데이타 버스로부터 데이타의 입출력을 행하는 내부데이타 버스를 선택한다.
제 1 도에 도시한 마이크로프로세서(10)에서 8비트 단위의 버스 사이징을 행하는 경우, 8개의 패드 14(0)-패드(7)를 거쳐서 외부의 자원과 데이타의 입출력을 행한다. 즉, 마이크로프로세서(10)로부터 32비트의 데이타를 출력하는 경우에는 32비트의 데이타를 8비트마다 나누고 차례로 패드 14(0)-패드(7)를 거쳐서 출력한다.
예컨대, 데이타 버스 인터페이스 회로 13(0)에 접속되는 패드 14(0)는 내부 데이타 버스 20(0), 20(8), 20(16), 20(24)와 접속된다. 8비트 단위의 버스 사이징의 경우, 이것의 내부 데이타 버스가 차례로 제어 신호에 의해서 선택되며, 입출력이 실행된다. 즉, 최초의 8비트의 입출력시, 패드 14(0)와 내부 데이타 버스 20(8)이 접속되며, 다음의 8비트의 입출력시, 패드 14(0)와 내부 데이타 버스 20(8)이 접속되며, 순차 패드, 패드 14(0)와 내부 데이타 버스 20(16), 20(24)가 접속된다. 16비트 단위의 사이징의 경우, 내부 데이타 버스 20(0), 20(16)이 차례로 선택된다.
마찬가지로 데이타 버스 인터페이스 회로 13(1)에 접속되는 패드 14(1)는 내부 데이타 버스 20(1), 20(9), 20(17), 20(25)와 접속된다. 8비트 단위의 버스 사이징의 경우, 이것의 내부 데이타 버스가 차례로 제어 신호에 의해서 선택되며 입출력이 실행된다. 16비트 단위의 버스 사이징의 경우, 내부 데이타 버스 20(1), 20(17)이 차례로 선택된다.
따라서, 예컨대, 외부 자원의 버스 폭이 8비트의 경우, 외부 데이타 버스의 [0]비트로부터 [7]비트에 대응시켜서 시분할로 4회에 나누어서 데이타의 입출력을 행하는 경우, 패드 14(0)-14(7)에는 내부 데이타 버스 20(0)-20(7), 20(8)-20(15), 20(16)-20(23), 20(24)-20(31)이 차례로 접속된다.
또, 외부의 자원의 버스 폭이 16비트인 경우, 외부 데이타 버스의 [0]-[15]비트에 대응시켜서 시분할로 2회로 나누어서 데이타의 입출력을 행하는 경우, 패드 14(0)-14(15)에는 내부 데이타 버스 20(0)-20(15), 20(16)-20(31)이 차례로 접속된다.
또, 외부의 자원의 버스 폭이 32비트인 경우, 패드 14(0)-14(31)에 내부 데이타 버스 20(0)-20(31)가 접속된다.
본 실시예에서는 내부 데이타 버스가 공통하는 데이타 인터페이스 회로를 8개의 블럭으로 나누고 그것들의 블럭마다 마무리해서 데이타 버스 인터페이스 회로를 배치하고 있다.
예컨대, 데이타 버스 인터페이스 회로 13(0), 13(8), 13(16), 13(24)에 대해서는 내부 데이타 버스 20(0), 20(8), 20(16), 20(24)가 공통해서 접속되므로 1번째의 블럭 31-1로서 마무리하고 도시한 것과 같이 프로세서상에 서로 접근시켜서 배치하고 있다.
또, 데이타 버스 인터페이스 회로 13(1), 13(9), 13(17), 13(25)에 대해서는 내부 데이타 버스 20(1), 20(9), 20(17), 20(25)가 공통해서 접속되므로 2번째의 블럭 31-2로서 마무리하고 마찬가지로 마이크로프로세서(10)상에 서로 근접시켜서 배치하고 있다.
마찬가지로 내부 데이타 버스가 공통하는 데이타 버스 인터페이스 회로를 블럭 31-3~31-8로서 마무리하고 서로 근접해서 배치하고 있다. 제 1 도에서는 편의상 블럭 31-3~31-7까지를 생략하고 있다. 3번째의 블럭 31-3에는 내부 데이타 버스 20(2), 20(10), 20(18), 20(26)이 공통하는 데이타 버스 인터페이스 회로 13(2), 13(10), 13(18), 13(26)이 마무리되어 있다.
4번째의 블럭 31-4에는 내부 데이타 버스 20(3), 20(11), 20(19), 20(27)이 공통하는 데이타 버스 인터페이스 회로 13(3), 13(11), 13(19), 13(27)이 마무리되어 있다.
5번째의 블럭 31-5에는 내부 데이타 버스 20(4), 20(12), 20(20), 20(28)이 공통하는 데이타 버스 인터페이스 회로 13(4), 13(12), 13(20), 13(28)이 마무되어 있다.
6번째의 블럭 31-6에는 내부 데이타 버스 20(5), 20(13), 20(21), 20(29)가 공통하는 데이타 버스 인터페이스 회로 13(5), 13(13), 13(21), 13(29)가 마무리되어 있다.
7번째의 블럭 31-7에는 내부 데이타 버스 20(6), 20(14), 20(22), 20(30)이 공통하는 데이타 버스 인터페이스 회로 13(6), 13(14), 13(22), 13(30)가 마무리되어 있다.
그리고, 도시한 것과 같이 8번째의 블럭 31-8에는 내부 데이타 버스 20(7), 20(15), 20(23), 20(31)가 공통하는 데이타 버스 인터페이스 회로 13(7), 13(15), 13(23), 13(31)가 마무리되어 있다.
제 3 도에 본 발명의 제 2 의 실시예에 의한 버스 사이징 기능을 갖는 마이크로프로세서의 배선을 도시한다. 실시예의 마이크로프로세서(50)는 16비트 단위의 버스 사이징 기능만을 구비하고 있으며 데이타 버스(51), 16개의 데이타 버스 인터페이스 회로 60(0)-60(15), 32개의 패드 70(0)-70(31), 데이타 경로(51)와 데이타 버스 인터페이스 회로 60(0)-60(15)를 접속하는 내부 데이타 버스 20(0)-20(31)로 구성된다. 또한, 도면중, 데이타 버스 인터페이스 회로 60(2)-60(14)에 대해서는 편의상 생략하고 있다.
이 제 2 의 실시예에서는 도시한 것과 같이 16개의 데이타 버스 인터페이스 회로 60(0)-60(15)에 각각 2개의 패드 70(0)과 70(16), 70(1)과 70(17), 70(2)과 70(18), 70(3)과 70(19), 70(4)과 70(20), 70(5)과 70(21), 70(6)과 70(22), 70(7)과 70(23), 70(8)과 70(24), 70(9)과 70(25), 70(10)과 70(26), 70(11)과 70(27), 70(12)과 70(28), 70(13)과 70(29), 70(14)과 70(30), 70(15)과 70(31)을 접속하고 있다.
그리고, 각각의 패드에 비트 번호가 대응하는 내부 데이타 버스를 접속하고 있다.
1개의 내부 데이타 버스는 1개의 데이타 버스 인터페이스 회로에 접속될 뿐이며, 다른 데이타 버스 인터페이스 회로에 분기해서 접속되지 않는다.
여기에서 데이타 버스 인터페이스 회로 60(0)-60(15)의 회로 구성을 제 2 도에 의거해서 설명한다. 여기에서는 데이타 인터페이스 회로 60(0)에 대해서 도시하고 있으나 다른 데이타 버스 인터페이스 회로에 대해서도 내부 데이타 버스 및 패드의 비트 번호가 상이할 뿐으로 구성은 동일하다.
이 데이타 버스 인터페이스 회로 60(0)는 3개의 인터페이스 회로(406), (407), (408)를 구비한다. 인터페이스 회로(406)는 입력 신호 래치(409), 출력 신호 래치(412), 3 상태 버퍼(410), (411)로 구성된다. 인터페이스 회로(407)는 입력 신호 래치(413), 출력 신호 래치(416), 3 상태 버퍼(414), (145)로 구성된다. 인터페이스 회로(408)는 입력 신호 래치(417), 출력 신호 래치(420), 3 상태 버퍼(418), (419)로 구성된다.
여기에서 패드 70(0)는 인터페이스 회로(406), (407)를 거쳐서 내부 데이타 버스 20(0) 및 20(16)과 접속되며 패드 70(16)은 인터페이스 회로(408)를 거쳐서 내부 데이타 버스 20(16)과 접속된다.
패드 70(0) 및 70(16)으로부터 입력 신호 래치(409), (413), (417)에 입력한 데이타는 3 상태 버퍼(410), (414), (418)의 입력(423)-(424)이 활성인때, 클럭(422)에 동기해서 내부 데이타 버스 20(0) 또는 20(16)으로 보내진다.
내부 데이타 버스 20(0) 또는 20(16)부터 출력되어 출력 신호 래치(412), (416), (420)에 보내진 데이타는 3 상태 버퍼(411), (415), (419)의 입력(426)-(428)이 활성인때, 클럭(429)에 동기해서 패드 70(0) 및 70(16)에서 출력된다.
이 제2 의 실시예의 마이크로프로세서(50)가 제 1 실시예와 상이한 점은 16비트 단위만의 버스 사이징(얼라인) 기능인 점과, 미스-얼라인 액세스(mis-align access)를 서포트하고 있지 않는 점이다. 기타의 동작에 대해서는 제 1 의 실시예와 공통이다. 여기에서 미스-얼라인 액세스를 설명한다. 32비트로 액세스하는 메모리로부터 데이타를 판독 입력하는 경우를 예를 들어서 설명한다. 통상의 32비트 액세스에서는 어드레스 0~3의 32비트, 어드레스 4~7의 32비트씩 데이타 경로의 0비트~31비트에 판독 입력된다. 여기에서 예컨대, 어드레스(1)로부터의 32비트를 판독 입력하는 경우, 우선 어드레스 0~3의 32비트중, 어드레스(1)-(3)의 24비트를 데이타 버스의 0비트~23비트에 판독하고 다음에 어드레스 4-7의 32비트중 어드레스(4)의 8비트를 데이타 경로의 24~31비트에 판독 입력한다. 이같이, 비트의 전환을 행하는 액세스를 미스-얼라인 액세스라 칭한다.
또한, 미스-얼라인 액세스를 서포트하고 있지 않다는 것에서 상위 16비트~32비트째의 패드 70(16)~70(31)에는 내부 데이타 버스가 1개씩 접속될 뿐이므로 회로 구성이 간소화되어 있다. 또, 출력 신호 래치를 패드의 근처에 위치시키면 출력 지연 시간의 단축도 실현된다.
통상 데이타 경로(15)로부터의 내부 데이타 버스 20(1)-20(31)의 1개 마다의 배선용량은 접속되는 배선의 길이의 총합에 비례한다. 그리고, 지연 시간은 배선용량에 의해서 증가한다. 그때문에 데이타 경로의 배선 길이가 짧아질수록에 지연 시간이 삭감되게 된다.
이하, 상기 설명한 실시예에 나타낸 배치 구성에 의해서 32비트의 내부 데이타 버스의 배선 길이의 총합을 삭감할 수 있음을 나타낸다. 이하, 패드간의 거리를 d로 한다.
데이타 경로의 비트간의 폭은 약 2~3㎛ 정도이며 내부 데이타 버스의 패드간의 평균거리(약 150㎛ 정도)와 비교해서 충분히 작으므로 데이타 경로 자체의 폭은 고려하지 않는다. 또, 데이타 버스로부터 패드에 대한 종방향(도면의 상하 방향)의 거리도 패드의 병렬 방향(도면의 좌우 방향)의 거리에 비해서 충분히 작으므로 고려하지 않는다.
종래의 마이크로프로세서에서 데이타 버스의 어떤 비트로부터 연장하는 1개의 내부 데이타 버스의 배선길이의 최대값은 약 23×d~31×d로 나타내어진다. 이 최대값은 패드에 대한 데이타 경로의 위치에 의해서 변화한다.
내부 데이타 버스(32개) 전체의 배선 길이는 1개의 내부 데이타 버스의 배선이 8비트마다 떨어진 4개의 패드(데이타 버스 인터페이스)에 접속되므로 그 배선 길이는 1개장 3×8d 정도로 된다. 따라서, 총 배선 길이는 32×(3×8d)=768d 정도로 된다.
종래의 마이크로프로세서에서는 데이타 경로로부터 연장된 내부 데이타 버스를 8비트 간격으로 배치되는 4개의 데이타 버스 인터페이스 회로에 분기시키고 배선하고 있었다. 이것에 대해서 제 1 실시예에서는 내부 데이타 버스 20(0)-20(31)가 데이타 경로(15)로부터 소정의 블럭의 데이타 버스 인터페이스 회로까지 연장되며 그 블럭내에서 최대 3비트 정도 떨어진 다른 4개의 데이타 버스 인터페이스 회로에 분기해서 배선된다. 따라서, 배선이 넓은 영역에 분산되는 일이 없어진다.
그리고, 데이타 경로(15)를 패드 14(1)-(31)[데이타 버스 인터페이스 회로 13(1)-13(31)]의 열 중앙에 배치한 경우, 1개의 내부 데이타 버스의 배선의 최대값이 약 15d로 된다. 따라서, 종래예에 비해, 내부 데이타 버스 1개에 대한 최대 배선 길이를 0.5-0.65 정도로 짧게 하는 것이 가능하게 된다.
내부 데이타 버스(32개) 전체의 배선 길이에 대해서도 대폭으로 삭감할 수 있다. 제 1 실시예에서는 각 블럭으로 연장하는 4개의 내부 데이타 버스의 배선 길이는 데이타 경로(15)로부터 각 블럭까지의 거리와 거의 동등하게 할 수 있다.
여기에서 데이타 경로(15)를 우단 또는 좌단의 블럭측에 위치시킨 경우를 고려한다. 데이타 버스(15)의 종방향(도면의 윗방향)에 위치하는 블럭(블럭 31-1 또는 31-8)으로 연장하는 4개의 내부 데이타 버스의 배선 길이는 데이타 경로 자체의 폭을 무시하고 있으므로 각 블럭내에서 4개의 데이타 버스 인터페이스 회로를 서로 접속하는 분만으로 된다. 따라서, 각 내부 데이타 버스에 대해서 3d로 된다.
그 옆의 블럭까지 연장하는 내부 데이타 버스의 배선 길이는 그 블럭의 데이타 경로(15)까지의 패드(데이타 버스 인터페이스 회로) 가까이의 거리와 블럭내의 배선 길이(=3d)의 합이 된다. 이 경우, 1블럭의 가로의 길이가 3d이므로 옆의 블럭의 데이타 경로(15) 가까이의 패드(데이타 버스 인터페이스 회로)까지의 거리는 4d로 된다. 따라서, 내부 데이타 버스의 배선 길이는 각 내부 데이타 버스에 대해서 7d(=3d+4d)로 된다. 여기에서는 각 블럭간의 간격도 d로 하고 있다.
마찬가지로 데이타 경로(15)로부터 가장 먼 블럭까지의 내부 데이타 버스의 배선 길이는 데이타 경로(15)로부터 그 블럭의 데이타 경로(15) 가까이의 패드(데이타 버스 인터페이스 회로)까지의 거리(=28d)와 블럭내의 배선 길이(=3d)의 합이 된다.
이같이 고려한 경우, 내부 데이타 버스(32개) 전체의 배선 길이는 이하와 같이 구해진다.
따라서, 총 배선 길이는 종래의 약 0.7배로 된다. 이것으로 데이타의 지연을 대폭 개선하고 또한 칩의 면적을 저감하는 것이 가능해진다.
또한, 제 2 실시예에서 내부 데이타 버스를 공통으로 하는 패드는 같은 데이타 버스 인터페이스 회로에 짝으로 되어서 접속되어 있으므로 1개의 내부 데이타 버스의 최대의 배선 길이는 제 1 실시예와 마찬가지로 약 15×d 정도로 된다.
여기에서 데이타 경로(51)를 우단 또는 좌단의 블럭측에 위치시킨 경우를 생각한다. 데이타 버스(51)의 종방향(도면의 윗방향)에 위치하는 데이타 버스 인터페이스 회로 60(0) 또는 60(15)에 연장하는 2개의 내부 데이타 버스의 배선 길이는 데이타 경로(51) 자체의 폭을 무시하고 있으므로 1개의 내부 데이타 버스의 배선 길이는 영이며, 1개의 내부 데이타 버스의 배선 길이는 1d로 된다. 그 2개의 내부 데이타 버스의 배선길이의 합은 1d이다.
그 옆의 데이타 버스 인터페이스 회로까지 연장하는 내부 데이타 버스의 배선 길이는 그 데이타 버스 인터페이스 회로의 데이타 경로(51) 가까이의 패드까지의 거리가 2d이고 다른쪽의 패드까지의 거리는 3d로 된다. 그 2개의 내부 데이타 버스의 배선 길이의 합은 5d이다.
마찬가지로 데이타 경로(5)로부터 가장 먼 데이타 버스 인터페이스 회로까지의 내부 데이타 버스의 배선길이는 데이타 경로(51)로부터 그 데이타 버스 인터페이스 회로의 데이타 경로(51) 가까이의 패드까지의 거리는 (30d)이며 다른쪽의 패드까지의 거리는 (30+1d)로 된다. 2개의 내부 데이타 버스의 배선 길이의 합은 (61d)로 된다.
이상에서, 내부 데이타 버스(32개) 전체의 배선 길이는 이하와 같이 구해진다.
따라서, 제 2 실시예에서도 총 배선 길이는 종래의 약 0.64배로 된다. 이것으로 데이타의 지연을 대폭 개선하고 또한 칩의 면적을 저감하는 것이 가능하다.
상기와 같이 본 실시예의 마이크로프로세서 같은 구성으로 하면 입력 셋업 시간의 단축이 실현된다. 즉, 데이타 버스 입력 셋업 시간, 출력 지연 시간을 결정하는 것은 데이타 버스중에서 가장 시간이 걸리는 임계 비트, 즉 접속되어 있는 배선 길이의 총합이 가장 긴 비트이다. 이 최대의 배선 길이를 반분 이하로 누를 수 있기 때문에 이것들의 시간을 대폭 단축할 수 있다.
본 발명에서 상술한 실시예외에 여러가지의 변형예가 가능한 것은 말할 것도 없다. 예컨대, 상기 설명에서는 32비트의 마이크로프로세서에 대해서 설명했는데 2n(n은 자연수)비트의 마이크로프로세서에 적용할 수 있다.
본 발명의 참정신 및 범위내에 존재하는 변형예는 모두 청구범위에 포함되는 것이다.

Claims (7)

  1. 버스 사이징 기능을 갖는 마이크로프로세서에 있어서, 데이타의 연산을 행하는 데이타 경로와, 상기 데이타 경로에 대해서 데이타의 입출력을 행하는 2n(n은 자연수)비트폭의 데이타 버스 및 외부 데이타 버스와, 상기 외부 데이타 버스를 2m비트폭(m은 자연수, m<n)의 버스로서 사용하는 버스 사이징 기능을 가지며 2n-m개의 상기 내부 데이타 버스와 접속되는 2n개의 인터페이스 회로와, 상기 내부 데이타 버스를 상기 인터페이스 회로를 거쳐서 외부 데이타 버스와 접속하기 위한 2n개의 패드를 구비하며, 상기 인터페이스 회로 및 상기 패드중, 상기 내부 데이타 버스가 공통하는 2n-m개의 상기 인터페이스 회로와 상기 패드를 1짝의 블럭으로 마무리하고 선로 근접시켜서 배치하는 버스 사이징 기능을 갖는 마이크로프로세서.
  2. 제 1 항에 있어서, 상기 인터페이스 회로는 접속되는 2n-m개의 내부 데이타 버스를 선택적으로 전환하고 상기 패드와 접속하는 전환 수단을 구비하는 버스 사이징 기능을 갖는 마이크로프로세서.
  3. 제 1 항에 있어서, 상기 내부 데이타 버스 및 외부 데이타 버스가 32비트이며 32개의 인터페이스 회로에 8비트 마다 4개씩 상기 내부 데이타 버스가 접속되며, 상기 인터페이스 회로와 상기 패드중, 접속되는 상기 내부 데이타 버스의 비트 번호가 공통하는 4개의 인터페이스 회로와 상기 패드를 1블럭으로 하고 8블럭으로 마무리하고 각 블럭마다 배치하는 버스 사이징 기능을 갖는 마이크로프로세서.
  4. 버스 사이징 기능을 갖는 프로세서에 있어서, 데이타의 연산을 행하는 데이타 경로와, 상기 데이타 경로에 대해서 데이타의 입출력을 행하는 2n(n은 자연수)비트폭의 내부 데이타 버스 및 외부 데이타 버스와, 상기 외부 데이타 버스를 2m비트폭(m은 자연수, m<n)의 버스로서 사용하는 버스 사이징 기능을 가지며 2n-m개의 상기 내부 데이타 버스와 접속되는 2m개의 인터페이스 회로와, 상기 내부 데이타 버스를 상기 인터페이스 회로를 거쳐서 외부 데이타 버스와 접속하기 위한 2n개의 패드를 구비하며, 상기 인터페이스 회로에 상기 인터페이스 회로와 접속되는 상기 내부 데이타 버스와 같은 비트 번호의 상기 패드를 2n-m개씩 접속해서 마무리하여 배치하는 버스 사이징 기능을 갖는 마이크로프로세서.
  5. 제 4 항에 있어서, 상기 인터페이스 회로는 접속되는 상기 내부 데이타 버스를 선택적으로 상기 패드와 접속하는 수단을 구비하는 버스 사이징 기능을 갖는 마이크로프로세서.
  6. 제 4 항에 있어서, 상기 내부 데이타 버스 및 외부 데이타 버스가 32비트이며 16개의 인터페이스 회로에 16비트마다 2개씩 상기 내부 데이타 버스가 접속되며, 상기 인터페이스 회로에 접속되는 내부 데이타 버스와 같은 비트 번호의 2개의 패드를 상기 인터페이스 회로에 근접시켜서 마무리해서 배치하는 버스 사이징 기능을 갖는 마이크로프로세서.
  7. 제 6 항에 있어서, 상기 인터페이스 회로는 상기 2개의 내부 데이타 버스중, 상위의 비트 번호의 내부 데이타 버스를 상기 2개의 패드에 선택적으로 접속하고 상기 패드 중, 하위의 비트 번호의 패드를 상기 2개의 내부 데이타 버스에 선택적으로 접속하는 수단을 구비하는 버스 사이징 기능을 갖는 마이크로프로세서.
KR1019940000448A 1993-01-13 1994-01-13 버스 사이징(sizing) 기능을 갖는 마이크로프로세서 KR960016409B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP93-003716 1993-01-13
JP00371693A JP3216931B2 (ja) 1993-01-13 1993-01-13 バスサイジングを有するマイクロプロセッサ

Publications (2)

Publication Number Publication Date
KR940018754A KR940018754A (ko) 1994-08-18
KR960016409B1 true KR960016409B1 (ko) 1996-12-11

Family

ID=11565047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940000448A KR960016409B1 (ko) 1993-01-13 1994-01-13 버스 사이징(sizing) 기능을 갖는 마이크로프로세서

Country Status (3)

Country Link
US (1) US5603048A (ko)
JP (1) JP3216931B2 (ko)
KR (1) KR960016409B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW304254B (ko) 1994-07-08 1997-05-01 Hitachi Ltd
US6226736B1 (en) * 1997-03-10 2001-05-01 Philips Semiconductors, Inc. Microprocessor configuration arrangement for selecting an external bus width
WO2006013498A1 (en) * 2004-07-30 2006-02-09 Koninklijke Philips Electronics N.V. Data processing device adaptable to variable external memory size and endianess

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
JP2891709B2 (ja) * 1989-01-16 1999-05-17 株式会社日立製作所 半導体集積回路装置
JPH0398145A (ja) * 1989-09-11 1991-04-23 Hitachi Ltd マイクロプロセッサ
US5448744A (en) * 1989-11-06 1995-09-05 Motorola, Inc. Integrated circuit microprocessor with programmable chip select logic
JP2718292B2 (ja) * 1991-07-24 1998-02-25 日本電気株式会社 マイクロプロセッサ
JP2599539B2 (ja) * 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
CA2092631C (en) * 1992-06-19 1997-04-08 Don Steven Keener Physical partitioning of logically continuous bus

Also Published As

Publication number Publication date
JPH06214944A (ja) 1994-08-05
KR940018754A (ko) 1994-08-18
US5603048A (en) 1997-02-11
JP3216931B2 (ja) 2001-10-09

Similar Documents

Publication Publication Date Title
KR100288038B1 (ko) 초대규모집적에 적합한 파이프라인 반도체장치
US7886130B2 (en) Field programmable gate array and microcontroller system-on-a-chip
US5455915A (en) Computer system with bridge circuitry having input/output multiplexers and third direct unidirectional path for data transfer between buses operating at different rates
US5435000A (en) Central processing unit using dual basic processing units and combined result bus
US4884192A (en) Information processor capable of data transfer among plural digital data processing units by using an active transmission line having locally controlled storage of data
EP0280251B1 (en) Shared memory controller arrangement
AU672333B2 (en) Shared memory system and arbitration method and system
EP0725349A2 (en) Microcomputer chip layout
US5740385A (en) Low load host/PCI bus bridge
US5321400A (en) Serial data interface circuit dealing with a plurality of receiving modes
EP0026648B1 (en) Digital data transfer apparatus
US7076745B2 (en) Semiconductor integrated circuit device
US6308244B1 (en) Information processing apparatus with improved multiple memory access and control
KR960016409B1 (ko) 버스 사이징(sizing) 기능을 갖는 마이크로프로세서
US6032229A (en) Semiconductor memory device and information processor using the same
KR960001023B1 (ko) 이기종 버스시스템에서의 버스 공유방법 및 버스 스와핑장치
US5175832A (en) Modular memory employing varying number of imput shift register stages
US6389492B1 (en) Apparatus for flexibly allocating request/grant pins between multiple bus controllers
US6385680B1 (en) Method for flexibly allocating request/grant pins between multiple bus controllers
US5862408A (en) Microprocessor system having multiplexor disposed in first and second read paths between memory CPU and DMA for selecting data from either read path
EP0676702B1 (en) Shared bus non-sequential data ordering
JPH0774986B2 (ja) データバス接続システム
US6523080B1 (en) Shared bus non-sequential data ordering method and apparatus
US6009254A (en) Processing apparatus having reduced bus lengths between operating units and register file
JPH06301641A (ja) 電子計算機

Legal Events

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

Payment date: 20091123

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee