KR100349787B1 - 싱글칩마이크로컴퓨터 - Google Patents

싱글칩마이크로컴퓨터 Download PDF

Info

Publication number
KR100349787B1
KR100349787B1 KR1019940023490A KR19940023490A KR100349787B1 KR 100349787 B1 KR100349787 B1 KR 100349787B1 KR 1019940023490 A KR1019940023490 A KR 1019940023490A KR 19940023490 A KR19940023490 A KR 19940023490A KR 100349787 B1 KR100349787 B1 KR 100349787B1
Authority
KR
South Korea
Prior art keywords
data
memory
bus
signal
address
Prior art date
Application number
KR1019940023490A
Other languages
English (en)
Other versions
KR950009422A (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 KR950009422A publication Critical patent/KR950009422A/ko
Application granted granted Critical
Publication of KR100349787B1 publication Critical patent/KR100349787B1/ko

Links

Classifications

    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • 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
    • 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/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

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)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

싱글칩 마이크로컴퓨터에 관한 것으로써, 고성능화, 고기능화, 고속화, 저소비전력화 및 사용상의 편리함을 향상시키기 위해, 중앙처리장치 및 캐시메모리가 접속된 제 1 버스, 직접메모리 액세스제회로와 외부버스 인터페이스가 접속된 제2버스, 제1버스와 제2버스를 선택적으로 접속시키는 브레이크 컨트롤러, 주변모듈이 접속되며, 또한 제1 및 제2버스의 버스사이클에 대해서 저속인 버스사이클로 된 제3버스 및제2버스와 제3버스사이에서의 데이타전송의 동기화를 실행하는 버스상태 컨트롤로를 포함하고, 싱글칩 마이크로컴퓨터의 내부의 버스를 3개로 분리하는 것에 의해 신호전달경로의 부하용량이 감소하므로, 신호전달을 고속으로 실행할 수 있음과 동시에 동작속도가 요구되지 않는 주변모듈을 분리하고 있으므로 전류소비를 저감할 수 있다.

Description

싱글칩 마이크로 컴퓨터
본 발명은 싱글칩 마이크로컴퓨터에 관한 것으로, 특히 고성능, 고기능이고 가정용 게임기나 휴대형 정보통신 단말기기등에 적합한 싱글칩 마이크로컴퓨터에 이용해서 유효한 기술에 관한 것이다.
중앙처리장치 (central processing unit) 와 직접메모리 액세스 제어장치 (dynamic memory access controller: 이하, DMAC 라고도 한다) 나 각종 타이머등과 같은 주변회로를 1개의 반도체 집적회로 장치에 구성한 싱글칩 마이크로컴퓨터 또는 싱글칩 데이타 프로세서(Single-chip microcomputer or single-chip data processor) 가 있다.
이와 같은 싱글칩 마이크로컴퓨터의 예로서는 예를 들면 (주) 히다찌제작소, 평성5년 3월 발행 「히다찌 싱글칩RISC마이컴 SH7032, SH7034 하드웨어 매뉴얼」이 있다.
반도체기술의 진전에 따라 다수의 반도체소자를 l개의 반도체기판상에 형성할 수 있다. 이것에 의해, 상기 중앙처리장치를 중심으로 해서 그의 주변회로를 1개의 반도체기판상에 형성하여 고성능 및 다기능화를 도모할 수 있다. 그러나, 고성능 및 다기능화를 위해 단순히 많은 주변회로를 내장시키면, 동작속도나 소비전력등의 관점에서 오히려 불합리가 발생한다는 것이 판명되었다. 또, 앞으로의 마이크로컴퓨터에는 3차원 화상처리기능 (3-dimensional imageprocessing function)의강화를 하지 않으면 안된다.
본 발명의 하나의 목적은 고성능과 고기능화를 실현한 싱글칩 마이크로컴퓨터를 제공하는 것이다.
본 발명의 다른 목적은 고속화와 저소비전력화를 실현한 싱글칩 마이크로컴퓨터를 제공하는 것이다.
본 발명의 또 다른 목적은 사용상 편리한 싱글칩 마이크로컴퓨터를 제공하는 것이다.
본 발명의 또 다른 목적은 간단한 구성으로 싱크로너스 다이나믹형 RAM(synchronous dynamic type random access memory)의 동작마진을 확대시켜서 액세스할 수 있는 싱글칩 마이크로컴퓨터를 제공하는 것이다.
본 발명의 또 다른 목적은 3차원 화상처리를 고속으로 실행할 수 있는 싱글칩 마이크로컴퓨터를 제공하는 것이다.
본 발명의 상기 및 그 밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부도면에서 명확하게 될 것이다.
본원에 있어서 개시되는 발명중 대표적인 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 내부의 버스를 3개로 분할하고, 제1의 버스에는 중앙처리장치 및 캐시메모리를 접속하고, 제2의 버스에는 직접메모리 액세스 제어회로, 외부버스 인터페이스 (external bus interface)를 접속하고, 상기 제l의 버스와 제2의 버스에는 상기 제1의 어드레스버스와 제2의 어드레스버스를 선택적으로 접속시키는 버스 트랜시버 기능(bus transceiver function)을 갖는 브레이크 컨트롤러를 마련하고,상기 제1 및 제2의 버스사이클에 대해서 저속의 버스 사이클로 된 제3의 버스에는 주변 모듈을 접속하고, 상기 제2의 버스와 제3의 버스 사이에서의 데이타전송과 동기화를 실행하는 버스상태 컨트롤러를 마련한다.
상기한 수단에 의하면, 내부의 버스를 3개로 분할하는 것에 의해 신호전달경로의 부하용량이 감소하므로 신호전달을 고속으로 실행할수 있음과 동시에, 동작속도가 요구되지 않는 주번 모듈을 분리하고 있기 때문에 그곳에서의 전류소비를 저감할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 내부의 버스를 3개로 분할하고, 제1의 버스에는 중앙처리장치, 상기 제1의 버스에는 고정소수점(fixed point)방식의 곱/합연산기(multiply and accumulate arithmetic unit)을 접속하고, 제2의 버스에는 고정소수점 방식의 계산기를 접속한다.
상기한 수단에 의하면, 상기 제 1의 버스에 고정소수점 방식의 곱/합연산기를 접속하는 것에 의해서, 적은 사이클수로 곱/합연산처리를 고속으로 실행할 수 있음과 동시에, 제 2의 버스에는 고정소수점방식의 계산기를 접속하는 것으로서, 여기에서 연산결과를 제산처리하는 것과 동시에 병행해서 다른 곱/합연산처리를 실행할 수 있으므로 3차원 화상처리도 고속으로 실행할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 상기 제 3의 버스에 접속되는 주변모듈로서, 프리 런닝 타이머 (free running timer), 직렬 통신 인터폐이스(serial communicationinterface) 또는 워치독 타이머(watchdog timer) 중 어느것인가 적어도 하나를 마련한다.
상기한 수단에 의하면, 상기 제3의 버스에 접속되는 주변 모듈로서, 프리 런닝 타이머, 직렬 통신 인터페이스 또는 워치독 타이머와 같은 데이타처리의 고속화에는 직접 관여하지 않는 것으로 하는 것에 의해, 주변 모듈을 저속 버스 사이클로 할 수 있고, 중앙처리장치의 고속화에 추종시키는 일 없이 기존의 주변 모듈을 그대로 사용할 수 있으므로, 설계의 효율화와 주변 모듈에 있어서의 저소비전력화를 도모할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 상기 브레이크 컨트롤러는 직접메모리 액세스 제어장치에 의한 캐시메모리의 데이타의 리라이트를 감시하는 기능을 갖게한다.
상기한 수단에 의하면, 내부버스의 분리에 의한 고속화나 저소비전력화를 도모하면서, 직접메모리 액세스 제어장치에 의한 캐시메모리의 테이타의 리라이트등에 의한 캐시데이타의 파괴를 검출할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 상기의 각 회로블럭을 풀스테이틱형 CMOS 회로에 의해 구성하고, 각 회로블럭마다 클럭펄스의 공급/정지를 제어하는 레지스터를 포함하는 동작모드 컨트롤러를 마련한다.
상기한 수단에 의하면, 필요한 회로블럭에 대해서만 클럭을 공급할 수 있으므로 저소비전력화를 도모할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 상기 외부버스 인터페이스는 싱크로너스 다이나믹형 RAM의 버스트 리드 모드 (burst read mode) 및 싱글 라이트 모드(Single write mode)와 다이나믹형 RAM 및 의사 스테이틱 (pseudo-static) 형 RAM을 직접 액세스할 수 있는 인터페이스 기능을 갖게 한다.
상기한 수단에 의하면, 외부버스 인터페이스에 의해 직접 싱크로너스 다이나믹형 RAM, 다이나믹형 RAM 및 의사 스테이틱형 RAM 등을 직접 접속할 수 있으므로, 사용하기 편리하게 할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 외부버스 인터페이스로서는 중앙처리장치의 클럭펄스에 대해서 위상이 진행된 클럭펄스를 형성해서 싱크로너스 다이나믹형 RAM의 클럭단자에 공급시킨다.
상기한 수단에 의하면, 중앙처리장치의 클럭펄스에 대해서 위상이 진행된 클럭펄스에 의해 싱크로너스 다이나믹형 RAM을 액세스할 수 있으므로, 그의 동작마진의 확대를 도모할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 싱크로너스 다이나믹형 RAM의 버스트 리드 모드에 의해 리드되는 데이타와 상기 캐시메모리의 l블럭의 테이타 및 직접 메모리 액세스 제어장치에 의한 테이타 전송의 단위에 정합성을 갖게한다.
상기한 수단에 의하면, 싱크로너스 다이나믹형 RAM의 버스트 리드모드에 의해 리드되는 데이타와 상기 캐시메모리의 l블럭의 데이타 및 직접메모리 액세스 제어장치에 의한 데이타 전송의 단위를 동일한 데이타량으로 하는 것에 의해 효율좋은 데이타 전송이 가능하게 된다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 외부버스 인터페이스에 있어서, 중앙처리장치가 특정의 어드레스공간을 액세스하는 것에 의해 기동이 걸려 로우어드레스 스트로브신호 (RAS), 컬럼 어드레스 스트로브신호 (CAS) 및 라이트 인에이블신호 (WE) 를 모두 로우레벨로 하고, 어드레스신호의 일부를 사용해서 싱크로너스 다이나믹형 RAM의 동작모드 설정에 필요한 제어신호를 발생시키는 메모리 제어신호 발생회로를 마련한다.
상기한 수단에 의하면, 중앙처리장치에 의한 싱크로너스 다이나믹형 RAM의 모드설정을 간단히 실행할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 상기 캐시메모리로서는 여러개로 이루어지는 태그메모리 (tag memory) 및 각각에 대응한 데이타메모리에 의해 구성하고, 상기 태그메모리 및 데이타 메모리에는 CMOS 스테이틱형 메모리셀을 사용하고, 그 리드신호를 증폭하는 센스앰프로서 CMOS래치회로 및 이러한 CMOS래치회로에 동작전류를 공급하는 P채널형 MOSFET와 N 채널형 MOSFET로 이루어지는 파워스위치MOSFET를 포함하는 CMOS센스앰프를 사용한다.
상기한 수단에 의하면, CMOS래치회로를 이용해서 센스앰프를 구성하는 것에의해, 신호증폭을 실행한 후에는 직류전류가 흐르지 않게 할 수 있으므로, 저소비전력화를 도모할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 상기 여러개로 이루어지는데이타 메모리는 태그메모리로 부터의 히트신호에 대응한 것만을 활성화 시키도록 한다.
상기한 수단에 의하면, 태그메모리로 부터의 히트신호에 대응한 데이타 메모리만을 활성화시키는 것이므로, 저소비전력화를 도모할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 상기 여러개로 이루어지는 데이타 메모리는 캐시 컨트롤러에 의해서 전부 또는 일부에 대해 태그메모리로 부터의 히트신호의 전달을 무효로 해서 중앙처리장치에 의한 직접 액세스를 가능하게 한다.
상기한 수단에 의하면, 캐시메모리의 여러개로 이루어지는 데이타 메모리의 전부 또는 일부를 내장RAM 으로서 사용할 수 있으므로, 사용자의 다양한 요구에 따른 사용법에 적합하다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 중앙처리장치와 캐시메모리를 포함하는 싱글칩 마이크로컴퓨터에 있어서, 캐시메모리로서 CMOS스테이틱형 메모리셀을 기억소자로서 사용하고, 그 리드신호를 증폭하는 센스앰프로서 CMOS래치회로 및 이러한 CMOS래치회로에 동작전류를 공급하는 P 채널형 MOSFET와 N 채널형 MOSFET 로 이루어지는 파워스위치 MOSFET를 포함하는 CMOS센스앰프를 사용한다.
상기한 수단에 의하면, 중앙처리장치와 캐시메모리를 포함하는 싱글칩 마이크로컴퓨터에 있어서, 캐시메모리의 센스앰프의 증폭부에 CMOS래치회로를 사용하는 것에 의해, 센스앰프에서의 신호증폭을 실행한 후에는 직류전류가 흐르지 않으므로, 저소비전력화를 도모할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 상기 여러개로 이루어지는 데이타 메모리는 태그메모리로 부터의 히트신호에 대응한 것만을 활성화시킨다.
상기한 수단에 의하면, 캐시메모리 내장의 싱글칩 마이크로컴퓨터에 있어서, 히트신호에 대응한 데이타 메모리만을 활성화시키는 것에 의해, 저소비전력화를 도모할 수 있다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 버스사용권 제어신호(bus use priority control signal)에 따라서 슬레이브모드로 설정되었을 때는 제1의 외부단자를 버스 요구신호로, 제2의 외부단자를 버스 아크놀리지신호 (bus acknowledge signal) 로 각각 사용하고, 마스터모드로 될때는 상기 제1의 외부단자를 버스 그랜트신호 (bus grant signal)로, 상기 제2의 외부단자를 버스 릴리스 신호(bus release signal) 로 각각 전환해서 사용한다. 상기한 수단에 의하면, l개의 싱글칩 마이크로컴퓨터를 버스사용권 제어신호에 따라서 슬레이브모드 또는 마스터모드로서 사용할 수 있고, 또 동일한 단자를 전환해서 사용하는 것이므로 외부단자수가 저감함과 동시에 접속이 간단하게 되어 사용상 편리하게 된다.
본원에 있어서 개시되는 발명중 대표적인 또 다른 하나의 개요를 간단히 설명하면 다음과 같다. 즉, 3차원 화상처리중의 원근처리된 좌표점의 데이타의 클립핑처리 (clipping processsing) 및 곱/합연산기와 협동해서 특정의 물체 고유의 좌표점을 지정된 시점을 원점으로 하는 좌표로 변환하는 좌표변환처리를 중앙처리장치에 의해 실행하고, 그것과 동시에 병행해서 제산기에 의해 좌표변환처리가 종료한 좌표점에 대한 원근처리를 실행하도록 한다.
상기한 수단에 의하면, 중앙처리장치 및 곱/합연산기에 의해 3차원 화상처리중의 클립핑처리와 좌표변환처리를 실행하고 있는 동안,그것과 동시에 병행해서 비교적 긴 시간을 소비하는 원근처리를 제산기에 의해 실행하므로, 고속의 3차원 화상처리를 실현할 수 있다.
제 l도에는 본 발명에 관한 싱글칩 마이크로컴퓨터MCU 의 1실시예의 블럭도가 도시되어 있다. 동일도면의 각 회로블럭은 공지의 CMOS (상보형 MOS)반도체 집적회로의 제조기술에 의해서 단결정 실리콘과 같은 ]개의 기판상에 있어서 형성된다.
이 실시예에 있어서의 싱글칩 마이크로컴퓨터MCU 는 특히 제한되지 않지만, RISC(Reduced instruction set computer)형 의 중앙처리장치CPU 에 의해 고성능의 연산처리를 실현하여 시스템구성에 필요한 주변기기를 집적함과 동시에, 휴대기기 응용에 불가결한 저소비전력화를 실현한 소위 신세대를 겨냥한 싱글칩 마이크로컴퓨터이다.
중앙처리장치CPU는 RISC형의 명령세트를 갖고 있고, 기본명령은 파이프라인처리를 실행해서 l명령 1상태 ( 1시스템 클럭 사이클) 로 동작하므로, 명령 실행속도를 비약적으로 향상시킬 수 있다. 그리고, 승산기MULT를 내장하고 있어 후술하는 바와 같은 3차원 연산처리에는 불가결한 곱/합연산처리를 고속으로 실행하도록 하고 있다.
최소 부품점수에 의해 사용자 시스템을 구성할 수 있도록, 내장 주변 모듈로서 인터럽트 컨트롤러INTC, 직접메모리 액세스 제어장치DMAC, 제산기DIVU, 타이머FRT, 워치독 타이머WDT , 직렬 통신 인터페이스SCl를 내장하고 있다. 또, 캐시메모리 내장의 외부 메모리 액세스 서포트기능에 의해, 글루논리회로(glue logic circuit)없이 다이나믹형 RAM (Random Access Memory) , 싱크로너스 다이나믹형 RAM, 의사 스테이틱형 RAM과 직접 접속할 수 있도록 하고 있다.
상기와 같은 고속의 중앙처리장치CPU를 중심으로 해서 그 성능을 충분히 발휘하고, 또 저소비전력화를 도모하면서 고성능, 고기능 또는 다기능을 위해 마련된 주변 모듈을 효율좋게 동작시키도록하기 위해, 내부 버스는 3개로 분할되어 있다.
제1내부버스는 어드레스버스AB1 과 데이타버스DB1 로 구성되고, 중앙처리장치CPU, 승산기(multiplier unit)(또는 곱/합연산기)MULT 및 캐시메모리가 접속된다. 상기 승산기MULT는 상기 제l의 내부버스중 데이타버스DB1 에만 접속되고, 중앙처리장치CPU 와 일체적으로 동작해서 승산과 가산을 실행하도록 된다. 그 때문에, 제 1 내부버스 (AB1, DB1)은 주로 중앙처리장치CPU와 캐시메모리 사이에서의 데이타 전송에 이용되므로, 캐시 어드레스버스와 캐시 데이타버스라고 할 수 있다. 캐시메모리는 태그메모리TAG와 데이타메모리CDM 및 캐시 컨트롤러CAC로 구성된다.
중앙처리장치CPU의 개략적인 구성은 다음과 같다. 데이타버스 DB1 은 32비트구성으로 된다. 범용 레지스터 파일은 각각 32비트로 이루어지는 16개의 범용 레지스터, 각각 32비트로 이루어지는 3개의 제어레지스터, 각각 32비트로 이루어진 4개의 시스템레지스터로 구성된다. RISC형의 명령세트는 16비트 고정길이 명령에 의해 명령코드의 효율화를 도모하고 있다. 무조건/조건 분기명령을 지연분기방식으로 하는 것에 의해, 분기시의 파이프라인의 혼란을 경감하고 있다. 명령실행은 1명령/ 1상태로 되고, 중앙 처리장치CPU가 28.7MHz의 동작주파수에서 동작되고 있을 때는 35ns/명령과 같이 명령 실행시간이 고속으로 된다. 중앙처리장치CPU의 성능은 동작주파수와 1명령 실행당의 클럭수(CPI:Cycles Per Instruction)로 정해진다. 이 중 동작주파수는 게임기에 조립했을 때 텔레비젼용의 비디오신호 처리계와 클럭을 공용하기 위해, 상기와 같이 28.7MHz로 설정하는 것이 편리하다. 즉, NTSC방식의 칼라 텔레비젼에서 화상 데이타를 논인터레이스 표시하는 경우, 통상 비디오 신호 회로에는 색부반송파 (칼라 서브캐리어) 주파수 약3.58MHz의 8배의 클럭(28.6MHz)가 사용되고 있다.
이 실시예에서는 캐시메모리 (TAG, CAC, CDM)및 승산기MULT만이 접속되는 제1내부버스 (AB1 과 DB1)에 중앙처리장치CPU 를 접속하므로, 버스의 부하용량을 대폭으로 저감할 수 있고, 상기와 같은 고속동작을 실행하는 중앙처리장치CPU의 버스구동회로의 간소화와 버스구동회로의 저소비 전력화를 도모할 수 있다.
제 2내부버스는 어드레스버스AB2 와 데이타버스DB2로 구성되고, 제산기DIVU, 직접메모리 액세스 제어장치DMAC, 외부버스 인터페이스OBIF가 접속된다. 상기 캐시메모리에 대한 액세스가 미스히트일 때, 중앙처리장치CPU는 외부 메모리를 액세스해서 데이타를 페치할 필요가 있다. 이 때문에, 제1 내부버스상의 어드레스신호를 제2내부버스상으로 전달하는 기능이 필요하게 된다. 또, 상기와 같이 제1과 제2내부버스를 분리하면, 프로그램 미스등에 의해서 직접메모리 액세스 제어장치DMAC가 캐시메모리의 데이타메모리CDM 의 내용을 제멋대로 리라이트해 버리는 경우가 고려된다.
이 실시예에서는 상기와 같은 캐시메모리에서의 미스히트나 캐시메모리의 데이타 파괴라는 문제를 해결하기 위해, 상기 제 1내부버스와 제2내부버스 사이에 결합된 브레이크 컨트롤러UBC가 이용된다.
브레이크 컨트롤러UBC는 본래 프로그램 디버그등에 사용되는 것이지만, 상기 제1내부버스 및 제2내부버스에 접속될 필요가 있는 것을 이용하고, 그것에 트랜시버회로를 마련해서 상기 캐시메모리에서의 미스히트시에 제1내부버스상의 어드레스신호를 제2내부버스상의 어드레스버스AB2로 전달하여 외부메모리의 액세스를 실행하도록 한다.
또, 브레이크 컨트롤러UBC는 제2내부버스상의 어드레스신호를 감시하고, 이것에 의해서 직접 메모리 액세스 제어장치DMAC에 의한 데이타 메모리CDM 내의 데이타의 리라이트를 감시한다.
제3내부버스는 어드레스버스AB3 과 데이타버스DB3 으로 구성되고, 특히 제한되지 않지만, 프리 런닝 타이머FRT, 직렬 통신 인터페이스SCI, 워치독 타이머WDT와 동작모드 컨트롤러MC 등, 즉 주변기능 모듈회로가 접속된다. 따라서, 상기 제3내부버스 (AB3, DB3)은 주변어드레스버스AB3 과 주변데이타버스DB3 으로 간주할 수 있다.
상기 제 3내부버스는 상기 제1 및 제2내부버스에 비해서 버스 사이클이 지연된다. 즉, 이들 각 주변모듈 (프리 런닝 타이머 FRT, 직렬 통신 인터페이스SCI, 워치독 타이머WDT)는 그 동작속도를 빠르게 해도 실질적인 성능이나 기능이 향상하는 것이 아닌것에 착안하여, 약 10MHz 정도에서 동작하는 기존의 싱글칩 마이크로컴퓨터에 탑재되어 있는 각 주변모듈의 회로구성이 실질적으로 그대로 이용되어도 좋다. 이와 같이 하는 것에 의해, 싱글칩 마이크로컴퓨터의 설계효율의 향상을 도모할 수 있다. 또, 각 주변모듈의 동작주파수가 낮아지는 것에 의해서 각 주변모듈의 소비전력은 저소비전력화할 수 있다.
그러나, 이와 같이 하면 중앙처리장치CPU 의 동작주파수와 각 주변 모듈의 동작주파수가 다르므로, 중앙처리장치CPU 등과의 데이타의 수수를 그대로 실행할 수 없게 된다. 그래서, 버스 상태 컨트롤러BSC 가 마련된다. 이 버스 상태 컨트롤러BSC는 제 3내부버스에서 제2내부버스로 신호(데이타신호)를 전송할 때 그대로 신호의 전달을 실행한다. 이것은 펄스발생회로CPG 가 제1이나 제2내부버스의 버스 사이클을 결정하는 시스템 클럭을 분주해서 제 3내부버스의 버스 사이클에 사용하는 클럭펄스 (제3 클럭펄스) 를 형성하고 있으므로, 상기 제3내부버스의 신호를 그대로 제 2내부버스로 전달할 수 있다. 이것에 대해서, 버스상태 컨트롤러BSC 는 제 2내부버스상의 신호를 제3내부버스로 전달할 때, 필요에 따라서 제 2내부버스 상의 신호를 지연시켜서 제3의 클럭펄스와 동기화시켜 전달한다.
인터럽트 컨트롤러INTC의 개략은 다음과 같다. 외부 인터럽트에 관해서는 후술하는 바와 같은 NMI,/IRLO ∼/IRL3 으로 이루어지는 5개의 외부 인터럽트단자 (외부단자) 를 갖고 있다. /IRLO ∼/IRL3단자에 의해 15의 외부 인터럽트 레벨의 설정이 가능하게 된다. 이 명세서 및 일부의 도면에 있어서, 알파벳 기호에 붙인 / (슬래시) 는 로우레벨이 액티브 레벨인 바신호를 나타내고 있다. 또한, 도면에서 종래의 기술방법에 의해 바신호는 알파벳에 의한 신호명 또는 단자명상에 선이 그어져 있다. 내부 인터럽트 요인은 직접메모리 액세스 제어장치에 의해 2개, 제산기DIVU에 의해 l개, 프리 런닝 타이머FRT에 의해 3개,워치독 타이머WDT에 의해 1개, 직렬 통신 인터페이스SCI에 의해 4개로 이루어지는 11요인으로 된다. 내부 인터럽트 요인마다 벡터번호의 설정이 가능하게 된다.
이상과 같은 버스의 분할방식을 채용하는 것에 의해, 각각의 버스의 길이가 짧아지거나 또는 그것에 접속되는 소자를 줄일 수 있으므로, 각 버스의 부하용량이 대폭으로 저감되고, 중앙처리장치CPU 의 고속화와 함께 저소비전력이고 고속인 데이타처리가 가능해진다.
또, 상기 제1내부버스와 제2내부버스 사이에 사용자 브레이크 컨트롤러를 마련한 경우, 상기라 같은 버스의 분리에 의해서 캐시데이타메모리CDM내에 캐시되어 있는 데이타가 직접메모리 액세스 제어장치 DMAC에 의해서 잘못 리라이트되었는지 아닌지를 검출하는 기능이 마련되어 있으므로, 캐시데이타메모리CDM 내에 캐시되어 있는 데이타의 신뢰성을 손상시키는 일이 없다.
또, 중앙처리장치CPU 나 캐시메모리 및 직접메모리 액세스 제어장치 DMAC와같이, 그 버스사이클이 직접 싱글칩 마이크로컴퓨터의 성능이나 기능에 영향을 미치는 기능모듈은 상기와 같은 고속인 버스사이클의 버스에 접속된다. 한편, 프리 런닝 타이머FRT, 직렬 통신 인터페이스SCI 또는 워치독 타이머WDT 와 같이, 그 버스사이클이 데이타처리에 직접 영향을 미치지 않는 기능모듈은 저속의 버스사이클의 제3내부버스에 접속한다. 이것에 의해, 중앙처리장치CPU 의 고속화에 추종해서 고속형의 주변모듈을 개발설계할 필요가 없이 기존의 주변모듈을 그대로 유용해서 사용할 수 있으므로, 싱글칩 마이크로컴퓨터의 회로설계의 효율화를 도모할 수 있다. 또, 프리 런닝 타이머FRT , 직럴 통신 인터페이스SCI 또는 워치독 타이머VDT 등의 기능모듈에 공급되는 동작클럭을 낮게할 수 있으므로, 싱글칩 마이크로 컴퓨터의 저소비전력화를 도모할 수 있다.
제 2 도 및 제 3 도에는 본 발명에 관한 싱글칩 마이크로컴퓨터의 핀 (외부단자) 배치도가 도시되어 있다. 제 2도에는 좌측 절반이 도시되고, 제 3도에는 우측절반이 도시되어 있다. 그리고, 양자의 관련을 명확하게 하기 위해, 중앙부분은 제2도와 제3도에 있어서 중복하도록 도시되어 있다. 이 실시예에서는 144핀으로 이루어지는 플라스틱QFP 패키지를 사용하고 있다.
대표적인 외부단자 기능은 다음과 같다. 제2도와 제3도에 있어서, 1개의 단자에 여러개의 의미를 부여하고 동작모드에 따라서 전환해서 사용하는 것을 /에 의해 나누고 있지만, 이 명세서에서는 상기와 같이 바신호의 의미로 사용하고 있으므로, 제2도와 제3도의 /는 *로 대체해서 설명한다.
전원용으로서, 외부단자Vcc는 회로의 전원전위가 공급되는 단자,외부단자Vss 는 회로의 그라운드 (이하, 접지전위라 한다) 가 공급되는 단자를 각각 나타내고 있다. 동작모드 제어용으로서, 외부단자 MD0 ∼MD2 는 클럭 선택신호가 공급되는 단자, 외부단자MD3 과 MD4 는 CS0 공간의 버스 사이즈를 지정하기 위한 신호가 공급되는 단자, 외부단자MD5는 후술하는 슬레이브/마스터모드의 지정을 실행하기 위한 신호가 공급되는 단자를 각각 나타내고 있다. 어드레스버스용으로서 외부단자A0∼A26 은 외부어드레스단자, 데이타버스용으로서 외부단자D0∼D31 은 외부입출력 데이타단자를 각각 나타내고 있다.
버스제어용으로서 외부단자 /CS0 ∼/CS3은 칩 선택 출력신호가 공급되는 단자이다. 외부단자 /BS는 버스상태신호가 공급되는 단자이다. 외부단자RD* /WR은 리드/라이트신호가 공급되는 단자이다. 외부단자 /RAS */CE 는 다이나믹형 RAM과 싱크로너스 다이나믹형RAM의 사용시에는 로우어드레스 스트로브신호가 공급되고, 의사 스테이틱형RAM의 사용시에는 칩 인에이블 신호가 공급되는 단자이다.
외부단자 /CAS */OE는 싱크로너스 다이나믹형RAM의 사용시에는 컬럼어드레스 스트로브신호가 공급되고, 의사 스테이틱형RAM의 사용시에는 출력 인에이블 신호 및 리프레시 제어신호가 공급되는 단자이다.
외부단자/WE0은 기본 인터패이스일 때 최하위 바이트 라이트를 나타내는 신호가 공급되는 단자를, /WEl 은 기본 인터페이스일 때 3바이트째 라이트를 나타내는 신호가 공급되는 단자를, /WE2는 기본 인터페이스일 때 2바이트째 라이트를 나타내는 신호가 공급되는 단자를, /WE3은 기본 인터페이스 일 때 최상위 바이트 라이트를 나타내는 신호가 공급되는 단자를 나타낸다. 이 이외에, 외부단자/WEO∼/WE3은 다이나믹형RAM 의 사용시에는 각 바이트의 선택을 위한 컬럼어드레스 스트로브신호CAS가 공급되는 단자, 또는 싱크로너스 다이나믹형RAM의 사용시에는 각 바이트의 마스크를 위한 마스크신호가 공급되는 단자로서도 사용된다. 외부단자/RD 는 리드펄스신호가 공급되는 단자이고, 이 싱글칩 마이크로컴퓨터의 외부에 접속되는 외부디바이스의 OE단자 (출력 인에이블 단자) 에 접속된다. 외부단자/WAIT는 하드웨어 웨이트입력을 위한 외부단자이다. 외부단자/BEN은 외부데이타버퍼 인에이블신호가 공급되는 단자이고, 데이타버퍼의 방향제어에는 리드/라이트신호 (RD * /WR)가 사용된다.
외부단자/BACK*/BRLS 는 단자MD5 에 공급된 신호에 의해 이 싱글칩마이크로컴퓨터가 슬레이브모드로 되었을 때에는 버스 사용허가 입력 신호 (버스 아크놀리지신호) 가 공급되는 단자로서, 또한 단자MD5 에 공급된 신호에 의해 이 싱글칩 마이크로컴퓨터가 마스터모드로 되었을 때에는 버스 개방요구 입력신호 (버스 릴리스신호 ) 가 공급되는 단자로서 선택적으로 사용되는 단자이다. 외부단자/BREQ*/BGR은 단자MD5 에 공급된 신호에 의해 이 싱글칩 마이크로컴퓨터가 슬레이브모드로 되었을 때에는 비스 사용권요구 출력신호 (버스 요구신호)가 공급되는 단자로서, 또한 단자MD5에 공급된 신호에 의해 이 싱글칩 마이크로컴퓨터가 마스터모드로 되었을 때에는 버스 사용허가출력신호(버스 그랜트신호 )가 공급되는 단자로서 선택적으로 사용된다. 외부단자CKE 는 싱크로너스 다이나믹형RAM의 클럭 인에이블신호가 공급되는 단자이다.
인터럽트용으로서 외부단자/RESET는 리세트신호가 공급되는 단자이다. 외부단자/IRL0 ∼/IRL3 은 인터럽트레벨 입력신호가 공급되는 단자이다. 외부단자NMI 는 논마스커블 인터럽트 입력신호가 공급되는 단자이고, 외부단자IVECF는 인터럽트 벡터 패치 출력신호를 위한 단자이다.
클럭용으로서 외부단자EXTAL 은 이 싱글칩 마이크로컴퓨터의 외부에 결합되는 수정발진자 (크리스탈) 의 한쪽의 출력단자로 부터의 발진출력을 받는 입력단자이다. XTAL은 상기 수정발진자의 다른쪽의 출력단자로 부터의 발진출력을 받는 입력단자 또는 이 싱글칩 마이크로컴퓨터의 외부에서 공급되는 시스템 클럭 (주파수 2배용 클럭)을 받는 입력단자이다. 외부단자CKPACK는 클럭 포즈 아크놀리지 출력신호를 공급하기 위한 단자이다. 외부단자CKPREQ는 클럭 포즈 요구 입력신호를 받기 위한 단자이다. 외부단자CKIO는 클럭 입출력단자이다. 외부단자CAP1과 CAP2는 위상동기회로(PLL)에 사용되는 용량소자가 접속되는 단자이다. 외부단자Vss(PLL)과 Vcc (PLL) 은 PLL 의 전원단자이다.
DMAC용으로서 외부단자/DREQ0,/DREQl 은 외부 디바이스로 부터의 직접 메모리 액세스 (DMA) 전송요구신호가 공급되는 입력단자이고, 채널 l과 채널 2에 대응하고 있다. 외부단자/DACK0, /DACK1 은 DMA 전송요구신호에 대해서 DMA 전송을 허가할 때, DMA 전송요구신호를 출력한 외부 디바이스에 대해서 DMA전송접수(DMA전송허가)신호를 출력하기 위한 출력단자로서, 채널 l과 채널 2에 대응하고 있다.
SCI용으로서 외부단자TXD0는 송신되는 직렬 데이타를 외부 디바이스로 출력하기 위한 출력단자이고, 외부단자RXD0은 외부 디바이스에서 공급되는 수신 직렬 데이타가 입력되는 입력단자이고,외부단자SCK0은 직렬 데이타와 동기하는 직렬 클럭의 입출력단자이다.
FRT용으로서 외부단자FTOA는 타이머의 출력비교 출력신호 (A 출력)을 출력하기 위한 단자이고, 외부단자FTOB는 출력비교 출력신호 (B 출력) 을 출력하기 위한 단자이다. 외부단자FTCI는 카운터 클럭의 입릭신호를 받는 입력단자이고, 외부단자FTI 는 입력캡쳐신호의 입력단자이다.
그리고, WDT 용으로서 외부단자/WDTOVF 는 워치독 타이머의 오버플로를 나타내는 신호를 출력하기 위한 단자이다.
제4도에는 동작모드 컨트롤러MC의 1실시예의 블럭도가 도시되어 있다. 동작모드 컨트롤러MC에는 스탠바이 제어 레지스터 (STBYR) 과 버스폭 설정 레지스터 ( BSSR ) 및 주파수 변경 레지스터 (frequency setting register FSR) 이 마련된다. 버스폭설정 레지스터BSSR의 출력은 조합논리회로LOGIC3에 의해 해독되고, 조합논리회로 LOGIC3은 8비트, 16비트 또는 32비트의 버스폭 설정신호BSS 를 형성하고, 버스상태 컨트롤러BSC 에 대해서 버스폭 설정신호 BSS 를 공급한다.
주파수 변경 레지스터FSR 은 그 출력신호가 조합논리회로LOGIC2에 의해 해독되고, 논리회로LOGIC2는 주파수f에 대해서 fx1, fx2 및 fx4 의 3종류의 제어신호FSS 를 형성해서 발진회로OSC 로 공급한다. 모드설정단자MD0 ∼MD2 에서 입력된 모드제어신호는 조합논리회로LOGIC1에 의해 해독되고, 7종류의 모드설정신호MSS로 되어 발진회로DSC로 공급된다.
이와 같은 클럭동작모드는 내장발진모듈 또는 주파수 2배회로의 사용/미사용, 블럭의 출력/비출력의 선택, PLL에 의한 동기화/비동기화의 선택, CPU 의 클럭과 외부로 출력시키거나 또는 외부에서 입력되는 클럭과의 위상의 90° 변경/무변경의 선택이 조합되어 상기 7종류의 모드를 설정할 수 있다. 상기 위상의 90°변경을 하는 동작모드에 대해서는 후술한다.
이 실시예의 싱글칩 마이크로컴퓨터내의 각 회로블럭은 일부를 제외하고 풀 스테이틱형CMOS회로에 의해 구성되어 있다. 그 때문에, 회로동작을 실행할 필요가 없는 회로에 있어서는 클럭의 공급을 정지시켜도 클럭의 공급을 정지 이전의 내부상태를 유지하고 있으므로, 기본적으로는 초기설정이 필요한 데이타를 퇴피시켜 두고 그것을 원상태로 되돌리는등의 처리를 실행하는 일 없이, 클럭의 재입력에 의해 정지전의 상태부터 계속해서 동작시킬 수 있다. 다이나믹형CMOS회로에 의해서 구성되어 있는 캐시메모리는 클럭 공급개시에 의해서 프리차지부터 동작이 개시되도록 클럭의 위상을 맞추고 있으므로, 정지해제후에 즉시 액세스를 실행할 수 있다.
스탠바이 제어 레지스터STBYR은 상기와 같은 동작을 실행할 필요가 없는 회로블럭을 지정하는 것에 의해, 예시적으로 도시되어 있는 DMAC, DIVU, MULT 및 l개의 블럭SYSC로서 나타내고 있는 상기 FRT, WDT 및 SCI 와 같은 주변모듈에 대한 클럭의 입력을 정지시키는 제어신호STBY, FRTSTP, SCISTP 및 MULTSTP, DIVUSTP, DMACSTP 등과 같은 제어신호에 의해서 대응하는 회로블럭의 클럭입력을 정지시킨다.
[표1]
표 1에는 상기 스탠바이 제어 레지스터STBYR 에 의한 동작모드의 일람표가 도시되어 있다. 표l에 있어서 HiZ 는 하이 임피던스 상태를 의미하고 있다. 모듈스톱모드가 지정되면, 상기 제어신호 STBY,FRTSTP, SCISTP 및 MULTSTP, DIVUSTP, DMACSTP 등에 의한 회로블럭의 클럭입력이 정지된다.
중앙처리장치CPU 가 동작을 정지하고 있는 슬립모드의 해제방법은 인터럽트, DMA 어드레스 에러, 파워온 리세트, 메뉴얼 리세트에 의해 실행된다. 클럭발생회로CPG 의 동작정지에 의해 필연적으로 중앙처리장치CPU 및 주변모듈도 동작이 정지하고 있는 스탠바이 모드의 해제방법은 NMI 인터럽트, 파워온 리세트, 메뉴얼 리세트에 의해 실행된다. 이것에 대해서 모듈스톱모드는 상기 스탠바이 제어 레지스터STBYR 의 소정비트를 "0" 으로 리세트하는 것에 의해 실행된다. 상기, 각 모드를 마련하는 것에 의해, 싱글칩 마이크로컴퓨터의 내부에서 클럭발생회로CPG 의 동작 그 자체도 포함해서 클럭의 공급이 필요한 회로에만 클럭펄스가 공급되므로, 클릭펄스가 전달되는 배선경로에서의 부하용량을 차지업/디스차지시키는 것에 의해 발생하는 불필요한 전류소비를 삭감할 수 있다. 이것에 의해, 전지 구동되는 휴대기기에 탑재되는 싱글칩 마이크로컴퓨터에 있어서 특히 필요로 되는 저소비전력화를 도모할 수 있다.
제5도에는 상기 브레이크 컨트롤러UBC 의 기본적인 1실시예의 블럭도가 도시되어 있다. 브레이크 컨트롤러UBC는 중앙처리장치CPU 또는 직접메모리 액세스 제어장치DMAC가 발생하는 버스 사이클의 내용에 따라서 중앙처리장치CPU에 사용자 브레이크 인터럽트를 요구한다. 이 기능을 활용하는 것에 의해 셀프 디버거를 구축할 수 있어 사용자의 프로그램 디버그를 용이하게 한다. 이 브레이크 컨트롤러UBC에는 채널A 와 채널B 의 2채널이 있고, 채널B 는 데이타를 지정해서 브레이크시킬 수 있다.
BARAH 와 BARAL 및 BARBH 와 BARBL 은 A 채널 및 B 채널용의 브레이크 어드레스 레지스터이다. BAMRAH와 BAMRAL 및 BAMRBH와 BAMRBL은 A채널 및 B채널용의 브레이크 어드레스 마스크 레지스터이다. 이것에 의해, A채널 및 B채널에 있어서 브레이크를 거는 어드레스의 지정과 각 비트마다의 마스크가 가능하게 된다.
BDRBH 와 BDRBL 은 B 채널용의 브레이크 데이타 레지스터이다.
BDMRBH와 BDMRBL은 B채널용의 브레이크 데이타 마스크 레지스터이다. 이것에 의해, B채널에 있어 브레이크를 거는 데이타의 지정과 각 비트마다의 마스크가 가능하게 된다.
BBRA는 A 채널용의 브레이크 버스사이클 레지스터A 이고, BBRB는 B채널용의 브레이크 버스사이클 레지스터B이다. BRCR은 브레이크컨트롤 레지스터이다. 이것에의해, 상기 어드레스 또는 테이타의 조건 이외에 [1] CPU 사이클이나 주변 사이클의 한쪽 또는 양쪽 및 버스 릴리스시의 칩 외부의 버스 사이클을 주변 사이클에 포함시킬지 포함시키지 않을지, [2] 명령페치나 데이타 액세스의 한쪽 또는 양쪽, [3] 리드나 라이트의 한쪽 또는 양쪽, [4] 오퍼랜드 사이즈 (롱 워드, 워드, 바이트 액세스) 와 같은 조건이 조합되어 브레이크를 걸수 있다.
제 6도에는 상기 브레이크 컨트롤러UBC 의 1실시예의 상세한 블럭도가 도시되어 있다. 이 실시예에서는 브레이크 컨트롤러UBC 에 다음과 같은 기능이 부가된다. 상기 제1도의 실시예와 같이 버스분리에 의해서 중앙처리장치CPU 와 직접메모리 액세스 제어장치DMAC 및 외부 버스 인터페이스OBIF와는 분리되어 있다. 그 때문에, 캐시메모리에 대한 액세스에 있어서 미스히트가 발생한 경우에는 외부 메모리를 액세스해서 데이타를 페치할 필요가 있다.
버스 트랜시버는 제어신호C1에 의해 제1의 어드레스버스AB1의 어드레스신호를 제2의 여드레스버스AB2 로 전달한다. 즉, 캐시메모리에 있어서 미스히트가 발생하면, 제어신호C1에 의해 상기 어드레스 버스AB1 의 어드레스신호를 어드레스버스AB2로 전달하고, 외부버스 인터페이스OBIF를 거쳐서 외부메모리를 액세스할 수 있다. 이 때의 외부메모리에서 리드된 데이타는 캐시 데이타메모리CDM을 거쳐서 중앙처리장치CPU로 전달된다.
통일도면에 있어서 레지스터BARA는 상기 레지스터BARAH와 BARAL의 2개의 레지스터를 합한 것이다. 다른 레지스터BARB, BDRB 와 각각에 대응한 마스크 레지스터BAMRA, BAMRB및 BDMRB도 각각 마찬가지로 제5도의 2개의 레지스터를 합한 것이다.
이 실시예에서는 싱크로너스 다이나믹형 RAM, 다이나믹형 RAM, 의사 스테이틱형 RAM의 액세스를 고속으로 하기 위해 로우어드레스 비교기가 마련된다. 로우어드레스 레지스터에 상기 각 RAM의 로우어드레스를 세트해 두고, 동일 로우 어드레스를 지정했을 때 상기 비교기에서 히트신호Hit 를 발생시켜 버스 상태 컨트롤러BSC 를 거쳐서 상기 각 RAM의 워드선을 선택상태로 한 채로 액세스하는 것에 의해 고속동작을 실행하도록 하는 것이다.
브레이크 컨트롤러UBC는 상기와 같이 제1내부버느(AB1, DB1)및 제2내부버스 (AB2, DB2)에 접속되어 레지스터에 설정된 어드레스와의 비교동작을 실행하고 있다. 그래서, 제2내부버스 (AB2, DB2)에 접속되는 비교기와 어드레스 레지스터를 이용하여 캐시메모리에 저장되어있는 데이타의 어드레스를 세트해 둔다. 이와 같이 해 두면, 직접메모리 액세스 제어장치DMAC가 잘못해서 캐시메모리에 저장되어 있는 어드레스에 대해서 라이트를 실행하는 것에 의한 데이타의 파괴를 감시할 수 있다. 즉, 내부버스를 분할해서 내부회로의 고속화나 저소비전력화를 도모할 뿐이고, 이 실시예와 같은 처리를 실행하지 않는 경우에는 캐시메모리의 데이타가 파괴되어 버려도 중앙처리장치CPU를 검지할 수 없어 시스템으로서 중대한 결함을 갖게되어 버린다.
제 7도에는 상기 버스상태 컨트롤러BSC의 l실시예의 블럭도가 도시되어 있다. 상기 버스상태 컨트롤러BSC는 어드레스 공간을 관리하고, 8개의 공간에서 최적한 액세스가 가능하도록 필요에 따라서 외부버스 인터페이스OBIF를 통해서 제어신호를 출력한다. 이것에 의해, 다이나믹형 RAM, 싱크로너스 다이나믹형 RAM, 의사 스테이틱형 RAM등의 각종 메모리 및 주변데이타 처리장치LSI 와 직접 연결할 수 있다.
에리어제어부는 어드레스 공간을 4개로 분할해서 관리를 실행한다. 즉, 본 발명에 따른 싱글칩 마이크로 컴퓨터의 어드레스 공간은 구조상 4G바이트 (기가바이트) 로 된다. 그러나, 메모리공간으로서는 256M바이트이고, 이것을 2개로 분할해서 한쪽을 캐시매모리를 거쳐서 액세스를 실행하는 공간 (cached space라고도 한다), 다른쪽을 캐시메모리를 거치지 않고 액세스하는 공간 (noncach-ed space라고도 한다) 으로 한다. 그러나, 상기 2개의 공간은 물리적으로는 동일한 128M바이트 (메가바이트) 의 공간에 대한 액세스로 된다. 128M바이트의 물리공간을 4개의 부분공간 (CS0 공간∼CS3 공간) 으로 분할해서 사용하고, 각 공간은 최대의 리니어어드레스 공간이 32M바이트로 된다. 상기 CS0 ∼CS3의 공간마다 다이나믹형 RAM, 싱크로너스 다이나믹형 RAM, 의사 스테이틱형 RAM 및 버스트ROM등의 메모리의 종류의 지정을 설정할 수 있다.
CS0은 통상 공간과 버스트ROM에, CS1은 통상 공간에, CS2는 통상 공간과 싱크로너스 다이나믹형 RAM에, CS3은 통상 공간과 싱크로너스 다이나믹형 RAM, 다이나믹형 RAM, 의사 스테이틱형 RAM에 각각 지정해서 사용할 수 있다.
캐시제어의 공간으로서는 캐시퍼지(cache purge)를 위한 상기 물리공간에 대응한 연상퍼지공간 (128M바이트) , 어드레스 머레이 (태그어드레스) 를 리드 및 라이트하기 위한 어드레스 어레이 리드/라이트공간(128M바이트), 데이타 어레이를 강제적으로 리드 및 라이트하기 위한 캐시 강제 리드/라이트공간이 마련되어 있다.
그밖에, 어드레스 공간마다 버스폭이 8비트, 16비트 및 32비트중에서 바라는 l개를 선택할 수 있게 된다. 각 공간에 대응한 제어신호의 출력이 가능하다. 웨이트제어부에서는 각 공간마다 웨이트상태의 삽입을 제어할 수 있다. 또, 고속의 내부버스(제 2의 버스) AB2, DB2 와 저속의 주변버스 (제3의 버스) AB3, DB3에서는 버스 사이클이 다르므로, 내부버스AB2, DB2의 신호를 주변버스AB3. DB3 으로 전송할 때 및 주변버스AB3, DB3의 신호를 내부버스AB2, DB2로 전송할 때에는 웨이트상태를 삽입해서 동기화를 도모하는 것이다.
메모리제어부에서는 다이나믹형 RAM등에 필요로 되는 기억데이타의 리프레시를 위해 리프레시기능이 마련되고, CAS 비포 RAS 리프레시 (CAS before RAS refresh) 와 셀프 리프레시 (self-refresh)가 준비되어 있다. 리프레시용 카운터의 클럭선택에 의해 리프레시동작의 간격을 설정할 수 있게 된다.
다이나믹형 RAM을 직접 연결할 수 있는 인터페이스를 구비하고 있다. 즉, 로우어드레스/컬럼어드레스의 멀티플렉스 출력, 리드시의 버스트전송, 연속액세스에 대한 고속페이지모드, 연속하지 않는 동일 로우어드레스 액세스에 대한 RAS 다운모드 및 RAS 프리차지 타임확보 용 TP사이클 발생이 가능하게 된다. 또, 싱크로너스 다이나믹형RAM을 직접 연결할 수 있는 인터페이스를 구비하고 있다. 로우어드레스/컬럼어드레스의 멀티플렉스 출력, 버스트리드와 싱글 라이트에 의한 메모리 액세스, 뱅크 액티브모드에 의한 컬럼 연속 액세스가 가능하게 된다.
상기 다이나믹형 RAM이나 싱크로너스 다이나믹형 RAM의 제어를 위해 필요한어드레스 스트로브신호 /RAS,/CAS나 싱크로너스 다이나믹형 RAM 이나 다이나믹형 RAM에 대한 모드설정을 위한 제어신호의 발생은 메모리 제어신호 발생회로MCTG에 의해 실행된다. 즉, 에리어제이부에 있어서 다이나믹형 RAM 또는 싱크로너스 다이나믹형 RAM이 할당된 공간에 대한 액세스인 것을 검지하면, 그것에 따라서 상기 제어신호가 발생된다. 또, 싱크로너스 다이나믹형 RAM에 대한 모드설정은 후술하는 바와 같이 CPU 가 특정 어드레스를 액세스하면, 그것을 에리어제어부에서 검지하고, 메모리 제어신호 발생회로에 기동을 걸어 모드설정의 제어신호를 발생시킨다.
버스사용권 컨트롤러에서는 상기 단자MD5 에 의한 하이레벨/로우레벨의 입력에 의해 마스터/슬레이브모드의 전환이 실행된다. 마스터모드일 때에는 /BRLS 와 /BGR에 의해 외부로 부터의 버스해방요구를받고, 버스사용 허가신호를 출력한다. 슬레이브모드일 때에는 상기 동일 단자를 /BACK와 /BREQ로서 사용한다. 즉, 슬레이브모드일 때에는 버스사용권 요구신호를 출력하고, 버스사용 허가신호를 받아 마스터측의 버스를 액세스한다.
제7도에 있어서, 에리어제어부에 대응해서 마련된 BCRl과 BCR2는 버스제어 레지스터이다. 웨이트제어부에 대응해서 마련된 WCR 은 웨이트상태 제어 레지스터이다. 메모리제어부에 대응해서 마련된 MCR 은 개별메모리제어레지스터이다. RTCSR은 리프레시 타이밍 컨트롤러/스테이터스 레지스터이다. RTCNT는 리프레시 타이머 카운터이다.
RTCOR 은 리프레시 타이머 콘스턴트 레지스터이다. BCRl의 1비트를 리드하는 것에 의해, 상기 단자MD5의 입력값을 리드할 수 있고, 소프트 웨어가 마스터모드인지 슬레이브모드인지의 식별을 실행할 수 있다.
제8도에는 버스상태 컨트롤러 BSC와 외부버스 인터페이스OBIF에 의한 싱크로너스 다이나믹형 RAM (이하, SDRAM 이라 한다) 와의 접속예를 설명하기 위한 블럭도가 도시되어 있다. 동일도면에는 기본적인 메모리로서 스테이틱형 RAM (이하, SRAM이라 한다) 의 접속예도 아울러 도시되어 있다.
제9도에는 상기 SDRAM의 버스트 리드동작을 설명하기 위한 버스사이클 파형도가 도시되어 있다. 또한, 동일도면에는 생략되어 있지만, 클럭 인에이블신호CKE는 하이레벨로 되고 SDRAM 에는 클럭CKIO가 입력되어 있다. 이 클럭CKIO에 대해서 중앙처리장치CPU의 클럭 ø는 위상이 90° 지연되도록 되어 있다. 바꾸어말하면, 중앙처리장치CPU 측에서 보면, SDRAM 의 클럭은 위상이 90°진행되어 있다. 이와 같은 위상관계의 클럭을 형성하기 위해 상기 클럭발생회로에서는 주파수 2배회로에 의해 클럭ø의 4배의 주파수의 기본 클럭을 형성해 두고, 그것을 1/4분할해서 시스템클럭ø를 형성함과 동시에, 상기 90°위상이 어긋난 SDRAM용의 클럭CKIO를 형성하고 있다. /BS는 버스 사이클을 감시하기 위한 스트로브신호로서, SDRAM 에는 접속되지 않는다.
최초의 사이클Tr에서는 SDRAM이 할당된 공간에 대응한 신호/CSn가 로우레벨로 되고, 로우어드레스 스트로브신호/RAS가 로우레벨로 되어 로우어드레스가 페치된다. 다음의 사이클Tc1 에서는 컬럼어드레스 스트로브신호/CAS가 로우레벨로 되어 컬럼 어드레스가 페치된다. 이것과 동기해서 /BS 도 로우레벨로 된다. 이와 같이 중앙처리장치CPU 측에서 클럭 ø의 상승에지와 동기해서 출력되는 신호/CSn, /RAS나 /CAS 및 어드레스에 대해서, SDRAM은 클럭CKIO의 상승에지와 동기해서 상기 각 신호를 페치하는 것으로서, 상기 90°의 위상 어긋남에 의해서 충분한 동작마진을 확보할 수 있다. 즉, SDRAM에 있어서는 충분한 세트업 시간과 홀드 시간을 갖고 외부로 부터의 신호를 페치할 수 있다.
3번째의 사이클Tc2 에서는 /CAS와 /BS 가 하이레벨로 리세트된다. 그리고, 4번째 이후 Td1∼Td4의 4사이클에 걸쳐서 SDRAM 으로 부터 데이타D3l ∼D0이 연속해서 리드된다. 이와 같은 버스트 리드에의해서 4 × 4 = 16바이트의 데이타를 리드할 수 있다.
제10도에는 상기 SDRAM의 싱글 라이트동작을 설명하기 위한 버스 사이클 파형도가 도시되어 있다. 최초의 사이클Tr에서는 SDRAM 이 할당된 공간에 대응한 신호/CSn가 로우레벨로 되고, 로우어드레스 스트로브신호/RAS가 로우레벨로 되어 로우어드레스가 폐치된다. 또, 라이트동작을 지시하는 신호RD*/WR가 로우레벨로 된다. 다음의 사이클Tcl 에서는 컬럼어드레스 스트로브신호/CAS가 로우레벨로 되어 컬럼어드레스가 페치된다. 이것과 동기해서 /BS 도 로우레벨로 되고, 데이타D3l ∼D0이 페치되고, 선택된 메모리셀에 라이트가 실행된다. 이와 같이 2사이클에서 4바이트의 라이트가 실행된다. 제11도에는 본 발명에 따른 싱글칩 마이크로컴퓨터의 기본 버스사이클을 설명하기 위한 파형도가 도시되어 있다. 싱글칩 마이크로컴퓨터는 이 기본 버스사이클에 의해, 예를 들어 상기 SRAM이나 ROM 등의 메모리 액세스를 실행한다. 기본 버스사이클에서는 Tl과 T2와 같은 2상태로 실행된다. 동일도면에서는 /RD 에 의한 리드동작의 경우와 /WEn에 의한 라이트동작의 경우가 아울러도시되어 있다.
제12도에는 버스상태 컨트롤러BSC 와 외부버스 인터페이스OBIF에 의한 다이나믹형 RAM(이하, DRAM이라 한다) 와의 접속예를 설명하기 위한 블럭도가 도시되어 있다. 동일도면의 DRAM은 x 16비트구성의 것으로서, CAS 2개방식 (/UCAS*/LCAS)에 의한 상위 바이트와 하위 바이트의 액세스가 가능하게 된다.
제13도에는 상기 DRAM의 고속 페이지모드를 설명하기 위한 버스사이클 파형도가 도시되어 있다. 고속 페이지모드에서는 로우어드레스를 고정해 두고, 바꾸어말하면 워드선을 선택상태로 해 두고, 컬럼어드레스 스트로브신호/CAS와 동기해서 컬럼어드레스를 순차로 입력해서 데이타의 리드 또는 라이트를 연속적으로 실행하는 것이다. 이 경우, 상기 브레이크 컨트롤러UBC에 마련된 로우어드레스 비교기로 부터의 히트신호Hit 에 의해, 로우계의 리세트동작을 생략해서 자동적으로 고속 페이지모드로 할 수 있다. 마찬가지의 동작을 SDRAM에 있어서도 실행하도록 할 수 있다.
제14도에는 버스상태 컨트롤러BSC 와 외부버스 인터페이스OBIF에 의한 의사 스테이틱형 RAM (이하, PSRAM이라 한다)와의 접속예를 설명 하기 위한 블럭도가 도시되어 있다. 싱글칩 마이크로컴퓨터MCU측의 출력 /RAS*/CE를 PSRAM의 칩 인에이블단자 /CE에 접속하고, MPU측의 출력/CAS*/OE를 PSRAM의 출력 인에이블/리프레시 제어단자 /OE*/RFSH 에 접속한다. PSRAM의 라이트 인에이블단자/WE 는 SRAM과 마찬가지로 MCU 의 단자/WEj에 접속된다. 그리고, SRAM의 칩 선택단자/CS 에는 MCU 의 단자/CSn가 공급된다. 즉, PSRAM은 상기의 공간분할에 의해 CS3 공간에 할당되고, 이때의 SRAM은 그 이외의 공간에 할당된다.
제15도에는 본 발명에 관한 싱글칩 마이크로컴퓨터MCU 를 사용해서 멀티프로세서 접속한 경우의 1실시예의 블럭도가 도시되어 있다. 이 실시예의 싱글칩 마이크로컴퓨터MCU 는 모드설정단자MD5 에 로우레벨 또는 하이레벨을 입력하는 것에 의해, 마스터모드와 슬레이브모드로 설정할 수 있다. 이 기능을 이용하여 동일한 2개의 싱글칩 마이크로컴퓨터의 한쪽을 마스터모드로 하고, 다른쪽을 슬레이브모드로 해서 멀티프로세서 시스템을 구성할 수 있다.
단자MD5에 하이레벨 ("1") 이 입력된 것은 슬레이브모드의 싱글칩 마이크로컴퓨터S-MCU로 된다. 한편, 단자MD5 에 로우레벨("0)이 입력된 것은 마스터모드의 싱글칩 마이크로컴퓨터M-MCU로 된다. 마스터측 M-MCU는 메인버스를 거쳐서 메인메모리등의 주변 LSI가 접속된다.
즉, 통상의 마이크로컴퓨터 시스템에서는 시스템내에 구축된 메인버스에는 주기억메모리나 확장메모리등 고속메모리를 액세스하는 메모리제어유닛, 주기억메모리로서의 DRAM이나 SDRAM, 기본 제어프로그램이 저장된 ROM, 선단에 키보드가 접속된 키보드 컨트롤러등에 의해서 구성된다. 또, 표시어댑터가 상기 메인 버스에 접속되고, 그 선단에는 CRT 또는 LCD 등의 표시장치가 접속되어 있다. 그리고, 상기 메인버스에는 병렬포트, 마우스등의 직렬포트, 플로피디스크 드라이브, 상기 메인버스에서 하드디스크 인터페이스로 변환하는 버퍼 컨트롤러가 접속된다. 또, 상기 메모리 제어유닛으로 부터의 버스와 접속되어 확장RAM 및 주기억메모리 등이 접속된다. 동일도면에서는 이들을 간략화해서 메인매모리로서 SDRAM만이 마련되는 예가 도시되어 있다.
슬레이브측으로 된 S-MCU는 특히 제한되지 않지만, 로컬버스가 마련되고, 그것에 로컬메모리등의 로컬주변LSI가 필요에 따라서 마런된다. 이 로컬주변LSI 등은 생략할 수 있다. 그리고, 버스버퍼BBl, BB2 를 거쳐서 S-MCU 측의 로컬버스내의 어드레스버스LAB, 데이타 버스LDB 및 제어신호 (R/W, /RAS, /CAS, /CSi) 을 위한 제어버스LCB 는 메인버스측의 대응하는 어드레스버스MAB, 데이타버스MDB 및 제어신호 (R/W,/RAS, /CAS, /CSi) 를 위한 제어버스MCB 에 접속된다. 그리고, 상기와 같은 모드설정에 대응해서 S-MCU 측의 /BREQ로서 사용되는 단자가 M-MCU의 /BRLS로서 사용되는 단자에 접속되고, M-MCU 측의 /BGR로서 사용되는 단자가 S-MCU의 /BACK 로서 사용되는 단자에 접속된다.
상기 M-MCU 에서 출력되는 신호/BGR가 상기 버스버퍼BB2 의 게이트단자/G 및 출력인에이블단자/OE 에도 입력된다. 이것에 의해, S-MCU가 메인버스의 사용허가를 받으면 상기 버스버퍼BB2가 활성화되어 슬례이브측S-MCU 의 어드레스신호를 메인버스측에 공급하고, 메인버스상의 주변LSI 등의 액세스가 가능하게 된다.
이 때, M-MCU에서 출력되고 S-MCU에 입력되는 클럭CKI0는 상기의 SDRAM을 액세스했을 때와 같이 S-MCU 의 내부클럭 ø에 대해서 위상이 90° 진행된 것으로 하는 것에 의해, 상기 버스버퍼BB1, BB2를 통해서 메인버스측으로 공급하는 신호전달의 동작마진을 확대시킬 수 있다. 즉, 상기와 같은 위상차의 설정에 의해, SDRAM을 액세스할 때와 마찬가지로 래치된 버스버퍼BB1, BB2 를 통해서 전달되는 신호의 세트업시간 및 홀드시간을 충분히 확보할 수 있다.
이 실시예에서는 l개의 싱글칩 마이크로컴퓨터를 모드설정에 의해 마스터모드 또는 슬레이브모드로서 선택적으로 사용할 수 있고, 또 동일의 단자를 마스터용과 슬레이브용으로 전환해서 사용하므로 단자수를 줄일 수 있다.
제16도에는 S-MCU 에서 메인버스상의 SDRAM 을 액세스하는 경우의 타이밍도가 도시되어 있다. 슬레이브측에서 /BREQ 를 출력하고, 메인측에서 버스사용 허가신호/BGR에 의해 /BACK 가 로우레벨로 되면, 상기 SDRAM 을 액세스하는 경우와 마찬가지로 로우어드레스 (ROW) 와 컬럼어드레스 (COLUMN) 을 출력한다. 마스터측에서는 래치된 버스버퍼BB1, BB2 를 통해서 출력되는 분 (1클럭분) 만큼 지연해서 어드레스와 커맨드가 전달되고, 리드된 데이타도 래치된 버스버퍼BB2를 통과한 분만큼 지연해서 슬레이브측으로 전달된다.
제17도에는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 캐시메모리의 1실시예의 블럭도가 도시되어 있다. 동일도면에는 중앙처리장치CPU 및 버스상태 컨트롤러도 아울러 도시되어 있다.
이 실시예의 캐시메모리는 어드레스 입력에서 해당하는 데이타의 출력을 1.5사이클에 의해 실행한다. 데이타의 치환 알고리듬은 LRU(Least Recently Used)법을 사용한다.
캐시메모리의 회로구성은 크게 나누어 캐시태그 (어드레스 어레이)와 캐시데이타 (데이타 어레이) 및 캐시 컨트롤러로 구성된다.
캐시태그는 어드레스태그라 불리는 어드레스의 일부를 저장하고 있고, 캐시데이타에는 캐시태그에 저장되어 있는 어드레스태그에 대응하는 데이타가 저장되어있다. 이것에 의해, 상기 캐시태그에 저장되어 있는 어드레스의 일부가 중앙처리장치CPU로 부터의 그것에 대응하는 어드레스와 일치하면, 캐시태그로 부터 히트신호가 출력됨과 동시에 병행해서 선택된 캐시데이타에서 리드되고 있는 데이타가 중앙처리장치CPU 에 페치된다. 만일, 미스히트이면, 상기 브레이크 컨트롤러UBC 및 외부버스 인터페이스를 통해서 외부의 메인메모리를 액세스하게 된다.
제17도에 있어서, 캐시제어 레지스터CCR 은 캐시 인에이블, 명령필금지, 데이타필금지, 2웨이모드, 웨이지정등의 제어비트를 갖고 있어 동작모드의 설정에 사용된다.
제20도에는 본 발명에 관한 캐시메모리의 동작개념도가 도시되어 있다. 어드레스신호는 A31 ∼A0의 32비트로 구성된다. 어드레스A3∼A0의 4비트에 대응한 16바이트가 1라인으로 된다.
라인은 l개의 연상어드레스에 관련된 데이타 클러스터이다. 어드레스신호A9∼A4의 6비트는 엔트리 정보영역으로 되고, 어드레스신호 A9∼A4의 값에 의해 64엔트리 중에서 l개의 옌트리가 선택된다. 그리고, 어드레스신호A28 ∼A10 까지의 19비트의 어드레스신호가 태그어드레스영역으로 되고, 어드레스신호A28 ∼A10 에 대응하는 태그어드레스 데이타가 캐시태그에 라이트되어 있다. 어드레스신호A3l ∼ A29까지의 3비트는 액세스공간 지정영역으로 되어 액세스공간의 지정에 사용된다.
0 ∼ 63으로 이루어진 64엔트리에 대응해서 LRU 정보가 마련된다. LRU 정보는 6비트로 구성된다. 엔트리의 치환시 LRU 치한 알고리듬에 의해서 엔트리의 치환이 판정된다. LRU 정보는 치환의 판정에 사용되고, 과거의 액세스에 관한 정보를 6비트로 표시하고 있다. 6비트로 표시되는 조합은 64종류이지만, 초기값을 0으로 해서 24종류의 조합이 표현가능하다. 그리고, LRU 정보의 최하위비트는 캐시메모리가 2웨이로서 사용될 때 치환의 판정에 이용되도록 조합되어 있다. 즉, 4웨이중의 2웨이를 내장RAM으로서 사용했을 때에는 미스히트에 의한 치환에 사용되는 것은 최하위 비트가 0이면 웨이 3을, 1이면 웨이2를 사용하도록 된다. 이것을 만족시키는 24종류의 조합에 의해, 4웨이 모드시의 LRU 정보의 리라이트가 실행된다.
상기 캐시태그에서 리드된 태그어드레스와 중앙처리장치CPU에서 출력되는 A28 ∼A10 으로 이루어진 19비트의 어드레스신호가 일치하고,유효비트V 가 1일 때에는 히트신호가 출력되어 캐시데이타에서 16바이트의 데이타가 리드된다. 이 16바이트중의 4바이트 (32비트) 가 2비트의 어드레스A3과 A2에 의해 지정되어 중앙처리장치CPU 에서 리드된다.
제18도에는 본 발명에 관한 캐시메모리의 1실시예의 블럭도가 도시되어 있다. 상기 캐시태그는 디코더, 어드레스 어레이 및 4개의 비교기로 구성된다. 어드레스 어레이는 4웨이에 대응해서 4개로 이루어지고, A9 - A4의 어드레스가 입력되어 64종류의 엔트리중 1개가 선택된다. 각 엔트리는 어드레스태그에 대응한 19비트의 어드레스신호와 1비트의 유효비트(V)를 기억하도록 된다. 그 때문에, 1개의 웨이에 대응한 어드레스 어레이는 (19+l) 비트 × 64의 메모리용량으로 된다. 4개의 웨이에 대응해서 6 ×64비트의 LRU 정보의 기억부가 공통으로 마련된다.
펄스ø1에 의해 어드레스신호를 유지하는 래치회로LT1, LT2 는 중앙처리장치CPU가 파이프라인동작에 의해 어드레스신호를 출력하므로, 미스히트했을 때의 어드레스를 기억해 두기 위해 이용된다. 어드레스 어레이에서 리드된 어드레스태그와 어드레스 입력의 대응하는 19비트의 어드레스신호A28 ∼A10 은 비교기에 입력된다.
4개의 웨이에 대응해서 마련된 4개의 비교기의 히트신호는 캐시컨트롤러에 공급된다. 또, 상기 64의 엔트리중 선택된 것에 대응한 LRU 정보는 캐시 컨트롤러에 공급된다. 만일, 4개의 웨이에서 히트신호가 출력되지 않을 때, 치환에 사용되는 l개의 웨이가 상기 LRU 정보에 의해 결정된다. 상기 어드레스 어레이에서 리드된 어드레스태그는 셀렉터SEL1에 의해 진단용 데이타로서 출력된다.
상기 어드레스 입력중의 어드레스신호A9- A3으로 이루어지는 7비트의 어드레스신호는 데이타 어레이의 디코더에 입력된다. 데이타 어레이는 (32×2)비트 × 128로 이루어진다. 어드레스신호A9- A4가 상기 64엔트리에 대응하고 있고, 어드레스신호A3은 1라인 (32 x 4) 중의 상위 32 × 2비트의 데이타 또는 하위의 32 × 2비트의 데이타를 선택하도록 된다. 이와 같이 데이타 어레이의 구성을 세로로 길게하는 것에 의해, 후술하는 바와 같은 상보 데이타선의 수를 저감해서 32비트로 이루어진 단위의 데이타의 출력을 간단하게 한다.
이 실시예에서는 특히 제한되지 않지만, 캐시 컨트롤러에서 히트신호가 상기 데이타 어레이의 디코더에 입력된다. 이것에 의해,캐시 데이타메모리의 디코더에 있어서 4개의 웨이 중의 히트신호에 대응한 웨이에 대해서만 워드선의 선택동작이 실행되도록 하여 캐시데이타메모리의 저소비전력화가 도모된다. 즉, 히트신호에 대응한 웨이에 대한 워드선 드라이버만이 활성화상태로 된다. 또, 상기히트신호에 대응한 웨이의 센스앰프만이 동작된다.
상기 이외에, 캐시 데이타메모리의 센스앰프에 있어서의 소비전류는 는 비교적 크므로, 캐시 컨트롤러로 부터의 상기 히트신호를 센스앰프의 제어에만 사용해도 좋다. 즉, 데이타 어레이의 디코더는 고속리드를 위해 4개의 웨이의 워드선을 선택상태로 해서 메모리셀로부터의 리드동작을 선행시키고, 캐시 컨트롤러로 부터의 히트신호를 대기하여 센스앰프를 동작시키도록 해서, 데이타 어레이로 부터의 리드를 고속으로 하는 것이라도 좋다. 상기 히트신호에 대응한 웨이에서 리드된 32 × 2비트의 데이타는 캐시 컨트롤러를 통해서 출력된 어드레스신호A2에 의해 선택되는 셀렉터를 통해서 32비트의 데이타가 출력된다.
상기 어드레스태그의 4개의 비교기는 타이밍신호øl에 의해 동작하고, 이것에 대해서 데이타 어레이의 출력 셀렉터OSELO ∼OSEL3은 상기 타이밍신호ø1에 대해서 반사이클 지연된 타이밍신호ø2에 의해 동작하도록 된다. 그 때문에, 상기 히트신호에 의한 데이타 어레이의 워드선 선택이나 센스앰프의 제어를 실행하도록 해도 동작상의 문제는 없다. 출력부에 마련된 얼라이너는 데이타 어레이에서 출력된 32비트의 출력데이타를 8비트 또는 16비트단위의 데이타로서 출력할 때 사용된다.
상기 캐시 데이타메모리의 상기 4웨이중, 웨이0과 l을 내장RAM으로서 사용할 수 있다. 이 모드에서는 웨이 0과 1에 대응한 어드레스태그의 히트신호가 무효로 된다. 이 모드에서의 웨이 0과 l의 액세스는 데이타어레이의 강제리드 및 라이트 기능에 의해 실행된다. 즉,강제리드 및 라이트 기능에서는 캐시 컨트롤러에 의해서 히트신호로 변경되는 선택신호에 의해 웨이를 선택하고, 데이타의 리드 및 라이트를 실행하도록 한다.
상기와 같이 2개의 웨이 0과 l을 내장RAM으로서 사용했을 때에는 6비트로 이루어지는 LRU 정보의 라이트는 4웨이와 동일하게 하지만, 치환 웨이의 선택은 6비트로 이루어지는 LRU정보중의 최하위1비트만을 참조해서 0이면 웨이3을 선택하고, 1이면 웨이2를 선택한다. 이와 같이 2웨이모드와 4웨이보드에서 LRU 정보의 특징비트를 공통으로 하는 것에 의해, 치환 알고리듬의 간소화를 도모할 수 있다.
제19도에는 상기 캐시 데이타메모리의 데이타 어레이의 l실시에의 회로도가 도시되어 있다. 동일도면에는 2쌍의 상보데이타선, 2개의 워드선과 그들의 교점에 마련되는 4개의 매모리셀 및 그 출력선택과 센스앰프가 대표로서 예시적으로 도시되어 있다. 동일도면에 있어서, P 채널형 MOSFET는 그 채널부분에 화살표가 부가되는 것에 의해 N채널형 MOSFET와 구별된다.
상기 메모리셀은 P 채널형 MOSFET Ql, Q2 와 N 채널형 MOSFET Q3, Q4로 이루어지는 2개의 CMOS인버터회로의 입력과 출력이 서로 교차접속되어 래치회로로 된다. 상기 래치회로의 한쌍의 입출력노드와 상보데이타선DLO, /DLO 사이에는 N 채널형의 전송게이트 MOSFET Q5, Q6이 마련된다. 이들 전송게이트 MOSFET Q5, Q6의 게이트는 워드선WO에 접속된다. 다른 메모리셀도 상기와 마찬가지의 CMOS스테이틱형 메모리셀에 의해 구성된다.
상보데이타선DLO,/DLO에는 N채널형의 프리차지MOSFET Q7, Q8이 마련된다. 이들 MOSFET Q7,Q8의 게이트에는 프리차지신호PC가 공급된다. 또, 상보데이타선DLO,/DLO사이에는 등화용 CMOS스위치가 마련된다.
CMOS스위치는 병렬상태로 접속된 N 채널형 MOSFET Q9 와 P 채널형 MOSFET Q10으로 이루어지고, N 채널형 MOSFET Q9 의 계이트에는 데이타선 등화신호DEQ 가 공급되고, P 채널형 MOSFET Q10의 계이트에는 상기신호 DEQ가 인버터회로N1에 의해 반전되어 공급된다. 상기 등화MOSFET는 N 채널형 MOSFET 또는 P 채널형 MOSFET만으로 구성해도 좋다.
상기 2쌍의 상보테이타선DL0, /DL0와 DL1, /DL1는 CMOS스위치를 통해서 l개의 센스앰프에 접속된다. 즉, 데이타선DLO은 병렬형태로 접속된 N 채널형 MOSFET Q11과 P 채널형 MOSFET Q13을 거쳐서, 또 데이타선DL1은 마찬가지로 병렬형태로 접속된 N채널형 MOSFET Ql6과 P 채널형 MOSFET Q18을 거쳐서 각각 공통데이타선CDLO에 접속된다. 데이타선 /DLO 는 병렬형태로 접속된 N 채널형 MOSFET Q12와 P 채널형 MOSFET Ql4를 거쳐서, 또 데이타선/DL1는 마찬가지로 병렬형태로 접속된 N 채널형 MOSFET Q17과 P 채널형 MOSFET Q19를 거쳐서 각각 공통 테이타선/CDL0 에 접속된다. 이들 CMOS스위치에는 선택신호SEL 이 교차적으로 공급되는 것에 의해, 상보데이타선DL0,/DL0 또는 DL1,/DL1중의 어느것인가 한쪽이 선택된다. 상기 신호SEL 은 예를 들면 상기 어드레스신호A2에 의해 형성된다.
공통데이타선CDL0,/COL0는 CMOS래치회로로 이루어지는 센스앰프SA의 입력에 접속된다. 센스앰프SA는 P 채널형 MOSFET Q22, Q23 및 N 채널형 MOSFET Q24, Q25 로 이루어지는 2개의 CMOS인버터회로의 입력과 출력이 교차 접속되어 래치회로로 된다. 그리고, 상기 P 채널형 MOSFET Q22와 Q23 의 소오스에는 P 채널형의 스위치MOSFET Q26을 거쳐서 동작전압VCC가 부여되고, 상기 N 채널형 MOSFET Q24와Q25 의 소오스에는 N 채널형의 스위치MOSFET Q27을 거쳐서 회로의 접지전위 (GND) 가 부여된다. 상기 P 채널형 MOSFET Q26의 게이트에는 센스앰프 동작신호/SAC가 공급되고, N채널형 MOSFET Q27의 게이트에는 센스앰프 동작신호SAC가 공급된다.
상기 센스앰프의 입력인 공통데이타선CDL0,/CDL0에는 등화용 N 채널형 MOSFET Q20과 P 채널형 MOSFET Q2l이 병렬형태로 마련된다.
상기 N 채널형 MOSFET Q20 의 게이트에는 센스앰프 등화신호SEQ가 공급되고, P 채널형 MOSFET Q21 의 게이트에는 상기 신호SEQ가 인버터회로N3에 의해 반전되어 공급된다. 이 실시예의 센스앰프SA는 고감도이고 정귀환루프를 갖는 래치회로에 의해 구성되어 있으므로, 상기 신호/SAC와 SAC에 의해 동작개시전에 상기 등화MOSFET Q20과 Q2l 에 의해 입력레벨을 일치시켜 두고, 공통데이타선CDL0과 /CDL0 의 전위차가 선택된 메모리셀로 부터의 기억정보에 따른 소정전위를 갖게되면, 상기 신호/SAC와 SAC 에 의해 그것을 증폭해서 공통데이타선CDL0과 /CDL0 를 하이레벨/로우레벨로 증폭한다. 이들의 증폭된 신호는 리드회로RA를 통해서 출력된다. 또한, 상기 등화용 MOSFET는 N 채널형 MOSFET 또는 P채널형 MOSFET만으로 구성해도 좋다.
상기와 같은 CMOS래치형태의 센스앰프SA를 사용한 경우에는 상기 증폭동작에 의해서 공통데이타선CDL0과 /CDL0 의 전위가 하이레벨/로우레벨로 되면, CMOS래치회로에 있어서 정상적인 직류전류가 흐르지 않게 되므로, 저소비전력화를 도모할 수 있다. 그리고, 상기와 같이 히트신호에 의해 상기 센스앰프 동작신호SAC와 /SAC를 발생시키도록 하면, 4개의 웨이중 1개의 웨이에 대응한 센스앰프만이 동작하게 되어 센스앰프의 소비전류를 거의 1/4과 같이 대폭으로 저감할 수 있다.
상기 공통데이타선CDL0과 /CDL0는 라이트 선택신호WS에 의해 스위치 제어되는 N 채널형 MOSFET Q28과 Q29 를 거쳐서 라이트앰프WA에 접속된다. 라이트앰프WA는 인버터회로N4∼N7로 이루어지고, 입력데이타DO을 받는 CMOS인버터회로N4의 출력신호가 구동용 인버터회로N7과 반전인버티회로N5 및 구동인버터회로N6을 통해서 상보 라이트신호로 된다. 이 상보의 라이트신호는 상기 스위치MOSFET Q28과 Q29를 통해서 공통데이타선CDL0,/CDL0에 전달된다.
이상과 같이 l개의 웨이의 데이타 어레이는 상기와 같은 2쌍의 상보테이타선에 대해서 l개의 센스앰프, l개의 라이트앰프가 32조 마련된다. 이것에 의해, 메모리 어레이부에서는 32 × 2의 상보 데이타선과 128개의 워드선으로 구성되어 32비트의 데이타의 입출력이 실행된다.
제2l도에는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 상기 직접메모리 액세스 제어장치DMAC의 1실시예의 블럭도가 도시되어 있다. 이 실시예에서는 채널 0 (CHO)과 채널 1 (CH1)의 2개의 채널을 갖도록 된다. 상기 채널CH0 과 CH1 에 대응해서 각각 2개의 회로블럭이 마련된다. 각 회로블럭의 기호에 붙여진 숫자0과 1은 상기 채널CH0과 CH1에 대응한 회로이다.
상기와 같은 2개의 채널CH0 과 CH1에 대응해서 마련되는 회로는 다음과 같다. SAR0,l은 소오스 어드레스 레지스터이다. 이들 SAR0과 1은 각각이 32비트로 이루어지고, DMA전송원의 개시 어드레스가 설정된다. 이들 SAR0, 1은 동작중 또는 전송 종료후에 별도로 설정된 어드레스 계산조건에 따라서 항상 다음의 전송 어드레스값을 유지하도록 된다.
DAR0,l은 목적 어드레스 레지스터이고, 이들 DAR0,l은 각각이 32비트로 이루어지고 DMA 전송지의 개시 어드레스가 설정된다. 이들 DAR0,l은 동작중 또는 전송종료후에 별도로 설정된 어드레스 계산조건에 따라서 항상 다음의 전송 어드레스값을 유지하도록 된다.
TCR0,l은 전송 카운트 레지스터이고,이들 TCR0,l은 각각이 32비트로 이루어지고 DMA 전송회수가 설정되고, 동작중 또는 전송종료후는 나머지 전송회수를 유지하도록 된다. 올 제로 (all "0") 설정시는 2의 24승회 (최대전송회수)로 된다. VCR0,1 및 VCR2,3은 채널CH0과 l에 2개씩이 대응된 벡터 레지스터이다. 각 VCR0∼VCR3은 각각이 8비트로 구성되고, DMAC의 인터럽트 벡터 어드레스가 설정된다. 설정은 중앙처리장치CPU 에서 실행되고, 인터럽트 발생시에 중앙처리장치CPU가 벡터 페치한다.
상기 채널CH0과 CH1 공통의 회로블럭으로서는 다음의 것이 있다. DMAOR은 DMA 오퍼레이션 레지스터이고, CHCR0 과 CHCR1 은 상기 DMA0R에 대응해서 마련된 채널 제어 레지스터이다. AU는 어드레스 연산기이고, DEC는 올 제로 검출기가 부착된 디크리멘터이다. 그리고, MDB0 ∼3은 128비트 전송용 4단 데이타버퍼이다. 이 데이타버퍼MDB0∼3에 의해 캐시메모리의 1라인에 대응한 데이타전송이 실행되고, SDRAM에 대해서 버스트 리드에 의해서 4사이클 × 32비트의 데이타 전송이 실행된다. 상기 이외에 DMA요구/선택 레지스터 0, 1이나 전송 시퀀스 제어회로, 호스트 인터페이스 및 우선권 제어회로 등이 마련된다.
상기와 같이 캐시메모리의 1라인의 단위 데이타 바이트수, SDRAM의 버스트리드에 의한 리드데이타 바이트수 및 DMAC의 데이타 버퍼의 단위 데이타 전송바이트수 사이에서 정합성을 취하는 것에 의해, DMAC에 의한 SDRAM과 다른 메모리 또는 주변LSI 사이에서의 데이타 전송을 효율좋게 실행할 수 있다.
제22도에는 본 발명에 관한 DMAC와 그 주변부의 1실시예의 개략 블럭도가 도시되어 있다. 본 발명에 관한 DMAC는 본 발명에 관한 싱글칩 마이크로컴퓨터의 내부버스B2(AB2, DB2) 에 접속된다.
DMAC는 동일도면에서는 생략되어 있지만, 제 1도에 도시된 바와 같이, 상기 인터페이스OBIF를 거쳐서 외부버스B4(AB4, DB4)에 접속되는 외부메모리 (ROM,RAM) 또는 외부 입출력장치와 캐시메모리 또는 내부버스B3(AB3, DB3)에 접속되는 내장 주변모듈 사이에서의 데이타 전송을 실행한다.
어드레스모드는 듀일 어드레스모드와 싱글 어드레스모드가 있다.
듀얼 어드레스모드에서는 전송원과 전송지의 액세스가 2회의 버스사이클로 분할되고, 처음의 버스 사이클에는 전송원 어드레스가 출력되고, 다음의 버스 사이클에는 전송지 어드레스가 출력된다. 즉, 어드레스모드에 있어서는 1회의 DMA 전송이 2개의 버스 사이클에서 실행된다.
한편, 싱글 어드레스모드에서는 전송원 예를 들면 외부메모리에 대해서 전송원 어드레스가 출력되어 전송원이 어드레싱됨과 동시에, 전송지 예를 들면 외부I/O 디바이스가 /DACK 신호에 의해 액세스된다. 즉, 1회의 DMA전송이 l개의 버스 사이클에서 실행된다.
버스모드 (전송모드)에는 사이클 스틸모드와 버스트보드가 있다.
사이클 스틸 모드에서는 l워드의 DMA 전송종료후 버스권을 해방하고 다른 버스 마스터 (예를 들면, CPU)에 버스권을 넘겨준다. 버스트모드에서는 버스권을 획득하면 전송종료 조건이 만족될때까지 연속해서 DMA전송을 계속한다. 단, 외부 요구모드일 때, /DREQ 단자의 레벨을 샘플링하는 경우에는 /DREQ 단자의 레벨에 따라서 DMA전송이 실행된다.
전송요구는 외부요구, 내장주변모듈로 부터의 내부요구, 오토요구가 있다. 외부요구는 /DREQ0단자에 의해 채널CH0 을, /DREQl에 의해 채널CH1 을 기동할 수 있다. /DREQ0,1 단자의 샘플링에 있어서는 선택조건으로서 하강에지와 레벨을 선택할 수 있다. 내장주변모듈로 부터의 내부요구에는 내장SCI0의 수신 데이타 풀(full)과 내장 SCI 의 송신 데이타선 엠프티 (empty)가 있다. 이들 요구는 DMA전송 사이클을 기동하는 것에 의해, 자동적으로 클리어된다.
오토요구는 DMAC의 채널 제어 레지스터CHCRn(0, 1)의 DE비트가 세트되는 것에 의해 전송동작이 개시된다.
DMAC에 대해서 동시에 여러개의 채널의 전송요구가 있는 경우, 우선순위에 따라서 전송채널이 결정된다. 우선순위에는 우선순위 고정모드, 교대모드가 있다. 우선순위 고정모드에서는 각 채널사이의 우선순위는 변화하지 않는다. 1 또는 0의 2종류의 채널을 고정적으로 우선순위로 할 수 있다. 교대모드에서는 채널CH0 과 CH1의 채널 사이에서 우선순위를 교대하는 모드로서, 우선 순위를 변경하는 타이밍은 라운드 로빙방식으로 채널CHO 또는 채널 CH1 의 전송이 l전송단위 (바이트 또는 워드) 종료하였을 때로 된다.
제23도에는 계산기DIVU의 1실시예의 블럭도가 도시되어 있다.
이 실시예의 계산기DIVU는 코드화된 64비트 ÷ 32비트 또는 32비트 ÷ 32비트의 계산을 실행하고, 32비트의 몫과 32비트의 나머지를 구할 수 있다. 연산에 있어서, 오버플로 또는 언더플로가 발생했을 때에는 지정에 의해 중앙처리장치CPU 에 대해서 인터럽트를 발생시킬 수 있다.
동일도면에 있어서, JR은 제수 레지스터이고, HRL32는 32비트용 피제수 레지스터L 이고, HRH 는 32비트의 상위측 피제수 레지스터H, HRL 은 32비트의 하위측 피제수 레지스터L 이고, 2개 합해서 64비트의 피승수를 입력할 수 있다. BAR은 나머지 레지스터, BSR은 몫 레지스터이다. CONT는 제어레지스터이고, VCT는 인터럽트 벡터 레지스터이다.
이 실시예의 제산기DIVU는 중앙처리장치CPU에서 상기 피제수와 제수가 설정되면, 제산을 개시해서 약37사이클로 BSR에 몫을, BAR 에 나머지를 설정해서 자동적으로 연산을 종료한다. 만약, 오버플로 또는 언더플로가 발생하면, 지정에 의해 내부 인터럽트신호가 발생된다.
상기 제산기DIVU는 제l도에 도시된 바와 같이, 버스 인터페이스에 의해서 내부버스B2(AB2, DB2) 에서 분리된 상태로 예를 들면 약38사이클에 걸쳐서 제산을 실행한다. 그 때문에, 중앙처리장치CPU 등은 내부버스B2(AB2, DB2) 를 사용한 데이타 처리등을 병행해서 실행할 수 있다.
제 24에는 3차원 물체를 2차원으로 이루어지는 표시장치의 표시화면상에 원근법으로 표시하기 위한 3차원 화상처리의 개념을 설명하기 위한 설명도가 도시되어 있다. 동일도면에는 고대 그리스풍의 신전을 2차원 화면상에 표시시킨 예가 도시되어 있다.
신전을 특정하는 점p1, p2등은 신전이 갖는 원점0의 X, Y 및 Z축에 대해서 xl, yl 및 zl이나 x2, y2 및 z2의 좌표를 갖고 있다. 최초에 실행되는 데이타 처리는 상기 각 신전을 특정하는 점nl, n2 등의 고유의 좌표를 그것을 보는 시점P를 원점으로 하는 새로운 방향X', Y' 및 Z'축에 대응한 좌표로 변환한다. 이것이 좌표변환처리이다. 즉, 신전을 어느 위치에서 어느 각도로 보는지에 대응해서 신전을 특정하는 각 점p1, p2 의 좌표가 상대적 좌표로 치환된다.
상기 식l에 있어서, x1', yl' 및 z1'는 신전의 점pl이 변환된 좌표이고, xl, yl 및 z1 은 신전이 갖는 고유의 원점에 대응한 좌표이다. 상기 식 1의 행렬식에서 x1'=xl·T00+yl·T10+zl·T20+1·T30 과 같은 곱/합연산에 의해 구할 수 있다. 마찬가지로, yl'=xl·T01+yl·T11+z1·T2l+ 1·T3l 과 같이 구해지고, z1'=xl·T02+y1·Tl2+zl·T22+ 1·T32와 같이 구해진다.
상기와 같이 좌표변환점pl은 pl' 와 같이 좌표변환된 후, 점P 와 상기 각 좌표pl' 를 잇는 직선과 표시화면S가 교차하는 교점의 좌표xl" ,yl " 가 표시화면S 상의 점으로 된다. 이 때문에, 좌표 x1 " ,y1 " 는 원점P에 대한 2차원 화면S와 상기 신전의 상대좌표pl' 와의 거리의 비율에 의해 구해진다. 따라서, 표시화면상의좌표를 구한다고 하는 원근처리는 제산처리에 의해 실행되게 된다.
상기와 같이 해서 구해진 각 2차원 화면상의 좌표는 화면S내에 있는지 그 외부에 있는지의 판정이 실행된다. 2개의 점이 화면S내에 있으면, 2개의 점은 그들을 잇는 직선으로서 표현된다. l개의 점 또는 양쪽의 점 모두 화면에서 벗어났을 때에는 화면S 를 중심으로 해서 상하좌우의 4화면, 비스듬한 상하의 4화면중 어느것인가에 점이 존재하는지에 따라 화면S를 통화하는 선으로 되는지 되지 않는지의 판정이 실행되고, 화면S 에서 벗어난 점에 대응한 직선이 그어진다. 이와 같은 처리는 클립 (클립핑) 처리라 불린다. 클립핑에서는 상기 화면S를 중심으로 한 상하좌우, 비스듬한 상하의 합계8화면에 점이 존재하는지 존재하지 않는지의 처리이므로, 제산에 의해 구해진 짐xl" ,yl " 등과 상기 면을 구획하는 X와 Y의 경계어드레스와의 대소비교를 반복하는 것에 의해 실행된다. 디지탈회로에 의해 실행되는 제산은 감산의 반복에 의해 실시된다. 그 때문에, 제산 동작시간은 필연적으로 길어져 버린다. 즉, 상기 변환처리, 원근처리 및 클립처리를 종래와 같이 순차로 실행하는 경우, l초간에 60매로 이루어진 움직임화상을 그리고자 하면, 종래의 마이크로컴퓨터에서는 고작 애니메이션 정도의 움직임 화상밖에 그릴 수 없다. 입체적인 영상을 그리는 경우에는 곡면을 3각형(poligons)의 조합에 의해 표현하게 되고,상기 1/60초 동안에그릴 수 있는 3각형의 수에 비례해서 표현할 수 있는 영상신호의 치밀도가 결정되게 된다. 28.7MHz와 같은 높은 주파수의 클럭신호로 동작하는 종래의 고속인 마이크로컴퓨터에 있어서는 상기 클립핑처리를 생략한 경우, l/60초 동안에그릴 수 있는 3각형의 수는 500∼900정도이다. 상기 3각형의 수가 500정도로 애니메이션 정도의 평면적인 움직임 화상을 그릴 수 있게 되어 있다.
제25도에는 본 발명에 관한 싱글칩 마이크로컴퓨터를 사용한 3차원 화상처리방법을 설명하기 위한 신호처리도가 도시되어 있다. 동일도면에서는 3차원 화상처리를 좌표변환처리, 원근처리 및 클립처리로 나누고, 그것을 처리하는 각 회로블럭과의 관계를 시계열적으로 도시하고 있다.
이 실시예에서는 상기 화상처리에 있어서 가장 많이시간을소비하게 되는 원근처리와 좌표변환처리 및 클립처리를 병렬적으로 실행하도록 하는 것이다. 단, 처리의 순서로서는 상기와 같이 l개의 점에 착안하면, 병렬적인 처리가 실행되지 않으므로, 클립처리를 다음과 같이 l개 지연시켜서 실행하도록 하는 것이다.
중앙처리장치CPU와 승산기 MULT는 곱/합연산 커맨드 (MAC커맨드라한다)에 의해 좌표변환처리를 실행한다. 중앙처리장치CPU가 곱/합 커맨드를 페치하고 디코드하면, 그것이 승산기MULT에 전달된다. 승산기MULT는 승산연산을 실행하고, 승산기MULT내의 레지스터(MAC레지스터) 에는 이전의 데이타에 승산된 데이타가 가산되어 유지된다. 이것에 의해, 상기 좌표변환을 위한 행렬식의 곱/합연산처리가 실행된다. 상기 중앙처리장치CPU 와 승산기MULT에 의해 n 번째의 점에 대해서 좌표변환을 실행하고 있는 동안, 제산기DIVU에 있어서는 1개전에 처리된 좌표n-1의 원근처리를 동시에 병행해서 실행하도록 된다.
중앙처리장치CPU 는 n 번째의 좌표변환처리가 종료하면, 제산기DIVU를 액세스해서 그 결과를 페치함과 동시에, 상기 변환이 종료한 n번째의 좌표에 대해서 원근처리를 지시한다. 이것에 의해, 제산기DIVU는 상기 n 번째의 좌표데이타를 받아들이고 제산동작을 개시한다. 제산기DIVU에 의한 n 번째의 점에 대한 원근처리와 동시에 병행해서 중앙처리장치CPU 는 상기 원근처리가 종료한 n-1 번째의 점에 대해서 클립처리를 실행한다. 이 클립처리는 상기와 같이 데이타의 대소비교로 이루어지는 것이므로, 중앙처리장치CPU 에 내장된 비교기능에 의해서 상기와 같은 클립처리를 실행한다.
이 n-1 번째의 점에 대해서 클립처리가 종료하면, 중앙처리장치CPU와 승산기MULT는 n+l 번째의 점에 대해서 좌표변환동작을 실행한다. 이하, 동일한 동작의 반복에 의해 중앙처리장치CPU와 승산기MULT에 의한 좌표변환 및 중앙처리장치CPU에 의한 클립처리에 대해서 제산기DIVU에 의한 원근처리를 동시에 병행해서 실행할 수 있어 등가적으로 가장 시간이 걸리는 원근처리를 없앨 수 있다. 이 실시예의 싱글칩 마이크로컴퓨터에 마련되는 제산기DIVU는 1회의 제산에 약38사이클이나 소비하게 된다. 이것에 대해서, 상기 좌표변환에서는 x,y,z 의 각 점에 대해서 각각 4회의 곱/합을 실행하고, 각각이 파이프라인적으로 연산된다. 또, 클립처리는 8회의 대소비교를 실행하는 것이므로, 거의 상기 제산처리와 시간적으로 일치한다.
이 실시예에서는 고정소수점에 의한 곱/합연산을 실행한다. 이것에 대응해서 제산동작도 고정소수점 방식에 의한 제산을 실행한다. 이와 같이 고정소수점 방식을 채택하는 경우, 정밀도의 보상은 없는 반면, 부동소수점 방식으로 필요한 정규화처리를 생략할 수 있으므로, 상기 승산이나 제산의 속도를 빠르게 할 수 있다.정밀도에 관해서는 소프트 제어에 의해 처리를 실행하도록 할 수 있다. 즉, 3차원 화상처리에 있어서의 원근처리 이외에는 마이크로컴퓨터에서의 제산동작은 필요없다고 해도 과언은 아니다.
그 때문에, 이 실시예의 싱글칩 마이크로컴퓨터에서는 가장 사용빈도가 높은 3차원 화상처리를 상정해서 시스템을 구성한다.
이 실시예의 싱글칩 마이크로컴퓨터를 상기와 같은 28.7 MHz에 의해 동작시키고, 또 3차원 화상처리를 상기와 같이 좌표변환과 클립처리에 대해서 원근처리를 그들과 동시에 병행적으로 실행하는 방식을 채택하는 것에 의해, l/6O초 동안에 그릴 수 있는 3각형의 수는 약2400과 같이 대폭으로 향상시킬 수 있다. 이 수치는 실사에 가까운 움직임 화상을화면상에그릴수 있는 능력을 의미하고 있다.
상기 수치 (약2400) 에는 상기와 마찬가지로 클립처리가 없는 경우를 나타내고 있다. 이 실시예의 3차원 연산처리방식에서는 클립처리를 포함시켜도 좌표변환처리에 비해서 원근처리에 시간을 소비하게 되기 때문에, 그 차분의 시간에 클립처리의 대부분을 할당할 수 있어, 클립처리가 없는 경우에 대해서 약간 처리능력이 저하하는 데 그친다. 이것에 대해서, 종래와 같이 좌표변환, 원근처리 및 클립처리의 순서로 실행하는 것에서는 클립처리에 요하는 시간만큼 확실하게 처리할 수 있는 3각형의 수가 저감해 버린다. 이 때문에, 본 발명에 관한 3차원 화상처리방식과 종래의 마이크로컴퓨터를 사용한 3차원 화상처리방법을 클립처리를 포함시켜 비교하면, 그 처리능력차는 한층 확대한다.
본 발명에 관한 3차원 화상처리방식에서는 상기 제1도와 같은 싱글칩 마이크로컴퓨터에 있어서, 제산기는 승산기와 동일한 제 1내부버스에 접속되어 있어도 좋다. 또, 버스구성은 상기와 같이 버스를 분할하는 것 이외에 l개의 버스로 구성하는 것이라도 좋다. 또는, 제산기를 외부LSI 로서 마련하는 구성으로 해도 좋다. 이와 같이, 상기와 같은 3차원 화상처리에 사용되는 마이크로컴퓨터의 시스템은 여러종류의 실시형태를 채택할 수 있다. 그리고, 승산기나 제산기는 부동소수점 방식의 것이라도 좋다.
본 발명에 관한 싱글칩 마이크로컴퓨터를 가정용 게임기에 사용할 때, 그래픽스처리의 고속화등에 따라 프로그램의 용량이 증대하고, 프로그램 용량이 수M바이트데 달하는 것도 예측된다. 액세스빈도가 높은 명령이나 데이타에 한해서도 내장한 ROM/RAM이나 내장캐시 메모리에서는 용량이 충분하지 않다. 이 때문에, 외부메모리 인터페이스의 속도가 성능에 크게 영향을 미치게 된다.
그래서,이 실시예에 관한 싱글칩 마이크로컴퓨터에서는 상기와 같이 싱크로너스DRAM과 용량4K바이트의 4웨이 세트 연관방식의 캐시를 조합해서 평균 액세스시간의 단축을 도모하도록 한다. 그리고, 내장 캐시메모리는 상술한 바와 같이 RAM으로서 기능시키는 것도 가능하다.
이하, 본 발명에 대해서 더욱 상세하게 설명한다.
4웨이 세트 연관이라는 것은 어떤 어드레스에 대해서 캐시메모리내에 저장 가능한 엔트리가 4곳 존재하는 캐시 맵핑방식이다.
직접맵핑은 어떤 어드레스에 대해서 저장하는 엔트리가 일의적으로 결정된다. 풀 연관은 모든 엔트리가 저장가능하게 된다. 그리고, 세트 연관은 웨이의 수만큼 저장 가능한 엔트리가 존재한다. 직접맵핑, 세트 연관, 풀 연관으로 됨에 따라 캐시메모리의 치환에 의해서 가까운 장래 액세스될 확률이 높은 엔트리가 캐시에서 방출될 확률은 낮아진다. 풀 연관 캐시의 어드레스 어레이는 연상메모리를 사용하지 않으면 안되는데 반해, 직접 맵핑 및 세트 연관의 어드레스 어레이는 보통의 메모리와 비교회로의 조합으로 실현할 수 있다.
가정용 게임기나 휴대형 정보통신기기는 퍼스널 컴퓨터나 워크 스테이션에 비해서 제품단가가 싸다. 이 때문에, 가정용 게임기등에 사용되는 싱글칩 마이크로컴퓨터에서는 칩 그 자체의 가격은 물론 외부에 부착되는 주변회로도 저렴하게 되도록 할 필요가 있다. 저코스트로 평균 액세스시간 (CPU가 바라는 데이타를 얻을 때까지의 평균시간) 을 단축하기 위해, 상기와 같이 캐시메모리가 내장된다.
상기 중앙처리장치CPU의 클럭주파수를 상기와 같이 28.7MHz로 했을 때, l사이클에 필요한 시간은 35 ns이다. 이 때문에, RAS 액세스시간이 60 ns인 DRAM의 고속 페이지 모드에서는 1사이클마다의 연속액세스를 할 수 없다. DRAM을 2웨이의 인터리브구성으로 해서 고속 페이지 모드에서 교대로 액세스하면, 1사이클을 70ns로 연장할 수 있다. 그러나, 2개의 웨이에서 교대로 리드할 데이타의 충돌을 회피하는 데이타 버퍼의 타이밍설계가 곤란하다. 또, 데이타버퍼에서의 지연을 고려하면 1사이클마다의 연속액세스는 사실상 불가능하다.
그래서, 싱글칩 마이크로컴퓨터에 있어서, 외부데이티버스의 폭을 64비트로 하면, 2뱅크 구성의 주기억 메모리와 직접 연결할 수 있게되어 데이타 버퍼가 불필요하다. 그 반면, 핀수가 증가하여 패키지 코스트가 높아진다. 또, 본딩패드의 간격의 제약 때문에 칩면적도 증대하게 된다. 이와 같은 이유에 의해서 고속 페이지 모드의 DRAM을 사용해서 평균 액세스시간을 단축하는 것은 큰 폐해가 있다. SRAM을 사용하면 1사이클마다의 연속 액세스는 가능하게 되지만, 코스트의 면에서 맞지 않게 되어 버린다. 저코스트로 평균 액세스시간을 저감하기 위해서는 상기 실시예와 같이 내장 캐시메모리의 채용이 가장 타당하게 된다.
캐시 미스율과 평균 액세스시간에 관한 시뮬레이션으로 내장 캐시메모리의 유효성을 검토하였다. 본 발명에 관한 싱글칩 마이크로컴퓨터에서는 버스의 구동을 가능한 한 적게해서 소비전력의 저감을 도모하기 위해, 내장 캐시메모리로의 액세스와 주기억 메모리로의 액세스를 병행해서 개시하는 구조를 채택하지 않고, 캐시 미스가 판명되고 나서 주기억매모리로의 액세스를 개시한다. 내장 캐시메모리로의 액세스와 주기억 메모리로의 액세스를 동시에 개시하지 않으므로, 캐시 미스시에는 캐시검색의 시간이 오버혜드로 된다. 이 오버혜드는 상기 중앙처리장치CPU의 평균 액세스시간의 증가로 이어진다. 캐시 미스율이 높으면, 이 오버헤드의 영향으로 캐시메모리를 갖지 않는 경우보다 상기중앙처리장치 CPU의 평균 액세스시간이 증가할 위험이 있다.
미스율에 관한 데이타는 게임용 프로그램의 트레이스 데이타가 없으므로 다음의 문헌 (Smith A.J., "Line(Block)Size Choice for CPU Cache Memories" , IEEE Trans. on Computers, vol.36, no.9, Sep. 1987, pp. 1063-1075) 의 값을 참고로 하였다. 제26도∼제28도에는 명령/데이타 혼재형 캐시메모리의, 캐시메모리의 메모리용량과 캐시메모리의 라인 사이즈를 바꾼 경우의 캐시메모리의 캐시 미스율의 관계를 도시한 특성도가 도시되어 있다. 제26도∼제28도에 있어서, 캐시매모리의 메모리용량 (캐시용량) 은 32바이트∼ 32K바이트까지 변화시키고, 캐시메모리의 라인 사이즈는 4바이트∼ l28바이트까지 변화시키고 있다.
여기에서 라인 사이즈라는 것은 캐시메모리중에 데이타를 축적하는 단위를 의미하고, 블럭 사이즈라고도 한다. 라인내 데이타의 부분 라이트를 가능하게 하기 위해, 라인내의 바이트, 워드 또는 롱 워드 단위로 유효비트를 마련하지 않는 경우, 라인 전체에 유효한 데이타를 저장하지 않으면 안된다. 캐시 미스시의 치환은 라인단위로 실행할 필요가 있다. 이 때문에, 라인 사이즈를 증대하면 치환에 필요한 시간은 증가한다.
본 발명에 관한 싱글칩 마이크로컴퓨터에서는 상술한 바와 같이 내부 캐시메모리의 액세스에 1사이클, 외부의 메모리 액세스에 2사이클 걸린다 (캐시메모리의 라인 사이즈가 4바이트인 경우).
캐시 미스율이 50%를 초과하면, 평균 액세스시간이 2사이클 이상으로 되고, 평균 액세스시간은 오히려 늦어진다.
칩 사이즈의 제한으로 캐시메모리에 할당할 수 있는 칩 점유면적은 4K바이트 정도의 메모리용량의 캐시메모리를 형성할 수 있는 칩 점유면적으로 된다. 제26도∼제28도에 도시한 바와 같이, 캐시메모리의 메모리용량이 4K바이트 (4096바이트) 이면, 라인사이즈를 가령 4바이트로 작게해도 캐시 미스율은 33%이하로 되고 캐시메모리는 그 효과를 발휘한다는 것을 알 수 있다.
본 발명에 관한 싱글칩 마이크로컴퓨터와 같이, 16비트 고정길이 명령의RISC마이크로 컨트롤러의 구조는 32비트 고정길이 명령의 RISC프로세서와 비교해서 오브젝트 코드 사이즈가 작은 것이 예상된다. 코드 사이즈가 작으면, 동일한 명령수를 실행하는 경우, 페치될 바이트수가 감소하여 캐시메모리의 캐시 미스율이 낮아진다. 동일한 용량의 캐시메모리에 저장할 수 있는 명령의 수가 16비트 고정길이 명령 쪽이 32비트 고정길이 명령에 비해서 많기 때문이다.
단, 32비트 RISC구조를 16비트로 바꾸어도 코드 사이즈가 1/2로 되는 것은 아니다. 즉각데이타 (immediate data)로서 명령중에 조합할 수 있는 최대값이 작아지기 때문이다. 큰 정수를 설정하기 위해서는 여러개의 명령을 사용할 필요가 있다. 명령코드로서의 비트수가 충분하지 않게 되므로, 3오퍼런드 어드레스를 2어드레스로 바꾸기 위해 l명령이 2명령으로 되는 경우가 있다. 또, 레지스터의 지정비트가 충분하지 않게 되므로 레지스터의 갯수를 32에서 16으로 줄이지 않을 수 없고, 레지스터의 대피회복을 실행하기 위한 명령이 추가되는 것이 고려된다. 즉, 3개의 오퍼런드의 지정을 할 수 없기 때문에, 연산명령전에 레지스터의 값을 카피하는 명령을 추가하는 것도 고려된다.
그래서, 이들을 검증하기 위해, 본 발명에 관한 싱글칩 마이크로컴퓨터용으로 생성한 오브젝트 코드 사이즈를 조사한 결과 Dhrystone벤치마크는 968바이트, SPECint벤치마크의 li는 33,042바이트, 마찬가지로 SPECint 벤치마크의 eqntott 는 6,992바이트였다. 일반적인 32비트 고정길이 RISC프로세서의 경우, 각각 1,680바이트, 51,440바이트, 10,832바이트이고, 상기 16비트 고정길이와 비교하면 55 ∼ 74 %증가한 것이다. 즉, 16비트 고정길이 명령의 오브젝트 코드 사이즈는 일반적인 32비트 고정길이명령의 오브젝트 코드 사이즈에 비해서 30%∼40%작다.
『Bunda J. & Athas W.,"16-Bit vs. 32-Bit Instructions for Pipelined Microprocessors," ISCA'20 Proceedings,May 16-19, 1993,pp.237-246』에 의하면, 32비트 RISC구조인 DLX를 16비트화하면 오브젝트 코드 사이즈는 2/3으로 감소하고 실행명령수는 15%증가하지만, 명령전송량은 35% 감소하는 결과가 얻어지고 있다. 또, 16비트화에 의한 성능향상은 저속의 메모리를 접속하는 경우에 효과가 보다 현저하다고 보고되고 있다. 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 캐시메모리의 구성은 상술한 바와 같이 명령/데이타 혼재형의 4웨이 세트 연관방식을 채용하였다. 라인 사이즈는 싱크로너스DRAM과의 직접 연결을 고려해서 16바이트로 된다. CPU와 캐시메모리 사이의 액세스경로는 l개로 하고, 명령과 데이타에서 다른 액세스경로를 사용하는 하버드 (Harvard)구조를 채용하지 않았다. 상기 실시와 같이, 액세스경로를 l개로 하면, 동일한 클럭에서 멍령페치와 데이타 액세스를 처리할 수는 없지만, 데이타액세스를 수반하는 명령을 적절한 어드레스에 배치해서 이 문제를 회피할 수 있다.
즉, 명령은 16비트 고정 길이이므로, 32비트단위로 메모리를 액세스하는 경우, 2명령에 1회의 명령 페치로 된다. 제29도 (A)는 4n번지에 메모리 액세스의 명령이 있는 경우의 메모리에 대한 액세스의 설명도이다. 제29도 (B)는 4n+2 번지에 메모리 액세스의 명령이 있는 경우의 메모리에 대한 액세스의 설명도이다.
외부 프로그램 메모리, 예를 들면 제22도의 ROM 으로 부터의 로드, 스토어를 수반하는 명령을 우수워드 경계(4n번지)에 배치하면, 제29도 (A)에 도시된 바와 같이 액세스경로가 1개라도 명령 폐치와 데이타 액세스는 경합하지 않게 된다. 이와 같이, 액세스경로를 l개로 하는 것에 의해, 캐시매모리의 구성의 자유도를 증가시킬수 있다. 즉, 명령/데이타 혼재형 캐시메모리, 명령/데이타 분리형 캐시매모리, 명령 또는 데이타만의 캐시매모리중 어느것이라도 실현 가능하게 된다.
또한,제29도(A) 및 제29도(B)는 본 발명에 따른 싱글칩 마이크로컴퓨터의 파이프라인 스테이지가 도시되어 있고, 파이프라인 스테이지는 명령 페치 스테이지, 명령 디코드 스테이지, 명령 실행 스테이지,매모리 액세스 스테이지 및 라이트 백 스테이지와 5단의 파이프라인 스테이지로 구성된다. 점선으로 둘러싸인 명령 패치는 실행되지 않는 또는 실행할 필요가 없는 명령 패치 스테이지를 나타내고, 일점쇄선으로 둘러싸인 부분은 파이프라인의 스톨 (파이프라인의 빈공간)을 나타내고, 명령을 처리할 수 없는 스테이지로 된다. 제 29도 (A)에 있어서, 명령을 저장하는 번지를 적절한 값으로 설징해서 메모리 액세스와의 경합을 피하도록 한다. 명령 페치는 32바이트단위로 실행한다. 메모리 액세스를 수반하는 명령을 4n 번지에 배치하면, 제29도 (A)에 도시한 바와 같이 4n+6번지의 명령 페치와 메모리 액세스가 중첩되지 않는다. 한편, 4n+2번지에 배치한 경우는 제29도 (B)에 도시한 바와 같이 4n+6번지의명령 페치와 메모리 액세스가 중첩되어 버리므로, 파이프라인의 스톨이 발생한다. 4n+4번지 이후의 명령의 실행이 1사이클 지연된다.
상기 명령/데이타 혼재형 캐시메모리와 명령/데이타 분리형 캐시 메모리에 대해서 비교하면 다음과 같다. 명령뿐인 캐시메모리와 데이타뿐인 캐시메모리는 명령/데이타 혼재형 캐시의 치환논리를 변경하는 것에 의해 실현할 수 있기 때문이다.
용량4K바이트의 명령/데이타 혼재형 캐시메모리의 캐시 미스율은 라인 사이즈가 16바이트시에 제26도에 도시되어 있는 바와 같이 12%이다. 명령과 데이타에 각각 2K 바이트의 캐시를 준비한 분리형의 경우는 제27도와 제28도에 도시한 바와 같이 명령의 캐시 미스율이 15%이고, 데이타의 캐시 미스율이 12%로 된다.
또, 명령 페치는 데이타 액세스에 비해서 빈도가 높고, CPI(cycles per instruction)에 미치는 영향은 크다. 명령의 캐시 미스율은 가능한 한 낮게 하는 것이 바람직하다. 그래서, 캐시메모리로서 명령/데이타 혼재형 캐시메모리가 채용되었다.
4웨이 세트 연관방식은 캐시 미스율과 소비전력, 칩면적의 트레이드 오프를 고려해서 정해졌다. 직접맵핑방식은 캐시용량이 작은 경우, 프로그램에 의해서는 스래싱이 빈발하고, 캐시 미스가 연속할 가능성이 높다. 스래싱이란 캐시미스가 연속해서 발생하고,주기억 메모리와 캐시메모리 사이의 데이타전송이 많아지는 것이다. 명령과 데이타를 저장하는 어드레스를 조절해서 스래싱을 피하는 것은 가능하지만, 어셈블러 레벨에서의 튜닝이 필요하게 된다. C언어로 개개의 프로그램을 라이트하고 링커로 정리하는 개발방법이 주류를 이루고 있는 시대의 추세에 어울리지 않는다. 또, 풀 연관방식의 캐시메모리는 칩면적이 증대하고, 또 소비전력이 크다고 하는 문제가 있다.
그래서, 세트 연관방식에 대해서 검토한 결과는 다음과 같다.
캐시의 용량이 4K바이트인 경우, 4웨이까지는 웨이수를 늘리면 캐시미스율이대폭으로 저감한다. 이것에 대해서, 4웨이와 8웨이의 차는 0.2%로 작다. 또, 캐시미스율을 낮게하기 위해, 라인의 치환 알고리듬에 LRU를 사용하는 것도 검토하였지만, 8웨이에서는 옌트리마다 28비트의 LRU 정보를 준비하지 않으면 안된다.
캐시매모리 전체의 5%가 LRU정보에 의해 점유되게 되어 코스트에 영향을 미친다. 즉, 이 실시예와 같이 4웨이의 경우, LRU정보는 6비트로 좋으므로, LRU정보를 위한 칩 점유면적은 캐시메모리 전체의 칩 점유면적의 1%로 적게 할 수 있다.
본 발명애 관한 싱글칩 마이크로컴퓨터가 포함하는 싱크로너스DRAM과의 인터페이스회로는 캐시 미스시에 라인의 치환에 걸리는 시간을 단축하기 위한 것이다. 기존의 DRAM에서 8사이클 걸리는 라인의 치환이 싱크로너스DRAM을 사용한 경우는 6사이클로 된다.
제30도에 도시한 바와 같이, 라인 사이즈를 너무 크게 취하면, CPU의 평균 액세스시간의 증가로 이어진다. 라인 사이즈를 어느정도 크게하면, 캐시메모리의 캐시미스율이 떨어지므로, 평균 액세스시간이 단축된다. 라인 사이즈를 너무 크게하면, 외부메모리로부터의 데이타 전송에 걸리는 시간이 길어져 평균 액세스시간의 증가를 초래한다. 동일도면에서 CPU의 동작주파수는 28.7MHz, SRAM의 액세스시간은 60ns, DRAM의 액세스시간은 70ns이다.
DRAM의 고속 페이지 모드의 사이클시간은 45ns, 싱크로너스DRAM은 최고 동작주파수66MHz 인 것을 사용한 예가 도시되어 있다.
캐시매모리의 용량이 동일하면, 어느 정도 라인 사이즈를 늘린 쪽이 캐시메모리의 캐시미스율이 낮아진다. 캐시미스시에 라인단위로 치환을 실행하므로, 캐시메모리의 프리페치와 동일한 효과를 기대할수 있기 때문이다. 따라서, 라인 사이즈가 너무 커져서 엔트리수가 부족하게 될때까지는 라인 사이즈를 늘리는 것이 좋다.
그러나, 라인 사이즈를 크게해서 캐시미스율을 낮게했다고 해서 반드시 펑균 액세스시간의 단축으로 이어진다고는 할 수 없다. 일단 캐시미스했을 때 라인의 치환에 걸리는 시간은 라인 사이즈가 클수록 길어지기 때문이다.
본 발명에 관한 싱글칩 마이크로컴퓨터는 라인의 치환이 종료할 때까지 명령의 실행을 정지한다. 라인의 치환의 도중에 캐시를 액세스하기 위해서는 복잡한 제어가 필요하기 때문이다. CPl 를 저감하기 위해서는 가능한 한 단시간에 라인의 치환을 완료하는 것이 바람직하다. 그래서, 라인 사이즈에 해당하는 일괄된 데이타(블럭 데이타) 의 전송속도가 빠른 메모리가 필요로 되어 고속 페이지 모드의 DRAM과 싱크로너스DRAM, Rambus 준거의 DRAM에 대해서 검토하였다.
이 중, 싱크로너스DRAM과 Rambus준거의 DRAM은 1라인을 일괄해서 칩내의 버퍼에서 리드하고, 다음에는 클럭입력과 동기해서 이것을 순차 전송하는 방식을 채택한다. 2개째 이후의 데이타는 메모리의 내부동작에 구속받지 않고 전송할 수 있다. Rambus준거의 DRAM은 최고 2 ns의 사이클에서 데이타 전송이 가능하다. 그러나, Rmmbus준거의 DRAM은 기존의 CMOS칩과는 신호레벨이 다르다.
제 22 도와 같은 ROM 이나 주변 I/O 와 신호핀을 직접 연결할 수 없다. 본 발명에 관한 싱글칩 마이크로컴퓨터의 입출력 인터페이스의 신호레벨을 Rambus준거의 DRAM에 맞출수도 있지만, 현상태에서는 범용성이 없어져 버린다는 문제가 발생한다.
본 발명에 관한 싱글칩 마이크로컴퓨터에서는 캐시메모리의 액세스를 32비트 단위로 실행한다. Rambus준거의 DRAM을 CPU의 동작주파수로다 빠른 클럭으로 동작시켜서 데이타를 페치해도 직접적으로 캐시메모리에 라이트할 수는 없다. 그 때문에, 칩내에 버퍼가 필요로 되어 코스트상승을 초래해 버린다. 고속 페이지 모드의 DRAM은 블럭 전송속도가 컬럼 어드레스를 선택하기 위한 CAS 신호의 사이클시간이 장애로 되어 큰 속도개선을 실행할 수가 없다. 싱크로너스DRAM은 데이타 전송속도만은 최고 16 ns/사이클이지만, 신호레벨은 전원전압이 + 3.3V 인 메모리와 동일한 LVTTL 이다.
제어신호이외의 신호핀을 주변회로와 직접 연결할 수 있다.
클럭의 상승에지만을 사용하기 때문에 클럭에 대한 제약이 느슨하다.
본 발명에 관한 싱글칩 마이크로컴퓨터에서는 이상의 검토로 부터 싱크로너스DRAM과의 인터페이스를 조합하도록 되었다. 싱크로너스DRAM은 고속 페이지 모드DRAM의 RAS 액세스에 상당하는 뱅크 액티브 상태로 한 경우에 로우어드레스의 사이클을 생략할 수 있다.
l회째의 액세스시간을 단축하는 것이 가능하다. 또, 내부가 2개의 뱅크로 분할되어 있어 각각 독립된 로우어드레스에 대해서 뱅크 액티브상태로 해둘 수 있다. 메모리내의 저위측의 어드레스에 명령, 고위측의 어드레스에 데이타라는 배치를 취한 경우, 명령과 데이타의 액세스가 혼재해도 액세스시간을 단축할 수 있는 확률은 높아진다. 이것도 싱크로너스 DRAM인터페이스를 채용한 이유중의 하나이다.
싱크로너스DRAM의 사용을 고려한 결과, 캐시메모리의 라인 사이즈는 16바이트로 되고, 제 30 도에서 평균 액세스시간은 1.72사이클로 되었다.
본 발명에 관한 싱글칩 마이크로컴퓨터에서는 캐시메모리의 제어를 간단히 하기 위해 데이타의 라이트에는 라이트 스루방식을 채용하는 것이다. 이것은 카피 백방식이 라이트 스루방식보다 미스율이 높다는 것 때문이다.
그렇지만 라이트 스루방식에서는 주기억 메모리로의 라이트시에 오버 헤드를 발생한다. 기존의 싱크로너스DRAM은 리드시와 라이트시의 전송 블럭 사이즈가 동일하기 때문이다. 1워드 (4바이트)의 데이타를 라이트하는 경우에도 1라인 (16바이트) 분의 라이트조작을 해야만 한다. 라이트시마다 3개의 빈 사이클이 발생해 버린다. 싱크로너스DRAM은 블럭 액세스의 도중에서 다음의 액세스를 강제적으로 개시할 수도 있지만, 인터페이스의 회로가 복잡하게 된다.
그래서, 본 발명에 관한 싱글칩 마이크로컴퓨터에 접속되는 제 8도등에 도시된 상기와 같은 싱크로너스DRAM에 있어서 리드는 블럭단위로 실행하지만 라이트는 워드단위로 실행할 수 있는 블럭 리드/싱글 라이트의 기능을 갖는 것이다.
본 발명에 관한 싱글칩 마이크로컴퓨터는 가정용 게임기 이외에 휴대형 정보통신기기의 용도로도 되어 있다. 이와같은 기기는 옥외에서 들고 다니며 사용하기 때문에 전지구동이 전제이므로, 마이크로 컨트롤러가 소비하는 전력을 가능한 한 억제할 필요가 있다. 저코스트의 플라스틱 패키지에 마이크로 컨트롤러를 수납하기 위해서도 발열을 억제하는 것이 필요하다.
캐시메모리에서의 저소비전력화를 위해, 제 18도 및 제 3l도에 도시한 바와 같이, 어드레스 어레이와 데이타 어레이를 1/2사이클 어긋나게 동작시키고, 어드레스 어레이의 비교결과에 따라서 4웨이의 데이타 어레이중 히트한 웨이의 센스앰프만을 동작시키는 구조로 된다. 동일도면은 상기 제 18 도와 대응하고 있다.
제 32 도에는 본 발명에 관한 캐시메모리의 동작 타이밍이 도시되어 있다. 칩 전체의 소비전력을 저감하기 위해, 워드선의 제어를 고려해서 비트선의 충방전에 의한 소비전류의 저감을 도모하도록 하였다. 데이타선을 1/2사이클 동안에 프리차지한다. 다음의 1/2사이클에서 데이타를 리드한다. 즉, 어드레스의 디코드 결과에 따른 워드선의 구동과 메모리셀의 데이타선(bit,/bit 1ines)으로의 리드와 센스앰프의 구동을 동시에 실행한다.
히트하지 않은 웨이의 센스앰프를 동작시키지 않아도,그 웨이의 워드선을 상승시키면 데이타선의 충방전을 피할 수 있다. 그래서, 히트한 웨이의 워드선만을 상승시키는 것으로 하였다. 이를 위해서는 워드선의 구동 타이밍보다 이전에 히트한 웨이를 확정할 필요가 있다. 시뮬레이션에 의해서, 워드선 구동보다 먼저 히트한 웨이의 확정이 가능하다는 것을 알 수 있다. 이와 같은 구성으로 하는 것에 의해, 데이타선 충방전에 의한 소비전류를 대폭으로 저감할 수 있다.
또, 상기 제 19 도의 실시예와 같이 전류미러 차동형의 센스앰프를 크로스 커플형 센스앰프로 바꾸고 센스앰프의 관통전류를 제거하였다. 크로스 커플형 센스앰프는 구동 타이밍이 곤란하다. 데이타선간의 전위차가 유의로 된 후에 센스동작을 개시하지 않으면, 오동작할 우려가 있기 때문이다. 이 때문에, 종래는 전류미러 차동형을 사용하고 있었다. 본원 발명에서는 타이밍 생성회로계의 미세조정에 의해서 크로스 커플형의 채용을 가능하게 한다.
캐시메모리를 내장한 경우에 인서키트 에뮬레이터의 트레이스 기능을 어떻게 실현할지가 문제로 된다. 트레이스에 의한 디버그의 지원은 문제가 발생한 시점의 전후의 버스 액세스를 정확하게 표시하는 것에 의해 가능하게 된다. 캐시메모리를 내장하면 캐시메모리에 캐시미스한 메모리 액세스만이 외부버스로 출력되므로, 정확한 트레이스 데이타가 얻어지지 않는다.
그래서, 본 발명에 관한 싱글칩 마이크로컴퓨터에서는 캐시메모리로 액세스하고 있을 때의 트레이스를 가능하게 하기 위해, 캐시히트시에 그 어드레스와 데이타를 1사이클분 버스로 출력하는 모드를 마련하였다. 단일 프로세서에서 사용하는 경우, 캐시메모리에 캐시히트했을 때는 메모리 액세스를 실행하지 않는다. 즉, 트레이스시에는 어드레스와 데이타의 출력이 실행되지 않아 외부버스가 비어있다. 이것을 이용해서 트레이스 데이타를 출력하도록 한다.
이것에 대해서, DMA 컨트롤러를 사용하여 높은 버스사용율로 데이타의 전송을 실행하는 경우나 멀티 프로세서 시스템에서는 트레이스 데이타의 출력과 DMA 전송 또는 다른 프로세서로 부터의 메모리 액세스가 경합할 가능성이 있다. 최악으로 DMA컨트롤러가 듀얼 어드레스 전송을 실행하여 버스를 점유하고 있는 경우, 리드와 라이트의 인터벌을 대기해서 트레이스 데이타를 출력하기 때문에, CPU 성능은 캐시 대신에 실제로 접속되어 있는 메모리보다 2배 느린 메모리를 접속한 경우와 동등하게 된다.
마이크로 컨트롤러를 사용한 시스템을 개발할 때 프로그램 디버그에 대한 서보트는 중요한 위치를 차지한다. 현재의 프로그래밍은 어셈블러 언어를 떠나 C 언어, 더 나아가서 일부 응응에 관련해서는 오브젝트 지향을 도입하여 C++ 등의 오브젝트 지향의 프로그래밍언어를 채용하고 있다. 이 상황에서, 스테이트먼트 단위의 프로그램 실행의 정지와 상징적인 변수의 참조기능은 프로그래머의 작업효율을 향상시키기 위해 불가결하게 되어 있다.
RAM 상에 OS나 응용 프로그램을 로드하는 퍼스널 컴퓨터나 워크 스테이션 과는 달리 기기에 조립하는 마이크로 컨트롤러는 최종적인 디버그를 ROM 상에서 실행하는 경우가 많다. RAM상의 프로그램은 실행정지를 실행하기 위해 지정하는 어드레스의 명령을 브레이크명령으로 치환하는 것에 의해, 정확한 정지를 용이하게 실현할 수 있다. 캐시메모리 내장에서도 정지방법은 동일하다. ROM 에서는 명렁의 치환을 실행할 수 없다.
본 발명에 관한 싱글칩 마이크로컴퓨터에서는 제 1도에 도시한 바와 같이, 실행의 정확한 정지를 서포트하기 위해, 명령 페치 어드레스를 검출하여 지정 어드레스의 명령 직전에 브레이크 인터럽트를 발생시키는 사용자 브레이크 컨트롤러UBC가 마련되어 있다. 사용자 브레이크 컨트롤러UBC 에는 데이타 액세스의 어드레스 및 데이타의 값에 따라서 브레이크 인터럽트를 발생시키는 기능도 추가로 부가되어 있다. 칩 내부에 조립하는 것에 의해, 캐시메모리에 히트하여 외부 액세스가 실행되지 않는 경우에도 정확하게 브레이크 인터럽트를 발생할 수 있다.
칩 내부의 어드레스버스와 데이타버스는 거의 모든 모듈에 배선된다. 그 정전용량은 수pF 정도로 된다. 어드레스버스/데이타 버스의 각 32개를 1사이클마다 역극성으로 구동하면, 전하의 충방전에 의한 소비전류가 60mA를 초과해 버려, 정전용량이 커지면 지연도 증가하게 된다.
그래서, 본 발명에 관한 싱글칩 마이크로컴퓨터에서는 상기 제 1 도 등의 실시예와 마찬가지로, 내부버스를 분할해서 버스마다 구동방법을 고안하는 것에 의해 충방전 전류의 저감을 도모하는 것이다.
칩내의 내부버스는 제 l도에 도시한 바와 같이 3종류로 분류되는 것이다.
제 33 도에는 본 발명에 관한 싱글칩 마이크로컴퓨터에 있어서의 각 버스사이클을 설명하기 위한 타이밍도가 도시되어 있다. 캐시버스 AB1,DB1 (상기 제 1 도의 제 1 내부버스) 와 내부버스AB2, DB2 (상기 제 1 도의 제 2 내부버스) 의 각 신호는 클럭의 하이레벨 기간과 동기해서 변화하고, 칩 외부에 접속된 외부버스AB4,DB4 (상기 제 l 도의 제 4 의 버스)의 각 신호는 클럭의 로우레벨 기간과 동기해서 변화한다.
CPU가 메모리상의 데이타 또는 명령을 액세스하는 경우, CPU는 클럭신호와 동기해서 캐시 어드레스버스ABl로 어드레스신호를 출력함과 동시에, 액세스를 실행하는 것을 표시하기 위한 액세스신호(도시하지 않음)를 하이레벨로 한다. 캐시메모리는 이것을 받아서 내부의 캐시메모리의 검색을 실행한다. 액세스가 외부메모리에 대한 리드이고 또한 액세스 어드레스의 데이타가 캐시메모리내에 존재하는 경우, 캐시메모리는 다음의 사이클에서 클럭신호와 동기해서 캐시데이타버스DB1 로 캐시 데이타 메모리에서 리드한 데이타를 출력함과 동시에, 레디신호를 하이레벨로 하고, CPU 에 데이타의 액세스가 완료한 것을 표시한다. 동일도면에서는 어드레스A 번지의 액세스와 어드레스A+4번지의 액세스가 이것에 해당한다.
캐시메모리에 데이타가 존재하지 않는 경우, CPU 는 내부버스 (AB2, DB2)를 거쳐서 캐시 외부의 데이타를 액세스한다. 동일도면에서는 어드레스C번지에 대한 엑세스가 이것에 해당한다. 즉, CPU는 사이클4에 캐시 어드레스버스ABl에 어드레스신호C를 출력함과 동시에, 도시하지 않은 액세스신호를 하이레벨로 한다. 캐시메모리내에 데이타가 없으므로, 캐시메모리는 사이클5에서 레디신호를 로우레벨로해서 데이타가 준비되어 있지 않은 것을 CPU에 알림과 동시에, 내부버스 (AB2, DB2)의 버스액세스신호를 하이레벨로 한다.
외부어드레스 인터페이스(제l도의 OBIF)는 상기 액세스신호의 하이레벨을 받아서 내부어드레스버스(AB2) 의 값을 디코드하고, 이것이 칩내부에 대한 액세스인지 외부에 대한 액세스인지를 판정한다.
어드레스신호C의 번지는 칩 외부의 어드레스번지이므로, 즉시 외부어드레스버스(AB4) 에 어드레스신호C를 실어 외부버스 액세스신호를 하이레벨로 한다.
다음의 사이클에서는 데이타의 리드준비가 완료되지 않으므로, 내부 레디신호가 로우레벨로 되이 캐시메모리에 대해서 데이타의 준비가 불가능한 것을 통지한다. 외부 인터페이스OBIF는 리드가 완료하는 사이클6에 리드한 데이타를 내부데이타버스 (AB2,DB2)로 출력함과 동시에 내부 레디신호를 하이레벨로 해서 캐시메모리에 리드완료를 통지한다. 캐시메모리는 내부버스 (AB2, DB2)의 데이타를 캐시메모리에 라이트함과 동시에 캐시데이타버스 (DB1)로 출력하고, 또한 캐시 레디신호를 하이레벨로 해서 CPU 에 리드완료를 통지한다.
이 캐시 레디신호가 로우레벨의 기간 (사이클5와 사이클6 ) 동안 CPU 는 어드레스버스AB1 의 갱신을 정지한다.
데이타의 라이트동작에서는 외부의 데이타 라이트의 완료를 기다릴 필요가 없으므로, 어드레스B번지의 액세스에 나타나 있는 바와 같이, 캐시메모리는 상기 브레이크 컨트롤러UBC 를 거쳐서 내부어드레스버스(AB2) 로 어드레스신호B를 출력하고, 버스 액세스신호를 하이레벨로 할 때 CPU에 공급되는 캐시 레디신호를 하이레벨로 유지한다.
따라서, CPU 는 외부버스AB4, DB4 의 라이트 완료를 기다리지 않고 실행을 계속한다.
CPU 가 주변버스 (제 1도의 제 3내부버스) 에 접속되는 주변모듈인 프리 런닝 타이머FRT, 직렬 통신 인터페이스SCI , 워치독 타이머WDT로 액세스하는 경우, 캐시어드레스버스AB1 에서 캐시메모리를 거쳐서 내부어드레스버스AB2로 출력되는 어드레스신호B 가 이들 주변모듈의 어드레스신호B 로 된다. 어드레스신호B는 버스상태 컨트롤러BSC를 거쳐서 주변어드레스버스AB3으로 출력된다. 동시에 버스액세스신호가 하이레벨로 된다.
주변모듈에서 주변데이타버스DB3 의 데이타출력, 또는 주변데이타버스 DB3상의 데이타의 주변모듈로의 라이트 완료 후에, 외부버스 인터페이스OBIF가 내부버스 레디신호를 하이레벨로 해서 액세스의 완료를 알린다. 데이타 리드의 경우, 이 때 동시에 버스상태 컨트롤러BSC에서 주변데이타버스DB3 상의 리드데이타가 내부 데이타버스DB2로 출력된다.
제 34 도에는 싱크로너스DRAM의 모드 라이트동작을 설명하기 위한 타이밍도가 도시되어 있다. 본 발명에 관한 싱글칩 마이크로컴퓨터에 있어서는 특히 제한되지 않지만, 싱크로너스DRAM에 대한 모드설정이 다음과 같이 실현된다.
CPU의 어드레스공간에 있어서, 내장주변모듈용으로서 할당된 FFF8OO0 번지부터 FFFFFFFF번지중 FFFF8OOO부터 FFFFBOOO번지를 액세스 (라이트 또는 리드) 하면, 그 어드레스가 그대로 외부버스AB4, DB4 로 출력됨과 동시에, 싱크로너스DRAM에 접속되는 /CS3, /RAS, /CAS 및 /WE 의 각 제어신호가 동시에 l클럭 사이클 동안 로우레벨로 된다.
싱크로너스DRAM은 이들 4개의 각 제어선의 신호가 로우레벨일 때, 클럭의 상승에지와 동기해서 어드레스버스AB4 의 값을 페치하고, 이것을 그대로 내부모드 설정레지스터에 라이트한다. 따라서, 상기 FFFF8OOO부터 FFFFBOOO 번지의 적당한 어드레스를 액세스하는 것에 의해, 바라는 모드설정을 간단하게 실행할 수 있다. 상기와 같은 타이밍에서의 제어신호의 발생은 제7도에 도시된 상기 메모리 제어신호 발생회로MCTG에 의해 형성된다. 즉, 버스상태 컨트롤러BSC의 에리어제어부등에 적당한 어드레스 디코더를 마련하고, 상기와 같은 어드레스 디코드조건에 의해 상기와 같은 4개의 메모리 제어선의 신호를 로우레벨로 하는 시퀀스상태를 마련하도록 하는 것에 의해서 실현된다.
제 35 도에는 상기 싱크로너스DRAM( 이하, 단지 SDRAM 이라 한다) 의 1실시예의 블럭도가 도시되어 있다. 동일도면에 도시된 SDRAM은 특히 제한되지 않지만, 공지의 반도체 집적회로의 제조기술에 의해서 단결정 실리콘과 같은 l개의 반도체기판상에 형성된다.
이 실시예의 SDRAM 은 메모리뱅크A(BANKA)를 구성하는 매모리어레이(2O0A) 와 메모리뱅크B(BANKB)를 구성하는 메모리어레이 (2OOB)를 구비한다. 각각의 메모리어레이 (2OOA) 와 (200B)는 매트릭스 배치된 다이나믹형 메모리셀을 구비하고, 도면에 따르면 동일컬럼에 배치된 메모리셀의 선택단자는 컬럼마다의 워드선 (도시하지 않음)에 결합되고, 동일 로우에 배치된 메모리셀의 데이타 입출력단자는 로우마다 상보데이타선 (도시하지 않음) 에 결합된다. 상기 메모리어레이 (200A) 의 도시하지 않은 워드선은 로우디코더(201A) 에 의한 로우어드레스신호의 디코드결과에 따라서 l개가 선택레벨로 구동된다. 메모리어레이 (2OOA)의 도시하지 않은 상보 데이타선은 센스앰프 및 컬럼선택회로 (2O2A)에 결합된다. 센스앰프 및 컬럼선택회로 (202A)에 있어서의 센스앰프는 메모리셀로 부터의 데이타 리드에 의해서 각각의 상보데이타선에 나타나는 미소전위차를 검출해서 증폭하는 증폭회로이다. 센스앰프 및 컬럼선택회로 (2O2A)에 있어서의 컬럼선택회로 (컬럼스위치회로) 는 상보데이타선을 각각 별도로 선택해서 상보 공통데이타선 (2O4) 와 도통시키기 위한 스위치회로이다. 컬럼스위치회로는 컬럼디코더 (2O3A)에 의한 컬럼어드레스신호의 디코드결과에 따라서 선택동작된다.
메모리어레이(200B)측에도 마찬가지로 로우디코더 (201B), 센스앰프 및 컬럼선택회로 (2O2B), 컬럼디코더 (203B)가 마련된다.
상기 상보 공통데이타선 (204) 는 입력버퍼 (210)의 출력단자 및 출력버퍼 (211) 의 입력단자에 접속된다. 입력버퍼 (210)의 입력단자 및 출력버퍼(211)의 출력단자는 16비트의 데이타 입출력단자I/O 0 ∼ I/O 15에 접속된다.
어드레스입력단자A0∼A9에서 어드레스 멀티플렉스형식으로 공급되는 로우어드레스신호와 컬럼어드레스신호는 컬럼어드레스버퍼 (205) 와 로우어드레스버퍼 (206) 은 각각 페치되어 유지된다. 로우어드레스버퍼 (206) 은 리프레시 동작모드에 있어서, 리프레시 카운터(208) 에서 출력되는 리프레시 어드레스신호를 로우어드레스신호로서 페치한다. 컬럼어드레스버퍼 (205) 의 출력은 컬럼어드레스 카운터(207)의 프리세트 데이타로서 공급되고, 컬럼어드레스 카운터 (207) 은 후술하는 커맨드등에 의해 지정되는 동작모드에 따라서 상기 프리세트 데이타로서의 컬럼어드레스신호, 또는 그 컬럼어드레스신호를 순차 인크리먼트한 값을 컬럼디코더 (203A), (2O3B)를 향해서 출력한다.
컨트롤러 (212) 에는 특히 제한되지 않기만, 클럭신호CLK, 클럭 인에이블신 호CKE, 칩 선택신호/CS, 컬럼어드레스 스트로브신호/CAS (기호 /는 이것이 붙여진 신호가 로우 인에이블신호인 것을 의미한다), 로우어드레스 스트로브신호/RAS 및 라이트 인에이블신호/WE등의 외부 제어신호와 어드레스 입력단자AO∼A9로 부터의 제어데이타가 공급되고, 그들의 신호 레벨의 변화나 타이밍등에 따라서 SDRAM의 동작모드 및 상기 회로블럭의 동작을 제어하기 위한 내부 타이밍신호를 형성하는 것으로, 그것을 위한 제어논리 (도시하지 않음)와 모드 레지스터 (30) 을 구비한다.
클럭신호CLK는 SDRAM의 마스터 클럭으로 되고, 그 밖의 외부입력신호는 상기 클럭신호CLK의 상승에지와 동기해서 유의로 된다.
칩 선택신호/CS 는 그 로우레벨에 의해서 커맨드 입력사이클의 개시를 지시한다. 칩 선택신호/CS가 하이레벨일 때 (칩 비선택상태), 그 밖의 입력은 의미를갖지 않는다. 단, 후술하는 메모리 뱅크의 선택상태나 버스트동작등의 내부동작은 칩 비선택상태로의 변화에 의해서 영향받지 않는다. /RAS,/CAS,/WE 의 각 신호는 통상의 DRAM에 있어서의 대응신호와는 기능이 상이하고, 후술하는 커맨드 사이클을 정의할 때 유의의 신호로 된다.
클럭 인에이블신호CKE는 다음의 클럭신호의 유효성을 지시하는 신호로서, 상기 신호CKE 가 하이레벨이면 다음의 클럭신호CLK 의 상승에지가 유효로 되고, 로우레벨일 때에는 무효로 된다. 또, 도시하지 않지만, 리드모드에 있어서 출력버퍼 (211)에 대한 출력 인에이블의 제어를 실행하는 외부제어신호도 컨트롤러 (212) 에 공급되고, 그 신호가 예를 들어 하이레벨일 때에는 출력버퍼 (211) 은 고출력 임피던스상태로 된다.
상기 로우어드레스신호는 클럭신호CLK의 상승에지와 동기하는 후술하는 로우어드레스 스트로브 뱅크 액티브 커맨드 사이클에 있어서의 AO∼A8의 레벨에 의해서 정의된다.
A9로부터의 입력은 상기 로우어드레스 스트로브 뱅크 액티브 커맨드 사이클에 있어서, 뱅크선택신호로 간주된다. 즉, A9의 입력이 로우레벨일 때, 메모리뱅크 A가 선택되고, A9의 입력이 하이레벨일 때, 메모리뱅크 B 가 선택된다. 메모리뱅크의 선택제어는 특히 제한되지 않지만, 선택 메모리뱅크 측의 로우 디코더만의 활성화, 비 선택 메모리뱅크 측의 컬럼스위치회로의 전체비선택, 선택 메모리뱅크 측만의 입력버퍼 (210) 및 출력버퍼 (211)로의 접속등의 처리에 의해서 실행할 수 있다.
후술하는 프리차지 커맨드 사이클에 있어서의 A8의 입력은 상보데이타선등에 대한 프리차지동작의 상태를 지시하고, 그 하이레벨은 프리차지의 대상이 쌍방의 메모리뱅크인 것을 지시하고, 그 로우레벨은 A9에 의해 지시되고 있는 한쪽의 메모리뱅크가 프리차지의 대상인 것 을 지시한다.
상기 컬럼어드레스신호는 클럭신호CLK의 상승에지 와 동기하는 리드 또는 라이트 커맨드 (후술하는 컬럼어드레스 리드커맨드, 컬럼어드레스라이트 커맨드) 사이클에 있어서의 AO∼A7의 레벨에 의해서 정의된다. 그리고, 이와 같이 해서 정의된 컬럼어드레스는 버스트 액세스의 개시 어드레스로 된다.
다음에, 커맨드에 의해서 지시되는 SDRAM의 주요한 동작모드를 설명한다.
[1] 모드레지스터 세트 커맨드 (Mo) :
상기 모드레지스터 (30) 을 세트하기 위한 커맨드로서, /CS,/RAS,/CAS, /WE가 로우레벨인 것에 의해서 상기 커맨드가 지정된다.
세트해야할 데이타 (레지스터 세트데이타) 는 AO∼A9를 거쳐서 부여된다. 상기 레지스터에 세트될 데이타는 특히 제한되지 않지만, 버스트 길이, CAS 회전지연 (latency), 라이트모드등을 지정하기 위한 데이타로 된다. 특히 제한되지 않지만, 설정가능한 버스트 길이(워드수로 표시된다) 는 1워드, 2워드, 3워드, 4워드, 8워드 및 풀 페이지 (256워드, 1라인의 어드레스분에 상당한다) 로 되고, 설정 가능한 CAS 회전지연은 1사이클, 2사이클, 3사이클로 되고, 설정가능한 라이트모드는 버스트 라이트모드와 싱글 라이트모드로 된다. 상기 CAS 회전지연은 후술하는 컬럼어드레스 리드커맨드에 의해서 지시되는 리드동작에 있어서 /CAS의 하강에서 출력버퍼(211) 의 출력동작까지 클럭신호CLK의 몇사이클분을 소비할지를 지시하는 것이다. 리드데이타가 확절될때까지는 데이타 리드를 위한 내부동작 시간이 필요로 되고, 그것을 클럭신호CLK의 사용주파수에 따라서 설정하기 위한 것이다. 즉, 주파수가 높은 클럭신호CLK를 사용하는 경우에는 CAS회전지연을 상대적으로 큰 값으로 설정하고, 주파수가 낮은 클럭신호CLK를 사용하는 경우에는 CAS회전지연을 상대적으로 작은 값으로 설정한다.
[2] 로우어드레스 스트로브 뱅크 액티브 커맨드 (Ac) :
이것은 로우어드레스 스트로브의 지시와 A9에 의한 메모리뱅크의 선택을 유효로 하는 커맨드로서, /CS, /RAS가 로우레벨이고 /CAS, /WE가 하이레벨인 것에 의해서 지시되고, 이 때 AO∼A8에 공급되는 어드레스가 로우어드레스 신호로서 페치되고, A9에 공급되는 신호가 메모리 뱅크의 선택신호로서 패치된다. 페치동작은 상술한 바와 같이 클럭신호CLK 의 상승에지와 동기해서 실행된다. 예를 들면, 이 커맨드가 지정되면, 그것에 의해서 지정된 메모리뱅크에 있어서의 워드선이 선택되고, 이 워드선에 접속된 메모리셀이 각각 대응하는 데이타선과 도통된다.
[3] 컬럼어드레스 리드 커맨드 (Re) :
이 커맨드는 버스트 리드동작을 개시하기 위해 필요한 커맨드임과 동시에 컬럼어드레스 스트로브의 지시를 내리는 커맨드로서, /CS, /CAS가 로우레벨이고 /RAS,/WE가 하이레벨인 것에 의해서 지시되고, 이때 AO∼A7에 공급되는 컬럼어드레스가 컬럼어드레스 신호로서 페치된다. 이것에 의해서 페치된 컬럼어드레스신호는 버스트 개시 어드레스로서 컬럼어드레스 카운터 (207) 에 공급된다. 이것에 의해서지시된 버스트 리드동작에 있어서는 그 전에 로우어드레스 스트로브 뱅크 액티브 커맨드 사이클에서 메모리뱅크와 그것에 있어서의 워드선의 선택이 실행되고 있고, 이 선택워드선의 메모리셀은 클럭신호CLK와 동기해서 컬럼어드레스 카운터 (207) 에서 출력되는 어드레스신호에 따라서 순차 선택되어 연속적으로 리드된다. 연속적으로 리드되는 데이타수는 상기 버스트 길이에 의해서 지정된 갯수로 된다. 또, 출력버퍼 (211) 로 부터의 데이타 리드개시는 상기 CAS 회전지연에 의해 규정되는 클럭신호CLK의 사이클수를 대기해서 실행된다.
[4] 컬럼어드레스 라이트 커맨드 (Wr) :
라이트동작의 상태로서 모드 레지스터 (30) 에 버스트 라이트모드가 설정되어 있을 때는 이 버스트 라이트동작을 개시하기 위해 필요한 커맨드로 되고, 라이트동작의 상태로서 모드 레지스터(30)에 싱글 라이트모드가 설정되어 있을 때는 이 싱글 라이트동작을 개시하기 위해 필요한 커맨드로 된다. 또, 이 커맨드는 싱글 라이트모드 및 버스트 라이트모드에 있어서의 컬럼어드레스 스트로브의 지시를 부여한다. 이 커맨드는 /CS, /CAS,/WE가 로우레벨이고 /RAS가 하이레벨인 것에 의해서 지시되고, 이 때 AO∼A7에 공급되는 어드레스가 컬럼어드레스 신호로서 페치된다. 이것에 의해서 페치된 컬럼어드레스 신호는 버스트 라이트모드에 있어서는 버스트개시 어드레스로서 컬럼어드레스 카운터 (207) 에 공급된다. 이것에 의해서 지시된 버스트 라이트동작의 순서도 버스트 리드동작과 마찬가지로 실행된다. 단, 라이트동작에는 CAS 회전지연은 없고 라이트데이타의 페치는 이 컬럼어드레스 라이트 커맨드 사이클에서부터 개시된다.
[5] 프리차지 커맨드 (Pr) :
이 커맨드는 A8, A9에 의해서 선택된 메모리뱅크에 대한 프리차지 동작의 개시커맨드로 되고, /CS,/RAS, /WE가 로우레벨이고 /CAS가 하이레벨인 것에 의해서 지시된다.
[6] 오토 리프레시 커맨드 :
이 커맨드는 오토 리프레시를 개시하기 위해 필요로 되는 커맨드로서, /CS,/RAS, /CAS 가 로우레벨이고 /WE, CKE가 하이레벨에 의해서 지시된다.
[7] 버스트 스톱 인 풀 페이지 커맨드 :
이 커맨드는 풀 페이지에 대한 버스트동작을 모든 메모리뱅크에 대해서 정지시키기 위해 필요한 커맨드로서, 풀 페이지 이외의 버스트동작에서는 무시된다. 이 커맨드는 /CS,/WE가 로우레벨이고 /RAS, /CAS 가 하이레벨인 것에 의해서 지시된다.
[8] 노 오퍼레이션 커맨드 (Nop) :
이 커맨드는 실질적인 동작을 실행하지 않는 것을 지시하는 커맨드로서, /CS 가 로우레벨이고 /RAS, /CAS, /WE 가 하이레벨인 것에 의해서 지시된다. SDRAM에 있어서는 한쪽의 메모리뱅크에서 버스트동작이 실행되고 있을 때, 그 도중에 다른 메모리뱅크를 지정해서 로우어드레스 스트로브 뱅크 액티브 커맨드가 공급되면, 이 실행중인 한쪽의 메모리뱅크에서의 동작에는 아무런 영향도 미치지 않고, 이 다른 메모리뱅크에 있어서의 로우어드레스계의 동작이 가능하게 된다. 예를 들면, SDRAM은 외부에서 공급되는 데이타,어드레스 및 제어신호를 내부에 유지하는 레지스터수단을 갖고, 그 레지스터 수단의 유지내용, 특히 어드레스 및 제어신호는 특히 제한되지 않지만 메모리 뱅크마다 유지되도록 되어 있다. 또는 로우어드레스 스트로브뱅크 액티브 커맨드 사이클에 의해서 선택된 메모리 블럭에 있어서의 워드선 l개분의 데이타가 컬럼계 동작전에 미리 리드동작을 위해 도시하지 않은 래치회로에 래치되도록 되어 있다.
따라서, 데이타 입출력단자 I/O 0 ∼ I/O 15에 있어서 데이타가 충돌하지 않는 한, 처리가 종료하고 있지 않은 커맨드 실행중에 상기 실행중인 커맨드가 처리대상으로 하는 메모리뱅크와는 다른 메모리뱅크에 대한 프리차지 커맨드, 로우어드레스 스트로브 뱅크 액티브 커맨드에 응답해서 내부동작을 미리 개시시키는 것이 가능하다.
SDRAM(22)는 클럭신호CLK 와 동기해서 데이타, 어드레스, 제어신호를 입출력할 수 있으므로, DRAM과 마찬가지의 대용량 메모리를 SRAM에 필적하는 고속동작으로 동작시키는 것이 가능하다. SDRAM(22)는 또 선택된 1개의 워드선에 대해서 몇개의 데이타를 액세스할지를 버스트 길이로 지정하는 것에 의해, 내장 컬럼어드레스 카운터(207)에서 순차 컬럼계의 선택상태를 전환해서 여러개의 데이타를 연속적으로 리드 또는 라이트할 수 있다는 것을 이해할 수 있다.
제 36 도에는 상기 3차원 화상처리등을 위한 곱/합연산동작의 1 예를 설명하기 위한 블럭도가 도시되어 있다. 곱/합연산동작은 CPU 와 연산기 (곱/합승산기) MULT 및 캐시메모리CAM(TAG,CDM)과 캐시메모리 제어회로CAC 에 의해 다음과 같이 해서 실행된다.
동일도면에 있어서, CPU는 데이타버스(캐시버스) DB1을 거쳐서 캐시메모리에서 리드된 명령코드를 일시적으로 저장하는 명령레지스터IR, 리드된 명령코드를 디코드해서 명령실행부등의 제어신호를 생성하는 제어회로, 연산처리를 실행하는 명령실행부로 구성된다. 명령실행부의 내부에 있어서 어드레스버퍼AB, ALU (연산논리유닛) , 내부레지스터 및 데이타의 입출력버퍼DB등이 내부A 버스, B 버스 및 C 버스에 접속되어 구성된다.
CPU 는 캐시메모리CAM 에 저장되어 있는 명령코드를 데이타버스DB1을 거쳐서 리드하고 명령레지스터 IR에 페치한다. 페치된 명령코드는 제어회로에 의해서 디코드되고, CPU 내부의 제어신호를 출릭한다. 이 제어신호에 의해서 명령실행부가 제어되어 바라는 연산이 실행된다.
이 실시예에서는 승산기MULT가 데이타버스DB1 , 커맨드제어선COMD 및 웨이트제어선WAIT를 거쳐서 CPU 에 접속되고, 이 승산기MULT에 내부상태신호CC를 거쳐서 캐시메모리 제어회로CAC 가 접속된다.
승산기MULT에는 CPU의 제어회로로 부터의 커맨드 제어신호가 입력되고, 승산기MULT의 내부상태는 상태신호CC에 의해 캐시메모리 제어회로CAC 에 전달되고, 이 상태신호CC와 커맨드 제어신호COMD에 의해서 승산기MULT의 연산처리중에 다음의 연산 기동명령이 발행된 경우에는 버스사이클을 웨이트시키는 웨이트신호WAIT가 생성된다. 이 웨이트신호 WAIT는 CPU 의 제어회로에 입력된다.
제 37 도에는 곱/합명령 (MAC 명령) 을 설명하는 설명도가 도시되어 있다. 동일도면에는 상기 3차원 화상처리에 있어서 식 1의 행렬식에 대응한 곱/합연산이예로서 도시되어 있다. 동일도면에 있어서, 상기 5단의 파이프라인 스테이지에 있어서, IF 또는 if는 명령페치 스테이지, ID는 디코드 스테이지, EX는 연산 또는 실행 스테이지, MA는 메모리 액세스 스테이지, WB는 라이트 백 스테이지의 각각을 의미하고, mm은 승산기MULT가 동작하고 있는 상태를 나타내고 있다.
승산기MULT내의 곱/합 레지스터의 내용을 클리어하기 위해 CLRMAC명령이 실행된다. 이 명령에 의해, 연산기의 곱/합 레지스터의 내용이 클리어된다. 계속해서 1회째의 MAC (곱/합명령) 이 실행된다. 이 곱/합명령MAC는 if - ID - EX - MA - MA - mm - mm - mm의 8단의 스테이지를 거쳐서 종료한다. 2번째의 MA는 메모리 리드와 함께 승산기MULT의 연산 기동도 실행한다.
MAC명령의 다음 명령인 ID는 1슬롯분 후에 스톨된다. 그 때문에, 상기 2개째의 MAC 명령의 ID가 l슬롯분 후에 스톨된다.
이 실시예와 같이 MAC명령이 연속해 오는 경우, MAC 명령의 2번째의 MA가 그 전의 승산계 명령 (MAC 명령) 에 의해서 발생한 mm과 경합한 경우에는 그 MA의 버스사이클은 mm이 종료할 때까지 연장되어 (도면에서는 M -A와 같이 나타내고 있다) , 그 연장된 MA는 l개의 슬롯으로 된다. 동일도면에 있어서, 점선으로 둘러싸인 부분은 상기 mm과 MA가 경합하고 있는 것을 나타내고 있다.
CPU 의 제어회로는 if-ID-EX-MA 에 의해 순차로 명령 페치하고, 상기 MAC 명령을 디코드해서 승산해야할 데이타를 갖는 캐시메모리의 어드레스를 생성하고, 이 메모리 어드레스를 어드레스버퍼AB를 통해서 어드레스버스AB1 로 출력하고, 캐시메모리CAM에서 데이타버스DBl 로 데이타를 출력시킨다. 데이타버스DB1 상에 출력된연산해야할 데이타는 CPU에는 페치되지 않고 CPU로 부터의 신호COMD에 의해 연산 기MULT가 페치되므로, 3슬롯에 걸쳐서 연산을 실행하여 곱/합 레지스터에 저장한다.
이하, 연산기MULT는 연속해 오는 MAC명령에 의해 상기와 같은 행렬식에 대응해서 전부 4회의 승산과 이전의 승산결과에 그 승산결과를 가산해서 저장한다고 하는 곱/합연산을 실행한다. 그리고, 최후에 STS명령에 의해 상기 연산결과를 라이트백해서 l개의 상대좌표에 대응한 좌표변환이 실행된다.
제 38 도에는 제산기DIVU와 1실시예의 블럭도가 도시되어 있다. 동일도면에 있어서, JR은 제수레지스터로서, 제수를 저장하는 32비트 폭의 레지스터이고, 특별한 기능은 갖지 않는다. HRL은 피제수하위 및 몫 보존 레지스터이고, 피제수의 하위 32비트를 저장함과 동시에, 연산종료시에는 몫 32비트가 저장된다. HRL 은 연산중에 있어서 중간결과를 저장하는 임시 레지스터로서도 사용된다.
HRH 는 피제수의 상위 32비트를 저장하는 레지스터이고, 32 ÷32 연산의 경우에는 피제수의 부호확장을 실행하기 위해, HRL의 MSB의 값이 HRH의 전체 비트에 카피된다. 연산종료시에는 결과의 나머지가 저장된다. 연산중에는 중간결과를 저장하는 임시 레지스터로서도 사용된다.
CONT는 32비트의 제어레지스터로서, 32비트중 2비트∼ 31비트까지는 라이트할 수 없고, "0" 의 리드만 가능하다. 유효한 비트는 비트 l과 비트0의 하위 2비트이다. 비트0은 OVF (오버플로) 의 플래그이다. 오버플로 또는 언더플로가 발생했을 때, 비트O에 소정의 값이 세트된다. 비트1은 비트O에 소정의 값이 세트되었을 때인터럽트를 발생할지 금지할지를 결정하는 플래그이다. 비트 l과 O은 버스마스터로 부터의 "0" 의 라이트에 의해서 실행된다. 오버플로 인터럽트 금지(오프)의 상태에서 오버플로가 발생한 경우는 MAX 값이, 언더플로가 발생한 경우는 MIN 값이 몫으로서 세트된다. 그리고, 오버플로 인티럽트온의 상태에서 오버플로 또는 언더플로가 발생한 경우에는 연산결과가 그대로 몫으로서 세트된다.
VCT는 인터럽트 벡터 어드레스를 유지하는 레지스터이고, CONT의 비트l을 " 1 " 로 한 상태에서 오버플로가 발생했을 때에 보존된 인터럽트 벡터 어드레스를 출력한다. 초기값은 상위 16비트가 "0" 이 고, 하위 16 비트가 부정값이다.
RAR은 나머지 장기 보존 레지스터로서, 연산종료 시점에서의 나머지를 저장하는 32비트의 레지스터이다. HRH와의 다른점은 연산중에 중간결과를 저장하는 임시 레지스터로서 사용되는 일 없이, 다음의 연산이 종료할 때까지 또는 버스마스터에서 라이트될 때까지 그 값을 보존하는 것이 가능하다.
RSR은 몫 장기 보존 레지스터로서, 연산종료시점에서의 몫을 저장하는 32비트의 레지스터이다. HLH와의 다른점은 연산중에 중간결과를 저장하는 임시 레지스터로서 사용되는 일 없이, 다음의 연산이 종료할 때까지 또는 버스마스터에서 라이트될 때까지 그 값을 보존하는 것이 가능하다.
FA & CLA는 전가산기 (full adder) 및 캐리 룩 어헤드 (carry look ahead)로서, 32비트의 가산기, 감산기, 캐리의 유무나 제로체크를 실행한다. AUFA & AUCLA 는 1가산기이고, 1감산은 가산기의 전후에 부착되어 있는 셀렉터로 값을 반전하는 것에 의해 실행한다. LDMCA 는 상태제어회로로서, 버스마스터에서 제산기의 상기내장 레지스터로의 라이트제어, 제산기 연산중의 연산 사이클제어 및 연산결과의 제로체크를 실행하는 논리회로로 이루어진다.
LDMCB는 오버플로 처리회로로서, 제산연산으로 오버플로가 발생했을 때의 처리를 실행하는 제어논리회로이다. LDPRM 은 l/O 제어회로로서, 제산기DIVU와 주변모듈과의 인터페이스를 실행하는 제어논리회로이다.
제 39 도는 상기 제산기DIVU의 동작을 설명하기 위한 상태천이도이다. 이 실시예의 제산기DIVU에서는 상태수가 전부 42이다. 동일도면의 최상부의 "000OOO" 이 레디상태이고, 리세트후는 이 상태로 된다. 통상의 제산처리를 실행하는 것은 좌측 상부의 "OOOOO1" 에서 우측 하부의 "001100" 까지의 38사이클이다. 좌측열 중앙에서 상부, "100110" 으로 부터의 분기가 오버플로 발생시의 처리이고, 여기에서 부터 2사이클에 의해 원래의 상태로 되돌아 간다. 이밖에 레디상태하의 "000010"은 라이트/리드 연속요구시의 퇴피장소이다.
상기 제산기DIVU에 의한 제산의 처리는 크게 나누면 다음의 5개로 분류할 수 있다. 이하 각각에 대해서 설명한다.
[1] 레디상태 ( "000000" - "000010" ) :
"OOOOOO" 은 통상의 레디상태이고, "000010" 은 버스마스터에서 제산기DIVU로의 액세스에 있어서, 레지스터 라이트명령 직후에 레지스터 리드명령이 발행된 경우에만 천이하는 상태이다.
이 실시예의 제산기DIVU의 구성에서는 버스마스터에서 레지스터 라이트명령 직후에 레지스터 리드명령이 발행되면, 정상값을 출력할 수 없다. 따라서, 버스마스터에서 레지스터 라이트명령 직후에 레지스터 리드명령이 발행된 경우, 통상의 레디상태 "OOOOOO" 와는 달리, 버스마스터의 리드의 버스사이클을 연장시켜 정상인 리드 데이타를 준비할 수 있는 시간을 확보하기 위한 상태로서 "000010"이 마련되어 있다.
[2] 제산전 처리 ( "000001" - "1OOOO1" ) :
비회귀법 알고리듬에 들어가기 전의 준비기간이다. "000001" 은 버스마스터에서 라이트된 데이타를 제산기DIVU내부의 HRL 로 전송하는 사이클이고, "100001" 은 비회귀법의 1사이클째에서 사용하는 "전회의 연산결과의 MSB(부호) " 를 구하기 위해 사용된다.
[3] 비회귀법 ( "100011" - "001110" ) :
비회귀법의 처리를 33 사이클 실행한다. 단, 33사이클째( "001110" ) 은 다른것과 조금 다르다. 결과의 나머지는 32 사이클째에 구해지므로, 이 사이클에는 HRH 는 데이타를 페치하지 않는다.
[4] 제산후 처리 ( "001110" - "001100" ) :
비회귀법에서 필요한 사후처리용 사이클이다. "001111"에서는 나머지의 재가산 (재감산) 등의 소정의 처리와 몫이 마이너스인 경우의 1가산을 실행하고, "001111" 과 "001101" 의 2상태에서 피제수가 마이너스로 나누어지는 경우의 몫 및 나머지의 보정을 실행하고 있다. RAR, RSR로의 세트는 "001110", "001100" 에서 실 행된다.
[5] 오버플로 (OVF)처리 ( "000110" - "000111" ) :
"000110" 상태가 점선으로 표시되어 있는 것은 오버플로상태로의 천이가 보통 상태의 천이를 처리하는 회로와는 다른 회로에 의해 실행되기 때문이다. 또, 이 상태는 표면상 1사이클로 보이지 않으므로 ( "100110" 과 "000110" 으로 반 사이클식), 점선으로 표시하고 있다. "000111" 에서는 RAR, RSR 의 세트를 실행하고 있다.
이와 같이 제산기에서는 l개의 제산에 상기와 같이 38 사이클이나 되는 장시간을 소비하는 것이다. 이와 같이 실제로 제산에는 비교적 긴 시간을 소비하는 것임에도 불구하고, 상기 제 1 도와 같은 시스템으로 함과 동시에,제 25 도와 같은 병렬연산처리를 실행하도록 하는 것에 의해, 상기 제산에 의한 원근처리와 곱/합연산등에 의한 좌표변환과 클립처리를 동시에 병행해서 실행하도록 하는 것에 의해, 실질적인 3차원 화상처리를 대폭적으로 고속화할 수 있다.
제 40 도에는 제 1 도의 싱글칩 마이크로컴퓨터의 1실시예의 레이아우트도가 도시되어 있다. 동일도면에는 제 1 도의 각 회로블럭중 주요한 회로가 대표로서 예 시적으로 도시되어 있다. 각 회로블럭은 상기와 같이 버스가 3개로 분할됨에 따라서 각 버스가 짧고 또한 접속관계가 용이하게 되도록 배치되어 있다. 동일도면에는 상기 3개로 분할된 버스중 제 1 버스 (AB1, DB1)이 도시되고, 다른 제 2 버스(AB2, DB2)및 제 3 버스 (AB3, DB3)은 그들에 대응한 회로블럭에 인접해서 배치되는 것으로 이해하면 된다.
중앙처리장치CPU 와 캐시메모리의 캐시데이타부 (CDM)CACHE - D1, D2는 제 1버스를 사이에 두고 배치된다. 캐시메모리의 캐시 태그부 (TAG)CACHE- A와 캐시제어부(CAC)CACHE - C는 승산기MULT와 나란하게 배치된다. 상기 중앙처리장치CPU 와 캐시메모리 및 승산기MULT가 칩의 약 상부 절반을 차지한다.
버스상태 컨트롤러BSC는 캐시데이타부CACHE- D1, D2에 의해 중앙처리장치CPU 를 사이에 두도록 배치된다. 도시하지 않은 제 2의 버스 (AB2, DB2)에 접속되는 브레이크 컨트롤러UBC, 제산기DIVU, 인터럽트 제어회로INTl, INT2 및 직겁메모리액세스 제어장치DMAC와 그 데이타버퍼DATA1, DATA2가 칩의 좌측부에 집중해서 배치된다.
그리고, 도시하지 않은 제 3 의 버스 (AB3, DB3)에 접속되는 타이머FRT, WDT 및 직렬 통신 인터페이스SCI 가 나란히 배치된다. 이들의 주변모듈은 그 버스사이클이 지연되는 것에 의해 출력회로의 동작이 상대적으로 느리고, 기존의 회로를 그대로 이용하는 것에 의해 그 점유면적을 작게할 수 있다. 칩의 주변에는 상기 외부단자 (제 2 도 및 제 3 도참조) 에 결합되는 본딩패드의 형성영역P 및 본딩패드에 대응한 입력버퍼, 출력버퍼 및 입출력버퍼의 형성영역B 가 배치된다.
제 41 도에는 본 발명에 관한 싱글칩 마이크로컴퓨터의 응용예가 도시되어 있다. 동일도면(A)에는 그 블럭도가 도시되고, (B)에는 외관도가 도시되어 있다. 이 실시예에서는 펜 입력의 휴대용 마이크로컴퓨터에 초점을 두고 있다.
이 실시예에서는 (A)의 블럭도에 도시한 바와 같이, 마이크로컴퓨터가 상기 제 1 도와 같은 싱글칩 마이크로컴퓨터에 의해 구성되고, 그것과 외부메모리 및 ASIC (특정용도용 IC) 에 의해 구성되는 주변LSI 로 구성된다. 단말장치로서 LCD 에 펜 입력기능을 부가한 표시장치나 음성입출력회로가 마련된다. (B)의 외관도에도시한 바와 같이, 팜 톱(palm-top)형 또는 노트북형과 같은 박형경량이고, LCD 표시부에 펜입력부가 구비되고, 키입력용의 스위치패널이 마련된다.
제 42 도에는 제 40 도의 펜입력의 휴대용 마이크로컴퓨터의 l실시예의 블럭도가 도시되어 있다. 싱글칩 마이크로컴퓨터MCU 는 배터리 구동된다. 마이크로폰은 음성입력용으로 사용된다.
스피커는 음성출력용으로 사용된다.
NCU 는 전화회선용의 입출력 인터페이스로서, 전화기에 의한 데이타입력 또는 출력을 실행하도록 된다. 마이크로컴퓨터 시스템으로서는 외부버스에 LCD컨트롤러를 거쳐서 표시와 펜입력을 실행하는 LCD패널이 마련된다. 외부메모리로써 SDRAM 또는 PSRAM이 사용된다. 이들 메모리는 필요에 따라서 상기 전지전압에 의해 배터리 백업된다.
마스크ROM에는 데이타처리를 위한 프로그램이나 문자패턴이 기억된다. PCMCIAI/F는 퍼스널컴퓨터 메모리카드 인터네셔녈 어소시에이션 (Personal Computer Memory Card International Association) 인터페이스이다. I/O는 무선LAN (Local Area Network) 등의 확장주변 인터페이스이다. 그리고, 메모리카드 (ROM 카드)와 (RAM 카드)가 착탈가능한 외부메모리로써 사용할 수 있게 된다. 상기의 실시예에서 얻어지는 작용효과는 다음과 같다.
[1] 내부의 버스를 3개로 분리해서 제1의 버스에는 중앙처리장치 및 캐시메모리를 접속하고, 제2의 버스에는 직접 메모리액세스 제어회로, 외부버스 인터페이스를 접속하고, 상기 제1의 버스와 제2의 버스에는 상기 제1의 어드레스버스와 제2의 어드레스버스를 선택적으로 접속시키는 버스 트랜시버기능을 갖는 브레이크 컨트롤러를 마련하고, 상기 제1 및 제2의 버스사이클에 대해서 저속인 버스사이클로 된 제3의 버스에는 주변모듈을 접속하고, 상기 제2의 버스와 제3의 버스사이에서의 데이타전송과 동기화를 실행하는 버스상태 컨트롤러를 마련하는 것에 의해 신호전달경로의 부하용량이 감소하므로 신호전달을 고속으로 실행할 수 있음과 동시에, 동작속도가 요구되지 않는 주변모듈을 분리하고 있으므로 그곳에서의 전류소비를 저감시킬 수 있는 효과가 얻어진다.
[2] 내부의 버스를 3개로 분리해서 제1의 버스에는 중앙처리장치, 상기 제1의 버스에는 고정소수점방식의 곱/합연산기를 접속하고, 제2의 버스에는 고정소수점방식의 제산기를 접속하는 것에 의해적은 사이클수에 의해 곱/합연산처리를 고속으로 실행할 수 있음과 동시에, 제2의 버스에는 고정소수점방식의 제산기를 접속하는 것이므로 그곳에서 연산결과를 그대로 제산할 수 있기 때문에 3차원화상처리를 고속으로 실행할 수 있는 효과가 얻어진다.
[3] 상기 제3의 버스에 접속되는 주변모듈로써 프리 런닝 타이머, 직렬 통신 인터페이스 또는 워치독 타이머중 어느것인가 적어도 하나를 마련하는 것에 의해 데이타처리의 고속화에는 직접 관여하지 않는 주변모듈용의 저속버스사이클을 구성할 수 있고 중앙처리장치의 고속화에 추종시키는 일 없이 기존의 주변모듈을 그대로 사용할 수 있기 때문에 설계의 효율화와 주변모듈에 있어서의 저소비 전력화를 도모할 수 있는 효과가 얻어진다.
[4] 상기 브레이크 컨트롤러는 직접메모리 액세스 제어장치에 의한 캐시메모리의 데이타의 리라이트를 감시하는 기능을 갖게하는것에 의해 내부버스의 분리에 의한 고속화나 저소비전력화를 도모하면서 직접메모리 액세스 제어장치에 의한 캐시메모리의 데이타의 리라이트에 의한 캐시데이타의 파괴를 감시할 수 있는 효과가 얻어진다.
[5] 상기의 각 회로블럭을 풀 스테이틱형CMOS회로로 구성하고, 각 회로블럭마다 클럭펄스의 공급/정지를 제어하는 레지스터를 포함하는 동작모드 컨트롤러를 마련하는 것에 의해, 필요한 회로블럭에 대해서만 클럭을 공급할 수 있기 때문에 저소비전력화를 도모할 수 있는 효과가 얻어진다.
[6] 상기 외부버스 인터페이스는 싱크로너스 다이나믹형RAM의 버스트 리드모드 및 싱글라이트 모드와 다이나믹형RAM 및 의사 스테이틱형RAM을 직접 액세스할 수 있는 인터페이스기능을 갖게 하는것에 의해 직접 싱크로너스 다이나믹형RAM, 다이나믹형RAM 및 의사 스테이틱형RAM등을 직접 접속할 수 있기 때문에 사용하기 편리하다는 효과가 얻어진다.
[7] 외부버스 인터페이스의 클럭펄스에 대해서 위상을 지연시켜 클럭펄스를 형성해서 중앙처리장치로 공급시키는 것에 의해, 싱크로너스 다이나믹형RAM의 세트업/홀드시간을 확보할 수 있어 동작마진의 확대를 도모할 수 있는 효과가 얻어진다.
[8] 싱크로너스 다이나믹형RAM의 버스트모드에 의해 리드되는 데이타와 상기 캐시메모리의 l블럭의 데이타 및 직접메모리 액세스 제어장치에 의한 단위의 데이타전송에는 정합성을 갖게 하는 것에 의해 효율이 좋은 데이타전송이 가능하게 되는 효과가 얻어진다.
[9] 외부버스 인터페이스에 있어서, 중앙처리장치가 특정 어드레스공간을 액세스하는 것에 의해 기동이 걸러 로우어드레스 스트로브신호, 컬럼어드레스 스트로브신호 및 라이트 인에이블신호를 모두 로우례벨로 하고, 어드레스신호의 일부를 사용해서 싱크로너스 다이나믹형RAM의 동작모드설정의 설정에 필요한 제어신호를 발생시키는 메모리제어신호 발생회로를 마련하는 것에 의해, 중앙처리장치에 의한 싱크로너스 다이나믹형RAM의 모드설정을 간단히 실행할 수 있는 효과가 얻어진다.
[10] 상기 캐시메모리로서는 여러개로 이루어지는 태그메모리 및 각각에 대응한 데이타메모리로 구성하고, 상기 태그메모리 및 데이타메모리에는 CMOS스테이틱형 메모리셀을 사용하고, 그 리드신호를 증폭하는 센스앰프로서 CMOS래치회로와 이러한 CMOS래치회로에 동작전류를 공급하는 P채널형 MOSFET와 N채널형 MOSFET로 이루어지는 파워스위치MOSFET를 포함하는 CMOS센스앰프를 사용하는 것에 의해, 신호증폭을 실행한 후에는 직류전류가 흐르지 않게 할 수 있으므로 캐시메모리에 있어서의 저소비전력화를 도모할 수 있는 효과가 얻어진다.
[11] 상기 여러개로 이루어지는 데이타메모리에 마련되는 센스앰프 또는 센스앰프와 워드선의 양쪽을 태그메모리로 부터의 히트신호에 대응한 것만을 활성화시키도록 하는 것에 의해 저소비전력화를 도모할 수 있는 효과가 얻어진다.
[12] 상기 여러개로 이루어지는 데이타메모리는 캐시컨트롤러에 의해서 전부 또는 일부에 대해서 태그메모리로 부터의 히트신호의 전달을 무효로 해서 중앙처리장치에 의한 직접액세스를 가능하게 하는 것에 의해, 사용자의 다양한 요구에 따른사용방법에 적합하게 대응할 수 있는 효과가 얻어진다.
[13] 중앙처리장치와 캐시메모리를 포함하는 싱글칩 마이크로컴퓨터에 있어서, 캐시메모리로써 CMOS스테이틱형 매모리셀을 기억소자로서 사용하고, 그 리드신호를 증폭하는 센스앰프로서 CMOS래치회로 및 이러한 CMOS래치회로에 동작전류를 공급하는 P채널형 MOSFET와 N채널형 MOSFET로 이루어지는 파워스위치MOSFET를 포함하는 CMOS센스앰프를 사용하는 것에 의해, 센스앰프에 의한 신호증폭을 실행한 후에는 직류전류가 흐르지 않으므로 내장 캐시메모리에서의 저소비전력화를 도모할 수 있는 효과가 얻어진다.
[14] 상기 여러개로 이루어지는 데이타메모리는 태그메모리로 부터의 히트신호에 대응한 것의 센스앰프만을 활성화시키는 것에 의해, 캐시메모리 내장의 싱글칩 마이크로컴퓨터의 저소비전력화를 도모할 수 있는 효과가 얻어진다.
[15] 버스사용권 제어신호에 따라서 슬레이브모드로 설정되었을 때에는 제1의 단자를 버스요구로, 제2의 단자를 버스아크놀리지신호로 각각 사용하고, 마스터모드로 될 때 상기 제1의 단자를 버스그랜트신호로, 상기 제2의 단자를 버스 릴리스 신호로 각각 전환해서 사용하는 것에 의해 l개의 싱글칩 마이크로컴퓨터를 버스사용권 제어신호에 따라서 슬레이브모드 또는 마스터모드로써 사용할 수 있으고, 또 동일한 단자를 전환해서 사용하는 것이므로 외부단자수가 저감됨과 동시에 접속이 간단하게 되어 사용하기 편리하게 되는 효과가 얻어진다.
[16] 원근처리된 N - 1번째 좌표에 대한 클립핑처리를 중앙처리장치에 의해 실행하고, 특정 물체고유의 N + 1번째 좌표점을 지정된 시점을 원점으로 하는 좌표로 변환하는 좌표변환처리를 중앙처리장치와 곱/합연산기로 실행하고, 상기 클립핑처리 및 좌표변환처리와 시간적으로 병행해서 좌표변환처리가 종료한 N번째 좌표에 대해서 원근처리를 제산기로 실행하는 것에 의해, 중앙처리장치 또는 이것과 곱/합연산기에 의한 클립핑처리 및 좌표변환처리와 시간적으로 동시 병행해서 비교적 긴 시간을 소비하는 원근처리를 제산기로 실행하는 것에 의해 고속인 3차원 화상처리를 실현할 수 있는 효과가 얻어진다.
[17] 상기 중앙처리장치와 곱/합연산기는 캐시메모리와 함께 제1의 버스에 접속되고, 상기 제산기는 직접메모리 액세스 제어회로, 외부버스 인터페이스와 함께 제2의 버스에 접속되고, 상기 제l과 제2의 버스에 접속됨과 동시에 제1의 버스의 어드레스버스를 제2의 버스의 어드레스버스에 선택적으로 접속시키는 버스 트랜시버기능을 구비한 브레이크 컨트롤러가 마련되고,상기 제1 및 제2의 버스사이클에 대해서 저속인 버스사이클을 갖는 주변모듈이 접속되는 제3의 버스 및 상기 제2의 버스와 제3의 버스사이에서의 신호전송과 동기화를 실행하는 버스상태 컨트롤러가 마련되는 싱글칩 마이크로컴류터로 상기 3차원 화상처리를 실행하는 것에 의해, 비교적 간단한 구성으로 고속인 3차원 화상처리를 실현할 수 있는 효과가 얻어진다.
이상 본 발명자들에 의해 이루어진 발명을 실시예에 따라 구체적으로 설명했지만 본원 발명은 상기 실시예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러가지로 변경가능한 것은 물론이다.
예를들면 제1의 실시예에 있어서, 중앙처리장치CPU는 RISC형 프로세서일 필요는 없고, 여러가지 실시형태를 취할 수 있다.
이 실시예의 싱글칩 마이크로컴퓨터는 상기와 같은 각 회로블럭을 등록해 두고 사용자의 사양에 따라서 필요한 회로블럭을 탑재하는 ASIC로 구성하는 것이라도 종다.
본원에 있어서의 싱글칩 마이크로컴퓨터라는 것은 ROM과 RAM 을 내장한 마이크로컴퓨터라는 좁은 의미는 아니고 1개의 반도체기판상에 형성되어 이루어지는 데이타처리장치라는 넓은 의미로 사용되고 있다. 그러므로, 본원에 관한 싱글칩 마이크로컴퓨터는 중앙처리장치, 곱/합연산기 및 제산기를 갖고, 적어도 상기 곱/합연산기와 제산기가 병렬처리 가능하게 되고, 단일의 반도체기판상에 형성되어 이루어지는 데이타처리장치라고 표현할 수 있다. 또는 연속적으로 리드가능한 외부메모리가 접속가능하게 되고 캐시메모리 및 상기 캐시메모리와 1라인의 데이타길이와 동일한 데이타를 외부메모리에서 연속해서 리드가능한 수단을 단일의 반도체기판상에 구비해서 이루어지는 데이타 처리장치라고도 할 수 있다.
또, 모드설정 가능한 외부메모리가 접속가능하게 되고, 상기 모드설정을 하기 위한 데이타 버스단자 이외의 외부단자를 거쳐서 상기 메모리로 전송가능한 수단을 단일의 반도체기판상에 구비해서 이루어지는 데이타 처리장치라고도 할 수 있다. 또, 클럭과 동기해서 어드레스, 데이타를 입출력하는 외부메모리가 접속가능하게 되는 데이타 처리장치로써 상기 메모리 및 상기 데이타 처리장치에 필요한 클럭을 형성하는 수단을 단일의 반도체기판상에 형성해서 이루어지는 데이타 처리장치 또는 32비트 단위로 메모리 액세스하여 16비트의 고정길이의 명령을 실행하는 중앙처리장치와 명령/데이타 혼재형의 캐시메모리를 구비하고, 메모리로 부터의 로드/스토어를 실행하는 명령을 우수워드 경계에 배치하도록 해서 이루어지는 데이타 처리장치라고도 할 수 있다.
본 발명은 상기와 같은 넓은 의미에서의 싱글칩 마이크로컴퓨터 및 그것을 사용한 3차원 화상처리에 적용할 수 있는 것이다.
본원에서 개시되는 발명중 대표적인 것에 의해서 얻을 수 있는 효과를 간단히 설명하면 다음과 같다.
즉, 내부의 버스를 3개로 분리해서 제1의 버스에는 중앙처리장치 및 캐시메모리를 접속하고, 제2의 버스에는 직접메모리 액세스제어회로, 외부버스 인터페이스를 접속하고, 상기 제l의 버스와 제2의 버스에는 상기 제1의 어드레스버스와 제2의 어드레스버스를 선택적으로 접속시키는 버스 트랜시버기능을 갖는 브레이크 컨트롤러를 마련하고, 상기 제1 및 제2의 버스사이클에 대해서 저속인 사이클로된 제3의 버스에는 주변모듈을 접속하고, 상기 제2의 버스와 제3의 버스사이에서의 데이타전송과 동기화를 실행하는 버스상태 컨트롤러를 마련하는 것에 의해 신호전달경로의 부하용량이 감소하므로 신호전달을 고속으로 실행할 수 있음과 동시에, 동작속도가 요구되지 않는 주변모듈을 분리하고 있으므로 거기에서의 전류소비를 저감할 수 있다.
내부의 버스를 3개로 분리해두고, 제l의 버스에는 중앙처리장치, 상기 제1의 버스에는 고정소수점방식의 곱/합연산기를 접속하고, 제2의 버스에는 고정소수점방식의 제산기를 접속하는 것에 의해 적은 사이클수에 의해 곱/합연산처리를 고속으로 실행할 수 있음과 동시에, 제2의 버스에는 고정소수점방식의 제산기를 접속하는것이므로 정규화처리가 없이 그곳에서 연산결과를 그대로 제산할 수 있기 때문에 3차원 화상처리를 고속으로 실행하게 할 수 있다.
상기 제3의 버스에 접속되는 주변모듈로서 프리 런닝 타이머, 직렬 통신 인터페이스 또는 워치독 타이머중 어느것인가 적어도 하나를 마련하는 것에 의해, 데이타처리의 고속화에는 직접 관여하지 않는 주변모듈용의 저속버스사이클을 구성할 수 있어 중앙처리장치의 고속화에 추종시키는 일 없이 기존의 주변모듈을 그대로 사용할 수 있기 때문에 설계의 효율화와 주변모듈에 있어서의 저소비전력화를 도모할 수 있다. 상기 브레이크 컨트롤러는 직접메모리 액세스 제어장치에 의한 캐시메모리의 데이타의 리라이트를 감시하는 기능을 갖게하는 것에 의해, 내부버스의 분리에 의한 고속화나 저소비전력화를 도모하면서 직접메모리 액세스 제어장치에 의한 캐시메모리의 데이타의 리라이트에 의한 캐시데이타의 파괴를 감시할 수 있다.
상기의 각 회로블럭을 풀 스테이틱형CMOS회로로 구성하고,각 회로블럭마다 클럭펄스의 공급/정지를 제어하는 레지스터를 포함하는 동작모드 컨트롤러를 마련하는 것에 의해, 필요한 회로블럭에 대해서만 클럭을 공급할 수 있기 때문에 저소비전력화를 도모할 수 있다. 상기 외부버스 인터페이스는 싱크로너스 다이나믹형RAM의 버스 트리드모드 및 싱글라이트모드와 다이나믹형RAM 및 의사 스테이틱형RAM을 직접 액세스할 수 있는 인터페이스기능을 갖게하는 것에 의해, 직접 싱크로너스 다이나믹형RAM, 다이나믹형RAM 및 의사 스테이틱형RAM등을 직접 접속할 수 있기 때문에 사용상 편리하게 할 수 있다.
외부버스 인터페이스로서는 중앙처리장치의 클럭펄스에 대해서 위상이 진행된 클럭펄스를 형성해서 싱크로너스 다이나믹형RAM의 클럭단자로 공급시키는 것에 의해, 싱크로너스 다이나믹형RAM의 세트업/홀드시간을 확보할 수 있는 동작마진의 확대를 도모할 수 있다. 싱크로너스 다이나믹형RAM의 버스트모드에 의해 리드되는 데이타와 상기 캐시메모리의 1블럭의 데이타 및 직접메모리 액세스 제어 장치에 의한 단위의 데이타전송에 정합성을 갖게 하는 것에 의해 효율이 좋은 데이타전송이 가능하게 된다.
외부버스 인터페이스에 있어서, 중앙처리장치가 특정 어드레스공간을 액세스하는 것에 의해 기동이 걸려 로우어드레스 스트로브신호, 컬럼어드레스 스트로브신호 및 라이트 인에이블신호를 모두 로우레벨로 하고, 어드레스신호의 일부를 사용해서 싱크로너스 다이나믹형RAM의 동작모드설정의 설정에 필요한 제어신호를 발생시키는 메모리제어신호 발생회로를 마련하는 것에 의해 중앙처리장치에 의한 싱크로너스 다이나믹형RAM의 모드설정을 간단히 실행할 수 있다.
상기 캐시메모리로서는 여러개로 이루어지는 태그메모리 및 각각에 대응한 데이타메모리로 구성하고, 상기 태그메모리 및 데이타메모리에는 CMOS스테이틱형 메모리셀을 사용하고, 그 리드신호를 증폭하는 센스앰프로서 CMOS래치회로 및 이러한 CMOS래치회로에 동작전류를 공급하는 P채널형 MOSFET와 N채널형 MOSFET로 이루어지는 파워스위치MOSFET를 포함하는 CMOS센스앰프를 사용하는 것에 의해, 신호증폭을 실행한 후에는 직류전류가 흐르지 않게 할 수 있기 때문에 캐시메모리에 있어서의 저소비전력화를 도모할 수 있다.
상기 여러개로 이루어지는 데이타메모리에 마련되는 센스앰프 또는 센스앰프와 워드선을 태그메모리로 부터의 히트신호에 대응한 것만을 활성하시키도록 하는 것에 의해 저소비전력화를 도모할 수 있다.
상기 여러개로 이루어지는 데이타메모리는 캐시컨트롤러에 의해서 전부 또는 일부에 대해서 태그메모리로 부터의 히트신호의 전달을 무효로 해서 중앙처리장치에 의한 직접액세스를 가능하게 하는 것에 의해, 사용자의 다양한 요구에 따른 사용방법에 적합하게 할 수 있다.
중앙처리장치와 캐시메모리를 포함하는 싱글칩 마이크로컴퓨터에 있어서, 캐시메모리로서 CMOS스테이틱형 메모리셀을 기억소자로써 사용하고, 그 리드신호를 증폭하는 센스앰프로서 CMOS래치회로 및 이러한 CMOS래치회로에 동작전류를 공급하는 P채널형 MOSFET와 N채널형 MOSFET로 이루어지는 파워스위치MOSFET를 포함하는 CMOS센스앰프를 사용하는 것에 의해, 센스앰프에 의한 신호증폭을 실행한 후에는 직류전류가 흐르지 않기 때문에 내장캐시메모리에서의 저소비전력화를 도모할 수 있다.
상기 여러개로 이루어지는 데이타메모리는 태그메모리로 부터의 히트신호에 대응한 것의 센스앰프 또는 센스앰프와 워드선만을 활성화시키는 것에 의해, 캐시메모리 내장의 싱글칩 마이크로컴퓨터의 저소비전력화를 도모할 수 있다.
버스사용권 제어신호에 따라서 슬레이브모드로 설정되었을 때에는 제l의 단자를 버스요구신호로, 제2의 단자를 버스아크놀리지신호로 각각 사용하고, 마스터모드로 되었을 때 상기 제1의 단자를 버스그랜트신호로, 상기 제2의 단자를 버스 릴리스 신호로 각각 전환해서 사용하는 것에 의해 1개의 싱글칩 마이크로컴퓨터가버스사용권 제어신호에 따라서 슬레이브모드 또는 마스터모드로써 사용할 수 있고,또 동일한 단자를 전환해서 사용하는 것이기 때문에 외부단자수가 저감됨과 동시에 접속이 간단하게 되어 사용하기 편리하게 된다. 원근처리된 N - 1번째의 좌표에 대한 클립핑처리를 중앙처리장치로 실행하고, 특정 물체고유의 N+1번째의 좌표점을 지정된 시점을 원점으로 하는 좌표로 변환하는 좌표변환처리를 중앙처리장치와 곱/합연산기로 실행하고, 상기 클립핑처리 및 좌표변환처리와 시간적으로 병행해서 좌표변환처리가 종료한 N번째의 좌표에 대해서 원근처리를 제산기로 실행하는 것에 의해서, 중앙처리장치 또는 이것과 곱/합연산기애 의한 클립핑처리 및 좌표변환처러와 시간적으로 동시에 병행해서 비교적 긴 시간을 소비하는 원근처리를 제산기로 실행하는 것에 의해 고속인 3차원 화상처리를 실현할 수 있다.
상기 중앙처리장치와 곱/합연산기는 캐시메모리와 함께 제1의 버스에 접속되고, 상기 제산기는 직접메모리 액세스제어회로, 외부버스 인터페이스와 함께 제2의 버스에 접속되고 상기 제1과 제2의 버스에 접속됨과 동시에, 제1의 버스의 어드레스버스를 제2의 버스의 어드레스버스에 선택적으로 접속시키는 버스트랜시버기능을 갖는 브레이크 컨트롤러가 마련되고, 상기 제1 및 제2의 버스사이클에 대해서 저속인 버스사이클을 갖는 주변모듈이 접속되는 제3의 버스 및 상기 제2의 버스와 제3의 버스사이에서의 신호전송과 동기화를 실행하는 버스상태 컨트롤러가 마련되는 싱글칩 마이크로컴퓨터로 상기 3차원 화상처리를 실행하는 것에 의해, 비교적 간단한 구성으로 고속인 3차원 화상처리를 실현할 수 있다.
제l도는 본 발명에 관한 싱글칩 마이크로컴퓨터의 1실시예를 도시한 블럭도.
제 2도는 본 발명에 관한 싱글칩 마이크로컴퓨터의 1실시예의 좌측 절반부분을 도시한 핀 배치도.
제 3도는 본 발명에 관한 싱글칩 마이크로컴퓨터의 1실시예의 우측 절반부분을 도시한 핀 배치도.
제 4도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 동작 모드 컨트롤러MC의 1실시예를 도시한 블럭도.
제 5도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 브레이크 컨트롤러UBC의 기본적인 1실시예를 도시한 블럭도.
제 6도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 브레이크 컨트롤러UBC의 1실시예를 도시한 상세한 블럭도.
제 7도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 버스 상태 컨트롤러BSC의 1실시예를 도시한 블럭도.
제 8 도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 버스상태 컨트롤러BSC 와 외부버스 인터페이스OBIF에 의한 싱크로너스 다이나믹형RAM과의 접속예를 도시한 블럭도.
제9도는 제8도의 SDRAM의 버스트 리드동작을 설명하기 위한 버스 사이클 파형도.
제10도는 제8도의 SDRAM의 싱글 라이트동작을 설명하기 위한 버스 사이클 파형도.
제11도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 있어서의 기본 버스 사이클을 설명하기 위한 파형도.
제12도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 버스상테 컨트롤러BSC 와 외부버스 인터페이스 OBIF 에 의한 다이나믹형RAM과의 접속예를 도시한 블럭도.
제13도는 제12도의 DRAM의 고속 페이지모드를 설명하기 위한 버스 사이클 파형도.
제14도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 버스상태 컨트롤리BSC 와 외부 버스 인터페이스OBIF에 의한 의사 스테이틱형 RAM과의 접속예를 도시한 블럭도.
제15도는 본 발명에 관한 싱글칩 마이크로컴퓨터를 사용해서 멀티프로세서 접속한 경우의 l실시예를 도시한 블럭도.
제16도는 제15도의 S-MCU에서 메인 버스상의 SDRAM을 액세스하는 경우를 설명하기 위한 타이밍도.
제17도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 캐시메모리의 l실시예를 도시한 블럭도.
제18도는 본 발명에 관한 캐시메모리의 1실시예를 도시한 블럭도.
제19도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 캐시메모리의 1실시예를 도시한 블럭도,
제20도는 본 발명에 관한 캐시메모리를 설명하기 위한 동작 개념도.
제21도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 직접메모리 액세스 제어장치DMAC의 1실시예를 도시한 블럭도.
제22도는 본 발명에 관한 DRAM과 그 주변부의 1실시예를 도시한 개략 블럭도.
제23도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 내장되는 제산기DIVU의 1실시예를 도시한 블럭도.
제24도는 3차원 물체를 2차원으로 이루어지는 표시화면상에 원근법으로 표시하기 위한 3차원 화상처리의 개념을 설명하기 위한 설명도.
제25도는 본 발명에 관한 싱글칩 마이크로컴퓨터를 사용한 3차원 화상처리방법을 설명하기 위한 신호처리도.
제26도는 명령/데이타 혼재형 캐시의 캐시 미스율(cache miss ratio)과 라인 사이즈와의 관계의 1예를 설명하기 위한 특성도.
제27도는 명령/데이타 혼재형 캐시의 캐시 미스율과 라인 사이즈와의 관계의 다른 l예를 설명하기 위한 특성도.
제28도는 명령/데이타 혼재형 캐시의 캐시 미스율과 라인 사이즈와의 관계의 다른 1예를 설명하기 위한 특성도.
제29도 (A)는 4n번지에 메모리 액세스의 명령이 있는 경우의 메모리에 대한 액세스의 설명도.
제29도 (B)는 4n + 2빈지에 메모리 액세스의 명령이 있는 경우의 메모리에 대한 액세스의 설명도.
제30도는 평균 액세스 시간과 라인 사이즈와의 관계를 설명하기위한 특성도.
제31도는 본 발명에 관한 캐시메모리의 l실시예를 도시한 블럭도.
제32도는 제31도의 캐시메모리의 동작의 설명도.
제33도는 본 발명에 관한 싱글칩 마이크로컴퓨터에 있어서의 각 버스 사이클을 설명하기 위한 타이밍도.
제34도는 SDRAM 의 모드 설정동작을 설명하기 위한 타이밍도.
제35도는 SDRAM의 l실시예를 도시한 블럭도.
제36도는 곱/합연산동작을 설명하기 위한 블럭도.
제37도는 3차원 화상처리의 좌표변환처리를 위한 곱/합연산동작의 설명도.
제38도는 본 발명에 관한 제산기의 1실시예를 도시한 블럭도.
제39도는 승산기의 동작을 설명하기 위한 상태 천이도.
제40도는 제l도의 싱글칩 마이크로컴퓨터의 1실시예를 도시한 레이아우트도.
제41도는 본 발명에 관한 싱글칩 마이크로컴퓨터의 응응예를 도시한 개략 구성도.
제42도는 본 발명에 관한 싱글칩 마이크로컴퓨터의 응응예인 펜입력의 휴대용 마이크로컴퓨터의 1실시예를 도시한 블럭도.

Claims (71)

  1. 데이타처리유닛과 캐시메모리가 전기적으로 연결되는 제1 버스,
    직접메모리 액세스 제어유닛과 외부버스 인터페이스회로가 전기적으로 연결되는 제2 버스,
    상기 제1 버스와 상기 제2 버스에 전기적으로 연결되고, 상기 제1 버스상의 어드레스신호를 선택적으로 상기 제2 버스로 전송하는 어드레스 전송회로를 포함하는 제1 제어회로,
    주변회로가 전기적으로 연결되는 제3 버스 및
    상기 제2 버스와 상기 제3 버스 사이에 전기적으로 연결되고, 상기 제2 버스와 상기 제3버스 사이의 신호전송을 제어하는 제2제어회로를 포함하는 싱글칩 데 이타 처리장치.
  2. 제1항에 있어서,
    상기 제1 버스에 전기적으로 연결된 고정소수점 곱합연산유닛 및
    상기 제2 버스에 전기적으로 연결된 고정소수점 제산유닛을 더 포함하는 싱글칩 데이타 처리장치
  3. 제2항에 있어서,
    상기 주변회로는 프리 런닝 타이머, 직렬통신회로 및 워치독 타이머 중의 적어도 하나를 포함하는 싱글칩 데이타 처리장치.
  4. 제1항에 있어서,
    상기 제1 제어회로는 상기 직접메모리 액세스 제어유닛에 의한 상기 캐시메모리의 데이타의 리라이트를 감시하는 싱글칩 데이타 처리장치
  5. 제2항에 있어서,
    상기 데이타 처리유닛은 상기 곱합연산유닛과 협동하여 특정 물체 고유의 3차원 좌표점을 지정된 시점을 원점으로 하는 3차원 좌표로 변환하는 좌표변환처리를 실행하고,
    상기 제산유닛은 상기 데이타처리유닛 및 상기 곱합연산유닛과 병행해서 상기 좌표변환처리된 3차원 좌표점의 2차원화면상에서의 2차원 좌표점을 구하는 원근처리를 실행하고,
    상기 데이타처리유닛은 또 상기 원근처리에 의해 구해진 2차원좌표점이 표시화면내에 있는지 없는지를 판정하는 클립핑처리를 실행하는 싱글칩 데이타 처리장 치.
  6. 상기 제3 버스는 상기 제1내지 제2 버스의 버스사이클보다 저속인 버스사이클에서 동작하는 싱글칩 데이타 처리장치.
  7. 상기 어드레스 전송회로는 상기 캐시메모리가 상기 제1 버스상의 어드레스신호에 대한 미스히트를 나타내었을 때, 상기 제1 버스상의 상기 어드레스신호를 상기 제2 버스로 전송하는 싱글칩 데이타 처리장치.
  8. 클럭신호에 따라서 각각 동작하는 여러개의 회로블럭 및
    상기 여러개의 회로블럭의 각각에 대한 클럭신호의 공급 내지는 정지를 제어하는 제어레지스터를 포함하는 싱글칩 데이타 처리장치.
  9. 상기 여러개의 회로블럭의 각각은 스테이틱 CMOS 회로에 의해 구성되는 싱글칩 데이타 처리장치.
  10. 상기 제어레지스터는 상기 데이타처리유닛에 데이타버스를 거쳐서 전기적으로 연결되는 싱글칩 데이타 처리장치.
  11. 외부메모리와 함께 사용되는 싱글칩 데이타 처리장치로서,
    데이타처리유닛,
    상기 데이타처리유닛에 전기적으로 연결되고, 라이트스루방식에 의해 라이트동작을 실행하는 캐시메모리 및
    상기 데이타처리유닛에 전기적으로 연결되고 또한 상기 외부메모리와 전기적으로 연결될 외부 인터페이스회로를 포함하고,
    상기 외부 인터페이스회로는 상기 외부메모리로의 액세스에 있어서 버스트리드동작 및 싱글라이트동작을 실행하는 모드를 선택가능하게 하고,
    상기 버스트 리드동작에 의해서 여러개의 데이타단위가 상기 외부메모리에서연속적으로 공급되고,
    상기 싱글 라이트동작에 있어서 1개의 데이타단위가 상기 외부메모리로 공급되는 싱글칩 데이타 처리장치,
  12. 제11항에 있어서,
    상기 라이트스루방식에 의한 라이트동작은 상기 외부 인터페이스회로의 싱글 라이트동작에 의해 달성되는 싱글칩 데이타 처리장치.
  13. 제 12항에 있어서,
    상기 외부메모리는 싱크로너스 다이나믹 랜덤 액세스 메모리를 포함하고,
    상기 싱글칩 데이타 처리장치는 직접메모리 액세스 제어회로를 더 포함하는 싱글칩 데이타 처리장치.
  14. 제11항에 있어서,
    상기 외부메모리는 싱크로너스 다이나믹 랜덤 액세스 메모리를 포함하는 싱글칩 데이타 처리장치.
  15. 처리유닛을 포함하는 데이타처리 시스템내의 버스트 데이타전송이 가능한 외부메모리의 제어방법으로서,
    상기 처리유닛에 의해 발생된 어드레스에 따라서, 상기 외부메모리로부터의 버스트리드를 가능하게 하고 또한 상기 외부메모리로의 비버스트 라이트를 가능하게 하는 제1 동작모드로 선택하는 공정 및
    상기 외부메모리에 비버스트전송에 의해 데이타를 라이트하는 공정을 포함하는 외부메모리의 제어방법.
  16. 제15항에 있어서,
    상기 외부메모리의 데이터를 버스트 리드하는 공정을 더 포함하는 외부메모리의 제어방법.
  17. 제15항에 있어서,
    상기 데이타처리 시스템은 라이트스루방식의 캐시메모리를 포함하고,
    상기 방법은
    상기 캐시메모리에 제1 데이타를 라이트하는 공정 및
    상기 제1 데이타를 상기 외부메모리에 비버스트전송에 의해 데이타를 라이트하는 공정을 더 포함하는 외부메모리의 제어방법,
  18. 제15항에 있어서,
    상기 외부메모리로부터의 버스트리드를 가능하게 하고 또한 상기 외부메모리로의 버스트라이트를 가능하게 하는 제2 동작모드를 선택하는 공정 및
    상기 외부메모리에 버스트전송에 의해 데이타를 라이트하는 공정을 더 포함하는 외부메모리의 제어방법.
  19. 제18항에 있어서,
    상기 제2 동작모드의 선택공정은 상기 처리유닛에서 출력된 어드레스에 따라서 실행되는 외부메모리의 제어방법.
  20. 데이타처리유닛과 함께 사용되는 싱크로너스 다이나믹 랜덤 액세스 메모리 제어회로로서,
    상기 데이타처리유닛으로부터의 어드레스정보를 받도록 적용되는 메모리모드선택수단 및
    상기 데이타 처리유닛에 결합되고 또한 싱크로너스 다이나믹 랜덤 액세스 메모리에 결합되도록 적용되는 외부 인터페이스회로를 포함하고,
    상기 메모리모드 선택수단은 상기 어드레스정보에 따라서 상기 싱크로너스 다이나믹 랜덤 액세스 메모리를 제어하기 위한 제1 동작모드를 선택하고,
    상기 제1 동작모드가 선택되었을 때, 상기 싱크로너스 다이나믹 랜덤 액세스메모리 제어회로는 상기 싱크로너스 다이나믹 랜덤 액세스 메모리로부터의 연속적인 데이타의 버스트 리드동작을 실행하고 또한 상기 싱크로너스 다이나믹 랜덤 액세스 메모리로의 싱글데이타 라이트동작을 실행하는 싱크로너스 다이나믹 랜덤 액세스 메모리 제어회로.
  21. 제20항에 있어서,
    상기 싱크로너스 다이나믹 랜덤 액세스 메모리는 외부메모리로 되고,
    상기 싱크로너스 다이나믹 랜덤 액세스 메모리 제어회로는 직접적으로 상기 싱크로너스 다이나믹 랜덤 액세스 메모리를 액세스하는 싱크로너스 다이나믹 랜덤 액세스 메모리 제어회로.
  22. 제21항에 있어서,
    상기 데이타처리유닛은 캐시메모리를 더 포함하고,
    상기 데이타처리유닛은 리이트 스루 캐시 액세스를 실행하고,
    상기 라이트 스루 캐시 액세스가 상기 싱크로너스 다이나믹 랜덤 액세스 메모리와 관련될 때, 상기 싱크로너스 다이나믹 랜덤 액세스 메모리 제어회로는 상기제1 동작모드로 동작하는 싱크로너스 다이나믹 랜덤 액세스 메모리 제어회로.
  23. 외부메모리와 함께 사용되는 싱글칩 데이타처리장치로서,
    상기 외부메모리는 여러개의 단자를 포함하고 또한 여러개의 모드 중의 1개의 모드에서 동작하고, 상기 외부메모리의 상기 모드는 상기 여러개의 단자를 거쳐서 공급된 신호에 따라 결정되고,
    어드레스공간을 액세스가능하게 되고, 상기 어드레스공간내의 어드레스를 나타내기 위한 어드레스신호를 공급하는 중앙처리장치,
    상기 외부메모리의 상기 여러개의 단자에 전기적으로 연결되는 여러개의 외부단자 및
    상기 중앙처리장치와 상기 여러개의 외부단자에 전기적으로 연결된 메모리 제어신호 발생회로를 포함하고,
    상기 메모리 제어신호 발생회로는 상기 중앙처리장치에서 발생된 어드레스신호의 일부에 따라서 상기 외부메모리의 모드를 세트하기 위한 제어신호를 발생하는 싱글칩 데이타 처리장치.
  24. 제23항에 있어서,
    상기 외부메모리는 싱크로너스 다이나믹 랜덤 액세스 메모리를 포함하고,
    상기 메모리 제어신호 발생회로는 소정 전압레벨의 어드레스 스트로브 신호와 소정 전압레벨의 라이트 인에이블신호를 발생하고, 그것에 의해서 상기 어드레스 신호의 일부에 의해서 표시되는 모드가 상기 싱크로너스 다이나믹 랜덤 액세스 메모리에 설정되는 싱글칩 데이타 처리장치.
  25. 제24항에 있어서,
    상기 어드레스 스트로브 신호는 로우레벨의 로우 어드레스 스트로브 신호와 로우레벨의 컬럼 어드레스 스트로브 신호를 포함하고,
    상기 소정 전압레벨의 상기 라이트 인에이블 신호는 로우레벨의 라이트 인에 이블신호인 싱글칩 데이타 처리장치.
  26. 어드레스정보를 공급하는 중앙처리장치,
    여러개의 어드레스정보와 소정의 데이타 사이즈를 갖는 여러개의 유닛블럭정보를 포함하고, 상기 중앙처리장치에서 공급된 상기 어드레스정보의 일부와 일치하고 있는 어드레스정보를 가질 때, 여러개의 유닛블럭정보에서 상기 어드레스정보에 대응하는 유닛블럭정보를 선택하논 캐시메모리 및
    데이타 버퍼를 갖고, 상기 테이타 버퍼를 사용해서 유닛데이타전송을 실행하는 직접메모리 액세스 제어회로를 포함하고,
    상기 유닛데이타전송을 실행하는 직접메모리 액세스 제어회로에 의해서 전송될 데이타의 데이타 사이즈는 상기 캐시메모리내의 상기 유닛블럭정보의 상기 소정의 데이타 사이즈와 일치하는 싱글칩 데이타 처리장치.
  27. 제26항에 있어서,
    상기 싱글칩 데이타 처리장치는 여러개의 데이타를 연속적으로 리드하는 버스트 리드 모드를 갖는 외부메모리와 함께 사용되고,
    상기 버스트 리드 모드에 의해서 리드될 데이타의 사이즈는 상기 유닛블럭정보의 상기 소정의 데이타 사이즈와 일치하는 싱글칩 데이타 처리장치.
  28. 제27항에 있어서,
    데이타가 상기 중앙처리장치로부터의 어드레스정보의 일부에 따라서 선택된 유닛블럭정보의 데이타에서 선택되고 상기 중앙처리장치로 공급되는 싱글칩 데이타처리장치.
  29. 제28항에 있어서,
    상기 버스트 리드 모드에 의해서 리드될 데이타의 데이타 사이즈는 상기 소 정의 데이타 사이즈와 동일하고,
    상기 유닛데이타 전송을 실행하는 직접메모리 액세스 제어회로에 의해서 전송될 데이타의 데이타 사이즈는 상기 소정의 데이타 사이즈와 동일한 싱글칩 데이타 처리장치.
  30. 제29항에 있어서,
    상기 외부메모리는 싱크로너스 다이나믹 랜덤 액세스 메모리를 포함하는 싱글칩 데이타 처리장치.
  31. 제27항에 있어서,
    상기 버스트 리드 모드에 의해서 리드될 데이타의 데이타 사이즈는 상기 소 정의 데이타 사이즈와 동일하고,
    상기 유닛데이타전송을 실행하는 직접메모리 액세스 제어회로에 의해서 전송될 데이타의 데이타 사이즈는 상기 소정의 데이타 사이즈와 동일한 싱글칩 데이타 처리장치.
  32. 제1 클럭신호와 동기해서 동작하는 외부메모리와 함께 이용되는 싱글칩 데이타 처리장치로서,
    제2 클럭신호와 동기해서 동작하는 중앙처리장치,
    외부클럭단자 및
    상기 제2 클럭신호를 상기 중앙처리장치에 공급하고 또한 상기 제2 클럭신호의 위상과 소정의 관계를 갖는 위상의 클럭신호를 상기 제1 클럭신호로서 상기 외 부클럭단자를 거쳐서 상기 외부메모리에 공급하는 클럭공급회로를 포함하는 싱글칩데이타 처리장치.
  33. 제32항에 있어서,
    외부단자를 더 포함하고,
    상기 중앙처리장치는 상기 제2 클럭신호와 동기해서 상기 외부단자로 제어신호를 공급하고,
    상기 외부메모리는 상기 제1 클럭신호와 동기해서 상기 제어신호를 받는 싱글칩 데이타 처리장치.
  34. 제33항에 있어서,
    상기 클럭공급회로는
    주파수배주회로 및
    상기 주파수배주회로의 출력을 위상이 다른 여러개의 클럭신호로 분주하는 분주회로를 포함하고,
    상기 여러개의 클럭신호중의 하나가 상기 제1 클럭신호로서 사용되고, 상기 여러개의 클럭신호중의 다른하나가 상기 제2 클럭신호로서 사용되는 싱글칩 데이타 처리장치.
  35. 제34항에 있어서,
    상기 외부메모리는 싱크로너스 다이나믹 랜덤 액세스 메모리를 포함하는 싱글칩 데이타 처리장치.
  36. 제35항에 있어서,
    상기 클럭공급회로는 상기 제1 클럭신호의 위상을 상기 제2 클럭신호의 위상에 대해 진행시키는 싱글칩 데이타 처리장치.
  37. 프로세서와 외부메모리를 포함하는 데이타처리 시스템에 있어서 상기 외부메모리를 제어하는 방법으로서,
    제1 주파수와 제1 위상을 갖는 시스템클럭을 발생하는 공정,
    상기 시스템클럭을 위상조정하고, 상기 제1 주파수와 제2 위상을 갖는 메모리 클럭신호를 발생하는 공정,
    상기 프로세서로 상기 시스템클럭을 공급하는 공정 및
    상기 외부메모리로 상기 메모리클럭신호를 공급하는 공정을 포함하는 외부메모리의 제어방법.
  38. 제37항에 있어서,
    상기 외부메모리는 싱크로너스 다이나믹 랜덤 액세스 메모리를 포함하고,
    상기 메모리 클럭신호가 상기 싱크로너스 다이나믹 랜덤 액세스 메모리로 공급되는 외부메모리의 제어방법.
  39. 제38항에 있어서,
    상기 위상조정은 상기 싱크로너스 다이나믹 랜덤 액세스 메모리의 세트업시간 및 홀드시간특성에 의해서 결정되는 외부메모리의 제어방법.
  40. 시스템클럭을 갖는 싱글칩 데이타 처리장치내의 메모리 인터페이스회로로서,
    상기 시스템클럭을 받는 클럭발생수단 및
    상기 시스템클럭을 위상조정하고 외부메모리로 공급될 메모리클럭신호를 발생하기 위해 적용되는 위상조정회로를 포함하는 메모리 인터페이스회로.
  41. 어드레스신호를 공급하는 중앙처리장치 및
    캐시 메모리를 포함하고,
    상기 캐시메모리는 캐시메모리 모드와 내장메모리 모드에서 동작가능하게 되고,
    상기 캐시메모리는
    여러개의 어드레스데이타를 저장하는 태그메모리,
    상기 태그메모리에 저장된 상기 여러개의 어드레스데이타에 대응하는 여러개의 데이타를 저장하는 데이타메모리 및
    제어회로를 포함하고,
    상기 제어회로는 상기 캐시메모리가 상기 캐시메모리 모드에서 동작되고 있는 경우, 상기 태그메모리가 상기 중앙처리장치로부터의 어드레스신호에 대응하는 어드레스 데이타를 가질 때, 상기 데이타메모리의 데이타를 상기 중앙처리장치로 공급하고,
    상기 제어회로는 상기 캐시메모리가 상기 내장메모리 모드에서 동작되고 있는 경우, 상기 중앙처리장치에 상기 데이타메모리로의 라이트 및 리드를 위한 액세스를 허가하는 싱글칩 데이타 처리장치.
  42. 제41항에 있어서,
    상기 제어 회로는
    상기 캐시메모리가 상기 캐시메모리 모드에서 동작할 때, 상기 태그메모리내의 어드레스데이타와 상기 어드레스신호를 비교하고 상기 데이타메모리를 활성화시키는 히트신호를 발생하는 비교회로 및
    상기 캐시메모리가 상기 내장메모리 모드에서 동작할 때, 상기 데이타메모리를 활성화하는 수단을 포함하는 싱글칩 데이타 처리장치.
  43. 어드레스버스,
    데이타버스,
    상기 어드레스버스와 상기 데이타버스에 전기적으로 연결된 중앙처리장치 및
    상기 어드레스버스와 상기 데이타버스에 전기적으로 연결된 캐시메모리를 포함하고,
    상기 캐시메모리는
    어드레스 태그 데이타를 각각 저장하는 여러개의 태그블럭을 포함하는 태그메모리,
    상기 여러개의 태그 블럭에 대응해서 마련되고 상기 대응하는 태그블럭내에 저장된 상기 어드레스 태그 데이타에 관련된 데이타를 저장하는 여러개의 데이타블럭을 포함하는 데이타메모리 및
    상기 태그 메모리와 상기 데이타메모리에 전기적으로 연결된 제어회로를 포함하고,
    상기 어드레스 태그 데이타는 상기 중앙처리장치로부터의 적어도 어드레스데이타의 일부와 비교되고,
    상기 태그 메모리는 상기 여러개의 태그블럭중의 하나가 상기 중앙처리장치로부터의 어드레스에 관해서 소정의 조건을 만족시키는 어드레스 태그 데이타를 저장할 때, 1개의 태그블럭의 지시를 실행하고,
    상기 제어회로는 상기 태그 메모리로부터의 상기 지시에 의해서 지정된 태그블럭에 대응하는 데이타블럭을 리드하도록 동작하고,
    상기 지정된 태그블럭에 대응하는 데이타블럭내에 저장된 데이타는 상기 데 이타메모리에서 리드되고,
    상기 제어회로는 상기 태그메모리로부터의 상기 지시에 의해서 지시된 태그블럭에 대응하지 않는 데이타블럭으로부터의 리드를 방지하도록 동작하는 싱글칩 데이타 처리장치.
  44. 제43항에 있어서,
    상기 데이타블럭의 각각은 메모리셀을 포함하고,
    상기 데이타 메모리는 상기 여러개의 데이타블럭중의 적어도 1개에 각각 대응하는 여러개의 센스앰프회로를 포함하고,
    상기 지정된 태그블럭에 대응하는 데이타블럭에 대응하고 있는 센스앰프회로는 대응하는 메모리블럭내의 메모리셀로부터의 신호를 증폭하고,
    상기 지정된 태그블럭에 대응하지 않는 데이타블럭에 대응하고 있는 센스앰프회로는 메모리셀로부터의 신호를 증폭하는 동작을 금지하는 싱글칩 데이타 처리장치.
  45. 제44항에 있어서,
    상기 센스앰프회로는
    CMOS 래치회로 및
    상기 CMOS 래치회로로 동작전류를 공급하는 P형 및 N형 MOSFET를 포함하고,
    상기 P형 및 N형 MOSFET는 상기 제어회로에 의해서 제어되는 싱글칩 데이타 처리장치.
  46. 제45항에 있어서,
    상기 메모리셀은 CMOS 스테이틱형 메모리셀을 포함하는 싱글칩 데이타 처리장치.
  47. 제43항에 있어서,
    상기 데이타메모리는 상기 지시된 태그블럭에 대응하는 데이타블럭을 선택하는 선택회로를 포함하고,
    상기 선택회로는 상기 지시된 태그블럭에 대응하지 않는 데이타블럭을 선택하지 않는 싱글칩 데이타 처리장치.
  48. 제47항에 있어서,
    상기 데이타블럭의 각각은 메모리셀을 포함하는 싱글칩 데이타 처리장치.
  49. 제48항에 있어서,
    상기 여러개의 태그블럭의 각각은 태그 메모리어레이를 포함하고,
    상기 여러개의 데이타블럭의 각각은 데이타 메모리어레이를 포함하는 싱글칩 데이타 처리장치.
  50. 제47항에 있어서,
    상기 여러개의 데이타블럭의 각각은
    여러개의 메모리셀 및
    상기 여러개의 메모리셀의 소정의 셀에 각각 연결된 여러개의 워드선을 포함하고,
    상기 선택회로는
    상기 여러개의 데이타블럭의 소정의 데이타블럭에 각각 대응하도록 마련되고 또한 상기 여러개의 워드선을 구동하는 여러개의 구동회로를 포함하는 여러개의 어드레스 디코더를 포함하고,
    상기 지정된 태그블럭에 대응하는 데이타블럭에 대응하는 어드레스 디코더는 활성화되고,
    상기 지정된 태그블럭에 대응하지 않는 데이타블럭에 대응하는 어드레스 디코더는 비활성화되는 싱글칩 데이타 처리장치.
  51. 제50항에 있어서,
    상기 메모리셀의 각각은 CMOS 스테이틱형 메모리셀을 포함하는 싱글칩 데이 타 처리장치.
  52. 제51항에 있어서,
    상기 중앙처리장치로부터의 상기 어드레스의 일부는 상기 여러개의 어드레스 디코더로 공급되고, 상기 여러개의 데이타블럭내의 워드선을 선택하는 싱글칩 데이타 처리장치.
  53. 제52항에 있어서,
    상기 태그메모리는 상기 중앙처리장치로부터의 상기 어드레스의 일부와 어드레스 태그 데이타를 비교하는 1개 및 여러개의 비교회로를 포함하는 싱글칩 데이타 처리장치
  54. 제53항에 있어서,
    상기 데이타블럭의 각각은 여러개의 센스앰프회로를 포함하고,
    상기 지정된 태그블럭에 대응하는 데이타블럭에 포함된 상기 여러개의 센스 앰프회로는 대응하는 메모리블럭내의 메모리셀로부터의 신호를 증폭하고,
    상기 지정된 태그블럭에 대응하지 않는 데이타블럭내에 포함된 여러개의 센스앰프회로는 동작금지로 되는 싱글칩 데이타 처리장치.
  55. 제54항에 있어서,
    상기 센스앰프회로는
    CMOS 래치회로 및
    상기 메모리셀로부터의 신호를 증폭시키기 위해, 상기 CMOS 래치회로로 동작전류를 공급하는 P형 및 N형 MOSFET를 포함하는 싱글칩 데이타 처리장치.
  56. 제55항에 있어서,
    상기 여러개의 태그 블럭의 각각은 태그 메모리어레이를 포함하고,
    상기 여러개의 데이타블럭의 각각은 데이타 메모리어레이를 포함하는 싱글칩 데이타 처리장치.
  57. 싱글칩 데이타 처리장치로서,
    모드단자,
    제1 단자,
    제2 단자 및
    외부 인터페이스회로를 갖고,
    상기 외부 인터페이스회로는 상기 데이타 처리장치가 상기 모드단자를 거쳐서 받은 버스사용권 제어신호에 따라서 슬레이브모드에서 동작할 때, 상기 제1 단자를 버스사용권 요구신호를 출력하기 위한 단자로 하고, 상기 제2 단자를 버스사용권 허가신호를 받기 위한 단자로서 이용할 수 있도록 설정하고,
    상기 외부 인터페이스회로는 상기 데이타 처리장치가 상기 모드단자를 거쳐서 받은 버스사용권 제어신호에 따라서 마스터모드에서 동작할 때, 상기 제1 단자를 버스사용 허가신호를 출력하기 위한 단자로 하고, 상기 제2 단자를 버스해방요구를 받기 위한 단자로서 이용할 수 있도록 설정하는 싱글칩 데이타 처리장치.
  58. 슬레이브모드와 마스터모드에서 동작가능한 싱글칩 데이타 처리장치로서,
    상기 데이타 처리장치가 상기 슬레이브모드에서 동작할 때, 상기 데이타처리장치는 버스권 요구신호를 위한 제1 단자 및 버스아크놀리지신호를 위한 제2 단자를 갖고,
    상기 데이타 처리장치가 상기 마스터모드에서 동작할 때, 상기 제1 단자는 버스그랜트신호를 위해 사용되고, 상기 제2 단자는 버스해방 요구신호를 위해 사용되는 싱글칩 데이타 처리장치.
  59. 제58항에 있어서,
    상기 데이타처리장치는 제1 레벨의 버스사용권 제어신호가 모드단자로 공급되었을 때 상기 슬레이브모드에서 동작하고,
    상기 데이타처리장치는 제2 레벨의 버스사용권 제어신호가 상기 모드단자로 공금되었을 때 상기 마스터모드에서 동작하는 싱글칩 데이타 처리장치.
  60. 제59항에 있어서,
    상기 슬레이브모드에 있어서 상기 제1 단자는 상기 버스권 요구신호를 출력하고, 상기 제2 단자는 상기 버스아크놀리지신호를 입력하고,
    상기 마스터모드에 있어서 상기 제1 단자는 버스그랜트신호를 출력하고, 상기 제2 단자는 상기 버스해방 요구신호를 입력하는 싱글칩 데이타 처리장치.
  61. 제60항에 있어서,
    중앙처리장치, 캐시메모리, 곱합연산기 및 직접메모리 액세스 제어회로를 더 포함하는 싱글칩 데이타 처리장치.
  62. 마스터모드를 나타내는 제1 레벨신호 또는 슬레이브모드를 나타내는 제2 레벨신호가 공급될 모드단자,
    버스그랜트신호 또는 버스요구신호가 선택적으로 공급될 제1 단자 및
    버스해방 요구신호 또는 버스아크놀리지신호가 선택적으로 공급될 제2 단자를 포함하는 싱글칩 데이타 처리장치.
  63. 제62항에 있어서,
    상기 제1 레벨신호가 상기 모드단자로 공급될 때, 상기 제1 단자에는 상기 버스그랜트신호가 공급되고, 상기 제2 단자에는 버스해방 요구신호가 공급되고,
    상기 제2 레벨신호가 상기 모드단자로 공급될 때, 상기 제1 단자에는 상기 버스권요구신호가 공급되고, 상기 제2 단자에는 버스아크놀리지신호가 공급되는 싱글칩 데이타 처리장치.
  64. 제63항에 있어서,
    중앙처리장치, 캐시메모리, 곱합연산기 및 직접메모리 액세스 제어회로를 더 포함하는 싱글칩 데이타 처리장치.
  65. 적어도 제1 및 제2 데이타 처리장치를 포함하고,
    상기 제1 및 제2 데이타 처리장치의 각각은 제1 단자와 제2 단자를 포함하고,
    상기 제1 데이타 처리장치의 모드단자로 공급되는 신호에 따라서 상기 제1 데이타 처리장치가 슬레이브모드에서 동작할 때, 버스권 요구신호가 상기 제1 데이타 처리장치의 상기 제1 단자에서 출력되고, 버스그랜트신호가 상기 제1 데이타 처리장치의 상기 제2 단자에 입력되고,
    상기 제2 데이타 처리장치의 모드단자로 공급되는 신호에 따라서 상기 제2 데이타 처리장치가 마스터모드에서 동작할 때, 상기 버스권 요구신호가 상기 제2 데이타 처리장치의 상기 제1 단자에 입력되고, 상기 버스그랜트신호가 상기 제2 데이타 처리장치의 상기 제2 단자에서 출력되는 데이타 처리 시스템.
  66. 제 65항에 있어서,
    상기 적어도 제1 및 제2 데이타 처리장치의 각각은 제1 레벨신호가 각각의모드선택단자로 공급될 때, 상기 마스터모드에서 동작하고,
    상기 적어도 제1 및 제2 데이타 처리장치의 각각은 제2 레벨신호가 각각의 모드선택단자로 공급될 때, 상기 슬레이브모드에서 동작하는 데이타 처리 시스템.
  67. 제66항에 있어서,
    상기 적어도 제1 및 제2 데이타 처리장치의 각각은 중앙처리장치, 캐시메모리, 곱합연산기, 직접메모리 액세스 제어회로를 포함하는 데이타 처리 시스템.
  68. 데이타처리유닛과 캐시메모리가 전기적으로 연결되는 제1 버스,
    직접메모리 액세스 제어유닛이 전기적으로 연결되는 제2 버스,
    상기 제1 버스 및 상기 제2 버스의 버스사이클보다 저속인 버스사이클로 되고, 주변회로가 전기적으로 연결되는 제3 버스 및
    외부버스에 결합될 외부 인터페이스회로를 포함하는 싱글칩 데이타 처리장치.
  69. 제68항에 있어서,
    상기 외부 인터페이스회로는 선택적으로 상기 중앙처리장치에서 상기 제1 버스로 출력된 어드레스신호를 상기 외부버스로 출력하는 싱글칩 데이타 처리장치.
  70. 제68항에 있어서,
    상기 제1 버스에 전기적으로 연결된 곱합연산유닛 및
    상기 제2 버스에 전기적으로 연결된 제산유닛을 더 포함하는 싱글칩 데이타 처리장치.
  71. 제68항에 있어서,
    상기 주변회로는 프리런닝 타이머, 직렬통신회로 및 워치독 타이머중의 적어도 하나를 포함하는 싱글칩 데이타 처리장치.
KR1019940023490A 1993-09-17 1994-09-16 싱글칩마이크로컴퓨터 KR100349787B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP93-255099 1993-09-17
JP25509993 1993-09-17
JP94-036472 1994-02-09
JP03647294A JP3904244B2 (ja) 1993-09-17 1994-02-09 シングル・チップ・データ処理装置

Publications (2)

Publication Number Publication Date
KR950009422A KR950009422A (ko) 1995-04-24
KR100349787B1 true KR100349787B1 (ko) 2003-02-05

Family

ID=26375537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940023490A KR100349787B1 (ko) 1993-09-17 1994-09-16 싱글칩마이크로컴퓨터

Country Status (5)

Country Link
US (9) US5930523A (ko)
EP (3) EP0718779A1 (ko)
JP (1) JP3904244B2 (ko)
KR (1) KR100349787B1 (ko)
DE (1) DE69435148D1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100700457B1 (ko) * 2005-07-22 2007-03-28 삼성전자주식회사 단일 기판 멀티 마이컴간의 알에스-485 통신제어장치

Families Citing this family (293)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3904244B2 (ja) * 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
US5867726A (en) * 1995-05-02 1999-02-02 Hitachi, Ltd. Microcomputer
US5860127A (en) 1995-06-01 1999-01-12 Hitachi, Ltd. Cache memory employing dynamically controlled data array start timing and a microcomputer using the same
US5708135A (en) * 1995-09-29 1998-01-13 Biomeasure Incorporated Cyclic peptide analogs of somatostatin
US5862359A (en) * 1995-12-04 1999-01-19 Kabushiki Kaisha Toshiba Data transfer bus including divisional buses connectable by bus switch circuit
JPH1049511A (ja) * 1996-08-02 1998-02-20 Oki Electric Ind Co Ltd 1チップマイクロコンピュータ
JP3767085B2 (ja) * 1996-09-04 2006-04-19 セイコーエプソン株式会社 情報処理回路及びマイクロコンピュータ
US6230245B1 (en) 1997-02-11 2001-05-08 Micron Technology, Inc. Method and apparatus for generating a variable sequence of memory device command signals
US6175894B1 (en) 1997-03-05 2001-01-16 Micron Technology, Inc. Memory device command buffer apparatus and method and memory devices and computer systems using same
FR2762416B1 (fr) * 1997-04-16 1999-05-21 Thomson Multimedia Sa Methode et dispositif d'acces a des ensembles de donnees contenus dans une memoire de masse
US5996043A (en) 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
US6484244B1 (en) 1997-06-17 2002-11-19 Micron Technology, Inc. Method and system for storing and processing multiple memory commands
US6115823A (en) * 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor
US6266379B1 (en) 1997-06-20 2001-07-24 Massachusetts Institute Of Technology Digital transmitter with equalization
US6223275B1 (en) * 1997-06-20 2001-04-24 Sony Corporation Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US7394347B2 (en) 1997-10-27 2008-07-01 World Wide Innovations, Llc Locking device for electronic equipment
US8963681B2 (en) 1997-10-27 2015-02-24 Direct Source International, Llc Operating control system for electronic equipment
JPH11134244A (ja) * 1997-10-31 1999-05-21 Brother Ind Ltd 記憶装置の制御装置及び制御方法
US6195757B1 (en) * 1998-01-26 2001-02-27 International Business Machine Corporation Method for supporting 1½ cycle data paths via PLL based clock system
JP4505866B2 (ja) 1998-04-03 2010-07-21 ソニー株式会社 画像処理装置および映像信号処理方法
US6178488B1 (en) * 1998-08-27 2001-01-23 Micron Technology, Inc. Method and apparatus for processing pipelined memory commands
DE19845876A1 (de) * 1998-10-06 2000-04-13 Jetter Ag Prozeßsteuerung
US6173342B1 (en) * 1998-10-19 2001-01-09 Hitachi Semiconductor America, Inc. High speed bus interface for peripheral devices
KR100487218B1 (ko) * 1998-11-18 2005-07-07 삼성전자주식회사 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
US6763448B1 (en) * 1999-02-16 2004-07-13 Renesas Technology Corp. Microcomputer and microcomputer system
US6711684B1 (en) 1999-06-08 2004-03-23 General Instrument Corporation Variable security code download for an embedded processor
JP3750494B2 (ja) 1999-08-31 2006-03-01 松下電器産業株式会社 半導体装置
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6460174B1 (en) 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US6542983B1 (en) 1999-10-01 2003-04-01 Hitachi, Ltd. Microcomputer/floating point processor interface and method
US6701405B1 (en) 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6633971B2 (en) 1999-10-01 2003-10-14 Hitachi, Ltd. Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6502210B1 (en) 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6457118B1 (en) 1999-10-01 2002-09-24 Hitachi Ltd Method and system for selecting and using source operands in computer system instructions
US6598177B1 (en) 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6487683B1 (en) 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6434665B1 (en) 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6779145B1 (en) 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6349371B1 (en) 1999-10-01 2002-02-19 Stmicroelectronics Ltd. Circuit for storing information
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6826191B1 (en) 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US6820195B1 (en) 1999-10-01 2004-11-16 Hitachi, Ltd. Aligning load/store data with big/little endian determined rotation distance control
US6553460B1 (en) 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6496905B1 (en) 1999-10-01 2002-12-17 Hitachi, Ltd. Write buffer with burst capability
US6615370B1 (en) 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6412047B2 (en) 1999-10-01 2002-06-25 Stmicroelectronics, Inc. Coherency protocol
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US6298394B1 (en) 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
US6601189B1 (en) 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6412043B1 (en) 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6591369B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics, Ltd. System and method for communicating with an integrated circuit
US6859891B2 (en) 1999-10-01 2005-02-22 Stmicroelectronics Limited Apparatus and method for shadowing processor information
US6665816B1 (en) 1999-10-01 2003-12-16 Stmicroelectronics Limited Data shift register
US6772325B1 (en) * 1999-10-01 2004-08-03 Hitachi, Ltd. Processor architecture and operation for exploiting improved branch control instruction
US6590907B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics Ltd. Integrated circuit with additional ports
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US7072817B1 (en) 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
US6408381B1 (en) 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6567932B2 (en) 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6928073B2 (en) * 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US6351803B2 (en) 1999-10-01 2002-02-26 Hitachi Ltd. Mechanism for power efficient processing in a pipeline processor
JP2001142692A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法
US7000078B1 (en) * 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
US7793261B1 (en) 1999-10-01 2010-09-07 Stmicroelectronics Limited Interface for transferring debug information
US6449712B1 (en) 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US6530047B1 (en) 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6557119B1 (en) 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6918065B1 (en) 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US7266728B1 (en) 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
US6463553B1 (en) 1999-10-01 2002-10-08 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
EP1146501B1 (en) * 1999-10-18 2011-03-30 Seiko Epson Corporation Display device with memory integrated on the display substrate
US6769035B1 (en) * 2000-04-07 2004-07-27 Infineon Technologies North America Corp. Same single board computer system operable as a system master and a bus target
FR2810009B1 (fr) * 2000-06-09 2002-09-27 Otico Dispositif d'entrainement a chenille pour vehicule tout terrain
US6549986B1 (en) * 2000-06-20 2003-04-15 Conexant Systems, Inc. Low power instruction cache
US6272067B1 (en) * 2000-07-11 2001-08-07 Rosun Technologies, Inc. SRAM synchronized with an optimized clock signal based on a delay and an external clock
JP2002041495A (ja) * 2000-07-21 2002-02-08 Denso Corp マイクロコンピュータ
US6643749B2 (en) * 2000-11-06 2003-11-04 Matsushita Electric Industrial Co., Ltd. Interface for multi-processor
JP2002149396A (ja) * 2000-11-07 2002-05-24 Hitachi Ltd データプロセッサ、半導体集積回路及びcpu
US6735663B2 (en) * 2000-12-18 2004-05-11 Dell Products L.P. Combination personal data assistant and personal computing device
JP2002269987A (ja) 2001-03-12 2002-09-20 Hitachi Ltd 半導体集積回路装置
AU2002338475A1 (en) * 2001-04-23 2002-11-05 Quantum 3D, Inc. System and method for synchronization of video display outputs from multiple pc graphics subsystems
US20020194518A1 (en) * 2001-06-06 2002-12-19 Chang Kun-Yung Ken Apparatus and method for generating a skip signal
DE10143033A1 (de) * 2001-09-01 2003-04-03 Infineon Technologies Ag Verfahren zum Zugreifen auf Speicherzellen eines DRAM-Speicherbausteins
US7013398B2 (en) * 2001-11-15 2006-03-14 Nokia Corporation Data processor architecture employing segregated data, program and control buses
US7171509B2 (en) * 2002-01-09 2007-01-30 International Business Machines Corporation Method and apparatus for host messaging unit for Peripheral Component Interconnect busmaster devices
US7003607B1 (en) * 2002-03-20 2006-02-21 Advanced Micro Devices, Inc. Managing a controller embedded in a bridge
US6880056B2 (en) * 2002-03-28 2005-04-12 Hewlett-Packard Development, L.P. Memory array and method with simultaneous read/write capability
US6993617B2 (en) * 2002-05-01 2006-01-31 Sun Microsystems, Inc. System-on-a-chip having an on-chip processor and an on-chip dynamic random access memory (DRAM)
KR100453821B1 (ko) * 2002-10-09 2004-10-20 한국전자통신연구원 마이크로 컨트롤러를 위한 데이터 버스 시스템
CN100550189C (zh) * 2002-11-20 2009-10-14 Nxp股份有限公司 存储数据的方法、映射事务的装置和写数据线的方法
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
KR20040081030A (ko) * 2003-03-07 2004-09-20 마츠시타 덴끼 산교 가부시키가이샤 마이크로컴퓨터 응용시스템, 마이크로컴퓨터,신호처리시스템 및 신호처리lsi
US7065595B2 (en) * 2003-03-27 2006-06-20 International Business Machines Corporation Method and apparatus for bus access allocation
US20050278503A1 (en) * 2003-03-31 2005-12-15 Mcdonnell Niall D Coprocessor bus architecture
US7716036B2 (en) * 2003-04-24 2010-05-11 International Business Machines Corporation Method and apparatus to use clock bursting to minimize command latency in a logic simulation hardware emulator / accelerator
CN1792052B (zh) * 2003-05-20 2011-04-13 Nxp股份有限公司 时间触发的通信***以及用于同步双信道网络的方法
KR100475125B1 (ko) * 2003-06-21 2005-03-14 삼성전자주식회사 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법
DE10329395A1 (de) * 2003-06-30 2005-02-10 Infineon Technologies Ag Verfahren zur Datenübertragung
US7360023B2 (en) * 2003-09-30 2008-04-15 Starcore, Llc Method and system for reducing power consumption in a cache memory
US20050114627A1 (en) * 2003-11-26 2005-05-26 Jacek Budny Co-processing
JP2005165508A (ja) * 2003-12-01 2005-06-23 Renesas Technology Corp ダイレクトメモリアクセスコントローラ
EP2426906B1 (en) * 2004-06-14 2013-09-04 NEC Corporation External request type function control system, terminal device, external request type function control method, and external request type function control program
US8816742B2 (en) * 2004-11-05 2014-08-26 Qualcomm Incorporated Adaptive memory calibration using bins
US7266667B2 (en) * 2004-11-12 2007-09-04 Infineon Technologies Ag Memory access using multiple sets of address/data lines
US7380069B2 (en) * 2004-11-19 2008-05-27 Marvell International Technology Ltd. Method and apparatus for DMA-generated memory write-back
US7383363B2 (en) * 2004-11-20 2008-06-03 Marvell International Technology Ltd. Method and apparatus for interval DMA transfer access
US7269704B2 (en) * 2005-03-30 2007-09-11 Atmel Corporation Method and apparatus for reducing system inactivity during time data float delay and external memory write
US9652637B2 (en) 2005-05-23 2017-05-16 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for allowing no code download in a code download scheme
KR100600331B1 (ko) * 2005-05-30 2006-07-18 주식회사 하이닉스반도체 연속적인 버스트 모드로 동작 가능한 슈도 sram
JP2007026033A (ja) * 2005-07-15 2007-02-01 Fujitsu Ltd 半導体装置及び半導体装置の動作モード自動判定方法
JP2007133527A (ja) 2005-11-09 2007-05-31 Fujifilm Corp クロック信号生成回路、半導体集積回路及び分周率制御方法
TWI310924B (en) * 2005-11-10 2009-06-11 Delta Electronics Inc Display apparatus
US8185680B2 (en) * 2006-02-06 2012-05-22 Standard Microsystems Corporation Method for changing ownership of a bus between master/slave devices
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US9904809B2 (en) 2006-02-27 2018-02-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for multi-level security initialization and configuration
JP4267002B2 (ja) 2006-06-08 2009-05-27 エルピーダメモリ株式会社 コントローラ及びメモリを備えるシステム
US9489318B2 (en) 2006-06-19 2016-11-08 Broadcom Corporation Method and system for accessing protected memory
US7613265B2 (en) * 2006-09-05 2009-11-03 International Business Machines Corporation Systems, methods and computer program products for high speed data transfer using an external clock signal
US7423476B2 (en) * 2006-09-25 2008-09-09 Micron Technology, Inc. Current mirror circuit having drain-source voltage clamp
GB2444745B (en) * 2006-12-13 2011-08-24 Advanced Risc Mach Ltd Data transfer between a master and slave
KR101469512B1 (ko) * 2007-01-10 2014-12-05 모바일 세미컨덕터 코오포레이션 외부 컴퓨팅 디바이스의 성능 향상을 위한 어댑티브 메모리 시스템
US8006050B2 (en) 2007-04-19 2011-08-23 International Business Machines Corporation System for determining allocation of tape drive resources for a secure data erase process
US9098717B2 (en) 2007-04-19 2015-08-04 International Business Machines Corporation System for selectively performing a secure data erase to ensure timely erasure
US8001340B2 (en) * 2007-04-19 2011-08-16 International Business Machines Corporation Method for determining allocation of tape drive resources for a secure data erase process
US20090116597A1 (en) * 2007-11-06 2009-05-07 Jordi Cortadella Variability-Aware Asynchronous Scheme for High-Performance Communication Between an Asynchronous Circuit and a Synchronous Circuit
US20100117242A1 (en) * 2008-11-10 2010-05-13 Miller Gary L Technique for packaging multiple integrated circuits
US8742791B1 (en) * 2009-01-31 2014-06-03 Xilinx, Inc. Method and apparatus for preamble detection for a control signal
JP5350049B2 (ja) * 2009-04-03 2013-11-27 セミコンダクター・コンポーネンツ・インダストリーズ・リミテッド・ライアビリティ・カンパニー インターフェース回路
US8384128B2 (en) * 2009-05-15 2013-02-26 Intel Corporation Carrier mobility in surface-channel transistors, apparatus made therewith, and systems containing same
CN101719111B (zh) * 2009-11-06 2012-07-18 中兴通讯股份有限公司 集成设备及其实现方法
JP5428851B2 (ja) 2009-12-25 2014-02-26 富士通株式会社 キャッシュ装置、演算処理装置及び情報処理装置
US8607210B2 (en) * 2010-11-30 2013-12-10 Micron Technology, Inc. Code patching for non-volatile memory
JP2012118687A (ja) * 2010-11-30 2012-06-21 Sharp Corp 半導体集積回路
US8825922B2 (en) * 2011-04-18 2014-09-02 Infineon Technologies Ag Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
WO2013080496A1 (ja) * 2011-12-02 2013-06-06 パナソニック株式会社 クロスポイント型抵抗変化不揮発性記憶装置
JP2013125436A (ja) * 2011-12-15 2013-06-24 Panasonic Corp 画像処理回路および半導体集積回路
US9158661B2 (en) * 2012-02-15 2015-10-13 Apple Inc. Enhanced debugging for embedded devices
US9189581B2 (en) * 2012-07-30 2015-11-17 Synopsys, Inc. Equivalence checking between two or more circuit designs that include division circuits
US8732637B2 (en) * 2012-07-30 2014-05-20 Synopsys, Inc. Formal verification of bit-serial division and bit-serial square-root circuit designs
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9122791B2 (en) * 2013-03-05 2015-09-01 International Business Machines Corporation Identifying a storage location for a storage address requested during debugging
CN103346936B (zh) * 2013-05-03 2016-08-17 健雄职业技术学院 嵌入式拨号器
US20140333779A1 (en) * 2013-05-13 2014-11-13 Electronics And Telecommunications Research Institute Apparatus for distributing bus traffic of multiple camera inputs of automotive system on chip and automotive system on chip using the same
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9847110B2 (en) * 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US10176039B2 (en) 2014-09-19 2019-01-08 Micron Technology, Inc. Self-accumulating exclusive OR program
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
EP3254286B1 (en) 2015-02-06 2019-09-11 Micron Technology, INC. Apparatuses and methods for parallel writing to multiple memory device locations
WO2016126478A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for memory device as a store for program instructions
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
WO2016139787A1 (ja) * 2015-03-04 2016-09-09 株式会社日立製作所 ストレージシステム及びデータ書込み制御方法
WO2016144724A1 (en) 2015-03-10 2016-09-15 Micron Technology, Inc. Apparatuses and methods for shift decisions
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
EP3268965A4 (en) 2015-03-12 2018-10-03 Micron Technology, INC. Apparatuses and methods for data movement
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
CN107154271B (zh) * 2016-03-03 2020-07-17 智原微电子(苏州)有限公司 静态存储器装置及其静态存储器胞
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
WO2018069785A1 (en) 2016-10-12 2018-04-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and system using the same
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
DE102017008186B4 (de) * 2017-08-31 2022-12-15 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Master eines Bussystems
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10417135B2 (en) * 2017-09-28 2019-09-17 Intel Corporation Near memory miss prediction to reduce memory access latency
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10803000B2 (en) * 2017-12-04 2020-10-13 Synopsys, Inc. Phase-aware control and scheduling
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
TWI722521B (zh) * 2019-08-02 2021-03-21 新唐科技股份有限公司 控制裝置及調整方法
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851990A (en) * 1987-02-09 1989-07-25 Advanced Micro Devices, Inc. High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
JPH0398145A (ja) * 1989-09-11 1991-04-23 Hitachi Ltd マイクロプロセッサ
JPH04211880A (ja) * 1990-02-16 1992-08-03 Hitachi Ltd ワンチップ・マイクロプロセッサ及びそのバスシステム
JPH04273358A (ja) * 1991-02-28 1992-09-29 Mitsubishi Electric Corp Dmac内蔵型ワンチップマイクロコンピュータ
JPH05128279A (ja) * 1991-11-07 1993-05-25 Rohm Co Ltd ワンチツプマイクロコンピユータ

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3827029A (en) * 1972-09-25 1974-07-30 Westinghouse Electric Corp Memory and program protection system for a digital computer system
US4355389A (en) * 1977-03-15 1982-10-19 Tokyo Shibaura Electric Co., Ltd. Microprogrammed information processing system having self-checking function
DE3165316D1 (en) * 1980-02-21 1984-09-13 Ishihara Sangyo Kaisha 2-substituted-5-trifluoromethylpyridines and a process for producing the same
US4491907A (en) 1980-12-15 1985-01-01 Texas Instruments Incorporated Plurality of processors sharing the memory, the arithmetic logic unit and control circuitry all on a single semiconductor chip
JPS57117027A (en) * 1981-01-13 1982-07-21 Nec Corp Signal sending and receiving circuit
US4519028A (en) * 1981-02-17 1985-05-21 Digital Equipment Corporation CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol
US4428047A (en) * 1981-04-13 1984-01-24 Texas Instruments Incorporated Addressing a control ROM in a microcoded single-chip microcomputer using the output signals of the control ROM
US4589020A (en) * 1982-11-22 1986-05-13 Olympus Optical Co., Ltd. TV video data input apparatus
US4626985A (en) * 1982-12-30 1986-12-02 Thomson Components - Mostek Corporation Single-chip microcomputer with internal time-multiplexed address/data/interrupt bus
JPS59146352A (ja) 1983-02-09 1984-08-22 Nec Corp シングル・チップ・マイクロコンピュータ
US4649511A (en) * 1983-07-25 1987-03-10 General Electric Company Dynamic memory controller for single-chip microprocessor
US4849702A (en) * 1983-08-01 1989-07-18 Schlumberger Techologies, Inc. Test period generator for automatic test equipment
JPS6083166A (ja) 1983-10-14 1985-05-11 Hitachi Ltd 半導体集積回路装置
US4594654A (en) * 1983-11-04 1986-06-10 Advanced Micro Devices, Inc. Circuit for controlling external bipolar buffers from an MOS peripheral device
JPH0673363B2 (ja) * 1984-07-02 1994-09-14 株式会社東芝 システムlsiの設計方法
US4794524A (en) * 1984-07-03 1988-12-27 Zilog, Inc. Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
JPH0642263B2 (ja) * 1984-11-26 1994-06-01 株式会社日立製作所 デ−タ処理装置
JPH0792792B2 (ja) * 1985-08-23 1995-10-09 株式会社日立製作所 デ−タ処理装置
JPS6271088A (ja) * 1985-09-24 1987-04-01 Hitachi Ltd スタテイツク型ram
US4935867A (en) 1986-03-04 1990-06-19 Advanced Micro Devices, Inc. Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations
US4967375A (en) * 1986-03-17 1990-10-30 Star Technologies, Inc. Fast architecture for graphics processor
US4870562A (en) * 1986-03-20 1989-09-26 Nec Corporation Microcomputer capable of accessing internal memory at a desired variable access time
JPS62278651A (ja) * 1986-05-28 1987-12-03 Hitachi Ltd 部分書込制御装置
US4918650A (en) * 1986-12-22 1990-04-17 ON! Systems Memory control interface apparatus
US5175841A (en) * 1987-03-13 1992-12-29 Texas Instruments Incorporated Data processing device with multiple on-chip memory buses
US5179689A (en) * 1987-03-13 1993-01-12 Texas Instruments Incorporated Dataprocessing device with instruction cache
KR880014482A (ko) * 1987-05-27 1988-12-24 미다 가쓰시게 반도체 집적회로 장치
JPH0821011B2 (ja) * 1987-06-03 1996-03-04 株式会社日立製作所 バス拡張制御方式
US5155819A (en) * 1987-11-03 1992-10-13 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
US5184320A (en) * 1988-02-12 1993-02-02 Texas Instruments Incorporated Cached random access memory device and system
US5228139A (en) * 1988-04-19 1993-07-13 Hitachi Ltd. Semiconductor integrated circuit device with test mode for testing CPU using external signal
US5125084A (en) 1988-05-26 1992-06-23 Ibm Corporation Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller
EP0346917A3 (en) * 1988-06-17 1990-11-07 Modular Computer Systems Inc. Bus stealing method for concurrent cpu and i/o processing
KR0136594B1 (ko) * 1988-09-30 1998-10-01 미다 가쓰시게 단일칩 마이크로 컴퓨터
FI99250C (fi) * 1989-01-10 1997-12-29 Nintendo Co Ltd Järjestelmä ulkoisen muistin luvattoman käytön estämiseksi
US5440749A (en) 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
US5227863A (en) * 1989-11-14 1993-07-13 Intelligent Resources Integrated Systems, Inc. Programmable digital video processing system
FR2655451B1 (fr) * 1989-12-06 1992-07-10 Synelec Sa Procede et systeme de traitement d'images.
US5307464A (en) * 1989-12-07 1994-04-26 Hitachi, Ltd. Microprocessor and method for setting up its peripheral functions
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
JP2910303B2 (ja) 1990-06-04 1999-06-23 株式会社日立製作所 情報処理装置
US5265255A (en) * 1990-09-24 1993-11-23 International Business Machines Corp. Personal computer system with interrupt controller
JP3100622B2 (ja) * 1990-11-20 2000-10-16 沖電気工業株式会社 同期型ダイナミックram
US5270898A (en) * 1990-12-28 1993-12-14 Westinghouse Electric Corp. Sure chip plus
EP0913777B1 (en) * 1991-03-01 2005-05-11 Advanced Micro Devices, Inc. Output buffer for microprocessor
WO1992015981A1 (en) 1991-03-06 1992-09-17 Analog Devices, Incorporated Integrated-circuit chip and system for developing timing reference signals for use in high-resolution crt display equipment
JP2502829B2 (ja) * 1991-03-22 1996-05-29 松下電器産業株式会社 画像表示装置
US5239627A (en) * 1991-03-26 1993-08-24 International Business Machines Corporation Bi-directional parallel printer interface
US5652723A (en) * 1991-04-18 1997-07-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
JP3992757B2 (ja) * 1991-04-23 2007-10-17 テキサス インスツルメンツ インコーポレイテツド マイクロプロセッサと同期するメモリ、及びデータプロセッサ、同期メモリ、周辺装置とシステムクロックを含むシステム
US5659797A (en) * 1991-06-24 1997-08-19 U.S. Philips Corporation Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
US5353424A (en) 1991-11-19 1994-10-04 Digital Equipment Corporation Fast tag compare and bank select in set associative cache
JP3366633B2 (ja) * 1991-11-27 2003-01-14 セイコーエプソン株式会社 ピクセル変更システム及びピクセル変更方法
US5388841A (en) 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
US5878269A (en) 1992-03-27 1999-03-02 National Semiconductor Corporation High speed processor for operation at reduced operating voltage
JP3058986B2 (ja) * 1992-04-02 2000-07-04 ダイヤセミコンシステムズ株式会社 コンピュータシステムの節電制御装置
US5384745A (en) * 1992-04-27 1995-01-24 Mitsubishi Denki Kabushiki Kaisha Synchronous semiconductor memory device
JP2822782B2 (ja) * 1992-05-20 1998-11-11 日本電気株式会社 シングルチップマイクロコンピュータ
GB2270243B (en) * 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
JP3226055B2 (ja) * 1992-09-16 2001-11-05 松下電器産業株式会社 情報処理装置
DE69316955T2 (de) * 1992-09-18 1998-07-30 Hitachi Ltd Rechenanlage mit synchronem, dynamischem Speicher
US5386563A (en) * 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
US5572235A (en) * 1992-11-02 1996-11-05 The 3Do Company Method and apparatus for processing image data
US5469544A (en) 1992-11-09 1995-11-21 Intel Corporation Central processing unit address pipelining
JP3476231B2 (ja) * 1993-01-29 2003-12-10 三菱電機エンジニアリング株式会社 同期型半導体記憶装置および半導体記憶装置
EP0624844A2 (en) * 1993-05-11 1994-11-17 International Business Machines Corporation Fully integrated cache architecture
US5426769A (en) * 1993-08-26 1995-06-20 Metalink Corp. System and method for producing input/output expansion for single chip microcomputers
JP3904244B2 (ja) * 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
US5440747A (en) * 1993-09-27 1995-08-08 Hitachi America, Ltd. Data processor with control logic for storing operation mode status and associated method
US5479647A (en) * 1993-11-12 1995-12-26 Intel Corporation Clock generation and distribution system for a memory controller with a CPU interface for synchronizing the CPU interface with a microprocessor external to the memory controller
US5508734A (en) * 1994-07-27 1996-04-16 International Business Machines Corporation Method and apparatus for hemispheric imaging which emphasizes peripheral content
US5596765A (en) * 1994-10-19 1997-01-21 Advanced Micro Devices, Inc. Integrated processor including a device for multiplexing external pin signals
TW382670B (en) * 1996-11-21 2000-02-21 Hitachi Ltd Low power processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851990A (en) * 1987-02-09 1989-07-25 Advanced Micro Devices, Inc. High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
JPH0398145A (ja) * 1989-09-11 1991-04-23 Hitachi Ltd マイクロプロセッサ
JPH04211880A (ja) * 1990-02-16 1992-08-03 Hitachi Ltd ワンチップ・マイクロプロセッサ及びそのバスシステム
JPH04273358A (ja) * 1991-02-28 1992-09-29 Mitsubishi Electric Corp Dmac内蔵型ワンチップマイクロコンピュータ
JPH05128279A (ja) * 1991-11-07 1993-05-25 Rohm Co Ltd ワンチツプマイクロコンピユータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100700457B1 (ko) * 2005-07-22 2007-03-28 삼성전자주식회사 단일 기판 멀티 마이컴간의 알에스-485 통신제어장치

Also Published As

Publication number Publication date
US20020007430A1 (en) 2002-01-17
US20080263228A1 (en) 2008-10-23
JP3904244B2 (ja) 2007-04-11
EP0718779A1 (en) 1996-06-26
US20040199716A1 (en) 2004-10-07
US6591294B2 (en) 2003-07-08
US6212620B1 (en) 2001-04-03
EP0718768A1 (en) 1996-06-26
EP0646873A3 (en) 1995-09-20
KR950009422A (ko) 1995-04-24
JPH07134701A (ja) 1995-05-23
US20030046514A1 (en) 2003-03-06
EP0646873B1 (en) 2008-10-08
US6279063B1 (en) 2001-08-21
US5930523A (en) 1999-07-27
US20120023281A1 (en) 2012-01-26
US6748507B2 (en) 2004-06-08
EP0646873A2 (en) 1995-04-05
DE69435148D1 (de) 2008-11-20
US6223265B1 (en) 2001-04-24

Similar Documents

Publication Publication Date Title
KR100349787B1 (ko) 싱글칩마이크로컴퓨터
US6594713B1 (en) Hub interface unit and application unit interfaces for expanded direct memory access processor
US6317819B1 (en) Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction
US6622208B2 (en) System and methods using a system-on-a-chip with soft cache
TW454161B (en) A dual-ported pipelined two level cache system
US5793693A (en) Cache memory using unique burst counter circuitry and asynchronous interleaved RAM banks for zero wait state operation
US20020116595A1 (en) Digital signal processor integrated circuit
EP1269328B1 (en) System having a configurable cache/sram memory
US5822756A (en) Microprocessor cache memory way prediction based on the way of a previous memory read
US6742058B2 (en) Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input
US6735683B2 (en) Single-chip microcomputer with hierarchical internal bus structure having data and address signal lines coupling CPU with other processing elements
US6754779B1 (en) SDRAM read prefetch from multiple master devices
JP2007087416A (ja) シングルチップデータ処理装置
US5895490A (en) Computer system cache performance on write allocation cycles by immediately setting the modified bit true
US5835948A (en) Single bank, multiple way cache memory
JP4448917B2 (ja) 半導体集積回路装置、データ処理装置及びマイクロコンピュータ
JP4176746B2 (ja) シングルチップデータ処理装置及びマイクロコンピュータ
JP4070141B2 (ja) シングル・チップ・データ処理装置及びデータ処理装置
EP0987625A2 (en) Microprocessor with a plurality of functional units and cache levels
JP2006004445A (ja) シングル・チップ・データ処理装置とデータ処理システム
CN109558076A (zh) 一种可配置的虚拟spi-flash
Bryant et al. The performance and PowerPC Platform specification implementation of the MPC106 chipset

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
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20120724

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130719

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140721

Year of fee payment: 13

EXPY Expiration of term