KR100448961B1 - 계산기 시스템 - Google Patents

계산기 시스템 Download PDF

Info

Publication number
KR100448961B1
KR100448961B1 KR10-2002-0058035A KR20020058035A KR100448961B1 KR 100448961 B1 KR100448961 B1 KR 100448961B1 KR 20020058035 A KR20020058035 A KR 20020058035A KR 100448961 B1 KR100448961 B1 KR 100448961B1
Authority
KR
South Korea
Prior art keywords
timing signal
signal
internal
state machine
external
Prior art date
Application number
KR10-2002-0058035A
Other languages
English (en)
Other versions
KR20030027715A (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 KR20030027715A publication Critical patent/KR20030027715A/ko
Application granted granted Critical
Publication of KR100448961B1 publication Critical patent/KR100448961B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Electronic Switches (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)

Abstract

계산기 시스템에 있어서, 명령을 실행하는 CPU와, 내부 클럭을 출력하는 내부 타이밍 발생기와, 외부 타이밍 신호 입력 단자로부터 입력되는 외부 타이밍 신호와 상기 내부 클럭을 수신하고, 전원 투입 후에 상기 명령 중의 최초로 실행되는 명령을 저장한 외부 기억 장치에 대한 판독 타이밍 신호로서, 상기 외부 타이밍 신호 및 상기 내부 클럭 중 어느 한쪽을 선택하는 셀렉터를 포함한다.

Description

계산기 시스템{COMPUTER SYSTEM}
본 발명은 계산기 시스템에 관한 것으로, 특히 외부 기억 장치와의 타이밍제어에 관한 것이다.
최근, 급속한 반도체 집적 기술의 진보는 전자 계산기의 중앙 제어 장치(CPU)를 단일의 반도체 칩에 집적하는 것을 가능하게 하고, 나아가서는 주변 기기 인터페이스나 메모리 제어 회로도 단일 칩에 집적하는 시도가 이루어지고 있다. 이것은 계산기 시스템 전체를 단일 칩으로 집적한다는 의미로, SOC(System On a Chip) 기술, SOC 제품 등이라고 불리고 있다.
전자 계산기의 전원 투입 후의 개시 처리에 있어서, 처음에 실행되는 명령을 저장하는 기억 장치를, 일반적으로 부팅 ROM이라고 한다. 부팅 ROM은 사전에 명령 코드를 기억할 수 있으며, 전원을 차단해도 내용을 보존할 수 있는 특징으로 갖는 것이 필요하다. 부팅 ROM은 CPU가 응용되는 제품마다 다른 명령 열을 저장하기 때문에, 통상은 CPU 칩의 외부 부착 소자로서 기획 설계되는 경우가 많다.
부팅 ROM의 용도에 적합한 반도체 소자로서는, 마스크 ROM, EPROM, EEPROM, 플래시 ROM 등 다종의 소자가 사용되고 있다. 이들 종류, 또한 제품의 가격대나 사양에 의해 그 기억 내용의 판독 시간은 다양하며, 부팅 ROM 인터페이스를 집적한 CPU 칩에서는, 몇 가지의 부팅 방법을 사전에 상정하고, 제품의 성격이나 고객의 지향에 맞춘 선택이 가능하도록 설정되는 것이 일반적이다.
통상, 어떤 종류의 부팅 ROM을 사용하고 있는지를 판정하기 위해서는, 몇 개의 신호선을 이용하고, 전원 투입 시 또는 리세트 시에 부팅 ROM의 종류나 판독 시간을 선택하고 있다. 이것은 부팅 ROM에 저장된 명령은 최초로 실행되는 명령이고, 그 이전에 실행할 수 있는 명령 열은 존재하지 않기 때문에, 소프트웨어에 의해 판독 시간을 선택할 수 없기 때문이다.
별도의 판정 방법으로서, 상정될 수 있는 ROM에서 가장 느린 판독 시간을 가정하고, 리세트 직후에는 가장 느린 동작 속도로 동작하고, 저장한 명령 자체로 그 ROM의 동작 속도를 설정하는 방법을 이용하는 경우도 있었다.
그러나, 상기 계산기 시스템에서는, 다음과 같은 문제점이 있었다.
(1) 최근의 SOC 제품에서는 다수의 주변 기기 인터페이스나 주변 기기 자체, 그리고 메모리 인터페이스를 1칩에 탑재한 결과, 다수의 단자를 필요로 하고 있다. 또한, 단자에 있어서의 동작 주파수도 내부 회로의 주파수만큼은 아니어도 매년 향상되어, 높은 주파수에 대응할 수 있는 고가의 외주기(패키지)나 단자를 사용하지 않으면 안되게 되었다. 일반적으로, 패키지의 단자 구조는, 그 칩의 최대 주파수에 의존하고, 실제로 그 단자에서 사용되는 주파수를 반영하지 않는다. 이것은 실행 주파수에 따라 단자의 구조를 바꾸는 것은 반대로 비용의 증가를 초래하기 때문이다.
그 때문에, 상술한 몇 개의 신호선을 이용하는 방법에서는, 부팅 ROM의 판독 속도를 설정하는 신호와 같이 리세트 직후에만 동작하는 신호에 단자를 할당하는 것으로 되어, 단자 수의 증가에 따라 비용의 증대를 초래한다고 하는 문제가 있었다.
(2) 또한, 가장 느린 동작을 상정한 방법에서는, 동작 속도를 설정하기까지의 사이에 실행되는 명령의 실행 속도가 느리다고 하는 문제가 있다. 이것은 실제의 칩에서는 큰 문제가 되지 않는 경우가 많지만, 동작이나 기능을 검증하는 논리 시뮬레이션에서는 부팅 ROM의 명령 열이 모든 논리 검증의 과정에서 실행되기 때문에, 대단한 부하가 된다.
통상, SOC 반도체 소자의 논리 품질은, 논리 검증에 쏟는 노력에 따라 향상된다고 하는 성질이 있어, 단위 시간에 실행할 수 있는 논리 검증의 양이 저하함으로써, 충분한 논리 품질을 확보하기 어려운 문제가 생긴다. 또는 충분한 검증량을 확보하고자 하면, 시뮬레이션 시간이 증대하여, 비용 증대를 초래한다.
나아가서는, 사전에 상정한 부팅 ROM 소자의 범위를 초과하여 판독 시간이나 그 타이밍이 변화한 경우에는, 그 제품에 적용할 수 없어, 결과적으로 제품 수명을 짧게 한다고 하는 문제가 있었다.
도 1은 본 발명의 기초로서, 예비적으로 검토한 계산기 시스템의 전체적인 개략 구성을 도시하는 블록도.
도 2는 본 발명의 제1 실시예에 따른 외부 리세트 단자를 구비한 계산기 시스템의 전체적인 개략 구성을 도시하는 블록도.
도 3은 도 2에 도시한 타이밍 신호 전환 회로(22)의 상세한 구성을 도시하는 회로도.
도 4는 도 2에 도시한 타이밍 신호 전환 회로(22)의 다른 구성의 상세한 구성을 도시하는 회로도.
도 5는 제1 실시예에서의 스테이트 머신(22c)의 상태 천이를 도시하는 도면.
도 6은 본 발명의 제1 실시예의 변형예에 따른 내부 리세트 타이머를 구비한 계산기 시스템의 전체적인 개략 구성을 도시하는 블록도.
도 7은 본 발명의 제2 실시예에 따른 계산기 시스템의 타이밍 신호 전환 회로의 상세한 구성을 도시하는 회로도.
도 8은 본 발명의 제2 실시예에서의 스테이트 머신(22c)의 상태 천이를 도시하는 도면.
도 9는 본 발명의 제3 실시예에서의 타이밍 신호 전환 회로(22)의 상세한 구성을 도시하는 회로도.
〈도면의 주요 부분에 대한 부호의 설명〉
10a : 계산기 시스템
11 : CPU
12 : 시스템 버스
13 : ROM 컨트롤러
14 : dRAM 컨트롤러
15 : UART
16 : 타이머
17 : 외부 버스 IF(인터페이스)
18 : 외부 버스
21 : 내부 타이밍 신호 발생 회로
22 : 타이밍 신호 전환 회로
50 : 부팅 ROM
60 : dRAM 메모리
70 : 외부 시스템 리세트 단자
계산기 시스템에 있어서, 명령을 실행하는 CPU와, 내부 클럭을 출력하는 내부 타이밍 발생기와, 외부 타이밍 신호 입력 단자로부터 입력되는 외부 타이밍 신호와 상기 내부 클럭을 수신하고, 전원 투입 후에 상기 명령 중의 최초로 실행되는 명령을 저장한 외부 기억 장치에 대한 판독 타이밍 신호로서, 상기 외부 타이밍 신호 및 상기 내부 클럭 중 어느 한쪽을 선택하는 셀렉터를 포함한다.
〈비교예〉
본 발명의 실시예의 설명을 하기 전에 도 1에 도시한 비교예에 대하여 설명한다. 즉, 본 발명자들은 상술한 문제점을 고려하여, ROM의 판독 타이밍을 외부로부터 부여하고, 그 신호에 맞게 부팅 ROM에의 어드레스 공급이나 판독 타이밍을 맞추는 방법을 우선 검토하였다. 이 방법은 도 1에 도시한 바와 같이 단일 칩으로 구성된 계산기 시스템(10p)(Computer System) 내부에, 내부 타이밍 발생 회로(21)와, 시스템 버스(12)에 접속된 CPU(11)와 ROM 컨트롤러(13)를 구비한다. 또한, 내부 타이밍 발생 회로(21)로부터 출력되는 내부 클럭 CK와, 타이밍 신호 입력 단자(111)로부터 입력되는 외부 타이밍 신호 ROMCLK와, 선택 신호 입력 단자(112)로부터 입력되는 외부 타이밍 선택 신호 SEL과, 외부 시스템 리세트 단자(70)로부터 입력되는 시스템 리세트 신호 SR을 수신하는 타이밍 신호 전환 회로(100)를 구비한다.
타이밍 신호 전환 회로(100) 내에는 내부 클럭 CK를 분주하는 분주기(102)와, 외부 타이밍 선택 신호 SEL을 기억하는 레지스터(103)와, 외부 타이밍 선택 신호 SEL에 의해 내부 클럭 CK나 외부 타이밍 신호 ROMCLK를 ROM 타이밍 신호 RT로서 출력하는 셀렉터(101)가 포함된다. ROM 타이밍 신호 RT는 ROM 컨트롤러(13)에 공급된다. ROM 컨트롤러(13)는 ROM 타이밍 신호 RT에 맞게 부팅 ROM(50)에의 어드레스 공급이나 판독 타이밍의 설정을 행한다.
그러나, 도 1에 도시한 외부로부터 타이밍 신호를 제공하는 방법에서는, 칩의 외부에 타이밍 발생 회로가 필요하게 될 뿐만 아니라, 내부 클럭 CK와 외부의 타이밍 신호 ROMCLK의 어느 한쪽을 사용할지를 선택하기 위한 외부 타이밍 선택 신호 SEL을 인가하는 입력 단자(112)가 있으며, 외부 타이밍 선택 신호 SEL을 생성하는 외부 회로도 필요하게 된다. 도 1에 도시한 계산기 시스템(10p)의 문제점을 검토하여, 이하의 각 실시예에 이르렀다.
본 발명의 실시예는 첨부 도면을 참조하여 설명될 것이다. 도면을 통해 동일하거나 유사한 부호는 동일하거나 유사한 부분과 요소에 적용되며, 동일하거나 유사한 부분의 설명은 생략되거나 간략화될 것이다.
〈제1 실시예〉
본 발명의 제1 실시예에 따른 계산기 시스템은, 도 2에 도시한 바와 같이 시스템 리세트 SR을 계산기 시스템(10a)에 입력하기 위해서 외부에 시스템 리세트 단자(70)를 구비한다.
계산기 시스템(10a)은, 단일의 반도체 칩으로 이루어지는 SOC 제품으로 구성되고, 그 내부에는 시스템 버스(12)에 접속된, CPU(11), ROM 컨트롤러(13), dRAM 컨트롤러(14), UART(15), 타이머(16) 및 외부 버스 IF(인터페이스)(17)를 갖고, 또한 내부 타이밍 신호 발생 회로(21)와, 본 실시예의 특징을 이루는 타이밍 신호 전환 회로(22)를 구비하고 있다. 또한, 계산기 시스템(10a)의 외부에는 부팅 ROM(50)과 dRAM 메모리(60)가 접속되고, 외부 버스(18)에는 응용에 따라 도시하지 않는 다양한 외부 디바이스가 접속된다.
CPU(11)는, 칩 내의 시스템 전체의 제어를 담당하고, 부팅 ROM(50) 상의 부팅 코드나 dRAM 메모리(60) 상의 기계어 명령 열을 판독하고, dRAM 메모리(60) 상의 데이터나 칩 내 또는 외부 버스(19) 상의 디바이스를 조작하여, 시스템이 목적으로 하는 기능을 실현한다. ROM 컨트롤러(13)는 외부의 부팅 ROM(50)과의 인터페이스를 행한다.
다음으로, 도 3을 참조하여, 도 2에 도시한 타이밍 신호 전환 회로(22)의 상세한 구성을 설명한다.
외부로부터 타이밍 입력 단자(22a)와 입력 버퍼(22b)를 경유하여 입력된 외부 타이밍 신호 ROMCLK는 스테이트 머신(22c)에 공급되어, 유효한 신호의 유무를 판정함과 함께, 신호 전환용 셀렉터(22d)의 입력으로 제공된다. 내부 클럭 CK는 분주기(22e)에 의해 ROM 제어에 적절한 주파수로 분주되고, 셀렉터(22d)의 다른 입력에 제공됨과 함께, 카운터(22f)에 공급된다. 카운터(22f)는 입력된 외부 타이밍 신호 ROMCLK의 판정에 필요한 측정 시간의 계측을 행한다. 또, 도 4에 도시한 바와 같이 카운터(22f)에 공급하는 클럭은 내부 클럭 CK와는 다른 기준 시간 발생기(22B)에서 생성된 다른 클럭 CKT를 이용해도 본 발명의 유효성을 손상하지 않지만, 내부 클럭 CK를 이용하는 편이 새로운 기준 시간 발생기를 필요로 하지 않기 때문에, 도 3에 도시한 방법이 비용을 낮출 수 있다.
또한, 스테이트 머신(22c)은 CPU 리세트(CPU Reset) 신호를 ROM 제어의 타이밍 신호가 확정될 때까지 활성으로 유지하고, 타이밍 신호가 확정되지 않는 동안의 명령의 판독을 저지한다.
도 5를 참조하여, 제1 실시예에서의 스테이트 머신(22c)의 상태 천이를 설명한다.
시스템 리세트 SR이 주어진 후에, 스테이트 머신(22c)은 초기 상태 S0에 있고, 외부 타이밍 신호 ROMCLK의 신호 상태를 감시하기 시작한다. 동작 개시 시점(S0)에 있어서의 외부 타이밍 신호 ROMCLK의 논리값을 상태 천이(S1 또는 S4)에 의해 기록하고, 논리값이 변화한 것을 검출한다.
논리값이 변화한 경우, S2 또는 S5로 천이함으로써 논리값의 변화를 검출한다. 이 경우, 외부 타이밍 신호 ROMCLK에는 유효한 반복 신호가 입력되어 있다고 간주하여, 셀렉터(22d)를 외부 신호 측으로 고정하여(MuxSel=Ext), CPUReset 신호를 불활성으로 하고, CPU(11)의 리세트를 해방한다.
한편, 카운터(22f)는 시스템 리세트 SR이 제공된 후에 해제되면 내부 클럭 CK의 계수를 시작하고, 소정의 수를 센 시점에서 타임 업 신호를 스테이트 머신(22c)에 공급한다.
스테이트 머신(22c)은 S1 또는 S4의 상태일 때, 타임 업 신호가 도착하면 외부 타이밍 신호 ROMCLK의 상태가 변화하지 않고, 외부 타이밍 신호 ROMCLK의 타이밍 입력 단자(22a)에 고정값이 주어져 있다. 유효한 타이밍 신호가 아니라고 간주하여 S3 또는 S6으로 천이하고, 셀렉터(22d)를 분주기(22e)로부터 주어진 내부 클럭 CK 측으로 고정하고(MuxSel=Int), CPUResct 신호를 불활성으로 한다.
CPUReset 신호가 불활성으로 됨으로써 CPU(11)의 리세트가 해방되면, CPU(11)는 내부를 초기화한 후, 최초의 명령을 판독하기 위해서 ROM 컨트롤러(13)에 판독을 요구한다. ROM 컨트롤러(13)는 그 요구를 해석하고, 타이밍 신호 전환 회로(22)에 의해 선택된 ROM 타이밍 신호 RT에 맞게 외부의 부팅 ROM(50)을 액세스하고, 얻어진 기계어 명령 코드를 CPU(11)로 되돌린다. 통상, ROM 타이밍 신호 RT의 상승 에지를 검출하여, 어드레스의 변경, 판독 데이터의 저장 등의 동작 천이를 행하지만, ROM 컨트롤러(13)의 설계에 따라서는 하강 에지를 사용해도 상관없다.
이상과 같이 하여 CPU(11)는 동작을 개시한다.
제1 실시예에 따른 논리 시뮬레이션을 실시하는 경우에는, ROM 타이밍 신호 RT는 외부 타이밍 신호 ROMCLK에 시뮬레이션 동작 가능한 한 빠른 반복 신호를 입력함으로써 가장 빠른 주파수로 실시할 수 있다. ROM 컨트롤러(13)의 기능 검증으로서, 느린 주파수에서의 검증도 실시하지만, 그 외의 검증 프로그램(검증 패턴)에 있어서, ROM 컨트롤러(13)의 기능 검증에 관계없는 검증 패턴에서는, 현실의 ROM 소자로는 불가능한 정도의 빠른 주파수를 이용하여 시뮬레이션을 실시해도 상관없다. 부팅 ROM(50)은 모든 검증 패턴에 있어서 반드시 실행되는 명령을 포함하고 있으므로, 부팅 ROM(50)의 액세스 속도를 대부분의 검증 패턴에서 고속으로 할 수 있으면, 논리 시뮬레이션의 실시 시간을 단축할 수 있고, 결과적으로는 논리 품질이 높은 제품으로 완성할 수 있다.
실제 칩을 사용하는 경우에는, 내부 클럭 CK에 적합한 부팅 ROM(50)의 경우, 외부 타이밍 신호 ROMCLK를 입력하는 단자(22a)는 "H" 레벨 또는 "L" 레벨로 고정(즉, 전원이 접지의 어느 한쪽에 접속)된다. 본 응용에서는, 내부에서 발생한 내부 클럭 CK에 따라 부팅 ROM(50)을 판독함으로, 이 경우에는 외부의 타이밍 신호 발생기는 불필요하다.
특별한 타이밍의 ROM을 사용하는 경우에는, 외부 타이밍 신호 ROMCLK에 그 ROM에 따른 타이밍의 주파수를 나타내는 반복 신호를 부여한다. 본 응용에서는, 주어진 외부 타이밍 신호 ROMCLK를 식별하고, 그 신호에 따라, 부팅 ROM(50)을 판독한다.
판정 시간(카운터(22f)의 타임 업까지의 시간)은 부팅 ROM(50)의 동작 시간에 대하여 충분히 길고, 또한 CPU(11)의 동작 개시의 지연이 시스템 사용자에게 느껴지지 않을 정도로 충분히 짧게 설정한다. 이것은, 일반적으로 수백 마이크로초 내지 수밀리초 정도이지만, 이 값이 어떠한 값을 취해도 본 발명의 유효성에 아무런 영향을 주지 않는다. 만약, ROM 컨트롤러(13)나 부팅 ROM(50) 자체의 디버그 등의 용도에, 카운터(22f)가 규정하는 판정 시간보다 긴 주기의 신호를 필요로 하면, 리세트 직후 한 번만 입력의 논리값을 변화시켜 두고, 그 후 CPU(11)가 작동하기 전에, 소정의 주파수를 이용하면 된다. 제1 실시예에서는 판정 시간 내에 한 번이라도 신호 변화가 있었던 경우에는 유효한 외부 타이밍 신호 ROMCLK가 얻어졌다고 판정하기 때문이다.
이와 같이 제1 실시예에서는 타이밍 입력 단자(22a)에 부여하는 신호 파형에 의해 임의의 타이밍에 대응한 부팅 ROM(50)을 사용할 수 있다. 또한, 내부 클럭 CK와 합치하는 동작 타이밍의 부팅 ROM(50)을 사용하는 경우에는, 외부 타이밍 신호 ROMCLK의 논리값을 타이밍 입력 단자(22a)에 고정함으로써, 내부 클럭 CK를 사용할 수 있다. 이 경우, 외부의 타이밍 신호 발생기를 삭제할 수 있어, 시스템 비용을 저감시킬 수 있다. 나아가서는, 상기 전환에는 타이밍 입력 단자(22a) 자체를 이용하기 때문에, 도 1에 도시한 회로와 같이 전환용 입력 단자(112)도 불필요하게 된다.
제1 실시예의 변형예로서는, 도 6에 도시한 바와 같이 계산기 시스템(10b) 내부에 리세트 타이머 또는 워치독 리세트(23)를 설치해도 된다. 그리고, 리세트 타이머(23)로부터 시스템 리세트 SR을 발생시켜, 시스템의 리세트를 행하도록 한다. 또, 도 2에 도시한 리세트 단자(70)와 도 6에 도시한 리세트 타이머(23)의 양방이 존재하는 구성으로 해도 상관없다.
〈제2 실시예〉
본 발명의 제2 실시예에 따른 계산기 시스템의 타이밍 신호 전환 회로(22)에 대하여 설명한다. 도 2에 도시한 시스템 리세트 단자(70)를 구비한 계산기 시스템(10a) 및 도 6에 도시한 리세트 타이머(23)를 구비한 계산기 시스템(10b)에 포함되는 타이밍 신호 전환 회로(22)의 상세한 구조를 도 7에 도시한다.
외부로부터, 단자(22a)와 입력 버퍼(22b)를 경유하여 입력된 외부 타이밍 신호 ROMCLK는 스테이트 머신(22c)에 공급되어, 유효한 신호의 유무를 판정함과 함께, 신호 전환용 셀렉터(22d)의 입력으로 공급된다. 내부 클럭 CK는 분주기(22e)에 의해 ROM 제어에 적절한 주파수로 분주되고, 셀렉터(22d)의 다른 입력으로 공급된다.
도 8에 제2 실시예에서의 스테이트 머신(22c)의 상태 천이를 도시한다.
시스템 리세트 SR이 부여된 후, 스테이트 머신(22c)은 초기 상태 S0으로 천이하고, 시스템 리세트 SR이 불활성이 된 시점의 외부 타이밍 신호 ROMCLK의 논리값을 검사하고, 그 값이 "1"(또는 "0")이면, 외부 타이머 신호 ROMCLK를 이용하는 지시라고 판정하고, 셀렉터(22d)를 외부로부터의 타이밍 신호 입력(MuxSel=Ext)으로 고정한다.
반대로, 시스템 리세트 해방 시점에서의 외부 타이밍 신호 ROMCLK의 논리값이 "0"(또는 "1")이면, 내부 신호를 이용하는 지시라고 판정하고, 셀렉터(22d)를내부 발생의 타이밍 회로측(MuxSel=Int)으로 고정한다.
이와 같이 제2 실시예의 구성에서는, 외부 타이밍 신호 ROMCLK 또는 내부 클럭 CK 중 어느 쪽을 이용할지의 판정은, 시스템 리세트 SR의 불활성화 직후에 행하기 때문에, CPU(11)가 최초의 명령을 판독하는 것을 저지할 필요가 없어, CPU Reset 신호는 시스템 리세트 SR과 동시에 불활성화한다.
또, 제2 실시예에 따른 논리 시뮬레이션을 실시하는 경우에는, 제1 실시예와 마찬가지로 행한다. 실제 칩에서는 내부 클럭 CK를 사용하는 경우에는 "0"(또는 "1")로 외부 타이밍 신호 ROMCLK를 고정한다. 외부 타이밍 신호 ROMCLK를 사용하는 경우에는, 시스템 리세트 SR에 동기하여, 시스템 리세트 SR 불활성 시의 타이밍 신호 ROMCLK의 값이 "1"(또는 "0")이도록 외부의 타이밍 신호 발생기를 설계한다.
또한, CPUReset 신호의 불활성에 의해 CPU의 리세트가 해방된 후의 동작은, 상기 제1 실시예와 마찬가지이다.
〈제3 실시예〉
본 발명의 제3 실시예에 따른 계산기 시스템의 타이밍 신호 전환 회로(22)는, 도 9에 도시한 바와 같이 외부 타이밍 신호 ROMCLK를 입력하는 타이밍 입력 단자(22a)와 입력 버퍼(22b), 내부 클럭 CK를 ROM 제어에 적절한 주파수로 분주하는 분주기(22e), 입력된 외부 타이밍 신호 ROMCLK의 유효한 신호의 유무를 판정하는데 필요한 측정 시간의 계측을 행하는 카운터(22f), 외부 타이밍 신호 ROMCLK와 분주된 내부 클럭 CK 중 어느 하나를 타이밍 신호로서 사용할지를 판정하는 스테이트 머신(22c), 스테이트 머신(22c)의 판정에 따라 외부 타이밍 신호 ROMCLK와 분주된내부 클럭 CK 중 어느 하나를 선택하여 ROM 타이밍 신호 RT로서 출력하는 셀렉터(22d)를 구비한다. 도 9에 상세한 구성을 도시한 타이밍 신호 전환 회로(22)는 도 2에 도시한 시스템 리세트 단자(70)를 구비한 계산기 시스템(10a) 및 도 6에 도시한 리세트 타이머(23)를 구비한 계산서 시스템(10b)의 어느 것에 포함되어도 된다.
스테이트 머신(22c)은, 외부 타이밍 신호 ROMCLK가 입력되는 제1 레지스터(221)와 제2 레지스터(222), 내부 클럭 CK와 시스템 리세트 SR이 입력되는 제3 레지스터(223)와 제4 레지스터(224)를 구비한다. 또한, 스테이트 머신(22c)은 제1 레지스터(221)와 제2 레지스터(222)의 출력의 논리합을 출력하는 논리합 게이트(226), 제3 레지스터(223)와 제4 레지스터(224)로부터의 출력으로부터 시스템 리세트 SR의 변화를 검출하는 복합 게이트(228)를 구비한다. 또한, 스테이트 머신(22c)은 논리합 게이트(226)의 출력과 카운터(22f)로부터 타임 업 신호를 수신하는 내부 셀렉터(227)와, 내부 셀렉터(227)의 선택값을 기억하는 제5 레지스터(225)를 구비한다.
다음으로, 제3 실시예에서의 타이밍 신호 전환 회로(22)의 동작에 대하여 설명한다. 제3 실시예에서는 외부 타이밍 신호 ROMCLK의 상승과 하강을 검출하여 어느 한 쪽의 에지가 존재하면 외부 타이밍 신호 ROMCLK를 이용하고, 일정 시간 내에 에지가 존재하지 않으면 내부 클럭 CK를 이용한다.
우선, 시스템 리세트 SR의 변화를 제3 레지스터(223), 제4 레지스터(224) 및 복합 게이트(228)에 의해 검출하여 판정을 개시한다. 제3 레지스터(223)와 제4 레지스터(224)에서의 시스템 리세트 SR의 변화의 검출은, 내부 클럭 CK의 상승 주기에 동기하여 행해진다. 판정을 개시한 시점에서는, 내부 클럭 CK를 ROM 타이밍 신호 RT로서 이용하도록, 내부 셀렉터(227)는 "0"을 선택하고, 제5 레지스터(225)에 "0"을 설정하여, MuxSel=Int(0)로 한다. 이 때, 동시에 복합 게이트(228)로부터 출력되는 신호에 의해, 제1 레지스터(221)와 제2 레지스터(222)는 "0"으로 초기화되고, 카운터(22f)는 리세트된다.
리세트에 의해 초기화가 종료하면, 내부 셀렉터(227)는 제1 레지스터(221)와 제2 레지스터(222)의 논리합 게이트(226)로부터의 출력을 선택하게 된다.
여기서, 외부 타이밍 신호 ROMCLK가 "0"으로부터 "1"로 변화하면, 즉 상승 에지에서는 제1 레지스터(221)의 값은 "1"이 된다. 반대로, 외부 타이밍 신호 ROMCLK가 "1"로부터 "0"으로 변화하면, 즉 하강 에지에서는 제2 레지스터(222)의 값은 "1"이 된다. 이와 같이 제1 레지스터(221)와 제2 레지스터(222) 중 어느 하나가 에지를 검출하면 논리합 게이트(226)의 출력은 "1"이 되고, 내부 셀렉터(227)에 의해 제5 레지스터(225)에 "1"이 설정된다.
다음으로, 카운터(22f)는 외부 타이밍 신호 ROMCLK의 최저 주파수의 1 주기분에 상당하는 수 마이크로 초 내지 수 밀리 초 정도의 일정 시간이 경과한 시점에서 타임 업 신호를 내부 셀렉터(227)로 출력한다. 타임 업 신호를 수신한 내부 셀렉터(227)는 제5 레지스터(25)의 출력을 선택하고, 외부 타이밍 신호 ROMCLK의 에지의 유무를 판정한다. 검출 기간 내에 외부 타이밍 신호 ROMCLK의 에지가 있으면 MuxSel=Ext(1)가 되고, 셀렉터(22d)는 외부 타이밍 신호 ROMCLK를 ROM 타이밍 신호RT로서 선택한다. 한편, 외부 타이밍 신호 ROMCLK의 에지가 없으면 MuxSel=Int(0)가 되고, 셀렉터(22d)는 내부 클럭 CK를 분주한 클럭을 ROM 타이밍 신호 RT로서 선택한다.
제3 실시예에서는, 외부 타이밍 신호 ROMCLK의 변화를 레지스터의 CLK 입력으로 검출하고 있기 때문에, 외부 타이밍 신호 ROMCLK가 내부 클럭의 1/2보다 빠른 주파수라도 에지를 검출할 수 있다.
본 기술 분야에 숙련된 자는 본 발명의 교시를 통해 본 발명의 영역을 벗어남없이 다양한 실시예가 이루어질 수 있음을 알 수 있을 것이다.
본 발명에 따르면, 외부의 타이밍 신호 발생기를 삭제할 수 있어, 시스템 비용을 저감시킬 수 있으며, 또한 부팅 ROM의 사용 전환 시에는 타이밍 입력 단자 자체를 이용하기 때문에 전환용 입력 단자도 불필요하게 되는 효과를 얻을 수 있다.

Claims (21)

  1. 계산기 시스템에 있어서,
    명령을 실행하는 CPU와,
    내부 클럭을 출력하는 내부 타이밍 발생기와,
    외부 타이밍 신호 입력 단자로부터 입력되는 외부 타이밍 신호와 상기 내부 클럭을 수신하고, 전원 투입 후에 상기 명령 중의 최초로 실행되는 명령을 저장한 외부 기억 장치에 대한 판독 타이밍 신호로서, 상기 외부 타이밍 신호 및 상기 내부 클럭 중 어느 한쪽을 선택하는 셀렉터
    를 포함하는 계산기 시스템.
  2. 제1항에 있어서,
    상기 셀렉터가 상기 CPU의 리세트 시점에서의 상기 외부 타이밍 신호의 값에 따라, 상기 판독 타이밍 신호를 선택하는 계산기 시스템.
  3. 제2항에 있어서,
    상기 내부 타이밍 발생기에 접속되며, 상기 내부 클럭을 분주하여 상기 셀렉터로 출력하는 분주기를 더 포함하는 계산기 시스템.
  4. 제1항에 있어서,
    상기 외부 타이밍 신호가 입력되며, 상기 외부 타이밍 신호의 값이 변화하는지를 판정하는 스테이트 머신을 더 포함하고,
    상기 셀렉터가 상기 스테이트 머신의 판정에 의해, 상기 판독 타이밍 신호를 선택하는 계산기 시스템.
  5. 제4항에 있어서,
    상기 셀렉터가 신호의 선택을 확정할 때까지, 상기 스테이트 머신이 상기 CPU에 공급하는 CPU 리세트 신호를 유지하는 계산기 시스템.
  6. 제4항에 있어서,
    상기 외부 타이밍 신호의 최저 주파수의 1 주기분의 시간을 측정하여, 상기 스테이트 머신에 타임 업 신호를 출력하는 카운터를 더 포함하는 계산기 시스템.
  7. 제6항에 있어서,
    상기 카운터에 상기 내부 타이밍 발생기가 접속되고, 상기 내부 클럭을 시간의 측정에 사용하는 계산기 시스템.
  8. 제6항에 있어서,
    상기 카운터에 접속되며, 시간의 측정을 위한 클럭을 발생한 기준 시간 발생기를 더 포함하는 계산기 시스템.
  9. 제4항에 있어서,
    상기 내부 타이밍 발생기에 접속되며, 상기 내부 클럭을 분주하여 상기 셀렉터로 출력하는 분주기를 더 포함하는 계산기 시스템.
  10. 제7항에 있어서,
    상기 내부 타이밍 발생기에 접속되며, 상기 내부 클럭을 분주하여 상기 셀렉터로 출력하는 분주기를 더 포함하는 계산기 시스템.
  11. 제8항에 있어서,
    상기 내부 타이밍 발생기에 접속되며, 상기 내부 클럭을 분주하여 상기 셀렉터로 출력하는 분주기를 더 포함하는 계산기 시스템.
  12. 제4항에 있어서,
    상기 외부 타이밍 신호는 상기 외부 타이밍 신호 입력 단자에 접속된 외부 타이밍 신호 발생기로부터 출력되는 신호인 계산기 시스템.
  13. 제4항에 있어서,
    상기 외부 타이밍 신호는 상기 외부 타이밍 신호 입력 단자에 설정한 고정 신호인 계산기 시스템.
  14. 제4항에 있어서,
    상기 스테이트 머신은 상기 외부 타이밍 신호가 입력되는 제1 레지스터를 포함하는 계산기 시스템.
  15. 제14항에 있어서,
    상기 스테이트 머신은 상기 외부 타이밍 신호가 반전되어 입력되는 제2 레지스터를 더 포함하는 계산기 시스템.
  16. 제15항에 있어서,
    상기 스테이트 머신은 상기 제1 및 제2 레지스터의 출력의 논리합을 구하는 논리합 게이트를 더 포함하는 계산기 시스템.
  17. 제16항에 있어서,
    상기 스테이트 머신은 상기 내부 클럭과 시스템 리세트 신호가 입력되는 제3 레지스터를 더 포함하는 계산기 시스템.
  18. 제17항에 있어서,
    상기 스테이트 머신은 상기 내부 클럭과 상기 시스템 리세트 신호가 입력되는 제4 레지스터를 더 포함하는 계산기 시스템.
  19. 제18항에 있어서,
    상기 스테이트 머신은 상기 제3 및 제4 레지스터의 출력으로부터 상기 시스템 리세트 신호의 변화를 검출하는 복합 게이트를 더 포함하는 계산기 시스템.
  20. 제19항에 있어서,
    상기 스테이트 머신은 상기 논리합 게이트의 출력 및 상기 내부 클럭을 지정하는 고정값 중 어느 하나를 선택하는 내부 셀렉터를 더 포함하는 계산기 시스템.
  21. 제20항에 있어서,
    상기 스테이트 머신은 상기 내부 셀렉터의 출력을 기억하는 제5 레지스터를 더 포함하는 계산기 시스템.
KR10-2002-0058035A 2001-09-27 2002-09-25 계산기 시스템 KR100448961B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00298391 2001-09-27
JP2001298391A JP2003108381A (ja) 2001-09-27 2001-09-27 計算機システム

Publications (2)

Publication Number Publication Date
KR20030027715A KR20030027715A (ko) 2003-04-07
KR100448961B1 true KR100448961B1 (ko) 2004-09-18

Family

ID=19119300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0058035A KR100448961B1 (ko) 2001-09-27 2002-09-25 계산기 시스템

Country Status (4)

Country Link
US (1) US6948086B2 (ko)
JP (1) JP2003108381A (ko)
KR (1) KR100448961B1 (ko)
CN (1) CN1215391C (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190260A (ja) * 2004-12-07 2006-07-20 Seiko Epson Corp リアルタイムクロック装置
JP4819493B2 (ja) * 2005-12-19 2011-11-24 三星電子株式会社 回路システム
US7640449B2 (en) * 2006-08-17 2009-12-29 Via Technologies, Inc. Systems and methods for dynamic clock frequencies for low power design
US8015428B2 (en) * 2007-06-12 2011-09-06 Renesas Electronics Corporation Processing device and clock control method
US20100169634A1 (en) * 2008-12-31 2010-07-01 Jacob Pan System and method for self-clocking os kernel boot
WO2014093862A1 (en) * 2012-12-13 2014-06-19 Coherent Logix, Incorporated Reconfiguration of clock generation circuitry
US10579391B2 (en) * 2013-07-31 2020-03-03 Oracle International Corporation System on a chip hardware block for translating commands from processor to read boot code from off-chip non-volatile memory device
US10256801B2 (en) * 2016-08-31 2019-04-09 M31 Technology Corporation Integrated circuit with clock detection and selection function and related method and storage device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR890003482A (ko) * 1987-08-29 1989-04-15 신훈철 선반을 이용한 소형 공작물의 내면 브로우칭 가공방법과 그에 적합한 홀더
JPH0651864A (ja) * 1992-04-24 1994-02-25 Nec Corp 計算機
JPH0818410A (ja) * 1994-06-28 1996-01-19 Matsushita Electric Ind Co Ltd クロック選択装置
JPH08181580A (ja) * 1994-12-21 1996-07-12 Nec Eng Ltd クロック切替え回路
KR960024797A (ko) * 1994-12-07 1996-07-20 양승택 이중화 클럭선택장치
US5852728A (en) * 1995-01-12 1998-12-22 Hitachi, Ltd. Uninterruptible clock supply apparatus for fault tolerant computer system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3486057B2 (ja) * 1996-06-21 2004-01-13 株式会社東芝 半導体集積回路及び接触式icカード
JP2000207381A (ja) * 1999-01-20 2000-07-28 Mitsubishi Electric Corp マイクロコンピュ―タのリセット装置
JP2001184225A (ja) 1999-12-27 2001-07-06 Toshiba Microelectronics Corp エミュレータ及びエミュレート方法
KR100401506B1 (ko) * 2001-05-10 2003-10-17 주식회사 하이닉스반도체 비동기 프리차지 기능을 갖는 싱크로노스 메모리 디바이스

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR890003482A (ko) * 1987-08-29 1989-04-15 신훈철 선반을 이용한 소형 공작물의 내면 브로우칭 가공방법과 그에 적합한 홀더
JPH0651864A (ja) * 1992-04-24 1994-02-25 Nec Corp 計算機
JPH0818410A (ja) * 1994-06-28 1996-01-19 Matsushita Electric Ind Co Ltd クロック選択装置
KR960024797A (ko) * 1994-12-07 1996-07-20 양승택 이중화 클럭선택장치
JPH08181580A (ja) * 1994-12-21 1996-07-12 Nec Eng Ltd クロック切替え回路
US5852728A (en) * 1995-01-12 1998-12-22 Hitachi, Ltd. Uninterruptible clock supply apparatus for fault tolerant computer system

Also Published As

Publication number Publication date
KR20030027715A (ko) 2003-04-07
JP2003108381A (ja) 2003-04-11
US20030061529A1 (en) 2003-03-27
CN1215391C (zh) 2005-08-17
CN1420407A (zh) 2003-05-28
US6948086B2 (en) 2005-09-20

Similar Documents

Publication Publication Date Title
KR100600211B1 (ko) 집적 회로의 셀프-테스트를 실행하기 위한 셀프-테스트 장치를 포함하는 집적 회로
KR100488232B1 (ko) 집적 dma 제어기를 이용한 집적 메모리 테스트 방법
US6523136B1 (en) Semiconductor integrated circuit device with processor
WO1989002128A1 (en) Microcomputer with on-board chip selects and programmable bus stretching
KR100607535B1 (ko) 프로세싱 시스템 및 다수의 프로세싱 모듈 리셋 방법
WO2004049154A3 (en) A loop control circuit for a data processor
JPS61253555A (ja) トランザクシヨン・アナライザ
KR100448961B1 (ko) 계산기 시스템
US20030182495A1 (en) Memory device having automatic protocol detection
JPH0821028B2 (ja) デ−タ処理装置
JP3988636B2 (ja) マイクロコンピュータ及び車両用ecu
US7219248B2 (en) Semiconductor integrated circuit operable to control power supply voltage
US6477658B1 (en) Microprocessor with variable clock operation
US5860161A (en) Microcontroller configured to indicate internal memory accesses externally
KR100543152B1 (ko) 마이크로프로세서 및 마이크로프로세서의 처리 방법
US20050192791A1 (en) Method for emulating an integrated circuit and semiconductor chip for practicing the method
KR100511893B1 (ko) 칩 테스트 회로
US6076170A (en) Method and apparatus for selectively programming access time in a data processor
US5875482A (en) Method and apparatus for programmable chip select negation in a data processing system
CN102141967A (zh) 总线时序参数配置方法和装置
KR100284287B1 (ko) 가변 리셋 어드레스를 가지는 마이크로프로세서
KR100297562B1 (ko) 통신용 제어 시스템의 하드웨어 자원 인식 제어장치 및 방법
JP2712730B2 (ja) エバリュエーションチップ
JP2004280789A (ja) 半導体集積回路装置およびマイクロコンピュータ開発支援装置
JP2643790B2 (ja) エミュレータ

Legal Events

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

Payment date: 20110727

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee