KR100224054B1 - 동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법 - Google Patents

동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법 Download PDF

Info

Publication number
KR100224054B1
KR100224054B1 KR1019900016358A KR900016358A KR100224054B1 KR 100224054 B1 KR100224054 B1 KR 100224054B1 KR 1019900016358 A KR1019900016358 A KR 1019900016358A KR 900016358 A KR900016358 A KR 900016358A KR 100224054 B1 KR100224054 B1 KR 100224054B1
Authority
KR
South Korea
Prior art keywords
data
register
input
output
bit
Prior art date
Application number
KR1019900016358A
Other languages
English (en)
Other versions
KR910009090A (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 KR910009090A publication Critical patent/KR910009090A/ko
Application granted granted Critical
Publication of KR100224054B1 publication Critical patent/KR100224054B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • 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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8092Array of vector units
    • 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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/02Engines characterised by their cycles, e.g. six-stroke
    • F02B2075/022Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
    • F02B2075/027Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Color Television Systems (AREA)
  • Television Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Executing Machine-Instructions (AREA)
  • Image Input (AREA)
  • Dram (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

데이타 프로세싱 장치(102)는 듀얼 포트 데이타 입력 레지스터(154), 제1 및 제2 시퀀스 링 카운터들(148,174), 제1 및 제2 레지스터 파일들(158,166), 제1 및 제2 데이타 전송 회로들(156,169), 듀얼 포트 데이타 출력 레지스터(168) 및 N개의 싱글 비트 프로세싱 소자(150)들을 포함한다. 듀얼 포트 데이타 입력 레지스터는 M 비트와이드 입력 포트 및 N 비트 와이드 출력 포트를 가진다. 제1 시퀀스 링 카운터는 입력용 데이타 입력 레지스터의 한 컬럼을 주기적으로 선택한다. 제1 데이타 전송 회로는 복수 개의 입력 세그먼트들(650,652)을 가지며, 이들은 데이타 입력 레지스터의 연속적인 컬럼들의 서브세트(subset)들이다. 제1 데이타 전송 회로는 제1 시퀀스 링 카운터에 동기하여 연속적인 입력 세그먼트들의 반복적인 시퀀스로 데이타를 각 입력 세그먼트의 모든 컬럼들에 대하여 데이타 입력 레지스터의 선택된 로우로 부터 제1 레지스터 파일의 선택된 로우로 데이타를 전송한다. 듀얼 포트 데이타 출력 레지스터, 제2 레지스터 파일, 제2 시퀀스 링 카운터 및 제2 데이타 전송 회로는 출력 데이타에 유사하게 구성된다. N 싱글 비트 프로세싱 소자들 각각은 제1 및 제2 레지스터 파일들의 선정된 컬럼에 접속되고 제1 및 제2 레지스터 파일들의 선정된 칼럼의 선택된 로우에 또는 이로부터의 데이타 전송을 포함하는 프로그램 제어 하에서 데이타 프로세싱 동작을 행할 수 있다.

Description

동기 벡터 프로세서 내의 비디오 신호를 연속 프로세싱하기 위한 회로 및 이의 작동 방법
제1도는 동기 벡터 프로세서를 사용하는 비디오 시스템을 도시한 도면.
제2도는 제1도의 시스템에서 사용된 동기 벡터 프로세서를 상세하게 도시한 도면.
제3도는 제2도의 동기 벡터 프로세서의 한개의 프로세서 소자를 도시한 도면.
제4도는 데이타 입력 레지스터 기입용 타이밍도.
제5도는 제3도의 프로세서 소자의 논리도.
제6도는 데이타 출력 레지스터 판독용 타이밍도.
제7도는 제3도의 프로세서 소자의 상세도.
제8도는 DOR 예비 충전 회로의 여러 노드에서의 전압 레벨을 도시한 도면.
제9도는 제7도의 실시예의 교대 3-트랜지스터 DOR 셀을 도시한 도면.
제10도는 DIR 노이즈 감소 회로를 도시한 도면.
제11도는 제10도의 노이즈 감소 회로를 상세히 도시한 도면.
제12도는 DIR 노이즈 감소 회로를 도시한 도면.
제13도는 데이타 입력 제어 회로를 도시한 도면.
제14도는 제13도 회로에 의해 전송된 데이타를 복구하는 방법을 도시한 도면.
제15도는 전송된 데이타를 복구하는 다른 방법을 도시한 도면.
제16도는 DOR 제어 회로를 도시한 도면.
제17도는 DIR 제어 회로를 도시한 도면.
제18도는 프로세서 소자 근접 상호 접속도를 도시한 도면.
제19도는 전역(global) 출력에 대한 논리도.
제20도는 다중 SVP 칩 상호 접속을 도시한 도면.
제21도는 다른 방법의 다중 SVP 상호 접속을 도시한 도면.
제22도는 단일 명령 모드에 대한 타이밍도.
제23도는 이중 명령 모드에 대한 타이밍도.
제24도는 대기-상태 단일 명령 모드에 대한 타이밍도.
제25도는 아이들 명령 모드에 대한 타이밍도.
제26도는 4개의 감지 증폭기를 갖고 있는 프로세서 소자를 도시한 도면.
제27a도 및 제27b도는 제26도의 4개의 감지 증폭기 프로세서 소자에 대한 판독/기입 싸이클을 도시한 도면.
제28도는 이중 싸이클 명령을 사용하는 4-비트 가산기를 도시한 도면.
제29도는 SVP 디바이스를 사용하는 디벨롭 시스템을 도시한 도면.
제30도는 텔리비젼 제어기를 도시한 도면.
제31도는 SVP 비디오 시스템의 제어기를 도시한 도면.
제32도는 제31도 제어기의 마스터 제어기 섹션을 도시한 도면.
제33도는 제31도 제어기의 수직 타이밍 발생기 섹션을 도시한 도면.
제34도는 제31도 제어기의 수평 타이밍 발생기 섹션을 도시한 도면.
제35도는 제31도 제어기의 상수 발생기를 도시한 도면.
제36도는 제31도 발생기의 명령 발생기 섹션을 도시한 도면.
제37도는 다른 방법의 명령 발생기를 도시한 도면.
제38도는 다른 방법의 상수 발생기를 도시한 도면.
제39도는 제38도 순차 메모리의 내용을 도시한 도면.
제40도는 제38도 루프 메모리의 내용을 도시한 도면.
제41도는 제38도 상수 발생기의 흐름도.
제42도는 유한 임펄스 응답 필터를 도시한 도면.
제43도는 라인 메모리를 도시한 도면.
제44a도는 SVP 레지스터 파일의 그래픽도.
제44b도는 제44a도의 일부분의 분해 및 재형성도.
제45도는 전역 회전 회로를 도시한 도면.
제46a도 및 제46b도는 전역 회전 동작에 대한 동일한 흐름도의 일부분을 도시한 도면.
제47도는 신호 파이프라이닝 회로를 도시한 도면.
제48도는 제47도의 형태의 회로에 대한 여러가지 신호 입력 및 출력을 도시한 도면.
제49도는 제47도의 파이프라인 회로를 사용하는 신호 흐름의 타이밍도.
제50도는 다른 방법의 파이프라인 회로를 도시한 도면.
제51도는 전역 가변 분배 제어 회로를 도시한 도면.
제52도는 보조 레지스터 세트 및 제어 회로를 도시한 도면.
제53도는 메모리 감소 제어 회로를 도시한 도면.
제54도는 다른 방법의 SVP 제어기/프로세서 시스템을 도시한 도면.
제55도는 SVP 비디오 테이프 레코더 시스템을 도시한 도면.
제56도는 SVP 탑재 범용 디지탈 신호 프로세싱 시스템을 도시한 도면.
제57도는 SVP 탑재 그래픽/이미지 프로세싱 시스템을 도시한 도면.
제58도는 SVP 탑재 가시 검사 시스템을 도시한 도면.
제59도는 SVP 탑재 패턴 인식 시스템을 도시한 도면.
제60도는 예시적인 음성 신호를 도시한 도면.
제61도는 SVP 탑재 레이다 프로세싱 시스템을 도시한 도면.
제62도는 SVP 탑재 화상 전화기 시스템을 도시한 도면.
제63a도 및 제63b도는 SVP 탑재 팩시밀리 시스템을 도시한 도면.
제64도는 SVP 탑재 문서 스캐너를 도시한 도면.
제65도는 SVP 탑재 비밀 비디오 전송 시스템을 도시한 도면.
제66도는 제65도 시스템에 대한 예시적인 비디오 신호를 도시한 도면.
제67도는 SVP 팩키지용의 적합한 핀 그리드 어레이 팩키지의 예를 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
100 : 비디오 시스템 102 : 동기 벡터 프로세서 디바이스
104 : CRT 106 : 입력
108 : 아날로그 비디오 회로 110 : 안테나
112 : RF 및 IF 스테이지 116 : 아날로그-디지탈 변환기
124 : 디지탈-아날로그 변환기 128 : 제어기
132 : 유닛 134 : 비디오 테이프 레코더
150 : 프로세서 소자 154 : 40-비트 데이타 입력 레지스터
158 :128 비트 레지스터 파일 162 : 작동 레지스터
164 : 산술 논리 유닛 167 : 제2 판독/기입 회로
174 : 교환기 190 : 타이밍 신호 기입 인에이블
192 : 리셋 기입 194 : 기입 클럭
260 : ALU 262 : SM
주의 : 저작권 C 1989년 텍사스 인스트루먼츠 인코포레이티드
본 특허 서류의 명세서의 일부분은 저작권 보호를 받는 사항을 포함한다. 저작권 소유자는 특허청에 특허 출원시 또는 기록시 발생할 수 있는 특허 서류 또는 특허 명세서의 타인에 의한 복사에는 이의를 제기하지 않으나, 그외의 다른 방법에 의한 것은 어떠한 것이든 모든 저작권을 소유한다.
[관련 출원]
본 출원은 계류중인 1989년 11월 13일자 출원된 미합중국 특허 출원 제 119,890호(TI-13116)과 동제 119,889호(TI-13117), 및 본건과 동시에 출원된 동 제호(TI-13496), 동 제호(TI-13689), 동 제호(TI-14205), 동 제호(TI-14207), 동 제호(TI-14210), 동 제호(TI-14211), 동 제호(TI-14212), 동 제호(TI-14213), 동 제호(TI-14214), 동 제호(TI-14215), 동 제호(TI-14220)에 관련되는데, 상기 출원권은 출원인의 양수인에게 모두 양도되었고 본 명세서와 결합된다.
본 발명은 일반적으로 단일 명령, 다중 데이타 프로세서에 관한 것이다. 보다상세히 말하면, 본 발명은 선명도가 향상된 텔레비젼(IDTV)과 같은 디지털 신호 프로세싱에 특히 적용되는 일차원 배치된 프로세싱 소자 어레이를 갖는 프로세서에 관한 것이다. 부수적으로, 본 발명은 프로세서, 텔레비젼, 비디오 시스템 및 그외의 다른 시스템들의 개량과 이들을 작동시키고 제어하는 방법과 관련된다.
데이타 신호를 신속하고 정확하게 실시간 프로세싱하는 것은 범용 디지탈 신호 프로세싱, 소비 전자, 산업 전자, 그래픽 및 이미징, 계측, 의료 전자, 군사 전자, 통신 및 자동차 전자 분야 등에 광범위하게 적용된다. 일반적으로, 비디오 신호의 실시간 이미지 프로세싱과 같은 비디오 신호 프로세싱은 짧은 시간 사이에 대량의 데이타를 취급하고 프로세싱할 것을 요구한다. 이미지 프로세싱은 데비스(Davis) 등에 의한 1984년 10월 31일자 Electronic Design pp. 207-218에 설명되어 있고, Electronic Design 1984년 11월 15일자 pp. 289-300, 1984년 11월 29일자 pp. 257-266, 1984년 12월 13일자 pp. 217-226 및 1985년 1월 10일자 pp. 349-356에 발표되었다.
비디오 신호의 실시간 프로세싱에 특히 적합한 프로세싱 디바이스가 본 명세서에 기술되어 있다. 일 실시예의 프로세싱 디바이스는 1024개의 1비트 병렬 프로세싱 소자들의 선형 어레이, 한 세트의 데이타 입력 레지스터(DIR) 및 한 세트의 데이타 출력 레지스터(DOR)을 포함한다. 인입되는 디지탈 신호화된 비디오 신호는 수평 라인 시간 동안 각각의 프로세싱 소자 DIR에 클럭킹된다. 이 데이타는 수평 블랭킹 기간 동안 프로세싱 소자들의 워킹 메모리에 전송된다. 이 구조는 표준 비디오 신호에 적합하게 작동한다. 표준 비디오 신호에서 칼라 버스트 주파수, 수평 블랭킹 기관과 수직 블랭킹 기간 간의 위상 관계는 본질적으로 불변이다. 이 수평 블랭킹 기간은 수신된 비디오 라인이 다음 수평 라인의 시작 전에 워킹 메모리에 전송될 만큼 충분한 시간을 제공한다. 다음으로, 다음 수평 라인은 이전 수평 라인에 걸쳐 기입된다.
이 구조는 일부 비표준 비디오 소오스에 대해 페일된다. 가정용 VCR은 그러한 비표준 신호 소오스의 좋은 예이다. 가정용 VCR의 출력에서, 수평 동기 펄스들과 크로머(chroma) 버스트 간의 정확한 관계는 기록/재생 프로세스 동안 상실되고, 테이프 지터(tape jitter)의 도입은 연속된 필드들 간의 타이밍 관계를 왜곡시킨다. 이것은 데이타 입력 레지스터들로부터 프로세싱 소자의 워킹 메모리로의 데이타 전송에 대한 수평 블랭킹 기간을 확실히 결정하기가 곤란하다는 것을 의미한다. 이는 데이타 입력 레지스터로부터 프로세싱 소자의 워킹 메모리에 방금 수신된 데이타의 비디오 라인을 전송할 적정 시간을 확실히 결정해야 하는 문제점이 남는다. 따라서, 인입되는 디지탈 신호화된 비디오 데이타의 저장과의 간섭없이 데이타 전송을 하기 위한 시간을 쉽게 결정한다는 것은 불가능하다.
본 발명은 지터로 인해 수평 라인 간격이 변화하는 입력 데이타 또는 수평 블랭킹 기간없이 연속적으로 수신되는 입력 데이타를 다루는 문제를 해결하는 것을 그 목적으로 한다. 요약하면, 일 실시예에서, 본 발명은 데이타 입력 레지스터들 DIR을 복수의 세그먼트들로 분할한다. 인입되는 디지탈 신호화된 비디오 데이타가 하나의 세그먼트에 저장되어 있는 동안, 이전에 로딩된 세그먼트로부터의 데이타는 프로세싱 소자들의 워킹 메모리에 전송된다. 따라서, 새로운 수평 라인의 시작을 위한 데이타를 제1 세그먼트에 유입되는 반면에 이전 수평 라인으로부터의 데이타는 다른 세그먼트 중에서 전송된다. 이러한 프로세서는 모든 복수 개의 세그먼트들에 걸쳐서 순차적으로 동작한다. 이러한 수단에 의해 입력 데이타 흐름과의 간섭없이 데이타 입력 레지스터 DIR로부터 프로세싱 소자 워킹 메모리로 데이타가 항상 전송될 수 있다. 이러한 애플리케이션은 2개의 그러한 세그먼트들의 일례를 기술하고 있지만, 더 많은 세그먼트들이 원하는 만큼 존재할 수 있다는 것에 주목하여야 한다.
유사하게 세그먼트된 데이타 출력 레지스터(DOR)는 연속적으로 데이타의 출력을 인에이블한다. 프로세싱 소자들로부터 다른 세그먼트로 프로세스된 데이타를 전송하는 것과 같은 시간에 데이타 출력 레지스터의 한 세그먼트 중에서 데이타가 쉬프트된다.
본 발명의 바람직한 실시예의 다음 설명은 도면을 참조하여 행해진다. 몇몇 도면에 걸친 동일 참조 번호들은 동일 또는 대응되는 부분을 나타낸다.
양호한 실시예의 동기 벡터 프로세서(Synchronous Vector Processor ; SVP)는 선명도가 향상되고 확대된 텔레비젼(IDTV 및 EDTV)에서 유용한 3-D 알고리즘을 실시간으로 실행할 수 있는 범용 마스크-프로그램가능 단일 명령, 다중 데이타, 축소 명령 세트 컴퓨팅(SIMD-RISC) 디바이스이다. 본 발명의 양호한 실시예에서 SVP를 비디오 신호 프로세싱에 대해 설명하였으나, 양호하게 SVP의 하드웨어는 많은 여러가지 응용 분야에 잘 적용되며 따라서 상기 아키텍쳐 내에는 어떤 특정의 필터 또는 기능만 내포하고 있지 않다. 일반적으로, SVP는 큰 용량의 인입 데이터가 병렬로 프로세스되는 임의의 상황에서 사용될 수 있다.
비디오 신호 프로세싱과 같은 전형적인 적용시, 입력 및 출력층은 데이터 소스(비디오 카메라, VCR, 수신기 등등) 및 데이타 싱크(sink)(래스터 디스플레이)와 각각 동기화되어 동작된다. 동시에, 계산층은 패킷(packet)[TV/비디오 환경에서 단일 수평 디스플레이 라인을 포함하는 모든 샘플 : 벡터(VECTOR)로 언급함]의 모든 성분들에 대해 프로그램가능 기능을 동시에 가함으로써 소망하는 변환을 수행한다.그러므로 SVP는 동기 벡터 프로세싱을 위해 구조적으로 유선형이 된다.
제1도에서, TV 또는 비디오 시스템(100)은 동기 벡터 프로세서 디바이스(102)를 포함한다. 시스템(100)은 종래의 TV 수신기에 사용된 것과 같은 표준형 아날로그 비디오 회로(108)로부터 입력(106)에서 아날로그 비디오 신호를 수신하는 래스터-주사형의 CRT(104)를 포함한다. 안테나(110)으로부터의 비디오 신호는 라인(114)에서 아날로그 성분 또는 성분 비디오 신호를 발생시키는 튜너, IF 스트립 및 싱크 분리기 회로를 포함하는 RF 및 IF 스테이지(112)를 통해 통상적인 방법으로 증폭되고, 필터되며 헤테로다인된다(heterodyned). 주파수 변조(FM) 오디오 성분의 검출은 분리되어 수행되나 본 명세서에서는 설명하지 않는다. 수평 동기, 수직 동기 및 컬러 버스트는 SVP(102)에 타이밍을 제공하도록 제어기(128)에 의해 사용되므로 SVP의 데이타의 경로 부분이 아니다. 라인(114) 상의 아날로그 비디오 신호는 아날로그-디지탈 변환기(116)에 의해 디지탈로 변환된다. 디지탈 비디오 신호는 동기 벡터 프로세서(102)에 입력용으로 라인(117) 상에 제공된다.
프로세서(102)는 라인(117) 상에 제공된 디지탈 비디오 신호를 프로세스(도 2)하고 라인(170) 상에 프로세스된 디지털 신호를 제공한다. 다음, 프로세스된 비디오 신호는 표준형 아날로그 비디오 회로(108)에 라인(126)을 통해 제공되기 전에 디지탈-아날로그 변환기(124)에 의해 아날로그로 변환된다. 비디오 신호들은 비디오 테이프 레코더(134)와 같이 레코드되거나 다른 비표준 신호 소스로부터 아날로그-디지탈 변환기(116)에 제공될 수 있다. VCR 신호는 라인(136) 및 바이 패스 튜너(112)에 제공된다. 프로세서(102)는 예시적으로 텍사스 인스트루먼츠 모델 번호 TMS4C1060 필드 메모리 디바이스인 필드 메모리(120)내에 한개(또는 그 이상)의 비디오 프레임을 저장할 수 있다. 필드 메모리(120)은 제어기(128)로부터 라인(138 및 140)의 제어 및 클럭킹을 수신한다.
라인(114) 상의 비디오 신호 입력은 예를 들어 14.32 MHz(컬러 서브캐리어 주파수 3.58MHz×4)의 샘플링 비에서 아날로그-디지탈 변환기(116)에 의해 8-비트 디지탈 비디오 데이타로 변환된다. SVP(102)에 전체 40개의 입력 라인이 있다. 상술한 바와 같이, 디지탈 비디오 신호용으로 8개의 라인이 사용된다. 다른 라인들은 프레임 메모리 출력, 교호 TV 소스, 동등의 경우에 입력으로서 사용된다. 디지탈-아날로그 변환기(124)는 또한 8-비트 프로세서 출력을 아날로그로 변환시키도록 14.32MHz의 비율로 재구성된다. 나머지 출력 라인들은 다른 신호용으로 사용될 수 있다. 다른 방법으로는, 디지탈-아날로그 변환기(116 및 124)는 특정한 목적으로 필요한 상이한 샘플 비율로 동작할 수 있다.
프로세서(102)는 제어기(128)에 의해 제어된다. 제어기(128)은 프로세서(102)에 라인(130) 상의 24 마이크로비트 제어 비트 및 14 어드레스 비트를 인가한다. 비교적 저속의 경우에, 제어기(128)은 예를 들어 시판중인 텍사스 인스트루먼츠 모델번호 TMS 370C050과 같은 표준형 마이크로프로세서 또한 마이크로제어기 디바이스가 적합하다. 고속의 경우에, 고속 제어기는 RAM 또는 ROM에 소프트웨어 코드를 저장하거나, 또는 상태 기기 또는 순차기가 사용된다. 제어기(128)은 특히, 어드레스 카운터에 관련된 ROM에 저장된 코드만을 포함하는 경우에, 제1도의 유닛(132)을 형성하는 프로세서(102)와 동일한 반도체 칩에 적합하게 배치된다. 마이크로 명령은 단일 싸이클내에 7개의 기본(또는 일차) 게이팅 및 ALU 기능의 동작을 제어한다. 모든 PE들이 동일한 명령으로 제어되므로, 구조적 형태는 단일 명령 다중 데이타(SIMD)의 형태가 된다.
제2도의 양호한 실시예에서, SVP 디바이스(102)는 1024 1-비트 프로세싱 소자(103)(PE)를 갖고 있는 일차원 어레이를 포함한다.
각각의 프로세서 소자(150)이 제3도에 도시되었다. 각각의 프로세서 소자(150)은 40×1로 구성된 40-비트 데이타 입력 레지스터(DIR)(154) ; 128×1로 구성된 제1 128-비트 레지스터 파일(RFO)(158) ; 작동 레지스터(A, B, C 및 M)(162) ; 1-비트 전(full) 가산기/감산기를 포함하는 산술 논리 유닛(164) ; 128×1로 구성된 제2 128-비트 레지스터 파일(RFI)(166) ; 및 24×1로 구성된 24-비트 데이타 출력 레지스터(DOR)(168)을 포함한다. 제3도에 도시한 프로세서(150)는 DIR/RFO 레지스터(154/158) 및 작동 레지스터(A, B, C 및 M)(162)와 산술 논리 유닛(164) 사이에 데이타의 판독 및 기입을 제어하기 위한 제1 판독/기입 회로(156)을 포함한다. 제2 판독/기입 회로(167)은 DOR/RFI 레지스터(166/168) 및 작동 레지스터(A, B, C 및 M)(162)와 산술 논리 유닛(164)사이에 데이타의 판독 및 기입을 제어하기 위해 제공된다.
PE내에서의 데이타 흐름은 입력, 출력 및 계산을 모두 동시에 수행하는, 3개층 또는 파이프라인 단계에서 파이프라인된다. 입력층에서, 데이타 입력 레지스터(DIR)는 데이타 워드 직렬의 팩킷을 포착하거나 누산(accumulates)한다. 계산층에서, 프로그램된 동작들은 워드당 프로세서를 통해 이미 포착된 팩킷의 모든 소자에서 동시에 수행된다. 출력층은 다시 워드 직렬로 데이타 출력 레지스터(DOR)로부터 출력 핀에 또 다른 팩킷을 전송한다.
계산층 파이프라인의 각각의 위상내에서, 다수의 싸이클/명령은 요구된 동작을 수행한다. 입력 및 출력층 또는 파이프라인 단계는 싸이클 당 한개의 데이타를 누산하나, 데이타의 전체 팩킷을 전송하도록 다중 싸이클을 사용함으로써 I/0된 요구 조건을 최소화한다. 팩킷당 데이타 워드의 숫자는 각각의 적용시 설정된 하드웨어 또는 소프트웨어 또는 프로세서 소자 어레이의 크기가 제약되는데, 양호한 실시예에서 는 1024개이다.
계산층 또는 파이프라인 단계는 데이타를 동작시키기 위해 다중 싸이클을 사용한다. 각각의 데이타 워드에 제공된 ALU 및 데이타 경로는 1비트 폭이다. 그러므로 다중 비트 워드의 함수는 다중 싸이클에서 계산될 수 있다.
DIR(154)는 인에이블 신호가 입력(151)에 인가될 때 라인(118)로부터 디지탈 비디오 신호를 로드한다. 이 인에이블 신호는 1-대-1024 교환기, 순차 또는 링 카운터(148)에 의해 공급된다. 표준형 비디오 신호가 라인(118)에 제공될 때, 교환기(148)은 수평 블랭킹 기간의 종료부에서 개시하도록 트리거되고 아날로그-디지털 변환기(116)의 샘플링 비(주파스)와 동기된 최대 1024 싸이클(14.32 MHz에서)까지 연속된다. 유사하게, 인에이블 신호가 입력(172)에 인가될 때, DOR(168)은 라인(170)에 프로세스된 비디오 신호를 제공한다. 이 인에이블 신호는 다른 1-대-1024 교환기, 순차기 또는 링 카운터(174)로부터 수신된다. 교환기(174)는 수평 블랭킹 기간의 종료시 개시되도록 트리거되고 디지탈-아날로그 변환기(124)의 샘플링 비와 동기된 1024 싸이클 동안 계속된다.
각각의 PE는 4개의 가장 인접한(2개는 우측, 2개는 좌측) PE와 직접 통신한다. 각각의 2개의 PF는 2개의 상이한 RF 위치가 산술 논리 유닛(ALU)에 의해 동작된 데이타 및 단일 클럭 싸이클에서 레지스터 파일 RF0 또는 RF1들 중 1개의 레지스터 파일에 다시 기입된 결과를 판독할 수 있다.
외부 라인은 제3도의 프로세서 어레이에서 모든 프로세서의 소자 PE(150)에 공통으로 접속된다. 이 라인들은 보다 상세히 후술되나, 40개의 데이타 입력 라인(118), 7개의 DIR/RF0 어드레스 라인(131), 24개의 마스터 제어 라인(130), 클럭 및 리셋트 신호 라인(142 및 144), 2개의 테스트 라인(146), 7개의 DOR/RF1 어드레스 라인(133), 24개의 데이타 출력 라인(170) 및 1-비트 전역 출력(170)(G0) 라인을 포함한다.
[입력/출력]
SVP의 I/O 시스템은 데이타 입력 레지스터(154)(DIR) 및 데이타 출력 레지스터(168)(DOR)을 포함한다. DIR 및 DOR은 순차적으로 어드레스된 듀얼-포트 메모리이고 고속 전이 레지스터로 작동한다.
DIR 및 DOR은 양호한 실시예에서 다이나믹 메모리이다. DIR 및 DOR이 일반적인 경우에 PE(150)에 동기되기 때문에, 소정 형태의 동기화는 데이타가 DIR/DOR과 PE(150) 사이에 전송되기 전에 발생해야 한다. 이것은 통상적으로 비디오 적용시 수평 블랭킹 기간중에 발생한다. 소정의 적용시, DIR, DOR, 및 PE는 동기적으로 동작할 수 있으나, 소정의 경우에 레지스터들중 한개의 레지스터의 양쪽 포트에 동시에 판독 또는 기입되도록 재명령되지 않는다.
[데이타 입력 레지스터]
제2도를 다시 참조하면, 프로세서(102)의 DIR은 4096 비트 다이나믹 듀얼-포트 메모리이다. 한 포트(119)는 각각 40 비트의 1024 워드로 구성되고 1024 워드 라인 메모리의 기입 포트를 기능적으로 모방한다. 제4도는 DIR 기입용 타이밍도를 도시한 것이다. 40 데이타 입력(118)(DI0 내지 DI39)는 타이밍 신호 기입 인에이블(190)(WE), 리셋트 기입(192)(RSTWH), 및 기입 클럭(194)(SWCK)와 관련하여 사용된다. WE(190)은 SWCK(194)와 동기적으로 기능을 증가시키는 기입 함수 및 어드레스 포인터(148)(교환기)를 모두 제어한다. 하이일 때, RSTWH(194) 라인은 SWCK의 다음 상승 연부에서 1024 워드 버퍼의 제1 워드에 어드레스 포인트(148)을 리셋트시킨다. SWCK(194)는 연속 클럭 입력이다. 초기의 2개의 클럭 지연 후에, 데이타(198)의 1개의 40 비트 워드는 SWCK(194)의 각각의 후속 상승 연부에서 기입된다. 데이타 워드(0 내지 N)가 기입되는 경우, WE는 SWCK의 N+4 상승 연부 동안 하이를 유지한다. 어드레스 포인터(148)은 수평 블랭킹 기간의 종료시 개시되도록 트리거되고 A-D 변환기(116)의 샘플링 주파수와 동기된 1024 싸이클 동안 계속되는 1-1024 교환기, 순차기 또는 링 카운터를 포한한다. 입력 교환기(148)은 수평 주사비의 1024배 이상으로 클럭된다. 출력 교환기(174)는 필수적인 것은 아니지만, 입력과 동일한 비로 클럭될 수 있다.
설명을 위해, 프로세서(102)가 1024 프로세서 소자를 갖고 있는 것으로 도시하였으나, 그 이상 또는 이하의 소자를 갖을 수 있다는 것을 알아야 한다. 실제수는 사용된 텔레비젼 신호 전송 표준 시스템, 즉 NTSC, PAL 또는 SECAM, 또는 텔레비젼 적용이 아닌 경우 요구된 시스템 또는 기능에 관련된다.
데이타 입력 레지스터(154)의 제2 포트(121)은 각각의 비트가 프로세서 소자(150)에 대응하는 1024 비트의 40 워드로 구성된다. 포트(121)은 물리적으로 RFO의 일 부분이고, RFO의 절대 어드레스 공간에 맵되므로(mapped), DIR 및 RFO는 상호 배타(mutually exclusive) 회로이다. 하나의 회로가 어셈블리 코드의 소정의 어셈블리 랭귀지 라인의 오퍼랜드(operand)에 의해 어드레스될 때, 다른 회로는 어드레스 될 수 없다 양쪽 모두에 대해 기준을 포함하는 어셈블리 랭귀지 라인은 어셈블리-시간에서 에러를 발생할 것이다. 이것은 보다 상세히 후술한다.
DIR(154)는 DOR(168)과는 독립적으로 동작하므로, 자체 어드레스 라인(131) 및 소정의 자체 제어 라인(135)를 갖는다. DIR(154)의 실행 기능은 여러 라인(C21, C8, C2, C1, CO), WRM(234)의 내용, 및 어드레스(RF0A6 내지 RF0A0)에 의해 결정된다(제5도를 참조). 제어 라인 C2=1은 DIR(154)를 선택한다. 7개의 어드레스 라인(RF0A6-RF0A0)은 C1 및 CO가 기입 소스(판독 C 및 C1는 무관)를 선택할 때 판독 및 기입되는 40 비트 중 1개를 선택한다. 라인 C1 및 C0의 소정의 조합에서, DIR(154)용 기입 소스는 C21 및 C8의 상태 작동 레지스터(M234)의 내용에 따라 변한다. 이것들은 프로세서(102)가 보다 융통성이 있게 하는 명령 호출 M-종속 명령을 형성한다. 표 1은 DIR(154)에 대한 제어 라인 기능을 설명한 것이다.
[표 1]
여기서, 'm'은[RFOA6, RF0A5, … RF0A0)의 2진 조합이고 0=m=39의 범위에 있다.
범위 40=m=127로 보전.
제5도의 프로세서 소자 논리도는 RFO(158) 및 DIR(154)의 상호 접속을 상세히 도시한 것이다. C21, C8, C2, C1, CO 및 RF0A6 내지 RF0A0는 모든 1024 PE에 공통인 제어/어드레스 라인이다. 신호 C(280) 및 M(250)은 WRC(248) 및 WRM(234)로부터 각각 발생한다. SM(262)는 ALU(260)으로부터 발생한다. R(322), 2R(324), L(310) 및 2L(312)는 이 PE의 4개의 가장 인접한 PE들로부터의 신호이다. 40 DIR 워드는 복사된 키 연상(mnemonic), INP(m) 여기서 0≤m≤39 또는 XX INP(m) 여기서 XX는 최인접 옵션을 사용하는 명령에 의해 판독 또는 기입된다.
하드웨어를 보다 효율적으로 만들기 위해 동일한 어드레스 라인 및 다수의 동일한 하드웨어는 DIR(154) 및 RFO(158) 사이에 할당된다.
아래 표 2의 메모리 맵은 8비트 어드레스를 요구한다. 이 어드레스는 MSB로서 최대 제어 라인 C2(RFOA7) 및 LSB로서 최대 어드레스 라인(RFOA6 내지 RFOAO)로 구성된다. C2는 DIR(154) 대 RFO(158)의 선택이 명령 연상에 포함되기 때문에 어드레스를 고려하지 않는다.
[표 2]
DIR/RFO 메모리 맵 : h는 16진을 표시
데이타 출력 레지스터
제3도를 다시 참조하면, DOR(168)은 24576비트 다이나믹 듀얼-포트 메모리이다. 한 포트(169)는 각각 24 비트의 1024 워드로 구성되어 1024 워드 라인 메모리의 판독 포트를 기능적으로 모방한다. 데이터 출력(DO0 내지 DO23)(170)은 제6도의 신호 판독 인에이블(RE), 리셋트 판독(RSTRH), 및 직렬 판독 클럭(SRCK)과 접속하여 사용된다. SRCK(496)은 연속 클럭 입력이다. RE(490)은 SRCK(496)과 동시에 판독 기능 및 어드레스 포인터 증가 기능 모두를 인에이블 및 디스에이블시킨다. 하이일 때, RSTRH 라인(494)는 SRCK(496)의 다음 상승 연부(498)상의 1024워드 버퍼의 제1 워드에 어드레스 포인터(교환기)를 리셋트시킨다. 초기 2 클럭 지연후에, 데이타의 한개의 24 비트 워드는 SRCK의 각각의 후속 상승 연부후에 억세스 시간을 출력한다. 데이타 워드(O 내지 N)가 판독되면, RE는 SRCK의 N+3 상승 연부에서 하이로 유지되어야 한다. 상술한 바와 같이 DIR(154)를 참조하여, 어드레스 포인터(174)는 유사하게 1-1024 교환기 또는 링 카운터를 포함할 수 있다.
데이타 출력 레지스터(168)의 제2 포트(167)은 각각의 비트가 프로세서 소자(150)에 대응하는 각각 1024 비트의 24 워드로 구성된다. DOR(168)의 포트(167)은 물리적으로 RF1(166)의 일 부분이고, RF1(166)의 절대 어드레스 공간으로 맵되므로, DOR(168) 및 RF1(166)은 상호 배타 회로이다. 하나의 회로가 소정의 어셈블리 라 인상의 오퍼랜드에 의해 어드레스될 때, 다른 회로는 어드레스될 수 없다. 양쪽 모두에 대해 기준을 포함하는 어셈블리 라인은 어셈블리-시간 오차를 발생시킨다. 이것은 보다 상세히 후술하겠다.
DOR(168)은 DIR(154)과는 독립적으로 동작하므로, 자체 어드레스 라인(133) 및 소정의 자체 제어 라인(137)을 갖는다. DOR(168)의 실행 함수는 여러 라인(C21, C5, C4, C3), WRM(234)의 내용, 및 어드레스(RF1A6 내지 RF1AO)에 의해 결정된다(제5도를 참조). 제어 라인 C5=1은 DOR(168)을 선택한다. 7개의 어드레스 라인(133)은 C4 및 C3이 기입 소스를 선택할 때 판독 및 기입되는 24 비트 중 하나를 선택한다. 제어 라인 C4 및 C3의 소정의 조합에서, DIR(168)용 기입 소스는 C21의 상태 및 작동 레지스터(M234)의 내용에 따라 변한다. 이것들은 프로세서(102)가 보다 융통성이 있게 하는 명령 호출 M-종속 명령을 형성한다. 표3은 DIR(168)에 대한 제어 라인(130) 기능을 설명한 것이다.
[표 3]
여기서, 'q'는 (RF1A6, RF1A5 … RF1AO)의 2진 조합이고
범위 0=q= 23내에 있다.
범위 24=q= 127로 보전.
제5도의 논리도는 RF1 및 DOR의 상호 접속을 상세히 도시한 것이다. C21, C5, C4, C3 및 RA1A6 내지 RFIA0는 모든 1024 PE에 공통인 제어/어드레스/데이타 라인이다. 신호 C(280) 및 M(250)은 WRC(248) 및 WRM(234)로부터 각각 발생한다. SM(262) 및 CY(264)는 ALU(260)으로부터 발생한다.
하드웨어를 보다 효율적으로 만들기 위해, 동일한 어드레스 라인(133) 및 다수의 동일한 하드웨어는 DOR(168) 및 RF1(166)사이에 할당되었다.
아래 표 4의 메모리 맵은 8비트 어드레스를 요구한다. 이 어드레스는 MSB로서 최대 제어라인 C5(RFIA7) 및 LSB로서 최대 어드레스 라인(RFIA6 내지 RFIAO)(133)으로 구성된다. C5는 DOR(168) 대 RFI(166)의 선택이 비트 C5에 의한 명령 연상에 포함되기 때문에 어드레스를 고려하지 않았다.
[표 4]
DOR/RF1 메모리 맵 : h는 16진을 표시
PE 레지스터 파일
제3도에서, 각각의 PE(150)은 2개의 레지스터 파일 RFO(158) 및 RF1(166)을 포함한다. 각각의 RF는 PE(150)당 총 256비트의 경우에 판독/기입 메모리의 1 비트에 128 워드를 포함한다.
프로세서(102)에는 2개의 어드레싱 구조가 있다. 즉 RFO(158)용 구조(131)은 모두 1024 PE를 커버하고, RF1(166)용 구조(133)은 모두 1024 PE를 커버한다. 두개의 레지스터 파일은 독립 어드레스, 선택 및 이에 관련된 명령 라인을 갖고 있으나, 동일한 제어(130) 및 타이밍(142) 회로를 할당한다. 이것은 2개의 레지스터 파일이 동시에 데이타를 판독하고, 전기 효율을 위해 서로 독립적으로 기입한다는 것을 의미한다.
RFO(158) 및 RF1(166)은 판독-전용이거나, C(248) 또는 M(234) 레지스터를 포함하는 여러 소스로부터 기입되거나, 또는 ALU(260)의 SM(262) 출력에 의해 직접 기입될 수 있다. 또한, M-종속 명령은 조건부로 CY(264)와 같은 데이타 소스가 ALU(260) 또는 인접한(160)으로부터 직접 출력되게 한다. 아래의 표 5에서 'X'는 인접한 좌측(310) 또는 우측(322)를 나타내고, 'X2'는 WRM(234)의 값에 따라 인접한 제2 좌측(312) 또는 제2 우측(324)를 나타낸다. 다른 데이타는 이 위치들중 한 위치에 먼저 통과함으로써 기입될 수 있다.
표5는 각각의 레지스터 파일의 경우에 가능한 기입 데이타 소스를 도시한 것이다.
[표 5]
그러므로, 상술한 바와 같이, 레지스터 파일 RF0 및 RF1은 독립적으로 어드레스 가능하므로, 1 비트 다중-누산 동작은 단일 프로세서 싸이클로 수행될 수 있다.
즉, 다음의 산술 표현은 1클럭 싸이클로 각각의 PE에 의해 계산될 수 있다.
R1(p)'=(RO(n)*M)+R1(p)
여기서, M=WRM(작동 레지스터 M)에 포함된 값
RO(n)=어드레스 n에서 RF0에 포함된 값
R1(p)=어드레스 p에서 RF1에 포함된 값
R1(p)'=어드레스 p에서 RF1에 다시 기입되는 값
양호한 실시예에서, 레지스터 파일, 데이타 입력 레지스터, 및 데이타 출력 레지스터는 다이나믹 판독 전용 메모리이고 실행 프로그램에 의해 절대적으로 재생되는 경우가 아니면 주기적으로 재생된다.(디지탈 TV와 같은) 여러 작용시, 프로그램은 소프트웨어 루프가 재생 주기보다 매우 주기적으로 반복되는 경우에 재생된 RF를 유지하게 된다. 이것은 재생된 프로그램에 의해 사용되는 소정의 메모리 위치를 유지시키나, 사용되지 않은 비트들은 재생되지 않은채 유지되게 한다. 또한, 프로그램은 재생 주기 내에 모든 관심 위치를 간단하게 판독함으로써 두 RF를 분명하게 재생시킬 수 있다.
레지스터 파일 O(RFO)
DIR(158)는 DOR(166)에 독립적으로 동작하므로, 자체 어드레스 라인(131) 및 소정의 자체 제어 라인을 갖는다. RFO(158)의 실행 기능은 여러 라인(C21, C8, C2, C1, CO), WRM(234)의 내용, 및 어드레스(RF0A6 내지 RFOAO)에 의해 결정된다(제5도를 참조). 제어 라인 C2=0은 RFO(158)을 선택한다. 7개의 어드레스 라인(131)은 C1 및 C0가 기입 소스를 선택할 때 판독 및 기입되는 128 비트 중 하나를 선택한다. 라인 C1 및 C0의 소정의 조합에서, RFO(158)용 기입 소스는 C21 및 C8의 상태 및 작동 레지스터(M234)의 내용에 따라 변한다. 이것들은 프로세서(102)가 보다 융통성이 있게하는 명령 호출 M-종속 명령을 형성한다. 표6은 레지스터 파일 O(158)에 대한 제어 라인 기능을 설명한 것이다.
[표 6]
여기서,'m'은 [RF0A6, RF0A5, … RF0A0)의 2진 조합이고,
범위는 0=n=127이다.
제5도의 논리도는 RFO(158) 및 DIR(154)의 상호 접속을 상세히 도시한 것이다. C21, C8, C2, C1, C0 및 RF0A6 내지 RF0A0는 모든 1024 PE에 공통인 제어/어드레스 라인이다. 신호 C(280) 및 M(250)은 WRC(248) 및 WRM(234)로부터 각각 발생한다. SM(262)는 ALU(260)으로부터 발생한다. R(322), 2R(324), L(310) 및 2L(312)는 이 PE의 4개의 가장 인접한 PE들로부터의 신호이다.
하드웨어를 보다 효율적으로 만들기 위해 동일한 어드레스 라인 및 다수의 동일한 하드웨어는 DIR(154) 및 RFO(158) 사이에 할당되었다. 아래 표 2의 메모리 맵은 8비트 어드레스를 요구한다. 이 어드레스는 MSB로서최대 제어 라인 C2 및 LSB로서 어드레스 라인(RF0A6 내지 RF0A0)로 구성된다. C2는 DIR 대 RFO의 선택이 명령 연상에 포함되기 때문에 어드레스를 고려하지 않는다. 다른 레지스트들은 보존된 표 2의 메모리 맵에서 소위 모든 미확정 메모리 공간인 메모리 공간 C로 맵된다.
레지스터 파일 1(RF1)
RF1(166)은 RFO(158)에 독립적으로 동작하므로, 자체 어드레스 라인(133) 및 소정의 자체 제어 라인을 갖는다. RF1(166)의 실행 기능은 여러 라인(C21, C5, C4, C3), WRM(234)의 내용, 및 어드레스(RF1A6 내지 RF1A0)(133)에 의해 결정된다. 제어 라인 C5=0은 RF1을 선택한다. 7개의 어드레스 라인(133)은 C4 및 C3이 기입 소스를 선택할 때 판독 및 기입되는 128 비트 중 하나를 선택한다. 라인 C4 및 C3의 소정의 조합에서, 기입 소스는 C21의 상태 및 작동 레지스터(M234)의 내용에 따라 변한다. 이것들은 프로세서가 보다 융통성이 있게 하는 명령 호출 M-종속 명 령을 형성한다. 표8은 RF1에 대한 제어 라인 기능을 설명한 것이다.
[표 8]
여기서, 'm'은 [RF0A6, RF0A5, … RF0A0]의 2진 조합이고,
범위는 0=n=127이다.
제5도의 논리도는 RF1(166) 및 DOR(168)의 상호 접속을 상세히 도시한 것이다. C21, C5, C4, C3 및 RF1A6 내지 RF1A0는 모든 1024 PE에 공통인 제어/어드레스 라인이다. 신호 C(280) 및 M(250)은 WRC(248) 및 WRM(234)로부터 각각 발생한다. SM(262)는 ALU(260)으로부터 발생한다.
하드웨어를 보다 효율적으로 만들기 위해, 동일한 어드레스 라인(133) 및 다수의 동일한 하드웨어는 DOR(168) 및 RFI(166) 사이에 할당되었다. 표4의 메모리 맵은 8 비트 어드레스를 요구한다. 이 어드레스는 MSB로서 제어 라인(C5) 및 LSB로서 어드레스 라인(RF1A6 내지 RF1A0)로 구성된다. C5는 DOR 대 RF1의 선택이 명령 연상에 포함되기 때문에 어드레스를 고려하지 않았다. 다른 레지스터들은 보존된 표 4의 메모리 맵에서 소위 모든 미확정 메모리 공간인 메모리 공간으로 맵된다.
판독/기입 회로
제3도에서, 판독/기입 회로로 라벨된 블럭(156 및 169)는 하나 이상의 감지 증폭기를 포함한다. 제7도는 1×128로 구성된 128-비트 다아나믹 랜덤 억세스 메모리를 포함하는 RFO를 도시한 것이다. 실제로, RFO 데이타 메모리(158) 및 DIR 입력 레지스터(154)는 동일한 1×128 DRAM 행의 일 부분이나, DIR(154)는 DIR(154)가 입력 DIO-39 40비트로부터 병렬로 기입될 수 있는 RFO(158)과 상이하다. 유사한 배열은 DOR/RF1의 경우에 존재한다. 그러나, 단지 24(DOO-23) 병렬 출력 라인은 DOR에 제공된다. 한 실시예에서, 프로세서 소자(150)당 2개의 감지 증폭기가 있다. 한 증폭기(156)은 DIR/RFO용이고 다른 증폭기(167)은 DOR/RR1용이다. 각각의 감지 증폭기는 데이타 레지스터(154 또는 168), 또는 레지스터 파일(158 또는 166)의 어드레스된 부분에 데이타를 판독하거나 기입한다. 감지된 데이타는 제7도의 레지스터와 멀티플렉서(508), 및 I/O 라인(500, 502, 504 및 506)을 통해 메모리 뱅크 DIR/RFO과 DOR/RF1 사이에 전송된다. DRAM 행의 1×128 메모리 RFO(158) 부분에 어드레스되는 특정 비트는 모두 1024 프로세서 소자(150)에 의해 분할된 128 워드 라인(160)에 의해 선택된다. 제어기(128)은 64개 중 1개의 어드레스(7번째 비트는 =0 DIR 선택, =1 DIR 비선택)로 디코드된다. 선택을 위해 6개의 어드레스 비트(131A)를 DIR(154)에 제공하고, 128개 중 1개의 어드레스 선택을 위해 RFO(158)에 7개의 어드레스 비트(131B)를 제공한다. 동일한 어드레스 선택은 모두 1024 프로세서 소자(150)의 RFO 또는 DIR에 제공된다. 유사하게, RFI로 표시된 제2 1-비트 광 다이나믹 메모리(166)은 프로세서(102)의 출력 단에서 사용되고, 128개 중 1개의 어드레스 선택용으로 7개의 어드레스 비트(133B)를 다시 수신한다. RFI(166) 메모리는 DOR로 명명된 24-비트 데이타 출력 레지스터(168)에 관련되고, 32개 중 1개의 어드레스 선택용으로 5개의 어드레스 비트(133A)를 수신한다. 입력 교환기(148)은 수평 주사비의 1024배 이상에서 클럭되므로, 입력 레지스터(154)의 모든 1024는 수평 주사 주기 동안 로드될 수 있다. 출력 교환기(174)는 입력에서 동일한 비율로 클럭될 필요는 없다.
교환기(148)로부터의 포인터 입력(151)은 다이나믹 메모리 셀(518)에 40개의 데이타 라인(118)(병렬 입력 D10-DI3P로부터)을 접속시키는 한 셋트의 40개의 입력 트랜지스터(516)을 구동시킨다는 것을 알 수 있다. 이 셀들은 듀얼-포트이고, 억세스 트랜지스터(520)을 통해 기입 또는 판독되고, 워드 라인(526)에 의해 어드레스될 때 감지 증폭기(156)에 접속된 비트 라인(522 및 524)를 접지시킨다. 이 168-비트 다이나믹 랜덤 억세스(DRAM) 행의 DIR 부분에서 40 워드 라인(526) 및 RFO 부분에서 128 워드 라인(160)이 있다.
상술한 바와 같이, DIR은 2-트랜지스터 듀얼 포트 셀이다. 판독 및 기입은 각각의 포트에서 실행될 수 있다. DIR은 고속 다이나믹 전이 레지스터로써 동작한다. 듀얼 포트 특성은 DIR의 데이타 입력 및 출력 비동기 통신을 하게 한다. 다이나믹 셀들을 사용하므로써, 전이 레지스터 배열은 매우 감소된다. 모조 셀이 사용될 수 있으나, 이것은 셀 동작을 위한 요구 조건이 아니다.
데이타 출력 레지스터는 3-트랜지스터 듀얼 포트 이득 셀을 사용한다. 대부분의 응용시, 판독 및 기입은 포트(167)에서 허용되나, 판독만은 제2 포트로부터 실행된다. DOR(168)은 또한 고속 다이나믹 전이 레지스터로서 동작한다. 이득 트랜지스터 회로를 갖고 있는 DOR은 저장된 전하를 파괴하지 않고 캐패시터(519)의 판독을 허용한다. 동작 중, 셀(519)의 논리 1이 트랜지스터(1640)의 1V 보다 크면, 선택 T 라인(172)가 턴온될 때, 라인(1642)는 동일하게 논리 0 또는 0 볼트로 강하된다. 셀(519)의 전하가 1V(즉, 논리 0 또는 로우)보다 낮으면, T라인(1642) 상의 전하는 예비충전 값으로 유지된다. 트랜지스터(1642)는 셀 판독 선택 트랜지스터이다. 모두 24개의 데이타 출력라인(56)은 트랜지스터(1642)에 의해 동시에 감지된다(즉, 트랜지스터(1642)는 프로세서 소자 셀을 선택한다). 도시한 바와 같이 노드(1650)은 격리된다. 이 접속은 다시 프로세서 소자 셀을 판독하여 발생된 노이즈로부터 셀의 데이타가 손실될 가능성을 감소시킨다. 각각의 128 셀 섹션은 신호를 감지하도록 출력 라인상에 비교기(1634)를 갖고 있다.
기준 전압은 비교기 입력(1636)에 인가된다. 트랜지스터(1630)의 소스(1636)은 VT에 접속된다. 이것은 요구 조건은 아니나, 소스(1638)은 다른 전압 레벨에 접속될 수 있다.
제8a-d도는 DOR 회로의 여러 라인 및 노드에서 전압 레벨을 도시한 것이다.
제9도는 다른 방법에서 DOR 셀을 도시한 것이다.
상술한 바와 같이, 비디오 적용의 경우에 PE(150)의 양호한 실시예는 40-비트 광(wide) 입력 데이타 버스(118) 및 24 비트 광 출력 데이타 버스(170)을 사용한다. 8fsc(35 ns)의 고속 클럭킹 속도로 통신하는 버스폭은 1024 DIR(154) 또는 DOR(168)의 전체 버스폭이 전체 클럭킹 주기동안 파워-업(powered up)되어야 하는 경우에 버스 라인에 큰 전력 드레인 및 노이즈를 발생시킨다. 그러나, 각각의 DIR(또는 DOR)만이 클럭킹 주기의 소정의 특정 부분으로 판독 또는 기입되기 때문에, 소정의 시간에서 기입되는 DIR을 포함하는 DIR 직렬 어레이의 일 부분에 기입되는 DIR(168)만을 파워-업시키는 것이 가능하다.
제10도는 SVP(102) 입력 버스 라인(118) 전력 드레인 및 노이즈 감소 제어 회로(580)을 도시한 것이다. 회로(580)은 DIR(154)의 기입 중에 SVP(102)의 노이즈 및 전력 요구량을 감소시킨다. 설명 및 도시를 위해, 1024 대 40 DIR 어레이(154)는 각각 128 PE(150)을 포함하는 8 세그먼트 또는 부분(586a-h)로 세그먼트된다. 데이타는 대응 제어 유닛(602)의 제어하에 동작하는 교환기(148)의 세그먼트에 의해 각각 128 DIR 세그먼트(586)의 메모리 위치로 클럭된다. 제어 유닛(1)(602a)은 라인(118)의 입력 비디오 데이타 신호의 수평 주사비와 동기 상태로 시간이 정해진 클럭 입력(608)의 세그먼트를 갖는다. 각각의 8 제어 유닛(602)는 리셋트 신호(610)을 수신하도록 접속된다. 리셋트 신호는 제1 제어 유닛(602a)가 나머지 유닛(602b-h)를 전력 상승 및 전력 하강하게 한다. 제어 유닛(602) 출력 신호는 상술한 바와 같은 동작을 위해, 교환기(588)을 인에이블링하기 위한 교환기 인에이블 신호(151)을 포함한다. 또한 각각의 제어 유닛(602) 출력 신호는 이미 동작하는 섹션으로 기입되는 데이타 신호가 거의 완료될 때 작동을 하기 위해 다음 인접 제어 유닛의 전력을 상승시키기 위해 전력 상승 출력 신호(606)을 포함한다. 예를 들어, 라인(118)로부터 DIR 섹션(586a)까지의 데이타 판독이 거의 완료될 때, 다음 인접 제어 유닛(602b)는 데이타 기입을 위해 준비된 교환기 세그먼트(588b)를 인에이블시킨다. 세그먼트(602b)가 교환기 섹션(588b)를 인에이블시키면, 라인(604a) 상의 신호는 세그먼트(586a)에 대한 데이타 기입이 완료될 때 이전의 제어 유닛(602a)의 전력을 하강시킨다. 이 전력 상승/전력 하강 제어 순차는 모든 1024 DIR이 로드될 때까지 각각의 섹션에서 반복된다. 이 형태에서, 기입되는 DIR의 그룹용 교환기만이 클럭 싸이클의 일부분 중에 전력이 상승한다. 상술한 SVP(102) 동작에 따라 비디오 데이타 신호 주사 라인 수평 블랭킹 기간 중에, 모든 섹션(586a-h)의 DIR 데이타는 RFO로 클럭되고, 제어기 리셋트 신호가 작동되고 새로운 주사 라인은 입력을 위해 준비된다.
제11도를 참조하면, 제10도에 도시된 전력 드레인 및 노이즈 감소 제어 회로(580)의 양호한 실시예의 논리 블럭도를 보다 상세히 도시한 것이다. 제11도에서, 제어 회로(580)은 플립-플롭(614, 620 및 622)를 포함하는 서브회로를 포함하는 것으로 도시되었다.
동작 중 입력(610)에서의 리셋트 신호는 S를 트리거시키거나 플립-플롭(614 및 620a)의 입력을 셋트시킨다. 동일한 리셋트 신호(610)은 플립-플롭(620b-620g)에 대한 클리어 입력을 트리거시키고 플립-플롭(622)에 대한 리셋트 입력을 트리거시킨다. 플립-플롭(620a)의 셋트 입력이 트리거되면 Q 출력은 구동기(628)을 인에이블 시키도록 동작된다. 구동기(628)이 인에이블되면, 입력에서의 클럭 신호는 교환기(588a) 입력에 제공된다. 동작용 교환기(588a)의 전력 상승은 플립-플롭(614)의 Q출력 신호의 하이 레벨에서 개시된다. 교환기 인에이블 신호(151)은 제1 DIR 메모리 위치로 라인(118)에 제공된 비디오 데이타 신호의 제1 40-비트의 전단부를 트리거한다. 교환기(588a)가 종료된 후에 라인(604)의 신호는 플립-플롭(614)를 리셋트 한다.
클럭 신호(608)은 상술한 바와 같이, 인입 비디오 신호비에 의해 시간이 정해진 교환기(588)을 트리거한다. 동일한 클럭 신호들은 동시에 모든 클럭 입력(608)에 제공된다. 그러나, 구동기(608b-608h)가 디스에이블되기 때문에, 이에 해당하는 교환기(588b-588h)는 동작되지 않는다. 교환기(588a)는 순차적으로 제1 세그먼트의 DIR 메모리 위치(0-127)에 대응하는 각각의 신호 라인(1510내지 151127)을 인에이블시킨다. 신호 라인(151127)이 DIR(127) 기입을 위해 인에이블되기 때문에, 인에이블 신호는 플립-플롭(620b)의 셋트 입력에 제공되고 교환기(588b)을 파워 업시키도록 라인(606)을 통해 제공된다. 플립-플롭(620b)의 셋트 또는 Q 출력은 교환기(588a)에 관련하여 기술한 바와 같이 동작 중에 교환기(588b)에 클럭킹 신호를 통과시키도록 구동기(608b)를 작동시킨다. 신호 라인(151128)이 교환기(588b)에 의해 동작되기 때문에, 신호는 구동기(628a)를 동작시키지 않도록 플립-플롭(620a)의 리셋트 입력에 교환기를 파워-다운시키도록 라인(604)를 통해 제공된다. 구동기(628a)의 비동작은 데이타의 40 비트가 DIR(127)로 입력된 후에 발생한다. 모든 교환기(588a-588h)가 DIR 위치(0-1023)을 로드시키도록 동작할 때까지 파워 업 또는 파워 다운 순차는 계속된다. 플립-플롭(622)는 교환기(588h)의 동작이 완료된 후에 리셋트 신호(610)에 의해 리셋트된다.
제어 회로(580)은 기입되는 회로의 부분만을 파워 업시키므로써 전력 방출을 상당히 감소시킨다. 이것은 또한 데이타 라인에 다른 방법으로 제공될 수 있는 노이즈를 감소시키는 작용을 한다.
제12도는 프로세서(102)의 DOR(168) 또는 출력단에 사용하기 위한 전력 및 노이즈 감소 회로를 도시한 것이다. 제12도 회로는 제11도 회로와 유사하게 동작한다. 8 섹션으로의 DIR 및 DOR을 절단한 것은 단지 도시하기 위한 것이다. 칩 배열에 따라서, 22 이상의 섹션을 갖는 것이 가능하다. 부수적으로, 교환기는 다른 실시예에서 제어 유닛의 부분일 수 있다. 교환기 세그먼트(588)은 교환기를 분리하는 것과 같은 단일 교환기 기능의 일 부분일 수 있거나 각각의 다수의 교환기일 수 있다.
표준 및 비-표준 신호
TV는 많은 신호 소스를 갖고 있다. 이 소스들은 2가지 형태 ; 표준 및 비-표준신호로 분류될 수 있다. 표준 신호는 디지탈 회로에서 이상적인 경우이고, 비-표준 신호는 디지탈 텔레비젼 시스템에서 많은 문제점을 발생시킨다. 표준 신호의 예는 TV 스테이션에서 컬러 버스트 주파수, 수평 및 수직 동기 주기, 및 필수적으로 모두 불변인 이들 사이의 위상 관계이다. 가정용 VCR은 비-표준 신호 소스의 좋은 예이다. 수평 동기 펄스와 크로마 버스트(chroma burst) 사이의 정확한 관계는 레코드/재생 프로세스 동안 소멸되고, 테이프 지터(jitter)의 발생이 연속 필드 사이에서 타이밍 관계를 왜곡시키기 때문에 규격화된다.
비디오 데이타 신호들이 연속적으로 SVP(102)에 라인(118)에 제공되나, 어레이 데이타 입력 레지스터(154)는 한번에 한개의 비디로 주사 라인만을 보유한다. 상술한 바와 같이, 수평 블랭킹 기간중에, 이미 보유된 데이타의 주사선은 새로운 데이타의 주사선에서 입력 레지스터를 자유상태로 두도록 RFO 레지스터 파일로 전이된다. 새로운 주사선은 수평 블랭킹 기간후에 제공된다. 다음 블랭킹 기간 및 주사 라인 시간 중에, 레지스터 파일(RFO 및 RF1)에 이미 보유된 데이타는 PE에 의해 프로세스된다. 또한, 레지스터 파일 데이타는 근거리 통신망을 통해 다른 프로세서 소자에 전송될 수 있다. 일반적으로 실행되지 않음에도 불구하고, DIR 또는 DOR의 데이타는 프로세서 소자에 의해 직접 프로세스될 수 있다. 이 순차의 경우는 입력 신호의 포즈(수평 블랭킹 기간)를 출력시키지 않는 비-표준 신호 적용시 바람직하지 않다. 이러한 적용의 예는 입력 신호가 VCR출력일 때의 예이다 이 경우에서, 신호를 정지시키고 프로세서 소자 요소들 사이, 즉 DIR 대 RF0 및 RF1 대 DOR 사이에 데이타를 전송할 시간이 없다. 이 문제점을 해결하기 위해, 제13도에 도시한 SVP 구조가 사용될 수 있다. 제13도에서, 1024 데이타 입력 레지스터(154)는 다수의 세그먼트로 분할된다. 이 예에서, DIR은 2개의 세그먼트, 즉 좌측(650) 및 우측(652)로 분할된다. 많은 세그먼트들이 필요한 만큼 발생될 수 있다는 것을 알아야 한다. 각각의 세그먼트(650 및 652)는 전체 프로세서 소자의 1/2(512)를 포함한다. 단지 설명 및 도시하는데 용이하도록 좌측으로부터 한개의 프로세서 소자 및 우측으로부터 한개의 프로세서 소자만을 도시하였다. 동작 중, 라인(118)의 데이타 신호들은 세그먼트(650)의 DIR에 전송되고, 세그먼트(652)에 이미 저장된 데이타는 레지스터 파일(656)에 동시에 전송된다. DIR 세그먼트(652)로부터의 데이타가 레지스터 파일(656)에 전송된 후에, 세그먼트(650)의 DIR은 레지스터 파일(654)에 데이타를 전송시키고, 세그먼트 DIR(652)는 새로운 데이타를 으로드시킨다. 이 형태에서, 프로세서의 DIR의 단지 1/2만이 레지스터 파일에 전이된다.
세그먼트 선택 및 동작을 제어하기 위한 제어 회로(658)의 예는 제13도에 도시되어 있다. 제어 회로(658)은 좌측 절반에 대한 트랜지스터(670 및 672)와 우측 절반에 대한 트랜지스터(674 및 676)과 같은 DIR 선택 트랜지스터를 포함한다. 선택 트랜지스터(670)은 프로세서 소자 감지 증폭기(678)과 DIR 사이에 접속된 자체 소스 및 드레인을 갖고 있다. 트랜지스터(670)의 게이트는 AND 게이트(682)의 출력에 접속된다. AND 게이트(682)의 입력 리드(692)는 XFERLEFT 또는 XFERIGHT 신호를 수신한다. 입력 리드(690)은 마이크로코드 제어 비트 C2를 수신한다. C2=1일 때 DIR이 선택되고, C2=0일 때 PF0가 선택된다.
트랜지스터(672)는 DIR(650)과 감지 AMP(678) 사이에 유사한 방법으로 접속된다. 세그먼트(652)의 트랜지스터(674 및 676)은 유사하게 접속된다. 각각의 세그먼트 제어 회로의 각각의 DIR은 또한 감지 증폭기가 동작 중 요구된 바와 같이 공지된 상태로 되게 하는 2개의 트랜지스터 네트웍을 포함한다. 이것은 좌측 절반 DIR용 트랜지스터(662 및 664)와 우측 절반(DIR)용 트랜지스터(666 및 668)이다.
트랜지스터(662)는 트랜지스터(670)의 소스에 접속된 소스를 갖고, 드레인은 접지된다. 유사하게, 트랜지스터(664)의 소스는 트랜지스터(672)의 소스에 접속된다. 그러나, 트랜지스터(664)의 드레인은 VDD에 접속된다. 트랜지스터(662 및 664)의 게이트는 AND 게이트(684)의 출력에 접속된다. AND 게이트(684)는 2개의 입력을 갖는다. 입력(688)은 인버터(686)의 출력에 접속되고, 출력은 XFERLEFT/XFERRIGHT 신호에 접속된다. AND 게이트(684)의 입력(690)은 제어비트 C2에 접속된다.
출력이 좌측 트랜지스터(662 및 664) 및 우측 트랜지스터(674 및 676)를 제어하도록, AND 게이트(684)로부터의 제어 출력은 세그먼트 절반(650)으로부터(652)에 교차 결합된다. AND 게이트(682)의 출력은 프로세서(102)의 좌측 및 우측 절반 사이에 유사하게 교차 결합된다. 좌측에서는 게이트(682) 출력은 트랜지스터(670 및 672)를 제어한다. 우측에서는 게이트(682)가 트랜지스터(668 및 668)을 제어한다.
동작 중 XFERLEFT의 하이 레벨 및 C2 신호는 AND 게이트(684)로부터 로우 신호를 발생시키고 AND 게이트(682)로부터 하이 신호를 발생시킨다. 이것은 RFO에 전송하기 위해 좌측 DIR의 내용을 선택하고 로딩을 하기 위해 우측 DIR을 동작시킨다. C2가 1일 때, 리드(692)의 로우 또는 XFERRIGHT 신호는 으로딩용 좌측 DIR 및 RFO에 데이타를 전송하기 위한 우측 DIR을 선택한다. 이 순차는 DIR 주사가 유사한 피스톤 방법으로 선택적으로 데이타를 연속 수신 및 전송하도록 반복된다.
전체 주사선이 DIR에 로드되고 레지스터 파일에 전송된 후에, 프로세서(102)에 의해 실행된 소프트웨어 프로그램은 원래의 데이타를 재생하도록 제로를 갖는 데이타로 전송된 짝수 어드레스 데이타를 논리적으로 OR시킨다. 전송된 홀수 어드레스 데이타는 원래 데이타를 재생하도록 1로 논리적으로 AND된다. 이것은 제14도에 도시되어 있다. 데이타 라인(118)로부터 수신된 데이타가 2개의 세그먼트 프로세싱으로부터 재생된 후에 상술한 바와 같이 개시될 수 있다.
제15도는 원래 전송된 데이타를 복구하기 위한 다른 방법의 체계를 도시한 것이다. 짝수 및 홀수 어드레스를 분리하여 재생하는 대신에, 제13도의 트랜지스터(664 및 668)의 드레인은 접지될 수 있고 홀수 및 짝수 어드레스는 동일하게 처리된다. 다음과 같이 발생할 수 있다. 입력 제1 절반 : (XFERLEFT=1) ; M=1,A=INP(j), B=0, C=0, R1(n)=SM, 다음 OR 제1 데이타는 제1 부분을 발생시킨다:(XFERLEFT=0) ; M의, A=R1(n), B=INP(j), C=1, R1(n)=CY.
제16도는 제13도의 DIR 제어 회로를 보다 상세하고 약간 상이하게 도시한 것이다. 제17도는 제13도의 DOR 제어 회로를 보다 상세하고 약간 상이하게 도시한 것이다.
레이스터 파일 재생
상술한 바와 같이, 레지스터 파일은 이의 내용을 유지하기 위해 연속 재생 주기중에 적합하게 재생된 다이나믹 셀로 구성된다. 소프트웨어에 의해 사용된 어드레스들만이 재생될 필요가 있다. 나머지 모든 어드레스는 데이타가 필요없기 때문에 재생없이 진행할 수 있다.
재생 동작은 데이타 보유를 필요로 하는 각각의 어드레스에 대한 판독을 단순하게 하므로, 많은 적용시, 소프트웨어 프로그램은 소프트웨어 루프가 재생 주기보다 매우 주기적으로 반복되는 경우에 재생된 RF를 유지한다.
SVP(102)의 모든 256K 비트를 재생하는데는 단지 64 싸이클이 요구된다. 이것은 각각의 RF가 실제적으로 판독하고 동시에(PE당 전체 4 비트동안) 2 비트를 재생하기 때문이다. 모든 SVP(102)에 대해 완전한 재생을 실행하기 위해, 소정의 작동 레지스터에 각각의 RF를 판독하고, 각각의 시간에서 어드레스를 그만큼 증가시키고 64회 반복한다.
A=R0(0) : B=R1(0) : 4×1024 비트 재생
A=R0(2) : B=R1(2) : 어드레스를 2만큼 증가
A=R0(124) : B = R1(124)
A=R0(126) : B = R1(126) : 재생 완료
제5도에서, ALU(164)는 간단한 전 가산기/감산기(260) 플러스 1-비트 곱셈기(258)(AND 게이트)로써 도시하였다. 입력은 WRM(234), WRA(238), WRB(242), WRC(248), 및 제어 라인 C21(252)로부터 입력된다. ALU(164)의 출력은 합(262)(SM), 캐리(264)(CY), 및 빌림(Borrow; 266)(BW)이다.
ALU이 다이어그램
제5도를 다시 참조하면, ALU(164)는 제어 라인 C21에 의해 제어된 2개의 동작모드를 갖는데, 한 모드는 곱셈기(258)이 인에이블되고, M-종속 명령이 디스에이블되며(C21=0) 그리고 제2 모드는 곱셈기(258)이 통과(pass-thru)되거나 디스에이블되고 M-종속 명령은 인에이블된다(C21=1).
ALU(164)의 동작 모드 선택은 실행되는 프로그램 명령에만 종속한다 즉, SVP 어셈블리는 소정의 어셈블리 라인의 명령이 'M-종속'을 요구한 경우 '인에이블된 M-종속 명령'에 ALU(164) 동작 모드를 셋트시키고, 다른 방법으로 동작 모드는 '디스에이블'에 셋트된다. 이것은 가산기/감산기(260)은 M-종속 서브-명령이 사용될 때 적절하게 기능하게 한다. 즉, 곱셈기(258) 및 M-종속 서브-명령의 전체 등 급은 작동 레지스터 M(234)를 할당하므로, 상호 배타적이된다.
표10은 곱셈기(258)이 인에이블되거나 디스에이블되는지 여부에 따라 ALU(164)의 실행을 도시한 것이다.
[표 10]
ALU(164)는 M-종속 명령이 디스에이블될 때 표 11에 도시한 논리 동작을 실행한다. 소정의 어셈블리 라인에서 명령이 M-종속이 아니면, M-종속 명령은 전체 라인에서 모든 명령에 대해 디스에이블된다.
[표 11]
PE 작동 레지스터
제2도의 실시예에서, 프로세서 소자(150)(PE)당 4개의 작동 레지스터(162)(WR) ; WRM, WRA, WRB 및 WRC이 있다. 모두 4개의 레지스터는 데이타 소스 및 데스티네이션이 상이한 것을 제외하고는 동일하다. 제5도에 도시한 바와 같이, 각각의 WR은 데이타 선택기 또는 멀티플렉서 및 플립/플립을 포함한다. 모두 4개의 레지스터는 유효 데이타가 RF로부터 도착한 후에 바로 내부 SVP 타이밍 회로에 의해 동시에 클럭된다.
표 12는 각각의 4개의 작동 레지스터에 대한 데이타 소스를 도시한 것이다.
[표 12]
여기서, M, A, B 및 C는 작동 레지스터 RF0 및 RF1은 레지스터 파일 L, R, L2 및 R2는 인접 입력 CY, 및 BW는 ALU로부터의 캐리 및 빌림 KCB는 상태 캐리/빌림(WRM의 기능) 1 및 0는 논리 레벨
작동 레지스터 M(WRM)
곱셈기 레지스터(WRM ; 234)는 곱셈, 분할, 마스킹 동작, 소정의 논리 동작, 및 종래의(M-종속) 동작에 사용된다. 부수적으로, WRM(234)는 ALU의 곱셈기 블럭(258)의 2개의 입력들 중 하나의 입력이다. 조건 캐리/빌림(KCB) 명령을 제어하도록 라인(250)을 통해 분할 MUX에 접속되고 조건 캐리 기입(KCY) 명령을 제어하도록 라인(382)를 통해 RF1 MUX1에 접속되며, 조건 지시 명령 XB, XR0(n), XR1(p), XINP(m), 및 XOUT(q)를 제어하도록 라인(406)을 통해 RF0 MUX(1)에 접속된다. 또한 WRM(234)는 RF0에 직접 기입될 수 있도록 RF0 MUX(2) 입력에 접속된다. 일반적으로, WRM(234)는 곱셈기(258)이 ALU(164)의 가산기/감산기에 직접 WRA의 값을 통과시키도록 1로 로드되어야 한다.
데이타 선택기(232)(n-1 곱셈기)는 표 13에 도시한 바와 같이 제어 라인(C20, C19, C18 및 C8)의 기능으로서 WRM(234)에 대한 데이타의 가능한 소스들 중 한개의 소스를 선택한다. 게다가, 라인(R, R2, L 및 L2)로부터 취해진 데이타는 선택된 인접(160)내의 4개 중 1개의 소스로부터 발생될 수 있다.
[표 13]
작동 레지스터 A(WRA)
가수/감수 레지스터 WRA(238)은 범용 작동 레지스터이고, 대부분 ALU(164)에 관계된 동작에 사용된다. WRA는 ALU(164)의 곱셈기 블럭(258)에 2개의 입력의 제2 입력(256)이고 정(+)항 인입 가산기/감산기 블럭(260)이다. WRA는 또한 C MUX(244)에 대한 입력이다.
데이타 선택기(236)(n-1 멀티플렉서)을 표 14에 도시한 바와 같이 제어 라인 (C17, C16, C15 및 C8)의 기능으로써 WRA(238)에 대한 데이타의 10개의 가능한 소스들 중 1개의 소스를 선택한다. 게다가 라인 R, R2, L 및 L2로부터 취해진 데이타 는 선택된 인접(160)내의 4개 중 1개의 소스로부터 발생될 수 있다.
[표 14]
작동 레지스터 B(WRB)
가수/감수 레지스터 WRB(242)는 범용 작동 레지스터이고, 대부분 ALU(164)에 관련된 동작에 사용된다. 감산 동작 중, WRB(242)는 WRA(238)로부터 항상 감산된다. WRB는 또한 L/R MUX(305)에 대한 입력이다.
데이타 선택기(240)(n-1 멀티플렉서)은 표 15에 도시한 바와 같이 제어 라인(C14, C13, C12 및 C8)의 기능으로써 WRB에 대한 데이타의 10개의 가능한 소스들중 1개의 소스를 선택한다. 게다가, 라인 R, R2, L 및 L2로부터 취해진 데이타는 선택된 인접(160)내의 4개 중 1개의 소스로부터 발생될 수 있다.
[표 15]
작동 레지스터 C(WRC)
캐리/빌림 레지스터(WRC ; 248)은 ALU(164)에 대한 캐리(또는 빌림) 입력이다. 다중-비트 가산기, WRC(248)은 비트들 사이의 이전의 가산으로부터 CY(264)를 유지하고, 다중-비트 감산시, WRC(248)은 BW 266 비트를 유지한다. WRC 출력은 A, B 및 M 레지스터 및 RF MUX1로 진행한다.
데이타 선택기(244)(n-1 멀티플렉서)는 표 16에 도시한 바와 같이 WRM(234)의 내용에 의해 제어 라인(C21, C11, C10 및 C9)의 기능으로써 WRC(248)에 대한 데이타의 9개의 가능한 소스들 중 1개의 소스를 선택한다. 즉, 이들 4개의 제어 라인의 소정의 조합에 의해, WRC(248)로 진행하는 데이타는 작동 레지스터 M(234)의 내용에 따라 변한다. 이것은 프로세서(102)를 보다 가변성있게 하는 소위 M-종속 명령을 형성한다. WRC(248)은 오퍼랜드 지정기 KCB(조건 캐리/빌림)을 포함하는 소정의 M-종속 명령을 실행한다.
[표 16]
근거리 통신(NEAR-NEIGHBOR COMMUNICATION) 및 전역(GLOBAL) 출력
근거리 통신 시스템은 4개의 가장 인접한 PE들 ; 바로 이웃의 PE(150)에 대해 2개는 좌측 및 2개는 우측 ; 의 직접 메모리 및 레지스터 판독/기입할 수 있도록 각각의 PE(150)에 제공될 수 있다. 또한, 동일한 회로가 전역 플래그(flag)(GO) 또는 전역 출력(178)을 생성하는데 사용될 수 있다. GO(178) 신호는 DOR(168)을 로드 및 클럭 아웃시키지 않고 SVP의 외측에 대한 내부 경우의 플래깅 하는 방법이다.
근거리 통신
제5도를 다시 참조하면, 각각의 PE는 4개의 인접 PE에 팬 아웃(fan out)되는소위 1개의 L/R(또는 좌/우) 출력(308)을 발생시킨다. 각각의 PE(150)또한 4개의 인접 PE들로부터 각각 1개의 신호인 4개의 L/R 신호를 입력시킨다. 이것들은 L2(312)(좌측으로의 제2 PE), L(310)(좌측에 대해 제1 PE), R(322)(우측에 대해 제1 PE), 및 R2(324)(우측에 대해 제2 PE)로 명명되었다. 제15도는 다수의 프로세서 소자들이 연속 형태로 교차되는 상호 접속 시스템을 도시한 것이다.
데이타 선택기(305)(4-1 멀티플렉서)는 제어 라인 C7 및 C6의 기능으로써 L/R 라인(308)에 대해 입력하도록 PE(n)내의 4개의 데이타 소스들 중 1개의 소스를 선택한다. 레지스터 파일 RFO(RAMO)(288) 또는 RF1(RAM1)(286)으로부터의 위치, 논리 ZERO(304), WRB(268)의 내용은 인접 프로세서 소자에 통신될 수 있다.
표 17에서 L/R에 대한 데이타 소스는 제어 라인의 기능으로서 리스트된다.
전역 출력
제18도 및 제19도를 참조하면, 전역 출력 신호(824)는 PE를 출력시키는 모든 1024 L/R 라인(178)의 논리 OR(852)와 등가이다. 즉, 프로세서 어레이(102)의 하나 이상의 PE(103)이 L/R 라인(178)의 논리 1 레벨을 출력하는 경우에, GO 신호(824)는 논리 1을 출력한다. GO 신호는 하이로 작동한다. 제19도는 PE(n)을 발생시키는 L/R 신호의 발생 및 전역 플래그 신호 GO(전역 출력)에 대한 관련을 도시하였다.
동일한 하드웨어를 할당하므로 GO 명령으로 동일한 어셈블리 라인에 근거리통신 명령을 사용할 때를 취해야 하므로, 이의 사용은 일반적으로 상호 배타적이 된다. 소정의 경우에, SVP 어셈블리는 발생할 수 있는 소정의 충돌을 플래그시킨다.
캐스캐이딩(CASCADING) SVP 칩
제20도에 도시한 칩 레벨에서, 근거리 통신 라인은 1024 비트 이상의 프로세싱 폭이 요구될 때 다중 SVPIL 캐스케이트될 수 있도록 외부로 이송된다. SVP(102)의 좌측은 L 및 2L 출력이고, L 및 2L 입력이 있다. 우측에는 R 및 2R 출력, 및 R 및 2R 입력이 있다. 상호 접속의 혼란을 피하기 위해, 이 핀들은 CC0L(792), CC1L(794), CC2L(796), CC3L(798), 및 CCOR(800), CC1R(802), CC2R(804), CC3R(806)으로 명명하므로 CCOL을 CCOR에 접속시키는 데만 필요하다.
제20도는 2개 이상의 SVP에 대한 캐스케이딩 상호 접속을 도시한 것이다. 극값에서 입력은 도면내의 대부분의 경우에서 접지되어야 하나, 이것은 특정 적용에 따라 변한다. SVP의 다른 방법의 상호 접속이 제21도에 도시되어 있다. 제21도의 상호 접속은 접속 둘레에 랩(Wrap)을 제공하므로써 비디오 프로세싱 시스템의 이미지가 실린더 둘레를 감싸게 한다. 이 라인들을 사용할 때, 대기 상태 싸이클은 SVP 칩들 사이의 충분한 전달 시간을 허용하도록 R/L/2R/2L 전송에 관련되는 명령에 의해 사용되어야 한다. 대기-상태 단일 명령용 내부 버스 타이밍도는 제24도에 도시되어 있다.
명령모드
SVP에는 단일, 2중, 대기 상태 단일, 및 아이들의 4가지 명령 모드가 있다. 단일, 2중 모드는 소정의 유효 어셈블리 명령 라인과 조합되어 동작하고, 대기 상태 모드는 인접 프로세서 소자의 좌우에 데이타를 통신시키는 명령에 의해 동작하며, 아이들 모드는 PE가 전력을 보존하도록 클럭되지 않는 모드이다.
모든 명령은 완전하도록 단지 1 클럭 싸이클을 요구하나, 클럭 싸이클의 주기는 싸이클이 형태에 따라 변한다. 그 싸이클 길이는 정상(normal) 및 확장(extended) 길이이다. 확장 싸이클의 길이는 정상 싸이클의 길이의 약 1.5 배이다. 확장 시간은 대기-상태 단일 명령의 대기 부분, 또는 2중 명령 중에 수행된 부가적인 ALU 동작을 허용한다. 아이들 명령은 전력을 더욱 감소시키기 위해서만 확장된다.
현재 싸이클에 대한 명령의 모드를 셋트하는 2개의 제어 비트가 있다. 4개의 모드는 제어 비트(C23 및 C22)의 기능으로서 표 18에 도시되었다.
[표 18]
어셈블리 중에, 생략은 단일 명령 모드이다. 적정한 단일 명령 쌍이 어셈블리순차시 나타날 때, 각각의 쌍은 어셈블러 지시에 의해 디스에이블되지 않는 경우, 1개의 2중 명령으로 자동적으로 대체된다. 2중 명령의 사용은 전체 실행 시간을 감소시킨다.
단일 명령 모드
단일 명령 모드는 4 모드 중의 가장 기본이다. READ-REGISTER -ALU-WRITE 순차는 단일 정상 클럭 싸이클에서 실행된다. 표 19는 단일 명령에 대한 OP-코드 구조를 나타낸 것이다.
[표 19]
여기서, {aaaaaaa}=RF1용 7 비트 어드레스 필드,
및 {bbbbbbb}=RF0용 7 비트 어드레스 필드,
및 {n nnn … nnn} OP-코드의 레지스터 제어 비트
대기 상태 단일 명령 모드
대기 상태 단일 명령 모드는 단일 명령 모드의 시간-확장 변화이다. READ-WAIT-REGISTER-ALU-WRITE 순차는 단일 확장 클럭 싸이클에서 실행된다. 부가된 '대기' 주기는 2개 이상의 SVP 디바이스가 캐스케이드 될 때 칩 경계를 횡단하는 신호의 전달 시간을 허용한다. 이 명령 모드는 일반적으로 SVP가 캐스케이드되지 않는 경우에 불필요하다.
SVP 어셈블리 지시는 이 모드가 라인-대-라인에 기초하여 인에이블되게 한다. 어셈블리는 소정의 근거리 통신을 사용하고 적정한 대기-상태 명령을 볼 수 있도록 명령을 실험한다. 4개의 어셈블리-시간 지시 즉, WAITL, WAITR, WAITB 및 WAITN이 있다.
WAITL-Mode=어셈블리 라인의 소정의 명령이 좌로부터 SVP를 인입하는,예를 들어 A=LRO(n), 또는 A=XRO(n), 다른 방법으로는 Mode=Single에 대한 기준으로 포함할 때, 대기.
WAITR-Mode=어셈블리 라인의 소정의 명령이 우로부터 SVP를 인입하는 데이타, 예를 들어 A=RRO(n), 또는 A=XRO(n), 다른 방법으로 Mode=Single에 대한 기준을 포함할 때, 대기.
WAITB-Mode=어셈블리 라인의 소정의 명령이 지시로부터 SVP를 인입하는 데이타, 예를 들어 RRO(n), 또는 A=LRO(n), 또는 A=XRO(n), 다른 방법으로 Mode=Single에 대한 기준을 포함할 때, 대기.
WAITN-Mode=데이타 지시 명령에 관계없이 단일. 이 지시는 이전에 발생된 소정의 WAITX 지시를 턴오프시키는데 사용된다.
표 20은 대기-상태 단일 명령에 대한 OP 코드 구조를 설명한 것이다.
[표 20]
여기서, {aaaaaaa}=RFI용 7 비트 어드레스 필드,
및 {bbbbbbb}=RF0용 7 비트 어드레스 필드,
및 {n nnn … nnn} OP-코드의 레지스터 제어 비트
2중 명령 모드
SVP 어셈블리 및 하드웨어는 단일 명령과 동일하지만 확장용 확장 싸이클을 요구하는 명령을 자동적으로 발생하고 실행할 수 있다. 이 능력으로부터 전체적인 장점이 발생된다. 이 확장 싸이클 중에, READ-REGISTER-ALU-REGISTER-ALU-WRITE 순차가 실행된다. 확장 시간에 부가적인 시간은 제2 ALU 및 레지스터 동작용으로 사용된다. 이것은 확장된 싸이클이 판독/기입 동작 중에 각각의 레지스터 파일에 대해 2-비트 캐시(cashe)로부터 작동하기 때문에 가능하다. SVP 어셈블리는 가능할 때마다 어떻게 단일 명령을 2중 명령으로 변환시키므로써 이 캐시들을 최적으로 사용하는 지를 결정한다. 이 동작은 각각 의 2개의 어셈블리, DRI 및 ERI에 의해 턴 온 및 턴 오프될 수 있다.
2중 명령은 2개의 순차 명령의 패턴이 표 21a, b와 같을 때 사용된다. 레지스터 파일 어드레스들은 판독 또는 기입되는 경우를 표시하는데 필요하다.
[표 21a]
[표 21b]
여기서,
xxxxxxx=무시
aaaaaa0=RF1용 7비트 어드레스, 제1명령
bbbbbb0=RF0용 7비트 어드레스, 제1명령
aaaaaa1=RF1용 7비트 어드레스, 제2명령
bbbbbb0=RF0용 7비트 어드레스, 제2명령
n nnn … nnn=22 비트 제어 OP-코드
어셈블리는 2중 명령으로 명령 형태의 4가지 형태를 선택적으로 어셈블하고, 각각의 OP 코드는 표 22와 같다.
여기서, 0000000=메모리가 사용되지 않을 때 어셈블리 파일 제로
aaaaaa0=RFI용 7비트 어드레스, 2중 명령
bbbbbb0=RFO용 7비트 어드레스 2중 명령
n nnn … nnn=22 비트 제어 OP 코드
아이들 명령 모드
아이들 명령은 우선적으로 절전을 목적으로 의도된 것이다. 이것은 수행된 소정의 시간에 PEs가 전류 데이타 패킷의 프로세싱을 완료하여 다음 패킷에서 대기한다. 아이들 명령이 지시될 때, 모든 회로의 병렬 프로세서들 장치는 독자적으로 제어되는 DIR 및 DOR을 제외하고 클럭된다.
WRs은 스태틱이므로 유지되나, RFs는 다이나믹이다. 유지되어야 하는 비트는 상술한 바와 같이 선택적으로 재생된다.
아이들 명령 중에 OP코드 필드의 나머지는 명령 레지스터내에 래치되지만 후속 논리 블럭들에 의해 무시된다. 이 때, 비트들(C21 내지 CO)은 프로세싱이 실행될때 내부 파이프라인이 정확하게 채워지는 것을 보장하기 위해 0으로 되어야 한다. 테이블 23은 아이들 명령에 대한 OP코드 구조를 상세히 나타낸 것이다.
[표 23]
여기서, (XXXXXXX)=RFI용 7비트 어드레스 필드는 무시된다.
및 (XXXXXXX)=RFO용 7 비트 어드레스 필드는 무시된다.
0 000 … 000=22 비트 제어는 아이들 중에 0이다.
외부 버스 동작
SVP 칩용 외부버스(130) 동작은 38 비트 마이크로코드 명령(24 제어, 14 어드레스)를 갖는 디바이스 및 적당한 셋업 및 유지 시간을 갖는 스트로브(PCK)를 제공하기 위해서만 필요한 바와 같이 간단하다. 데이타 입력(154) 및 데이타 출력(168) 레지스터들이 프로세서 어레이(105)과 비동기이기 때문에 몇몇 형태의 동기화는 DIR 또는 DOR로/부터 데이타를 전달하는 프로세서 어레이(105) 이전에 요구된다. 비디오 응용에 있어서, 이것은 수평 블랭킹 시간 중에 전달됨으로써 조절될 수 있다.
내부 버스 동작
외부 프로세서 클럭(PCK)의 상승 연부는 내부 버스(171)에 대한 타이밍을 발생시키는 일련의 내부 클럭들을 트리거시킨다. 제23도는 단일 명령 모드에 대한 SVP(102)의 내부 버스(171)상의 경우의 순차를 도시한 것이다.
SVP 어셈블리는 제공되는 2개의 단일 명령들로부터 이중 명령의 호출을 자동으로 발생시키는데, 이들은 어드레스 필드를 제외한 다른 것은 동일하다.
어셈블리에 의해 발생된 이중 명령은 대응하는 하드웨어 모드를 필요로 한다. 제23도는 이중 명령 싸이클의 경우의 순차를 도시한 것이다.
SVP(제20도 및 제21도)를 캐스케이딩할 때, 칩들 사이의 느린 전달 경로는 근접 통신을 사용할 때 특별 시간을 요한다. 느린 싸이클들은 대기-상태인 단일 싸이클을 갖고 있으므로써 조절된다. 이 싸이클은 단일 명령 싸이클의 동작을 수행하지만 제24도에 도시한 바와 같이 이중 명령 싸이클 시간을 필요로 한다.
아이들 싸이클은 PA(105)가 필요로 할 때까지 거의 대부분을 감소시킨다. 이것은 제25도에 도시하였다.
명령 규칙
SVP는 마이크로코드 레벨에서 프로그램된다. 이 마이크로코드의 서브 명령은 SVP 어셈블리 언어내의 명령 라인의 명령 부분을 만들기 위해 조합한다. 이부분은 어떻게 이 명령들이 구성되는지 및 어떻게 어셈블리가 모순을 검사하는 가를 설명한다.
* 명령 라인들을 형성하기 위한 규칙
- 오퍼랜드 데스티네이션/소스 명칭
- 서브 명령을 조합하기 위한 규칙
- OP코드 필드
* 명령 모순 마스크
명령 라인들은 형성하기 위한 규칙
SVP 어셈블리 소스는 다른 어셈블리의 구조와 유사하다 즉, 각각의 라인은 명령, 방향성 어셈블러, 주석, 또는 방향성 매크로(macro)를 내장한다. 그러나, SVP 어셈블리 라인은 한개의 명령을 내장하는 단일 라인 몇개의 서브 명령을 포함하는 것과 상이하다. 이 서브 명령들은 어셈블될 때 단일 OP코드를 발생시키기 위해 조합된다.
한 명령 라인은 1개 이상의 서브 명령의 + 임의 주석 필드인 임의 라벨로 이루어진다.
한 유효 명령은 서브 명령이 다른 명령과 서로 모순되지 않은 1개 이상의 서브 명령으로 이루어진다.
서브 명령은 3개의 부분, 즉, 데스티네이션 오퍼랜드, 할당 오퍼레이터(SVP어셈블리는 '=' 표시를 인식함), 및 소스 오퍼랜드 순으로 된 3개의 부분으로 이루어진다.
데스티네이션-오퍼 랜드 = 소스-오퍼 랜드
오퍼랜드 데스티네이션/소스 명칭
테이블(24)는 부속-명령 및 이 오퍼랜드들(10진수)의 유효 범위에 대한 적법 오퍼랜드 데스티네이션/소스 명칭을 기록한 것이다.
A, B, XB, C, M는 각종 레지스터들
SM, CY, KCY, BW, KCB는 출력들
RO(n), XRO(n), X2Ra(n) 레지스터 파일 어드레스 n, O=n=127
LRO(n), L2RO(n)
RRO(n), R2RO(n)
INP(m), XINP(m), X2INP(m) 데이타 입력 레지스터 비트, 0=m=39
LINP(m), L2INP(m)
RINP(m), R2INP(m)
R1(p), XR1(p), X2R1(p) 레지스터 파일 어드레스 p, 0=p=127
LR1(p), L2R1(p)
RR1(p), R2R1(p)
OUT(q), XOUT(q), X2OUT(q) 데이타 출력 레지스터 비트 0=q=23
LOUT(q), L20UT(q)
ROUT(q), R20UT(q)
AUX(h), AUXi(j)는 보조 레지스터 출력들 0=h=31
0=i=3
0=j=7
GO는 전역 출력 라인
여기서, K, X는 WRM의 상태를 기초로 하는 조건 명령을 나타내는데,
K는 조건 소스가 인접 ALU이라는 것을 나타내고,
X는 조건 소스가 이웃한 프로세서에 존재한다는 것을 나타낸다.
[표 24]
서브 명령들을 조합하기 위한 규칙
소스 오퍼랜드는 명령 라인내에 1회 이상 지정된다.
B = A, C = A는 적법
데스티네이션 오퍼랜드는 명령 라인내에 지정된다.
B = 4, C = B는 적법
C = A, C = B는 부적법
각각의 레지스터 파일은 어드레스가 각각의 서브 명령에서와 동일한 경우 소스 오퍼랜드와 같이 1회 이상 지정될 수 있다.
A = RO(13), B = RO(13)는 적법(동일한 어드레스)
A = RO(13), B = RO(100)는 부적법(동일한 RF, 상이한 어드레스)
A = RO(13), B = R1(100)는 적법(상이한 RF)
RFO, RF1, DIR 및 DOR 중 1개만이 어셈블리 라인내의 데스티네이션 오퍼랜드와 같이 지정될 수 있다.
C = BW, RO(10) = SM는 적법(단일 메모리 기입)
RO(13) = 4, R1(13) = B는 부적법(2개인 메모리 뱅크에 동시에 기입)
만약 R0, R1, INP, 또는 OUT이 소스 오퍼랜드 및 데스티네이션 오퍼랜드와 같이 지점된 경우 소스 및 데스티네이션 어드레스는 동일해야 한다.
B = RO(22), RO(22) = SM는 적법(판독/수정/기입)
C = RO(22), R1(123) = C는 적법(상이한 RF)
C = RO(22), R0(123) = C는 부적법(동일한 RF, 상이한 어드레스)
B = R1(25), INP(10) = SM는 접법(상이한 RF's)
B = RO(25), INP(10) = SM는 부적법
[RO 및 INP는 통상적으로 레지스터 파일 RO 및 R1에 대한 상기 시도된 소정의 규칙이 'n' 및 'p'의 어드레스 범위가 0 내지 128이고 'm'이 0 내지 39이고,'q'가 0 내지 23인 것을 제외한 INP(DIR) 및 OUT(DOR)에 응용된다.
즉, 명령이 B=RO(10), RO(10) = SM는 적법
그다음 B=INP(10), INP(10)=SM는 또한 적법이기 때문에 동일한 RF내에 있다]
제26도는 프로세서 소자(150)의 별도의 실시예를 도시한 것이다. 제26도의 도시된 프로세서 소자(151)은 프로세서 소자당 4개의 감지 증폭기를 포함하는데 2개는 DIR/RFO 기입 및 판독 동작용이고, 2개는 DOR/RF1 기입 및 판독 동작용이다. 제26도의 실시예에 있어서, 레지스터 파일 0 및 레지스터 파일 1은 각각의 메모리 싸이클내의 데이타의 2개의 비트를 각각 판독한다(싸이클당 총 4개의 비트). 4개의 데이타 비트들 중 단지 2개의 비트만이 단일 싸이클 동작 모드 중에 사용된다. 이 판독 동작들의 낭비를 방지하기 위해 4개의 비트들은 2개의 2-비트 캐시 메모리 뱅크를 형성하는 방식으로 프로세스된다. 이 포멧에 있어서, 이외의 다른 사용되지 않은 감지된 데이타가 사용되고 싸이클 시간의 감소가 획득된다.
데이타 및 데이타의 판독을 보상하기 위해, 반전된 어드레스 신호(1685 및 1660)은 각각 판독/기입 제어 회로에 제공된다. 별도로, 입력 데이타 라인은 모든 다른 반전된 신호를 갖는다. 이 실시예에서, 모든 다른 데이타 출력 라인은 또한 반전된다.
제27a도는 프로세서 소자내의 각각의 레지스터 파일로부터 데이타를 판독하고 레지스터파일 메모리 뱅크들 중 1개의 뱅크에 기입하기 위한 단일 싸이클 동작을 도시한 것이다. 제27b도는 이중 명령 싸이클이 어떻게 연속적인 어드레스를 갖는 1개의 싸이클 내에 2회 발생하기 위한 판독을 허용하는가를 도시한 것이다. 그러나, 완료하기 위한 2배의 전체 싸이클을 요하는 대신에, 단지 약 1.5배의 싸이클을 요한다.
이것은 다음 예에 의해 제28도에 도시된다. 4-비트. 수 X3X2X1X0및Y13Y12Y11Y10의 가산을 고려한다. 이 합은 X를 대체시킨 5-비트 수 X4X3X2X1X0이다. X4는 이전의 캐리와 2MSBs(X3및 Y13)의 합으로부터 얻어진다 이것은 음의 수를 커버하기 위해 필요하다. 초기적으로 여기에는 캐리가 존재하지 않는다. 이러한 가산에 대한 명령 셋트는 표 25에 발취하여 나타낸다.
[표 25]
비트 X0와 X10의 가산을 수행하기 위한 제1 명령의 수행에 있어서, 감지 증폭기는 어드레스된 위치 RFO(O) 및 RF1(O)내에 저장된 데이타를 판독한다. 이 어드레 스 위치는 DRAM 열의 짝수 비트라인 위치를 표시할 수 있다 후속의 명령 셋트는 어레이내의 다른 비트라인인 각각의 어드레스 위치[RFO(1) 및 RF1(11)]로부터 비트 (X1 및 Y11)을 판독한다. 이들은 각각의 감지 증폭기에 대한 짝수 비트라인에 다음의 홀수 비트라인을 표시할 수 있다. 이것은 가산이 완료될 때까지 반복된다.
표 25의 명령 셋트를 다시 참조하면, 명령 라인들(2, 3 및 4)이 저장된 데이타의 상이한 어드레스 위치를 제외하고 동일하다는 것을 알 수 있다. 상술한 바와 같이, 판독 순차가 짝수(even) 비트라인 상에서 개시될 경우, 데이타가 연속적인 짝수-홀 수, 짝수-홀수(odd) 블럭들로부터 일정하게 판독된다는 것을 알 수 있다. 그러므로, 데이타의 짝수 판독 다음의 명령이 동일한 경우, 동일하지 않는 경우는 쓸모없게 되 는 이전의 판독 데이타를 사용할 수 있다. 상기 예에서 응용된 바와 같이, 명령(1 및 2)는 이중 명령(DI)로 변화할 수 있다. 이중 명령에 대한 어드레스 규칙 중 규칙이 일치할지라도(짝수 위치로부터 판독되는 어드레스된 레지스터들이 홀수 어드레스된 위치 다음에 이어질지라도) 이 명령은 동일하지 않다 명령 1이 0과 동일한 캐리(CY)를 나타내는 것이고 명령 2는 'c' 레지스터를 경유하여 전방향으로 전달된 캐리와 동일한 CY를 나타내는 것을 주지해야 한다. 명령(3 및 4)를 시험하면, 이 명령들은 이중 명령을 형성하기 위해 조합될 수 있다는 것을 좀더 신속하게 알 수 있다. 짝수 어드레스 판독이 홀수 어드레스 판독 다음에 이어지고 명령 모두가(어드레스 위치를 제외하고) 동일하다는 것을 주지해야 한다. 최종 비트를 계산하기 위한 명령 번호(5)는 단지 정지이고, 여기에는 조합하기 위한 명령이 존재하지 않은 것같이 조합될 수 없다. 표 25는 상기 단순한 예로서 명령들의 조합으로 인해 싸이클 시간내에 저장하는 것을 도시한 것이다. 상기 예에서 싸이클 시간은 5 내지 4.5 싸이 클에서 감소된다.
이중 명령 개념에 따르면, 2개 이상의 감지 증폭기는 각각의 레지스터 셋트에 사용될 수 있다. 예를 들어, 3개 또는 4개(각기 프로세서 소자당 총 6 및 8개의 감지 증폭기)가 사용된 경우, 싸이클 시간내의 다른 감소에 대한 3 중 내치 4중 압축이 수행될 수 있다.
OP코드 필드
OP코드의 제어 부분은 8개의 8진수로 이루어진다. 각각의 이 디지트들은 제5도의 회로 블럭중 한 블럭에 대응하므로 OP코드 포멧을 갖는 작은 관련성은 사용자가 직접 OP코드를 판독할 수 있게 한다. 테이블(26)은 블럭에 대응하는 비트를 나타낸 것이다. 'CIC'는 조건 명 령 제어이다.
[표 26]
여기서
CIC=조건 명령 제어
WRM=작동 레지스터 'M'
WRA=작동 레지스터 'A'
WRB=작동 레지스터 'B'
WRC=작동 레지스터 'C'
NNC=근거리 제어
RF1=레지스터 파일 1 및 데이타 출력 레지스터 제어
RF0=레지스터 파일 0 및 데이타 입력 레지스터 제어
[표 26]
제29도에 있어서 제어기(128)은 SVP( 102) 및 소프트웨어 프로그램 개발 및 TV 동작 호환 시스템(900)에 접속된다. 개발 시스템(900)은 호스트 컴퓨터 시스템(912), 호스트 컴퓨터 인터페이스(914), 패턴 발생기(916) 및 데이타 선택기(918)을 포함한다.
호스트 컴퓨터 시스템(912)는 개발 시스템(900)에 따라 다양한 형태를 취할 수 있다. 이러한 형태는 퍼스널 컴퓨터, 원격 제어 유닛, 문맥 편집기 또는 제어 알고리즘을 개발하기 위한 다른 이외의 수단을 포함한다. 호스트 컴퓨터 인터페이스 논리(914)는 텔레비젼 셋트의 주요 마이크로-제어기를 에뮬레이트하기 위한 회로를 포함한다. 개발 시스템(900)에 있어서, 호스트 컴퓨터 인터페이스 논리(914)는 호스트
컴퓨터 시스템(912) 및 국부 통신 버스(930)에서 패턴 발생기(916)과 함께 작동한다. 패턴 발생기(916)은 대수학적 정확성 측면에서 프로그램 알고리즘을 검사하기 위해 타이밍 및 다른 패턴들을 발생시킨다. 패턴 발생기(916)은 또한 SVP 알고리즘 및 하드웨어 디버깅(debugging)에 대한 실시간 검사 비디오 데이타를 제공한다. 데이타 패턴 프로그래머(또는 선택기)(918)은 40개의 입력 라인(920) 또는 데이타 패턴 발생기(916)에 의해 발생된 데이타 패턴으로부터 SVP로 입력하기 위한 데이타를 선택하도록 사용된다. 도시된 바와 같이 데이타 선택기(918)은 40개의 데이타 입력 라인(920)과 40개의 SVP 입력 핀(118) 사이에 직렬로 삽입된다. 개발 시스템(900)에 있어서, 포획(또는 필드) 메모리(121)은 24개중 8개의 출력 라인(170)으로부터 프로세스된 데이타를 포획하도록 제공된다. 요구된 24개중 8개의 출력 라인은 3--110진 멀티플렉서(171)에 의해 선택된다. 이 방법에 있어서, 필드의 프로세스된 비디오 데이타는 포획(또는 저장)될 수 있어 SVP의 동작의 실시간 분석에 대한 호스트 인터페이스(914) 및/또는 호스트 컴퓨터 시스템(912)에 다시 제공된다.
호스트 컴퓨터 인터페이스 논리(914)와 호스트 컴퓨터(912) 사이의 하드웨어 인터페이스(922)는 개발 시스템(900)내에서 종래의 병렬 인터페이스 접속에 의해 달성된다. 별도의 실시 예에서, 종래의 EIA RS-232C 케이블은 인터페이스 속도가 일차적인 관점이 아닐 때 사용될 수 있다. PHILLIPS ELECTRONICS CORPORATTION에 의해 제조된 IIC 버스는 호스트 컴퓨터 인터페이스 논리(914)와 제어기(128) 사이에 인터페이스 라인(930)으로서 사용될 수 있다.
비디오 신호 프로세싱 응용에 있어서, 제어기(128)은 제1도의 라인(110) 상에 유입되는 텔레비젼 신호의 수직 동기화 성분과 수평 동기화 성분에 의해 동기화된다.
제30도는 텔레비젼 마이크로-제어기(1700)을 도시한 것이다. 마이크로-제어기(1700)은 초기화(시스템 파워-업)상의 내부 텔레비젼 회로를 프리셋트한다. 마이크로-제어기(1700)은 퍼스널 컴퓨터 키 패드(1702)로부터와 같이 외부 신호들을 수신하고, 원격 제어 유닛(1704) 또는 비디오 신호 디코더(1712)은 이들을 디코드하여 다른 텔레비젼 시스템 부품들로 제어 신호들을 전송한다. 이러한 시스템 부품들은 제어기(128), SVP 프로세서 디바이스(102), 오디오 프로세싱 회로, UHF 및 VHF 튜너들 등을 포함한다. 예를 들어, 이 외부 제어 신호들은 콘트라스트, 휘도, 및 색조를 포함한다. 비디오 신호 디코더(1712)는 서브타이틀 및 제2 랭귀지 신호들과 같은 신호들을 수신하여 디코드한다.
제29도를 다시 참조하면, 제어기(128)은 마스터 제어기(902), 수직 타이밍 발생기(904), 수평 타이밍 발생기(906), 상수 발생기(908) 및 명령 발생기(910)을 포함한다. 동작시에 제어기(128)은 라인(946)을 경유하는 동작 상수들, 라인(948)을 경유하는 제어 명령들 및 라인(950)을 경유하는 타아밍 신호들을 갖는 SVP 프로세서 디바이스(102)를 제공한다. 수평 타이밍 발생기(906)으로부터의 외부 제어 라인(938), 수직 타이밍 발생기(904)로부터 라인(952), 및 마스터 제어기(902)로부터의 라인(934)는, 다른 개발 시스템 부품들로 타이밍 및 제어 신호들을 제공한다. 제20도 및 제21도에 관련하여 설명한 바와 같이, 몇몇 SVP 프로세서 디바이스들은 서로 캐스케이드될 수 있다. 이러한 부품들은 특별 용도의 멀티플렉서들 및 외부 필드 메모리를 포함한다.
제31도는 개발 시스템(900)으로 분리된 제31도의 제어기 구조물(128)을 도시한 것이다. 제31도는 이것이 존재할 수 있는 바와 같이 분리 집적 회로와 같은 제어기(128)을 도시한 것이다. 이 실시예에서, 외부 제어 라인(934, 938 및 952)는 제공되지 않는다. 마스터 제어기(902)(MC)는 호스트 컴퓨터 인터페이스 논리(914) 또는 TV 시스템 마이크로-제어기(170)에 의해 번역될 때 사용자로부터 외부 명령들을 번역하여 수직 타이밍 발생기(904), 수평 타이밍 발생기(906), 명령 발생기(910), 특수 형태의 멀티플렉서(도시안됨) 및 모든 필드 또는 프레임을 1회 스위칭을 필요로 하는 다른 요구된 외부 논리에 일련의 제어 코드를 발생시킨다. 마스터 제어기(902)는 사용자가 다운로드 소프트웨어로 인에이블하는 외부로 프로그램가능한 메모리를 포함한다. 그러나, 양호하게도 마스터 제어기 논리 및 프로그램은 펌웨어(firmware)내의 칩상에 설치된다.
마스터 제어기(902)로부터의 데이타 출력은 각각 수직 타이밍 발생기(904) 및 수직 타이밍 발생기(906)에 대해 라인(932 및 936) 상에 제공된다. 수직 타이밍 발생기(904)는 라인(944, 940 및 942)을 경유하여 각각 수평 타이밍 발생기(906), 상수 발생기(908) 및 명령 발생기(910)에 제어 신호를 제공된다. 수평 타이밍 발생기(906)로부터의 타이밍 신호 출력들은 라인(950)을 경유하여 프로세서(102)에 제공된다. 유사하게, 상수 발생기(908)는 동작 상수를 제공하고 명령 발생기(910)는 각각 라인(946 및 948)을 경유하여 프로세서(102)에 제어 명령들을 제공한다.
간단하게, 전체 동작에 있어서, 마스터 제어기(902)는 필드 또는 프레임 비율에의해 비디오 신호 프로세싱을 제어하고, 수직 타이밍 발생기(904)은 라인 비율에 의해 수직 방향 동작을 제어한다. 수평 타이밍 발생기(906)은 화소 비율에 의해 수평 방향 동작을 제어한다. 제어 명령들은 TV 시스템 제어기(1700)로부터 단일 2-와이어 동기 직렬 버스(930)위의 마스터 제어기(902)로 통과된다. (화상-내의-화상, 다중-스크린 화상, 다른 화상, 및 다른 것들과 같은 상이한 특수 형태를 필요로 하는 동작 모드 모두 및 제52도의 보조 레지스터들의 내용(1196)에서, 보조 레지스터(1196)은 이후에 상세히 기술하겠다. 그러나 이들은 명령 버스(930)을 경유하여 선명도(sharpness)등과 같은 SVP 프로세서 디바이스 변수들을 통과시킨다. 마스터 제어기(920)는 조건 및 벡터 점프들을 포함하는 다양한 명령을 갖는 펌웨어 프로그램 가능한 상태-기계이다.
제32도에서, 마스터 제어기(902)는 또한 상세히 설명된다. 제32도의 마스터 제어기 실시예는 직렬 데이타 입력(930a) 및 직렬 클럭 입력(930b)을 갖고 있는 비동기-동기 변환 논리 색션(958)을 포함한다. 마이크로 제어기(1700)로부터 마스터 제어기(902)로의 데이타 전달은 직렬 데이타 입력(930)을 통하는 직렬 통신 방법에 의한 것이다. 양호한 실시예에 있어서, 직렬 데이타의 포맷은 대단히 큰 비트 제1을 갖는 10-비트 워드이다.
상술한 바와 같이, 마이크로 제어기(1700)으로부터의 직렬 클럭 및 직렬 데이타 출력은 데이타 라인(930a 및 930b)를 경유하여 마스터 제어기(902)에 제공된다 비동기-동기 변환 논리(958)은 라인(930)상에 입력되는 직렬 신호를 수신하여 직렬 포맷으로부터 병렬 포멧으로 이들을 변환한다. 비동기-동기 변환 논리(958)은 이 임무를 달성하기 위한 레지스터들을 포함한다. 병렬 포맷으로 배치된 경우 이 데이타는 레지스터에 보유되어 필요한 시간에 데이타 라인(960 또는 1198) 상에 제공된다. 논리(958)로부터 10개의 데이타 비트 중 8개의 비트는 8-비트 레지스터(962)내에 병렬로 으로드된다. 상부 4개의 비트들은 데이타 라인(964)를 경유하여 멀티플렉서(968)로 전달되고, 저부 4개의 비트들은 데이타 라인(966)을 경유하여 유사하게 전달된다. 또한, 멀티플렉서(968)은 라인(970 및 972)상에 입력되는 외부 플래그를 수신한다. 비동기-동기 변환 논리(958)은 또한 라인(957)상에 1-비트 플래그 출력을 제공한다.
동작시, 라인(964)로부터의 4개의 비트들은 제어 명령 또는 제어기(128)에 대한 동작 모드 [화상-내의-화상(PIP)]등을 나타낸다. PIP 모드가 표시된 경우, 데이타 라인(966)상으로 전달된 4개의 비트들은 부화상(subpicture)을 배치하기 위해 텔레비젼 스크린 상에 점을 나타낸다. 4개의 라인에 있어서, 16개의 가능한 위치들 중 한 위치가 나타낼 수 있다. 외부 플래그(970 및 972)는 2개 이상의 SVP이 캐스케이드 될 때, 또는 이들이 존재 할뿐만 아니라 소프트웨어 프로그램 제어기(128)내의 명령이 새로운 신호의 수행을 개시한다는 것을 나타내는 경우에 SVP와 부수적인 하드 웨어들 사이의 비동기 동작의 동기화를 가능하게 한다.
멀티플렉서 출력(974)는 마스크 인에이블 논리(976)에 제공된다. 논리(976)은 레지스터(962)로부터 데이타 비트들 상의 검사를 수행한다. 라인(982)상 마스크 인에이블 논리 출력은 마스터 제어기 어드레스 카운터(984)가 순차에 따라 어드레싱을 계속할 것인지 점프를 수행할 것인지를 제어한다. 또한, 멀티플렉서(968)의 출력은 라인(978)을 경유하여 멀티플렉서(980)에 입력으로서 제공된다. 멀티플렉서(980)은 마스터 제어기 어드레스 프로그램 카운터(984)에 입력을 제공하는 9개의 데이타 출력 라인(986)을 갖는다. 마스터 제어기 어드레스 카운터(984)로부터 라인(988)상의 어드레스는 마스터 제어기 프로그램 메모리(990)내의 메모리 위치를 어드레스한다. 이 어드레스 신호는 또한 서브루틴 호출 동작용 라인(992)를 경유하여 복귀 레지스터(994)에 제공된다. 레지스터(994)의 출력은 라인(996)을 경유하여 멀티플렉서(980)에 또 다른 입력으로서 제공된다.
마스터 제어기 프로그램 메모리(990)은 14개의 출력 라인(998)을 갖는다 이 마이크로코드 출력은 수직 타이밍 발생기(904) 및 수평 타이밍 발생기(906)에 대한 어드레스 및 동작 모드를 포함한다. 이 신호들은 라인(936 및 932)를 경유하여 HTG 및 VTG에 제공된다. 라인(998)상의 몇몇의 마이크로 코드 출력 비트들은 동작 제어 신호들을 라인(1004)를 경유하여 멀티플렉서(980) 및 마스터 제어기 프로그램 어드레스 카운터(984)에 순서에 따라 제공하는 명령 디코더(1002)에 제공되어 이것에 의해 디코드된다. 부수적으로 라인(998)로부터의 마이크로코드 출력 비트들은 라인(1008)을 경유하여 멀티플렉서(980)에 또다른 입력으로서 제공되고 멀티플렉서(968)에 대한 제어로서 제공된다.
마스터 제어기(902)는 또한 보조 레지스터 제어 논리(1012)를 포함한다. 비동기-동기 변환 논리(958)로부터의 9개의 신호 라인(1198)은 입력 신호로서 보조 레지스터 제어 논리(1012)에 접속된다. 보조 레지스터들의 동작은 제40도와 관련하여 후술하겠다.
이제, 제33도를 참조하면, 제31도의 수직 타이밍 발생기(904)가 보다 상세히 기술되었다. 수직 타이밍 발생기(VTG)(904)는 수평 타이밍 발생기(906), 상수 발생기(908), 및 명령 발생기(910) 각각에 대한 출력(944, 940 및 940)상에 제어 코드들을 발생시킨다. 개발 시스템(900)에 있어서, 상수 발생기(908)은 또한 외부 제어 라인(952)를 경유하여 1개의 수평 라인의 리솔루션을 필요로 하는 회로에 타이밍을 제공한다. 수직 타이밍 발생기(904)는 수직 순차 카운터(VSC)(1020)을 포함한다. 수직 순차 카운터(1020)은 상승 카운터이다. 카운터(1020)은 마스터 제어기(902)로부터 라인(932)를 경유하여 제어 모드 신호를 수신한다. 이 모드 신호는 다른 것들 중에서, 예를 들어, 화상-화상 동작이 필요한지의 여부를 표시한다. 이 모드 신호는 필수적으로 수직 순차 카운터(1020)에 대한 개시 어드레스이다. VSC(1020)은 수직 순차 메모리(1024)에 대한 어드레스를 제공한다. 수직 순차 메모리(1024)는 수평 타이밍 발생기(906), 명령 발생기(910), 명령 발생기(910) 및 상수 발생기(908)의 초기화 및 동기화 동작에 대한 타이밍 및 다른 신호들을 저장한다. 수직 순차 메모리(1024)내에 저장된 정보 순차들은 전형적인 동작 중에 반복된다. 정보 순차를 저장하기 위한 부수적인 메모리(1024)는 시간의 수를 제공하고 저장된 순차는 반복된다. 순차 메모리(1024)는 랜덤 억세스 메모리(RAM), 판독 전용 메모리(ROM) 또는 프로그램 가능한 논리 어레이(PLA)의 다른 형태를 포함할 수 있다.
반복 횟수는 라인(1026)을 경유하여 반복 카운터(1028)에 제공된다. 반복 카운터(1028)은 반복 순차 회수로부터 하강을 계수하는 하강 카운터이다. 반복 비트의 단부는 카운터(1028)에 의해 수행될 때, 제어 신호는 제어라인(1032)를 경유하여 카운터 제어 논리(1034)에 제공된다. 카운터 제어 논리(1034)은 라인(1036)상의 신호를 다음 어드레스 위치에 진행시키기 위해 신호 수직 순차 카운터(1020)에 제공한다. 다른 신호는 라인(1040)을 경유하여 증가 수직 루프 카운터(1030)에 제공된다. 카운터 제어 논리(1034)의 초기화는 유입 텔레비젼 신호의 수직 및 수평 동기화 신호에 의해 제어된다. 이 동기화 신호들은 라인(1038)을 경유하여 제공된다.
수직 순차 메모리(1024)를 다시 참조하면, 라인(1026)상의 신호의 제어 성분은 요구된 위치에서 루프 카운터를 개시하기 위해 수직 루프 카운터(1036)에 제공된다. 라인(1042)상에 제공된 수직 루프 카운터 출력은 수직 루프 메모리(1044)내의 메모리 위치들을 어드레스한다. 메모리(1044)는 또한 RAM, ROM 또는 PLA일 수 있다. 메모리(1044)는 루프 패턴(프로그램들)을 저장하여 HTG VTG 및 명령 발생기(IG)에 대한 어드레스들 및 라벨들을 개시한다. 수직 루프 메모리(1044)로부터의 제어 데이타 비트들은 루핑 순차가 완료되었다는 것을 나타내고 증가시키기 위해 반복 카운터(1028)에 제공된다 비트들은 또한 레지스터 로드 순차기(1054)에 제공된다. 레지스터 로드 순차기(1054)는 래치(1048, 1050 또는 1052)를 제어하기 위해 디코드된 클럭을 포함한다. 레지스터 으로드 순차기(1054)는 또한 수직 루프 카운터(1044)를 증가시키기 위한 증가 신호를 제공한다. 데이타는 수직 라인 시간마다 최대 비율에서 래치(1048, 1050 및 1052)들로부터 클럭된다.
동작시에 수직 루프 카운터(1030)은 수직 타이밍 발생기 모드 래치(1048), 상수 발생기 모드 래치(1050), 명령 발생기 모드 래치(1052), 레지스터 으로드 순차기(1054) 및 반복 카운터(1028)에 의해 래치되는 모드 제어 신호들을 순차적으로 팬 아웃하는 수직 루프 메모리(1044)에 출력 신호를 제공한다. 레지스터 로드 순차기(1054)는 수직 루프 카운터(1030) 및 래치들(1048, 1050 및 1052)에 출력을 제공한다. 각각의 모드 래치들은 수평 타이밍, 상수 발생기 및 트리거될 때 출력라인(944, 940 및 942) 상의 명령 발생기에 각각의 신호를 제공한다.
수직 타이밍 발생기(904)이 기능은 또한 상이한 모드로 수직 타이밍을 변화시키는 기능, 줌(Zoom)내의 또는 상이한 필터 알고리즘을 갖는 프로세스 텔레비젼 신호들로 동작 명령들을 변화시키는 기능 및 외부 멀티플렉서들을 변화시키는 기능을 포함한다. 이 리스트는 간단히 도시되었고 여러 기능들의 소모성은 고려한 것은 아니다.
이제 제34도를 참조하면, 여기에는 제31도의 수평 타이밍 발생기(906)을 보다 상세히 도시하였다. 수직 타이밍 발생기(904)로부터의 7개의 출력 라인들 중 5개의 라인은 수평 순차 카운터(HSC)(1062)에 제공된다 7개중 다른 2개는 멀티플렉서(1074)에 입력으로서 제공되고, 멀티플렉서(1074)에 대한 또다른 2개의 입력 라인들(936)은 제31도의 마스터 제어기(902)로부터 모드 제어 신호이다. 제30도의 텔레비젼 시스템 제어기(1700)로부터의 제어 신호는 입력들 사이의 선택을 제어한다. 16개의 화상 화상-화상과 같은 소정의 텔레비젼 동작 모드들에 있어서, 수직 타이밍 발생기내의 소정의 패턴들은 수평 타이밍 발생기내의 패턴들이 변화될지라도 변화되지 않는다. 이 경우 멀티플렉서(1074)는 수평 타이밍 발생기에 대해 직접 수평 타아밍 발생기를 둘러싸는 2개의 VTG 제어 비트들을 바이패스하도록 사용된다. 따라서, 7개의 HTG 제어 비트들은 VTG로부터 모두 유입되거나 각각의 비트들은 마스터 제어기로부터 나머지 2개를 갖는 VTG로부터 유입될 수 있다. 멀티플렉서(1074)의 출력은 래치(1078)에 의해 래치되고 래치(1078)은 텔레비젼 시스템의 마스터 클럭에 의해 클럭된다.
라인(944)상의 VTG 모드 신호 입력은 수평 순차 카운터(1062)에 대한 개시 위치이다. 카운터(1062)의 카운터 개시 위치 출력은 수평 순차 메모리(1066)내의 메모리 위치를 어드레스하기 위해 래치(1078)로부터 2개의 비트와 조합된다. 최대 128개의 상이한 패턴의 7-비트 VTG 모드 입력은 일치한다. 각각의- 패턴은 23 비트폭 ‥‥ 버스 라인폭(960)이다. 수평 순차 메모리(1066)은 요구된 루프(또는 패턴)이 텔레비젼 스크린상에 발생될 때 나타나는 정보를 저장한다. 예를 들어, 여기에 16개의 가능한 부화상 위치가 존재한다면, 타이밍 초기는 부화상의 위치의 배치에 따라 변한다. 반복 카운터 값은 라인(1084)를 경유하여 반복 카운터(1088)에 제공된다. 카운터(1088)은 루프가 반복되는 시간의 횟수를 계수하는 상승 카운터이다. 요구된 횟수의 반복이 발생될 때, 카운터 제어 논리(1092)는 순차적으로 수평 순차 카운터(1062)를 카운터 제어 논리(1092)는 라인(1094) 상에 제공된 텔레비젼 신호의 수평 신호에 의해 초기화된다.
제29도의 호스트 인터페이스(914)는 모든 기능 블럭들과 판독 및 기입 회로에 중단 점 요구(break point request; BPREQ) 또는 인터럽트 플래그를 제공할 수 있다. 중단 점 신호들을 사용하면, 프로그래머는, 예를 들어, 알고리즘, 타이밍 등을 시험하기 위해 소정의 수평 라인에서 프로그램 수행을 정지시킬 수 있다.
HSM(1066)으로부터의 메모리 출력의 성분은 수평 루프 카운터(1086)에 대한 개시 위치를 제공한다. 제어 신호는 라인(1100)을 경유하여 HSM(1086)의 제어 동작에 제공된다. 수평 루프 카운터(1086)은 수평 루프 메모리(1104)에 어드레스를 제공한다. 루프 메모리(1104)는 반복된 패턴이 동일하다는 것을 나타내는 데이타를 보유한다. 메모리(1104)로부터의 24개의 출력 비트들 중 1개의 비트는 루프의 단부가 발생되는 신호를 나타내기 위해 라인(1108)상에 제공된다. 나머지 23개의 비트들은 SVP(102)에 대한 입력으로 래치(1110)내에 래치된다.
동작시, 수평 타이밍 발생기(HTG)(906)은 화소 클럭 비율, 필드 메모리 디바이스, DIR, DOR, 외부 멀티플렉서, D/A 변환기들 등에서 SVP 회로 요구 타이밍 연부에 대해 타이밍 신호들을 발생시킨다. 1개의 샘플 클럭의 리솔루션이 타이밍 연부하강을 발생시킬 수 있다. 수평 타이밍 발생기는 또한 이 타이밍이 수평 방향으로 동일하다는 것을 나타낸다. 특수 효과가 필요한 경우, 수평 타이밍은 화상 내의 화상, 다중 화상, 줌 등이 필요한지의 여부에 따라 변환된다. 이 모드에 있어서, 수평 타이밍은 타이밍의 조작을 허용하기 위해 특정 수평 라인에서 변경될 수 있다.
제35도는 제31도의 상수 발생기(908)의 블럭도를 도시한 것이다. 5개의 수평 타이밍 발생기 모드 비트들은 상수 순차 카운터(1116)에 제공된다 5개의 비트는 32개의 상이한 상수 문자열 이상을 일치시킬 수 있다. 각각의 상수 문자열은 15-비트를‥‥ 출력 버스 폭(946) 이상을 갖는다. 라인(1118)상의 CSC 출력은 루프 어드레스 값 및 상수 순차 메모리(1120)에 저장된 대응하는 반복 값을 어드레스한다. 카운터(1126) 은 그것의 루프의 비트의 단부에 도달할 때까지 증가하는 표시 위치에서 개시한다. 0 내지 31의 범위를 갖는 반복 값은 반복 카운터(1128), 하강 카운터에 제공된다. 반복 카운터가 0으로 감소될 때 라인(1130)상의 신호는 상수 순차 카운터(1116)을 증가하기 위해 카운터 제어 논리(1132)를 신호한다. 카운터 제어 논리는 또한 루프 신호의 단부에 이를 때까지 루프 카운터(1126)을 증가시킨다. 상수루프 카운터(1126)은 상수 루프 메모리(1142)에 대한 개시 메모리 위치를 나타낸다. 상수 루프 메모리(1142)로부터의 16개의 출력 비트들중 1개의 비트는 증가 반복 카운터 1128에 루프의 신호를 제공한다.
루프 메모리(1142)는 각각의 프로세서 소자들에 대한 균일한 동작 상수를 저장한다. 이러한 데이타는 모의된 필터들에 대한 값을 포함한다. CG(908)은 발생된 데이타를 데이타 입력 레지스터들 내에 클럭하기 위해 HTG와 동기적으로 가동된다. 순차적으로, IG 내의 상수 프로그램은 프로세서 레지스터 파일들내로 이 상수들을 이송한다. 상수 발생기는 샘플 클럭 주기의 리솔루션을 갖는 데이타 스트림을 발생시킬 수 있다.
제36도는 제31도의 명령 발생기(910)을 보다 상세히 도시한 것이다. 명령 발생기(910)은 수평 동기화 신호(1218), 수직 타이밍 발생기(904)로부터의 모드 제어 신호(942), 및 플래그 신호들(1222)를 수신하는 점프 플래그 임의 제어 논리(1224)를 포함한다. 점프 플래그 임의 논리(1224)는 명령 프로그램 레지스터 멀티플렉서(IPRX)(1230)의 입력(1226)에 11개의 벡터 점프 어드레스 비트들중 5개의 비트들을 제공한다. 라인(1226)상의 5개의 비트들을 11개의 총합의 최소 상당량이다. 점프 플래그 임의 논리(1224)는 또한 명령 디코더(1234)에 점프 신호(1228)을 제공한다. 명령 디코더(1234)는 다중 출력 신호들을 제공한다. 라인(1236)은 점프 플래그 임의 논리(1224)의 입력으로 다시 출력 신호들중 1개의 신호를 이송한다. 라인(1238)은 IPRX(1230)로 4-비트 디코드된 멀티플렉서 출력 제어 신호(1238)을 이송한다. 라인(1240)은 증가 제어 논리(1242), 전역 회전 어드레스 발생기(RF1)(1244), 및 전역 회전 어드레스 발생기(RF0)(1246)로 제어 신호를 이송한다. 라인(1240)상에 제공된 4-비트 제어 신호는 전역 회전 어드레스 발생기(1244 및 1246)이 이들의 각 레지스터 파일에 데이타를 으로드 또는 쉬프트하도록 명령한다. 증가 제어 논리(1242)에 제공된 신호는 단일 명령 동작이 실행되면 +1 증가 및 이중 명령 동작이 실행되면 +2 증가에 대해 어드레스 카운터(1290 및 1292) 증가를 셋트한다.
IPRX(1230)은 라인(1248)상의 11-비트 명령 어드레스는 명령 프로그램 레지스터(1250)에 제공한다. 동작점 레지스터(1250)으로부터의 출력 신호(1252)는 명령 프로그램 메모리(1258)에 대한 어드레스이다. 어드레스(1252)는 IPRX(1258)의 홀드 입력(1254)에 다시 제공된다. 홀드 입력은 필요한 경유 어드레스에 대한 출력 메모리 어드레스를 보유한다 어드레스(1252)는 또한 +1 증가 제어 논리(1256)에 제공된다.증가 논리(1256)은 복귀 레지스터(1264)를 증가시키거나 IPRX(1230)이 다음 어드레스에 도달하도록 명령한다 복귀 레지스터는 CALL 입력 신호에 의해 래치된다.
명령 프로그램 메모리(IPM)(1258)은 마이크로코드로 SVP 시스템 어레이 명령셋트를 저장한다. 이 어레이 명령 셋트는 본 명세서의 전반부에 제공되었다. 44비트의 상세한 설명은 본 명세서에 제공되었다. 명령 프로그램 메모리(1258)로부터의 44 명령 비트들은 어레이 명령 셋트내에 설정한 바와 같이 다양한 위치로 갈라진다. 예를 들어, 비트 수 43개는 정지점 플래그이다. 이 비트는 라인(1270)을 경유하여 정지 점 제어기(1274)에 제공된다. 다른 제어 비트들은 VECTOR, JUMP과 IPRX(1230)의 CALL 입력 및 명령 디코더(1234)의 입력(1282) 제공된다. 플래그를 선택하기 위한 마스크 값 비트는 라인(1223)을 경유하여 점프 플래그 임의 논리(1224)에 제공된다. 정지점 제어기(1274)이 정지점 비트 판독 중에 인에이블되는 경우 동작을 정지하기 위해 라인(1280 및 1284)상의 정지 신호 검사를 제공하기 위한 것이다 정지점 제어기(1274)는 또한 정지점 라인(BP 라인) 입력 신호(1276) 및 리셋트 신호 입력(1278)을 수신한다. 명령 비트들(0 내지 23)은 명령 프로그램 메모리(IPM)(1258)로부터 제어 코드 래치(1194)로 분기된다. 비트들(25 내지 31)은 RFO어드레스 카운터(1290)으로 분기된다. 비트들(32 내지 38)은 RF1 어드레스 카운터(1292)로 분기된다. 비트들(39 내지 42)는 반복 카운터(1294) 및 증가 제어 논리(1242)로 분기된다. 증가 제어 카운터(1242)는 전역 회전 회전 어드레스 발생기(RF1)(1244) 및(RFO)(1246)에도 4-비트 제어 입력을 제공하는 명령 디코더로부터의 입력(1240)을 수신한다. 제어 코드 래치(1194)로부터의 래치된 명령 출력(1291)는 보조 레지스터 및 라인(1562) 상의 전역 가변 신호를 수신하는 제어기 논리(1196)에 제공된다. 출력(1194)는 라인(1200)상의 마이크로비트들(0 내지 23)과 같이 직접 제공된다. 출력들(948)은 SVP 프로세서 디바이스에 제공된다.
동작시, 명령 제어기(910)은 데이타, 명령, 어드레스, 및 요구된 클럭 비율에서의 제어 신호들 스트림을 갖는 프로세서 어레이에 공급한다. 발생된 마이크로코드는제1도의 SVP의 프로세서 소자 산술 논리 유닛, 멀티플렉서 레지스터들을 조작하여 명령한다. 명령 발생기(910)은 SVP 코어 프로세서가 간단한 마이크로프로세서의 방식으로 동작하게 되는 명령 뿐만 아니라 코어 명령들을 발생시킬 수 있다. 이 모드에 있어서, 무조건 점프, 호출, 소정의 플래그 검사 명령 플래그(0, 1, 등) 상의 점프와 같은 명령들이 수행된다. 이 플래그들은 외부적으로 검사될 수 있다. 명령 발생기(910)은 수직 타이밍 발생기(904) 또는 마스터 제어기(906)로부터 내부 제어코드들을 수신하고, 수평 타이밍 발생기(906)으로부터 플래그들을 수신한다.
동작 중에, 명령 프로그램 메모리(IPM)(1258)내에 저장된 명령 마이크로코드는 명령 디코더(1234)에 의해 호출, 번역 및 수행된다. 몇몇의 디코드된 신호들은 명령프로그램 레지스터(IPR)(1250)내의 래치된 어드레스를 변경하기 위해 명령 프로그램 레지스터 멀티플렉서(IPRX)(1230)의 어드레스 선택으로서 사용될 수 있다. 이 명령코드들은 다양한 형태의 명령 셋트들 예를 들어 조건 또는 무조건 점프, 서브루틴호출 또는 복귀, 전역 가변 분포에 대한 보조 레지스터 제어, 및 RAM FILE(0 및 1) 어드레스들에 대한 전역 회전 등을 제어한다.
정지(break) 점 신호가 디버깅 단계 중에 단정(assert)될 때, 정지점 제어기(1274)는 SVP 동작에 의해 프로세스된 데이타를 검사하도록 특정 서브루틴 내로 프로그램의 흐름을 이동시키기 위해 선정된 값을 갖는 IPR(1250)의 내용을 셋트한다. 이 정지 기능은 비디오 신호의 소정의 프로임내의 BPLINE(1276) 수평 라인의 마스크 가능한 입력에 의해 제어될 수 있다.
반복 카운터(1294)는 이 명령 코드의 조합의로서 연속적이고 동일한 명령의 횟수 및 반복 카운트의 횟수를 나타냄으로써 IPM(1258)내의 메모리 위치의 요구된 양을 감소한다. 예를 들어, 반복 카운터(1294)가 0이 아닐 때 명령 프로그램 메모리는 동일 명령이 상이한 어드레스를 갖을 때만 반복되기 때문에 진행되지 않는다. 이것은 다중 메모리내에 저장된 위치들을 갖지 않는 명령의 반복을 허용한다. 명령 셋트내에 도시된 바와 같이, 이 명령 반복 값을 비트들(39 내지 42)와 같이 마이크로코드내 에 코드된다.
제37도는 제1도의 제어기(128)과 SVP 프로세서 디바이스(102) 사이의 다른 접속 관계를 도시한 것이다. 발진기(1157)은 라인(1156)을 경유하여 여러 SVP 시스템부품들에 제공하는 타이밍 신호들을 도시한 것이다. 이 발진기는 유입 비디오 신호의 수평 및 수직 동기화 신호에 의해 트리거된다. 출력 라인(1160a 및 1160b)는 상수 발생기(908) 및 멀티플렉서(1164)에 클럭킹 신호들을 제공한다. 클럭킹 신호는 또한 라인(1158)을 경유하여 명령 발생기(910)에 제공된다. 유사한 접속들은 필수적으로 다른 부품들로 이루어진다. 제37도에 있어서, 멀티플렉서(1164)는 상수 발생기(908)로부터 유입 디지트된 비디오 신호를 데이타 입력 레지스터들(154)로서 선택된다. 데이타 입력 레지스터(154)에 대한 다른 입력들은 제1도의 필드 메모리 또는 다른 데이타 소스와 같은 필드 메모리로부터의 출력을 포함한다.
상수들은 데이타 프로세싱 중에 사용하기 위한 레지스터 파일들을 각각 프로세서 소자들에 선정 가능한 패턴으로 제공된다. 상수 발생기는 각각의 프로세서 소자가 필요한 경우 일정한 상수 값을 갖게 한다. 콘트라스트에 '있어서, 전역 변수를 동일한 모든 SVP 프로세서 소자들을 말한다. 유입 비디오 신호 상수들에 의한 모순을 방지하기 위해, 유입 비디오 신호 상수들은 유입 비디오 신호로부터 분리되어 으로드된다. 이 상수들은 수평 타이밍 발생기(906)에 의해 제공된 타이밍에 의해 DIR(154)내로 쉬프트된다. 비디오 응용시, 모든 수평 라인 마다 가능한한 자주 새로운 상수들을 제공하는 것이 가능하다.
제8도는 제35도의 상수 발생기 구조물의 다른 실시예를 도시한 것이다. 제38도의 회로는 출력 라인(1112, 1178 및 1124)을 갖고 있는 순차 메모리(1120) [타이밍 패턴 수를 수신하기 위한 입력 라인(1118)을 갖고 있음]을 포함한다. 출력(1112)는 루프 카운터(1182)에 루프 패턴 수를 제공한 후 순차적으로 루프 메모리(1142)에 라인(1140)를 경유하여 어드레스를 제공한다. 출력(1178)은 최종 타이밍 순차 신호를 제어 논리(1132)에 제공하고 다시 라인(1188)을 경유하여 루프 메모리(1142)로부터 루프 신호를 수신한다. 출력(1124)는 반복 카운터(1128)에 명령 패턴의 반복 횟수를 나타내는 N-비트 수를 제공한다.
제39도 및 제40도는 순차 메모리(1120) 및 루프 메모리(1142)내에 저장된 내용의 예들이다. 제39도에 있어서 열(I)는 메모리(1120)에 저장된 패턴들이 타이밍 패턴 수에 대한 엔트리들을 갖는다. 열(Ⅱ)는 최종 타이밍 순차 신호에 대한 엔트리를 갖는다. 이 예에서, 이 신호는 논리 하이 또는 논리 1이고, 여기에 반복될 몇몇 루프 패턴들이 존재할 경우 논리 로우 또는 논리 0의 문자열이 이어진다. 단일 비트는 여기에 단지 1개의 루프 패턴이 존재할 경우 제공된다. 열(Ⅲ)은 각각의 루프패턴에 대한 반복 회수에 대한 엔트리를 갖는다. 열(Ⅳ)는 반복될 루프 패턴의 루프 패턴 수에 대한 엔트리를 갖는다. 이 표에 있어서 4개의 상이한 루프들은 메모리(1142)에 저장된다. 열(Ⅱ)은 반복된 상수들을 나열한 것이다
제41도는 SVP 프로세서에 타이밍 패턴 #4의 상수들을 제공하기 위한 이벤트들의 순차에 대한 흐름도이다. 이 순차는 프로그램 명령이 SVP 프로세서(102)에 상수들을 제공하도록 상수 발생기(908)을 명령할 때 위치(1198)에서 개시된다. 이 순차는 카운터(1106)에 타이밍 패턴 수를 입력하도록 단계(1200)으로 진행한다. 카운터(1116)으로부터의 타이밍 패턴 수는 순차 메모리(1120)내의 순차 패턴들을 어드레스하기 위해 사용된다. 이 타이밍 패턴 수는 이 예에서 4이다. 그다음,이 순차는 단계(1202)로 진행하고 카운터 출력(1118)은 타이밍 패턴 순차 #4에 대한 개시 메모리 위치를 어드레스한다. 그다음 이 순차는 단계(1204)로 진행하고 순차 메모리(1120)은 0으로 순차 카운터(1106)을 리셋트하도록 제어 논리(1132)에 신호한다. 그다음, 이 순차는 단계(1206)으로 진행하고 순차 메모리(1120)은 루프를 반복하기 위해 타이밍의 횟수를 갖는 반복 카운터(1128)을 으로드하고 제1 루프를 갖는 루프카운터(1182)를 으로드한다. 이 예에 있어서, 타이밍 패턴 루프 #4내에는 3개의 루프들이 존재한다. 제1 루프, 즉 루프 패턴 #3은 31회 반복된다. 제2 루프는 또한 루프 패턴 #3이고 이것은 31회 반복된다. 5-비트 어드레스는 이 예내에서 최대 반복횟수를 셋트한다. 비트 폭을 변경함으로써 많은 횟수가 지정될 수 있다. 이 경우에 있어서 31번 이상의 반복이 필요한 경우는 1이 동일한 루프 패턴을 반복하기 위해 필요할 때 뿐이다. 이것은 타이밍 패턴 #4에 의해 행해진다.
단계(1206)후, 순차는 단계(1207)로 진행하고 순차 메모리(1120)은 제1 루프패턴의 반복 횟수에 의해 반복 카운터(1128)을 로드한다. 이것은 이 예내의 #3이다. 루프 카운터 출력은 루프 메모리(1142)내의 메모리 위치로 어드레스한다. 이 순차는 단계(1208)로 진행하고, 루프 메모리(1142)는 루프 #3에 대응하는 상수의 문자열을 출력한다. 이 예에서, 상수 문자열은 8-5-7-3-2-1P이다. 그다음 순차는 단계(1210)으로 진행하고 제어 논리(1132)는 각각의 상수의 경로 상의 루프 카운터(1182)을 증가한다. 단계(1212)에서, 최종 루프 비트가 제어 논리(1132)에 의해 이르지 않는 경우, 동작은 루프내의 최종 상수가 통과되고, 1 최종의 루프 신호에 이르게될 때까지 단계(1208)로부터 반복한다. 그다음, 이 순차는 단계(1214)로 진행하고 제어논리(1132)은 루프 카운터(1182)를 리셋트하여 각각 라인(1138 및 1192) 상의 신호들을 경유하여 반복 카운터(1128)을 감소한다. 그다음, 이 순차는 단계(1216)으로 진행한다 단계(1216)에서, 반복 카운터(1128)이 0에 도달하지 않을 경우 이 순차는 단계(1207)로 복귀한다 반복 카운터(1128)이 0에 도달하는 경우, 이 순차는 단계(1221)로 진행하고 제어 논리(1132)는 순차 카운터 +1을 증가하여 이 순차는 단계(1206)으로 복귀하고 이 단계들은 반복된다. 단계(1223)에서 순차 카운터 계수가 순차 횟수보다 큰 경우, 동작이 단계(1227)에서 정지된다.
(RFO 및 RFI에 대한)전역회전 어드레스 카운터
제42도에 있어서, 여기에는 현재의 SVP 디바이스(102)내에 실행될 수 있는 N-비트 리솔루션의 5개의 풀 유한 임펄스 응답(pole finite impulse response; FIR)을 도시한 것이다. 제18도의 제2의 가장 인접한 구조물을 사용함으로서, 2N 명령들은 단일 인접하는 구조물 위로 세이브될 수 있다. 예를 들어, 이후에 포함되는 명령셋트를 참조하면, 이것은 프로세서(102)가 가산을 수행하기 위해 2L로부터 1L로 N비트를 이동하기 위한 N 명령들을 필요로 한다는 것을 도시한 것이다. 유사하게 N명령들은 2R로부터 1R로 N-비트들을 이동하는 것을 요한다. 2개의 가장 인접한 접속들을 갖고 있음으로써, 2N 명령들은 단일 인접하는 통신 네트워크 위로 세이브된다 예를들어, 12-비트 FIR이 실행될 경우, 제2의-가장 인접한 배열은 단일의 인접하는 네트워크의 수행시간의 68% 미만을 필요로 한다.
SVP가 소프트웨어 프로그램 가능한 디바이스이기 때문에, 다양한 필터들 및 다른 기능들은 제42도의 FIR(수평 필터)의 기능 이외의 기능들을 실행할 수 있다. 이들은 예를 들어 수평이고 일시적인 FIR 필터들 및(수직이고 일시적인) IIR 필터들을 포함한다.
제43도에 있어서 4개의 라인 메모리들이 즉, 8비트 라인 메모리(824), 6비트라인 메모리(826), 2개의 4비트 라인 메모리(828 및 830)이 도시되었다. 이 라인 메모리들은 현재의 SVP 디바이스(102)내에 모의될 수 있다. 이 기술을 실행하기 위해, 제44a도가 비트 위치들 00 내지 7F(0 내지 127)을 갖고 있는 프로세서 소자 n의 RF0와 같은 레지스터 파일을 표시한다고 가정한다. 제44a도의 레지스터 파일은 다중 편들로 분리될 수 있다. 이 예에서 레지스터 파일은(반드시 동일하지 않은) 2개의 하부-편 및 상부-편으로 분리된다. 상부 부분은 비트 위치들 00 내지 3F을 포함한다. 이 하부 비트 위치들은 40내지 7F이다 상부 부분이 전역 회전 메모리를 지정하는 경우, 하부 부분은 정상 작동 레지스터 파일로서 사용될 수 있다. 이해를 쉽게하기 위해, 전역 회전 부분은 예를 들어, Q 워드의 P 워드 비트들로서 인식 될 수 있는데, 여기서 PxQ는 총 전력 회전 공간과 동일하거나 미만이다. 이것은 제44a도의 상부부분의 절개도인 제44b도에 도시된다. 각 라인의 제44b도의 전역 회전 영역은 적층된 수평 형태로 교차된 8-비트의 레지스터파일을 포함한다. 이 메모리 영역내의 어드레스가 지정될 때, 이것은 총 전역 회전 공간의 율인 회전 값 = Q에 의해 오프셋된다 그러므로 이 데이타가 메모리 뱅크를 완전히 쉬프트되는 것을 요하는 대신에 레지스터 파일의 각 라인 메모리 부셋트는 원형으로 회전된다. 이것은 아래 예로 도시된다
제43도의 4개의 예시 라인 메모리들이 제44b도의 전역 회전 영역내에 저장될 경우, 및 전역 회전 명령이 수행될 경우, 명백한 효과는 이하의 데이타에 대한 것이다
B --- C; C --- D; D --- E, E --- G; G --- H; H --- M 및 J;
M --- N; J --- K; N 및 K --- B. 한편, 이동 E --- G, H --- M 및
J, N 및 K --- B는 전역 회전 출현 이전에 존재하는 오랜 데이타가 단순히 쉬프트되기 때문에 에러를 출현시킨다. 이것은 그러나 전역 회전 이후 즉시 새로운 데이타 값 4, F,1 및 L이 이 위치들에 기입되므로 오래된 값들 E, H, K 및 N이 라인메모리내에서 기대되었던 것과 같이 손실되지 않기 때문에 상기의 경우와 같지 않다. 1-수평 지연은 모의하기 위해, 전역 회전 명령이 각 수평 라인 시간에서 수행된다. SVP 하드웨어는 Q의 값 및 전역 회전 공간의 최대값의 셋팅을 허용한다.
제45도는 제36도의 레지스터 파일 0(RFO)(1246)에 대한 전역 회전 어드레스 발생기의 논리도이다. 제36도의 레지스터 파일 1(1244)에 대한 전역 회전 어드레스 발생기는 동일하고 따라서 아래 설명은 발생기들 모두에 응용한다. 전역회전 발생기(1246)은 라인(1291)를 경유하여 레지스터 파일 O 어드레스 카운터로부터 비례 레지스터 어드레스를 수신한다. 이 비례 어드레스는 라인(948)을 경유하여 레지스트파일 6내의 어드레스 레지스터 위치에 제공된다. 마이크로코드 비트들(32 내지 37)은 명령 프로그램 메모리(1258)로부터 라인(1374 및 1382)을 경유하여 제공된 11개의 비트중 6개이다. 이것은 이전의 예내에서의 워드 길이 P이다. 공학 설계용에서, 피트(32 내지 37)에 의해 정해진 값은 이 예내의 2 요소에 의해 스케일된다. 스케일된 P 값은 레지스터(1370)에 제공된다. 라인(1382)을 경유하여 명령 프로그램 메모리(1258)로부터 제공된 마이크로코드 비트들(C48 내지 42)는 총 전역 회전 영역 또는 이전의 예내의 Q를 정의한다. 공학 설계용에서, 회전 영역들은 8 요소에 의해 스케일되고, 이 스케일된 Q 값은 레지스터(1380)에 제공된다. 전역 회전이 개시될 때, 제36도의 명령 디코더(1234)는 RFO에 대해 라인(1243A)를 경유하여 신호 LMRx (RFO에서 X = 0 및 RF1에서 X = 1)을 제공한다. 신호 LMRx는 비율 레지스터(MOD REG)(1300), 회전 값 레지스터(ROT VAL REG)(1370) 및 오프셋 레지스터(1450)에 제공된다. OFST REG(1450)의 기능은 후술한다. LMRx 신호는 각각 레지스터들(1370 및 1380)내로 라인(1374 및 1382)상에 제공되는 값을 로드한다. 전역 회전을 사용하기 전에 1회 LRMx 명령을 수행하는 것이 꼭 필요하다 전역 회전크기가 변경되지 않거나 새로운 전역 회전의 개시되지 않는 경우에는 재실행이 필요하지 않다.
가산기(ADD-a)(1390)은 OFST REG(1450)의 현재의 내용에 ROT VAL
REG(1370)의 내용을 가산한다 라인(1396)상에 제공된 OFST REG 출력은 이 레지스터 파일 절대 어드레스와 라인(1291)상에 제공된 레지스터 파일 비례 어드레스 사이의 차의 1/2이다. 감산기-a(1373)의 + 입력 및 데이타 선택기-a(1372)의 1 입력에 라인 1600상의 새로운 오프셋 값을 출력한다. 감산기-a(1373)은 MOD REG(1380)로부터 비율값의 4개의 최대 상당 비트(MSBs)과 ADD-a(1390)으로부터의 6개의 비트 출력을 감산한다. 이 명령을 수행하기 전에,2개의 0 최소 상당 비트(LSBs)는 레지스터(1380)으로부터 전역 회전 출력 값에 가산된다. 2개의 0 LSBs의 가산은 4로 전역 회전 영역 출력을 곱한다. 감산기(1373)은 임의적이고 오프셋 값이 정해진 전역 회전 영역의 외측면인 경우 검사한다. 이 예에 있어서 오프셋 값은 감산기 출력이 정(논리 로우)인 경우 전역 회전 영역내에 있다 데이타 선택기 출력(1602)는 데이타 선택기-a(1372)의 0 입력에 제공된다.
데이타 선택기(1372)는 선택기 출력이 정인경우 감산기(1373)의 출력을 입력으로 선택한다. ADD-a(1300)으로부터의 출력은 선택기 출력이 전역 회전 영역의 외 측면 오프셋을 나타내는 부인경우 선택된다. 데이타 선택기-a(1373)으로부터의 새로운 오프셋 값 출력은 명령 발생기로부터의 신호 GRLx(1243B)에 의해 클럭된다. 오프셋 레지스터(1450)에 의해 래치된다 GRLx 명령은 전역 회전을 개시하도록 수행한다. 이것은 통상적으로 주사라인의 개시부 또는 단부에서 발생되거나 DIR 내지 RF0 또는 RF1 내지 DOR 전달전에 발생된다. 수평 라인 주사 중에 전달을 수행하는 것이 또한 가능하다.
이제, 제45도의 입력 라인을 참조하면, 레지스터 파일 비례 어드레스를 정하는 7개의 비트들은 비교기(COMP)(1440)에 1개의 입력으로서 제공되고 데이타 선택기 -c(DSEL-c)(1420)에 1개의 입력으로 제공된다. COMP(1440)에 제공된 7개의 비트들은 8개의 비트 입력의 LSB 비트들이다. MSB는 라인(1379)상에 제공된 0비트이다. COMP(1440)에 대한 제2 입력은 MOD REG(1380)로부터의 5-비트 출력이다. 5개의 출력 비트들은 COMP(1440)에 8개의 비트 입력의 최대 상당 비트들을 제공한다. 3개의 LSB 비트들은 라인(1379)로부터의 0들로서 제공된다. 비교기(1440)은 비례 어드레스(1291)과 비율값 레지스터(1384)의 출력을 비교한다. 상술한 바와 같이 출력(1384)는 스케일된 값이다. 3개의 0 LSBs의 가산은 8로 스케일된 값을 곱한다. 비교기(1440)은 전역 회전에 대해 검사한다. 비례 어드레스가 비율 레지스터(1380) 이상인 경우, 어드레스된 레지스터 파일은 정해진 전역 회전 영역 외측면에 있고 전역 회전은 수행되지 않는다. 비교기 출력(1388)은 OR 게이트(1376)에 2개의 입력중 1개의 입력으로서 제공된다. 제2 입력은 마이크로코드 제어 비트 C2(레지스터 파일 1이 어드레스된 경우 C5)이다. 이미 기술한 바와 같이 마이크로 비트 C2(또는 C5)가 1인 경우, 어드레싱을 DIR(DOR) 또는 보조 레지스터들이다. C2(C5)가 1인 경우 전역 회전을 행하지 않는다. 비례 어드레스가 레지스터 파일 외측면에 있을 때 OR 게이트(1376)으로부터의 신호 출력에 응답하는 전력 회전 영역 데이타 선택기 DSEL-c(1420)는 그것의 절대 어드레스 출력(948)로서 비례 어드레스 입력을 선택한다.
감산기-b(SUb-b, 1400)은 비례 어드레스를 2개의 입력들 중 1개의 입력으로서수신한다. 감산기-b(1400)은 이의적이고 전역 회전 검사를 수행한다. 감산기-b는 비례 어드레스 값(1291)과 정해진 오프셋 값 사이의 감산이다. 라인(1402)상의 출력은 절대 어드레스이다. 절대 어드레스 값(1402)는 가산기-b(ADD-b)(1410)에 2개의입력중 1개의 입력으로서 제공되고 데이타 선택기-b(DSEL-b)(1419)에 2개의 입력중 1개의 입력으로서 제공된다 출력(1402)가 부인 경우, DSEL-b(1419)에 대한 신호(1394)는 DSEL-b(1419)가 절대 어드레스로서 ADD-b로부터 출력(1606)을 선택하게 한다. ADD-b는 여기에는 부 어드레스가 존재하지 않기 때문에 부 어드레스의 발생에 대해 보정한다. ADD-b(1410)은 감산기-b 출력(1402)에(3개의 가산된 0 LSB 비트들을 갖는) 비율 레지스터 값(1384)를 가산한다. 이것은 ADD-b로부터의 정 절대 어드레스 출력을 발생한다. 제42C도는 이벤트들의 진행 순차에 대한 흐름도이고 흐름도 제46a도의 연속이다.
전술된 제45도의 논리도에 있어서, ADD-a는 6-비트 가산기이고, ADD-b는 6-비트 가산기이며, SUB-a는 4-비트 감산기이고, SUb-b는 6-비트 감산기이며, DSEL-a는 4-비트 데이타 선택기이고, DSEL-b는 4-비트 데이타 선택기이며, DSEL-c는 6-비트 데이타 선택기이고, COMP는 8-비트 비교기이다.
[MOD REG]의 값은 비율 값/8이고 아래와 같다.
비교값 = 0, 8, 16, 24 ‥‥ 112, 120, 128
[MOD] = 0, 1, 2, 3 ‥‥ 14, 15, 16 [ROT VAL REG]의 값은 회전 값/이고, 상기 예에 대해서 0과 [MOD REG]*4 사이의 소정의 값이다.
어드레스되는 경우, 명령 발생기(REL ADRS)로부터의 비례 어드레스는 [MOD REG]*8의 내용들 이상이고, 이(REL ADRS)은 DSEL-c에 의해 출력된다. 그렇지 않은 경우 모듈로 어드레스는 전력 회전을 수행하기 위해 DSEL-c에 의해 출력된다. (RELADRS)[MOD REG]*8인 경우:((REL ADRS)-[OFST REG]*2]mod((MOD REG)*8
(REL ADRS) = [MOD REG]*8인 경우:(REL ADRS)
제46a 및 제46b도는 전역 회전에 대한 흐름도의 일부이다.
제47도에 있어서, 제어기(128)로부터 수신된 다른 신호의 파이프 라이닝에 대한예시 회로가 도시되었다. 도시한 회로는 출력이 구동기(1444)에 의해 어드레스 소자 디코더(1448)에 제공되는 소자 발생기(1440)에 입력(1438)을 제공하는 어드레스버퍼(1436)를 포함한다. 디코더(1448)의 출력(1450)은 라인(1454)상에 제공된 샘플 주파수에서 클럭되는 래치(1452)에 제공된다. 래치(1452)는 라인(1458)상의 활성 으로우 입력 클럭킹 사이를 리셋트 할 수 있다. 래치(1452)의 출력은 데이타 입력 레지스터의 워드 라인(1462), 입력 레지스터 파일, 출력 레지스터 파일 또는 데이타 출력 레지스터와 같은 제어하의 색션의 제어 라인 입력에 제공된다. 외부 제어기가 사용된 경우 사용된 칩 패드 접촉부(1432)는 제어 신호를 입력하도록 SVP 디코더(102)에 제공된다. 제47도의 형태의 회로는 또한 DOR 측면상에 사용될 수 있다 제48도는 파이프라인 회로용 여러 입력들 및 출력들의 표이다.
제49도에 있어서 타이밍 또는 이미 실행된 명령들의 유출이 결정되는 것을 요하지 않고 SVP에 신호들을 연속적으로 제공할 수 있는 능력을 발생시키는 디바이스의 개선된 속도를 도시하기 위해 제공된다. 신호(1431)은 외부 접촉 패드(1432)를 경유하여 SVP 디바이스(102) 코어에 제공되어진 유효 메모리 어드레스 신호이다. 신호(1450)은 어드레스 디코더(1448)의 디코드된 신호이다. 신호(1462)는 예를 들어 DIR 워드 라인에 제공되는 구동기(1456)의 신호 출력을 도시한다. 시간 to에서 유효 어드레스 신호가 제공되는 경우 이 신호는 신호(t1)에서 래치(1452)에 디코드되어 제공되는데, 여기에서 이것은 시간 t3 내에 래치된다. 샘플링할 때, 디코드된 어드레스는 선택된 워드 라인에 제공된다. 동작의 속도는 이전의 신호가 실행되기 전에 어드레스 버퍼에 후속의 신호들을 연속적으로 제공할 수 있게 함으로써 실제로 개선된다. 현재의 회로에 있어서, 이 래치는 현재 동작의 어드레스이 상태를 유지하고, (다음 동작에 대한) 새로운 어드레스가 입력 버퍼, 요소 발생기/구동기, 와이어링 및 어드레스 디코더를 통과하는 파이프라이닝이다. 상술한 바와 같이 현재의 파이프라이닝 기술은 데이타 신호들, 제어 신호들, 명령들, 상수들 및 특히 선정 가능한 순차에 따라 제공된 모든 다른 신호에 응용한다.
제50도에 있어서 이것은 래치와 같은 입력 버퍼를 구성함으로써 신호들을 파이프라인화하기 위한 방법은 도시한 것이다. 그다음, 이 래치들은 리셋트(1482) 및/또는 샘플 신호들(1484)의 소정의 유도에 의해 리셋트되어 클럭될 수 있다. 접촉 패드(1486)은 파이프라이닝 시스템 전체에 돌발적으로 제공되는 마스터 클럭 입력 신호를 수신한다. 유사하게, 클럭 발생기(1496)은 시스템에 대한 래칭 및 리셋트 신호들을 발생시킨다. 이 형태의 디바이스는 이 제어기로부터 모든 제어 및 어드레스 신호들에 제공될 수 있다.
제51도는 전역 변수들의 분포를 제어하기에 적합한 제어기 회로를 도시한 것이다. 상술한 바와 같은 제어기는 SVP 프로세싱 소자들에 어드레싱, 제어, 및 데이타 신호들을 제공한다. SVP 내로 변수들을 으로드하고 이 변수들을 전역적으로 분포시키기 위해 제51도의 제어기 하드웨어가 사용될 수 있다.
도시한 바와 같이 제어기는 한 셋트의 보조 레지스터(1570) 및 변수를 분포시키기 위해 SVP 프로세싱 소자들의 M 레지스터들을 변조하는 어드레싱 구조물을 포함하도록 변형할 수 있다. 보조 레지스터들 및 변조 색션(1196)은 RAM 메모리 및2 --- 1 멀티플렉서(MUX)(1574)와 같은 보조 저장 레지스터(1570)을 포함한다. 보조 레지스터(1570)은 8-비트 로드 데이타 입력(1562), 데이타 기입 입력(1564) 및 5-비트 대 1로서 구성된 레지스터 어드레스 또는 판독 포트(948)을 갖는다. 보조 레지스터 출력(1572)는 MUX(1574)의 하이 입력을 트리거하도록 제공된다. MUX(1574)에 대한 으로우 입력은 OP코드 출력 비트(C18)이다. 보조 레지스터들(1570)은 이후에 상세히 설명된다.
제52도를 참조하면, 레지스터 파일 1(RF1)의 메모리 맵 및 프로세서 소자의출력 레지스터(DOR)이 도시되었다. 상술한 바와 같이 메모리 맵내의 보조 레지스터 어드레스는 RF1/DOR에 대핸 사용되지 않은 어드레스들의 일부이다. 영역 상기를 어드레싱 동작을 수행시 메모리 내의 DOR 어드레스는 보조 레지스터들을 선택한다. 보조 레지스터들내에 저장된 데이타는 각 8-비트의 4 워드들로서 기입되지만 각 1-비트의 32 워드로서 판독된다. 보조 레지스터 비트의 상태가 판독될 때 보조 레지스터 출력 또는 본래의 OP코드 비트(C18)들 중 어느 하나는 보조 레지스터 MUX 인에이블 라인의 상태에 따라 M 레지스터 데이타 선택기로 직접 통과된다. 0 또는 1은 OP코드(C19 및 C20)가 모두 1인 경우 레지스터(M)내에 선택된다. 즉 [C20, C19, C18] =[110]인 경우 M 출력 = 0 및 [C20, C19, C18] = [111]인 경우 M 출력이다
제52도는 제36도의 보조 레지스터 및 제어기 블럭(1196)을 도시한 것이다.여기에는 총 32개의 1-비트 전역 변수를 저장하기 위한 레지스터 셋트내의 4-비트 레지스터들(1608A-B)이 존재한다. 이 변수들은 라인(1562)를 경유하여 레지스터들에 제공된다. 각각의 레지스터 셋트(1608 A-D)는 라인(1563)을 경유하여 보조 레지스터로부터 기입 클럭 신호를 수신하기 위한 클럭 신호 입력을 갖는다 각각의 레지스터 셋트는 또한 로드(LD) 또는 기입 인에이블 입력(1610) 및 1 --- 4 디코더(1616)으로부터의 출력으로 접속된 출력 인에이블(OE)을 포함한다. 레지스터들(1608A-D)에 대한 판독/기입 인에이블은 각각의 라인(1614A-D)를 경유하여 대응하는 디코더 출력에 접속된다. 2-비트 레지스터 어드레스는 2 --- 1 데이타 선택기(1620)으로부터 라인(1618)을 경유하여 디코더(1616)에 제공된다. 데이타 선택기(1620)은 3개의 입력들을 갖는다 입력(1295)는 라인(1562)상에 제공된 8-비트에 의해 기입하도록 레지스터를 확인하는 2-비트 어드레스이다. 입력(948A)는 판독될 레지스터를 확인하는 2-비트 어드레스이다 이 2-비트는 레지스터 파일 어드레스 비트의 비트(3 및 4)이다. 입력(1295 또는 948A)중 어느 하나는 보조 기입 인에이블 클럭 신호(1564)에 의해 선택된다. 비트 0 내지 1은 8 --- 1 데이타 선택기(1622)의 선택 입력에 제공된다. 디코더(1616)이 특정 레지스터에 출력 인에이블 신호를 제공하고 클럭 신호가 레지스터를 클럭 입력에 제공될 때, 레지스터 파일 어드레스비트(0 내지 2)는 라인(1572) 내지 2 대 1 데이타 선택기(1574)를 경유하여 입력하기 위한 레지스터 셋트내의 비트를 확인한다. 이미 상술한 데이타 선택기(1574)는 SVP 프로세서 어레이에서의 입력에 대한 C18' 비트로서의 전역 변수 또는 본래의 C18 비트중 어느 하나를 선택한다. 선택은 레지스터 어드레스 비트(5 및 6) 및 C5 제어 비트에 의해 결정된다 상기 예가 레지스터 파일 1내로 전역 변수를 어드레스하는 것을 상세히 설명하였을지라도, 이 원리는 레지스터 파일 0을 어드레스하는 것에 응용한다. 레지스터 파일 0를 어드레스할 때 제어 비트(C5)는 제어 비트 C2일 수 있다.
RF1, DOR(표 4)에 대한 메모리 맵에 있어서, 보조 레지스트들의 어드레스들은보존된 영역내에 있다. 그러나, 하드웨어는 명령 발생기(910)내에 배치된다. 이 경우, 보조 레지스터들은 레지스터들의 한 셋트(N 셋트가 아님)에 의해 실행된다. 단지 레지스터 비트는 DOR에 반대로 1개의 어드레스 값에 의해 어드레스되는데, 여기서 N 비트들(즉, 프로세싱 소자들의 수에 대응하는 1024개의 비트들)은 1개의 어드레스 값에 의해 동시에 어드레스된다. SVP 코어의 물리적 메모리의 어드레스 외측면이 제조될 때 보조 레지스터는 어드레스된다.
제53도에 있어서, 예를 들어 ROM 메모리를 갖고 있는 SVP 제어기는 제어기메모리의 필요 조건들을 감소시키기 위한 회로로서의 응용을 기술한 것이다. 간단히, 이 감소는 도시된 바와 같이 제어기에 반복 카운터(1588)과 계수/프로그램 카운터(1584)에 대한 보유 입력을 가산함으로써 달성된다. 제어기 데이타 및 어드레스 위치들은 프로그램 카운터의 N-비트 출력에 의해 순차를 정한다. 이 프로그램 카운터는 각각 신호 입력들(1596 및 1598)을 경유하여 클럭되어 리셋트된다. 이 제어기는 다수의 출력 신호를 즉, 최대 16으로 반복 계수를 허용하는 반복 카운터(1588)에 입력되는 4-비트 계수 신호(1600), 래치(1590)을 경유하여 래치되는 마이크로코드 또는 마이크로 명령이라 칭하는 24-비트 OP 코드 1602, RFO 오퍼랜드 어드레스에 대한 상승 카운터(1290)에 의해 사용된 7-비트 어드레스(1604), 및 RF1 어드레스 상승 카운터(1594)를 경유하여 제공됨으로써 사용된 유사한 7-비트 어드레스(1606)을 제공한다. 부수적으로, 1-비트 제어 신호(1607)은 단일 또는 이중 명령이 실행되는 지의 여부를 나타내기 위해 제어 논리(1586)에 제공된다.
반복 카운터의 리플 캐리 출력은 반복 순차가 완료될 때까지 동작을 정지기위해 이것을 신호에 대한 프로그램 카운터의 계수/보유 입력에 입력한다. 명령이 적정한 횟수 반복될 때, 리플 캐리 출력은 그것의 동작을 재개하기 위해 프로그램 카운터에 신호한다. 이 리플 캐리 신호는 또한 주어진 조건에 대한 적당한 상태로 이것을 놓이게 하기 위해 제어 논리에 입력한다. 즉, 반복 카운터가 동작되는 경우, 제어 논리는 카운터 모드내에 이것을 배치하기 위해 레지스터 파일 상승-카운터로 2-비트 코드를 출력한다. 반복 카운터가 동작하지 않는 경우, 레지스터 파일 상승-카운터들은 래치 모드내에 배치될 것이다. 또한, 이 2-비트 출력은 계수가 단일 명령 모드에 대한 1에 의한 것이다. 이중 명령 모드에 대한 2에 의한 것이지 여부를 나타낸다.
32-비트의 다른 예는 상기 회로의 장점을 도시한 것이다. 2개의 32-비트 워드들의 부가에 대한 명령 셋트는 표27내에 축소된 형태로 아래에 설정된다.
1) M=1,4=R0(1), B=R1(1), C=0, R1(1)=SM
2) A=R0(2),3=R1(2), C=CY, R1(2)=SM
(3), (3), (3)= } 이중 명령
} 30개의 명 령을
} 15개로 압축, 이어서
} 1개의 명령으로 반복
A=R0(31), B=R1(31), C=CY, R1(31)=SM ) 압축
A=R0(32), B=R1(32), C=CY, R1(32)=SM
C=CY, R1(33)=SM
표 27
상술한 2개의 4-비트 워드를 부가예(표25)와 관련하여 고려될 경우, 명령 셋트의 명령(2 내지 31)가 15개의 이중 명령들로 압축될 수 있다. 그다음 반복 카운터 모드를 실행함으로써, 15개의 이중 명령들은 내장된 하드웨어에 의해 단일 명령 반복의 15배로서 어셈블될 수 있다. 그러므로, 2개의 32-비트 워드들의 부가는 33개에서 4개의 명령으로 감소된다. 반복 카운터가 사용될 때, 프로그램 카운터는 정지되고 2개의 어드레스는 단일 명령에 대해 또는 이중 명령에 대해 2의 자동-증가를 계수한다. 본 발명과 관련하여 기술된 바와 같은 제어기 메모리 감소가 이중 명령에 의해 실행되거나 이중 명령에 의해 일치하는 사용없이 실행될 수 있다. 예를 들어, 상기 32-비트 가산 예가 이중 명령을 갖지 않고 실행될 경우, 반복 카운터 비트값은 보다 큰 반복 카운트에 대해 허용될 수 있도록 증가되거나 제1 반복이 2회 실행될 수 있다
제54도는 현재의 동기 벡터 프로세서/제어기 칩의 다른 실시예를 도시한 것이다. 제54도의 명령 발생기에 있어서, 보조 레지스트들은 SVP 프로세서 코어어레이를 갖는 칩상에 내장된다 상술한 바와 같이, 제어기(1626) 및 SVP 디바이스(1628)은 디바이스(1630)을 형성하는 1개의 실리콘 칩상에 제조될 수 있다. 클럭 발진기(1632)는 전송된 텔레비젼 신호에 위상 로크되고 제어기 색션에 클럭킹 신호들을 제공한다. 클럭 발진기(1634)는 통상적으로 SVP 동작 속도를 정합하도록 클럭된다.
본 명세서에 관련되는 제1도 및 설명은 SVP 디바이스 및 제어기의 텔레비젼시스템내에 어떻게 구비되는가를 상세히 설명한 것이다. 또한 비디오 카셋트/테이프 레코더(134)가 전송된 비디오 신호의 위치내의 SVP 프로세서에 제공된 신호(130)을 어떻게 갖는가에 대한 설명을 포함한다. 별도로 SVP 디바이스/제어기 시스템은 비디오 테이프 레코더내에 직접 구비될 수 있다. 이것이 수행될 수 있는 방법은 제55도에 도시된다. 블럭(1630)은 시스템(1629)에 대한 1개 이상의 SVP 디바이스를 포항한다. 시스템(1630)은 복합 튜닝 수신 또는 S-VHS 비디오 신호들에 대한 종래의 튜너 회로(1644)를 포함한다. 색분리 또는 복조 회로(1642)는 동조된 신호를 프로세스하고 출력은 상술한 방법으로 SVP 시스템(1630)에 제공된다. 프로세스된 출력은 회로(1640)에 의해 변조된 색이이고 복합 비디오 신호 S-VHS 비디오 신호는 복조기(1640)으로부터의 출력이다. 복합 비디오 신호는 회로(1638)에 의해 RF변조되고 텔레비젼 안테나 입력 또는 디스플레이에 대한 모니터 입력에 제공된다.
기록 모드 중에 프로세스된 비디오 신호는 회로(1634)에 의해 위상 및 FM변조 되고, 종래의 방식으로 헤드 논리(1636)에 의해 기록된다. 플레이백 중에, 레코드된 신호는 테이프로부터 판독되고 위상 FM 변조 회로(1632)에 전송된다. 그다음, 이 신호는 다시 SVP 시스템(1630)에 의해 프로세스되어 출력으로서 제공된다. 1개 이상의 필드 메모리(120)은 제1도와 관련하여 상술한 방식으로 데이타를 포획하도록 사용된다.
본 명세서에 기술된 동기 벡터 프로세서 디바이스 및 제어기 시스템은 비디오 기술 응용 분야에 제한되지 않는다. SVP의 균일한 실시간 성능은 다수의 신호 프로세싱 응용분에 용이한 설계 기술을 제공한다. 몇몇의 응용 분야는 표27에 열거하였다.
일반 용도의 DSP 의학용
- 디지탈 필터링 - 환자 모니터링
-회선 - 초음파 장비
- 상관 관계 - 진단 기구
- 신속한 퓨리에 변환 - NMR 영상
- 2차원 적용 필터링 - PET 주사 영상
- 중성 회로망
군사용
소비자용 - 레이다 프로세싱
- 레이다 검출기 - 수중음파 탐지기 프로세싱
- 디지탈 비디오/오디오 TV - 영상 프로세싱
-음악 합성기 - 항해
-미사일 안내
산업용 - 무선 주파수 모뎀
- 로보트 - 감지기 융합
-가시 검사
전송 통신
그래픽/영상 - 에코 제거
- 로보트 비젼 - ADPCM 트랜스코더
- 영상전송/압축 - 이퀼라이저
- 패턴 인식 - 데이타 -엔크립션
- 영상 인헨스멘트(enhencement) - FAX
- 호모머픽(HomoMorphic) 프로세싱 - 셀롬라 전화
- 워크 스테이션 - 스피커 전화
- 애니매이션/디지탈 맵 - 디지탈 음성
- 내삽(Interpolation; DSI)
도구용 - 비디오 회의
- 스텍트럼 분석 - 분산 스펙트럼 통신
- 기능 발생
- 패턴 정합 자동차
- 탄성과 프로세싱 - 진동 분석
- 과도 분석 - 음성 명령
- 디지탈 필터링 - 디지탈 라디오
- 구획실 전화
- 전역 배치
표 27
제56도는 일반 용도의 디지탈 신호 프로세싱(DSP) 시스템을 도시한 것이다.소수의 예들만을 열거한 제56도는 통상적으로 디지탈 필터링, 회선(convolution), 상관 관계(correlation), 신속한 퓨리에 변환, 코사인, 싸인, 하다마드 왈쉬 변형(Hodamard, Walsh transform) 및 적용 필터링에 사용될 수 있다 제56도 시스템은 아날로그 입력은 디지탈 신호로 변환하기 위한 아날로그-디지탈 변환기를 포함한다. SVP 시스템은 프로세스된 데이타 신호 출력을 제공하는 디지탈 신호를 수신하기위해 데이타 스트림내에 배치된다. 이 프로세스된 데이타는 아날로드-디지탈 변환기에 의해 아날로그로 변환될 수 있고 프로세스된 디지탈 신호는 출력으로서 직접 제공될 수 있다. 이 시스템에 대한 타이밍 및 제어는 타이밍 및 제어 회로에 의해 제공된다.
제57도는 SVP 시스템을 구비하는 그래픽/영상 프로세싱 시스템을 기술한 것이다. SVP 디바이스는 호스트 컴퓨터로부터 명령을 수신하고 호스트 컴퓨터와 관련된 메모리로부터 영상, 영역 겸분(Overlay)등을 수신한다. 프레임 메모리는 다른 프로세싱에 대한 재입력용 데이타의 프레임은 포획하기 위해 사용될 수 있다. SVP출력은 디지탈-아날로그 변환기에 의해 디지탈화되고 매트릭스에 의해 프로세스되며 디스플레이에 의해 디스플레이된다. 제57도의 일반 용도의 시스템은 영상상에 다양한 동작들을 수행하도록 사용될 수 있다. 시스템(57)은 대부분 동작들을 수행하도록 사용될 수 있다. 시스템(57)은 대부분 컴퓨터들 내의 그래픽 보드를 대체하도록 사용될 수 있다. 몇가지 가능한 동작은 영상(영역 겸분들) 변경 컬러들, 확대 입/출력, 필터링 도면들의(라인, 원, 보문, 등)의 스펙트럼 분석 및 생성을 조합한다.
제58도는 SVP 시스템을 구비하는 시각 검색 시스템을 도시한 것이다. 이 시스템은 검색 또는 분석된 목적을 보기 위한 비디오 카메라를 포함한다. 이 카메라는 아날로그 비디오 신호를 디지트화하는 A-대-D 변환기의 입력들에 비디오 신호를 출력하고 SVP 시스템에 디지탈 입력을 제공한다 SVP 시스템은 또한 광 디스크와 같은 메모리 또는 디스크 저장 소스로부터 저장된 영상을 구비한다. SVP는 디스플레이 또는 다른 표시기 수단 및 호스트 컴퓨터에 출력을 제공한다. 호스트 컴퓨터는 아날로그-디지탈 변환기, 메모리 및 SVP 디바이스 시스템에 신호들을 또한 제공하는 타이밍 및 제어 회로를 제어 하도록 사용된다 제58도의 가시 검색 시스템은 이것을 저장된 마스터 형상들과 비교함으로써 디바이스들의 검색을 수행할 수 있다. 이 출력은 차이를 나타내는 영상 단순히 통과/고장 표시기, 또는 보다 복잡한 보고일 수 있다. 이 시스템은 자동적으로 디바이스가 검색되었는가를 자동으로 결정한다. 다른 형태들의 감지기들은 적외선, X-선등과 같은 것으로도 사용될 수 있다. 영상들의 사전 및 사후 프로세싱은 출력을 향상시키도록 수행될 수 있다.
제59도는 SVP 시스템을 구비하는 패턴 인식 시스템을 도시한 것이다. SVP디바이스는 아날로그-디지탈 변환기의 출력으로부터의 디지트화된 입력 신호들을 수신한다. 저장된 패턴들은 또한 외부 메모리로부터 프로세싱하기 위해 SVP에 제공된다. 아날로그-디지탈 변환기 저장된 패턴 메모리 및 SVP는 제어 및 타이밍 회로로부터의 출력 신호들의 제어하에 동작된다. 이 패턴 인식 시스템은 입력 데이타와 저장된 데이타를 비교한다. 이 시스템은 가시적인 검색 시스템을 지나 진행하고 입력 데이타를 분류한다 SVP의 속도로 인해 대부분은 비교는 실시간 내에 수행될 수 있다. 데이타의 긴 순차는 분류될 수 있다. 예시적인 음성 인식 응용 기술은 제60도에 도시하였다 제60도는 8KHz의 주파수를 갖고 있는 음성 데이타 샘플을 도시한 것이다. 음성이 비교적 낮은 비율, 8KHz에서 디지트화되기 때문에, SVP는 전송된 음성 데이타상의 다수의 계산을 수행하기 위해 많은 시간을 갖는다. 1024개의 샘플 길이의 입력은 1,4 백만 명령 정도에 대응하는 프로세스 데이타에 대해 약 1/8 초를 제공한다. 부수적으로 SVP는 데이타의 다수의 라인들을 저장할 수 있으므로 단어, 구, 문장들까지를 인식한다.
제61도는 SVP를 사용하는 전형적인 레이다 프로세싱 시스템을 도시한 것이다.
검출된 레이다 신호는 안테나로부터 RF/IF 회로로 전송되고 FM/AM 출력들은 아날로그 디지탈 변환기에 제공된다. 디지트화된 출력 신호는 SVP에 의해 프로세스 되고 출력은 디스플레이에 제공되거나 메모리내에 저장된다. 이 시스템은 결과들을 저장하거나 디스플레이하는 펄스 레이다 데이타를 프로세스한다.
제62도는 동기 벡터 디바인스를 사용하는 화상 전화 시스템이다 제62도는 전송 및 수단 측면을 도시한 것이다. 비디오 카메라는 목적물을 보여주고 아날로그 신호는 아날로그 디지탈 변환기에 의해 디지탈화된다. 이 디지트화된 출력은 SVP 디바이스에 입력으로서 제공된다. 다른 이력들은 표 및 프레임 메모리의 출력을 포함한다. SVP DTMS출력은 필터 회로 내에서 필터되어 전화선에 제공된다. 수신단부상에 전화선은 디지트화된 신호가 동기 벡터 디바이스에 의해 프로세스된 곳에서 아날로그 대 디지탈 벡터에 데이타를 전송한다. 입력 신호는 프레임 메모리내의 저장된 데이타를 따라 프로세스된다. SVP 출력은 디지탈-아날로그 변환기에 의해 아날로그에서 디지탈로 변환된다. 화상 전화 시스템은 입력 영상들을 압축한 다음, DTMF 값으로서 그것을 엔 코드하여 수신기로 전환선을 통해 이를 송신한다. 신호표들은 SVP내에서 직접 톤을 발생시키도록 사용된다 수신 단부상에서, DTMF 톤들은 디지트화된 다음 검출되어 SVP내에 팽창된다.
제63a도 및 제63b도는 동기 벡터 프로세서를 사용하는 팩시밀리 시스템을 도시한 것이다. 제63도는 전송 또는 송신을 도시한 것이다 서류 주사기는 전송될 서류를 주사하고 주사된 2진 데이타는 SVP에 압력으로서 제공된다. 시간표는 SVP내에서 직접 톤을 발생시키는데 사용될 수 있다 SVP는 엔코딩 및 톤 발생을 수행한다. 톤은 필터로 출력된 다음 전화선에 제공된다. 수신 단부상에서,전화선으로부터 수신된 데이타는 아날로그 디지탈 변환기에 의해 디지탈로 변환되어 톤 검출 및 디코딩에 대한 SVP에 제공된다 디코드된 SVP 출력은 그다음, 프린터에 의해 프린트된다.
제64도는 주사된 서류들을 ASCII 파일로 변환하는 SVP를 기초로 한 서류 주사기 시스템이다 주사기 출력은 이것이 문자 표에 따라 프로세스되어 이 프로세스된 출력이 메모리내에 저장되는 곳에서 SVP에 제공된다. 서류 주사기 시스템은 FAX기와 같이 데이타를 디지트화하지만 데이타 상의 패턴 인식을 수행하여 이를 ASCⅡ포멧으로 변환한다.
이 SVP는 보안 비디오 전송에 사용될 수 있다. 이 시스템은 제65도에 도시된다.이 시스템은 입력 버퍼에 출력을 제공하는 비디오 신호 소스를 포함한다. 버퍼된 신호는 프로세싱하기 위해 SVP에 제공된다. SVP 및 입력 버퍼는 제어기의 제어하에서 동작할 수 있다. SVP로부터 엔코드된 신호는 이것이 수신기로 전송되어 다시 입력을 버퍼하여 수신 단부상에 SVP에 의해 디코드된다. 상기 시스템내의 SVP는 각각의 프로세서 소자내의 화소와 임의 상수를 곱함으로써 비디오 신호를 암호화한다. 프로세서 소자들에 대한 암호 상수들의 맵핑은 엔코딩 및 디코딩 동기벡터 프로세서들 내의 ROM 코드된 패턴에 의해 정해진다. 이 엔코더는 디코딩 SVP로 코드 워드를 전송한다. 이 코드 워드는 엔코딩 패턴의 역으로 곱함으로써 복조되도록 수신 디바이스를 변경한다. 전송된 신호의 실시는 제66도에 제공된다. SVP 칩은 핀 그리드 어레이 패키지내에 패키지된다. 제67도는 칩 패키지의 핀 아웃이다.
SVP 핀 그리드 어레이 칩 핀 아웃
SVP SE 칩에 대한 핀 명칭 및 패키지 핀 좌표는 표28에 도시하였다.
표28
신호 기술
SVP에 대한 신호 기술은 이 섹션에 제공되었다. 아래의 표29는 신호 이름,신호 형태의 핀 수, 입력인지 출력인지 여부, 및 간략한 핀 기능 기술이 있다.
[표 29]
명령 셋트 요약
다음의 섹션은 소정의 적법 서브-명령 연상의 리스트이다. 높은 레벨 명령은 이 초기치로부터 생성될 수 있다. 리스트의 지정 동작자의 좌측 값 ` = `은 수신 오퍼랜드이고 우측값은 소스 오퍼랜드이다.
수신-오퍼랜드 = 소스-오퍼랜드 타이핑을 위해 단축이 사용되고 연상에 인입할 때 소정의 동의어는 혼란을 줄이기 위해 사용된다.
데이타가 WRM의 값에 따라 변하는 서브-명령(즉, M-종속 서브-명령)은 3개의 선으로 도시하였다. 제1라인은 프로그램으로 인입된 서브-명령을 나타내고, 제2및 제3라인을 각각(WRM) =0인지(WRM) =1인지 여부에 따라 변하는 작동 결과를 나타낸다. '(WRM)'은 작동 레지스터 WRM의 내용이다. 예를 들어;
R0(n) = XR0(n) --- 어셈블리 라인으로 들어감
= PRO(n) ; (WRM) = 0 --- (WRM) = 0인 경우의 데이타 소스
= LR0(n) ; (WRM) =1 --- (WRM) = 1인 경우의 데이타 소스
명령은 8개의 카테고리로 그룹지어 진다. RF0, RF1, WRA, WRB, WRC, WRM, ALU, 및 GO. 소정의 명령은 완전하게 하기 위해 1개 이상의 카테고리로 나타난다.
레지스터 파일 RF0 / 데이타 입력 레지스터
레지스터 파일 RF1 / 데이타 출력 레지스터
작동 레지스터 WRA
작동 레지스터 WRB
작동 레지스터 WRC
작동 레지스터 WRM
전역 출력
산술 논리 유니트 (ALU)
제34도의 명령 프로그램 메모리 1258용 SVP 어레이 명령 셋트
다음 표는 모든 제법 SVP 어레이 서브-명령의 리스트이다. 도한 리스트된 것은 각각의 서브-명령용 OP 코드 및 충돌 마스크이다. 충돌 마스크는 동일한 라인의 2개의 서브-명령이 조합된 수 있는 경우를 결정하도록 어셈블러에 의해 사용된다.
상술한 모든 명령은 22-비트 어레이 OP 코드 프러스 어드레스 필드에 의해 설명된다. 이 명령들 및 IG 제어기 명령의 변수는 이 비트 및 다른 비트에서 설명된다.
아래 표에서, 다음 단축이 사용된다.
SVP 명령 발생기 명령 셋트
다음 표는 명령 발생기 플러스 단일, 대기-상태 단일, 및 2중 명령의 어레이 명령의 변수의 적법 명령 연상 및 OP 코드의 리스트이다.
IG 명령의 범례
X - 무시
b - 정지 점 포인트 비트
rrrr - 2의 복수 형태의 4-비트 반복 카운트 값
ppppppp - RF1 또는 DOR 또는 AUX 에 대한 7-비트 메모리 어드레스
nnnnnnn- RFO 또는 DIR 에 대한 7-비트 메모리 어드레스
ii..i iii iii - 부록 B로부터 어레이 명령 OP 코드
oo..o - 필드내의 모든 비트가 제로
vvvvv - IG모드 입력 핀으로부터 5-비트 값
aaaa aaaaaaa - 11-비트 점프 어드레스
cccc cc00000 - 5 LBS = 00000인 11-비트 점프 어드레스
mmmm mm - 2로 분할된 6-비트 회전 모듈. 그러므로, 회전 모듈은 그의 정수배가 되어야 한다.
유효값 : 0 =mmmmm = 63
zzzzz - 4로 분할된 5-비트 회전 단계 값. 그러므로, 회전 단계 값은 4의 정수배가 되어야 한다.
유효값 : 0= zzzzz=31
IG 명령 OP코드 :
어레이 명령
단일
대기 상태 단일
2중
아이들
점프 명령
JMP adr1 어드레스 adr1로 무조건, 점프
JMEval,adr1 MODE EQUAL로 점프. val = (모드 레지스터)일 때 adr1로 점프하거나, 다음 상태로 진행
JME adr2 MODE TABLE로 점프. (모드 레지스터)의 표 엔트리 포인트에 관련하여 adr2에서 모드표로 점프. adr2는 00000과 동일한 5 LSB를 갖는 11-비트 어드레스이다. 절대 어드레스는 (adr2AND 07EOh) + (모드 레지스터) = adr2의 표는 메인 프로그램으로 서브루틴하도록 거의 유사하게 JMP 명령을 포함하나, 소정의 명령은 표내에 사용될 수 있다. 표는 5-비트 경계에 배치되어야 한다.
플래그 검사 명령
JFAZadrl FLAG 'A' ZERO로 점프, 플래크 'A'가 제로일 때 adr1로 점프하거나, 다음 상태로 진행. 이것은 하드웨어 플래그이다.
JFBZadrl FLAG 'B' ZERO로 점프, 플래크 'B'가 제로일 때 adr1로 점프하거나, 다음 상태로 진행. 이것은 하드웨어 플래그이다.
호출/복귀 명령
CALL adr1 CALL. '복귀 레지스터'에서 현재 어드레스 플러스 1을 하고, 무조건 adr1로 점프. 이것은 단일 레벨 CALL; CALL 명령이 내포되면, RET 명령은 최종 CALL을 추종하는 명령으로 복귀한다.
RET RETURN. 어드레스로 복귀: (복귀 레지스터).
모드 레지스터 명령
UMR 모드 레지스터를 가장 최근의 값으로 갱신. IG는 타이밍 발생기 및 마스터 제어기와 비동기로 작동. 그러므로, 예측가능 시간에서 새로운 모드 값을 얻는데 필요하다. 외부 회로(통상적으로 수직 타이밍 발생기)는 소정의 시간에서 IG의 일시 모드 레지스터를 갱신하나, 상기 값은 UMR 명령이 실행될 때까지 IG 명령에 악영향을 미치지 않는다. 상기 값은 다음 UMR 명령이 실행될 때까지 유효 상태로 유지된다.
전역 회전 명령
LRMOmod,rotRFO용 으로드 회전 모듈 레지스터, RFO의 메모리 영역은 어드레스 제로와 mod-1 사이에 전역 회전 메모리로써 선언될 수 있다. mod는 전역 회전 모듈이고, 0,2,4,.....,122,124,126의 유효 값을 갖는다. 명령 GRLO가 실행될 때, 전역 회전 공간내의 메모리는 rot 비트 만큼 회전된다. rot 는 0, 4,8,...,116,120,124의 유효 값을 갖는다.
LRM1 mod, rot RF1용 으로드 회전 모듈 레지스터. RF1의 메모리 영역은 어드레스 제로와 mod-1 사이에 전역 회전 메모리로써 선언될 수 있다. mod는 전역 회전 모듈이고, 0,2,4,...,122,124,126의 유효 값을 갖는다. 명령 GRL1이 실행될 때, 전역 회전 공간내의 메모리는 rot 비트만큼 회전된다. rot는 0,4,8,....,116,120,124의 유효 값을 갖는다.
GRLO 전역 회전 좌측 RFO 모듈로 mod 단계 rot,mod및 rot는 LRMI 명령에 의해 정해진다.
GRL1 전역 회전 좌측 RF1 모듈로 mod 단계 rot,mod및 rot는 LRMO 명령에 의해 정해진다.
마스터 제어기(MC)의 명령 셋트
OUT 출력 제어 신호.
MC는 OUT명령 후에 이 실행을 중지시키고, FSYNC인입시 이 실행을 재-개시한다.
TBOUT 출력 테이블되는 제어 신호. 테이블은 최대16 OUT명령으로 구성되어야 한다. OUT명령들중 한개의 명령은 COMB의 내용에 의해 선택된다.
수신 테이블은 16의 경계에 배치되어야 한다.
JMP lable로 점프.
TCMA COMA를 검사 COMA가 C와 동일하면, lable로 점프.
COMA가 C와 동일하지 않으면, 다음 명령을 실행.
수신은 4의 경계에 배치되어야 한다.
TXF 10 플래그 1 및 플래그 0를 검사.[((C XNOR 플래그 1) OR m)AND((d XNOR 플래그 0)OR n)]인 경우 점프. 플래그 1 및 플래그 0가 cd와 동일하면, label로 점프.
플래그 1 및 플래그 0가 cd와 동일하지 않으면, 다음 명령을 실행.
플래그 검사는 ,m에 의해 마스크된다.
0 = 검사, 1 = 마스크.
수신은 4의 경계에 배치되어야 한다.
TXF 32 플래그 3 및 플래그 2를 검사.[((C XNOR 플래그 3) OR m)AND((d XNOR 플래그 2)OR n)]인 경우 점프. 플래그 3 및 플래그 2가 cd와 동일하면, label로 점프.
플래그 3 및 플래그 2가 cd와 동일하지 않으면, 다음 명령을 실행.
플래그 검사는 mn에 의해 마스크된다.
수신은 4의 경계에 배치되어야 한다.
ALIGN2 다음 4x N(N은 정수) 어드레스로부터 다음 명령을 발생.
ALIGN4 다음 16x N(N은 정수) 어드레스로부터 다음 명령을 발생.
파일 입력 파일
목적 파일
리스팅 파일
명령 포맷; 2진 정수
8진 정수
10진 정수
16진 정수
기호
지시; .PAGE
.TITLE String
.WIDTH width
.COPY file name
.END
.SETvalue
.ASECT
*1 TCMA, TCMB, TXF10 및 TXF32는 2개의 LSB = 00인 어드레스로만 점프할 수 있다. 어셈블리는 이것을 이해해야 하고, 정확한 경계에 label을 배정한다.
*3 TBOUT는 4개의 LSB = 0000인 어드레스만을 지목할 수 있다. 이 4개의 LSB는 COMB로 대치된다. 어셈블리는 이것을 이해해야 하고, 정확한 경계에 label을 배정한다.
*4 c = 1+INTEGER(b/4)
본 발명은 지터로 인해 수평 라인 간격이 변화하는 입력 데이타 또는 수평 블랭킹 기간없이 연속적으로 수신되는 입력 데이타를 다루는 문제를 해결할 수 있는 이점을 가진다. 본 발명의 여러가지 실시예가 하드웨어, 소프트웨어 또는 마이트로코드된 펌웨어를 사용할 수 있다는 것을 알아야 한다. 본 명세서의 프로세스 및 상태전이도는 마이크로코드화되고 소프트웨어 기초한 실시예의 다이어그램을 또한 나타낸다. 접속 및 결합은 오옴, 직류, 정전성 디지탈, 아날로그 인터페이싱, 전자기, 광학 또는 다른 적합한 수단에 의해 실행될 수 있다. 도시한 실시예를 참고하여 본 발명을 설명하였으나, 본 설명은 제한된 의미로 구성되지는 않았다. 본 발명의 다른 실시예 뿐만 아니라 도시한 실시예의 여러가지 변형 및 조합은 본 명세서를 참고한 분 분야에 숙련된 기술자들에겐 명확하다. 그러므로, 첨부한 특허 청구의 범위는 본 발명의 범위내의 실시예 또는 소정의 변형을 커버한다.

Claims (9)

  1. 중지(pause)또는 수평 블랭킹 기간없이 신호를 수신하는 데이타 프로세싱 입력회로에 있어서 : 선택된 컴럼에 M 비트의 데이타 워드를 입력하기 위한 M 비트 와이드 입력 포트와 선택된 로우로부터 N 비트의 데이타 워드를 출력하기 위한 N 비트 와이드 출력 포트를 가지며, N 개 컬럼 M 개 로우의 비트들로 구성된 데이타를 저장하는 듀얼 포트 데이타 입력 레지스터 ; 상기 데이타 입력 레지스터에 접속되어, M 비트 데이타 워드의 입력을 위해 상기 데이타 입력 레지스터의 한 컬럼을 연속적이며 주기적으로 선택하는 시퀀스 링카운터; N 개 컬럼 J개 로우로 구성된 데이타를 저장하는 레지스터 파일 -상기 레지스터 파일에 저장된 데이타느 데이타 프로세싱 장치에 의해 억세스 가능함-; 복수 개의 세그먼트들로 된 상기 데이타 입력 레시스터와 상기 레지스터 파일에 접속된 데이타 전송 회로- 상기 각 세그먼트는 상기 데이타 입력 레지스터와 상기 레지스터 파일의 연속적인 컬럼들의 선정된 서브세트로 구성되고, 상기 데이타 전송 회로는 연속적인 세크먼트들의 반복적인 시퀀스로 선택된 세그먼트의 모든 컬럼들에 대해 상기 데이타 입력 레지스터의 선택된 로우로부터 상기 레지스터 파일의 선택된 로우에 데이타를 전송하고, 상기 시퀀스 링 카운터에 동기하여 데이타를 전송함으로써, 상기 입력 포트를 통하여 상기 데이타 입력 레지스터에 데이타를 입력하기 위해 시퀀스 링 카운터에 의해 선택된 상기 컬럼을 포함하는 상기 선택된 세그먼트와는 다른 세크먼트로부터 상기 출력 포트를 거쳐 상기 데이타 입력 레지스터로부터 데이타가 출력됨- 를 포함하며,상기 데이타 저송 회로는 데이타 전송 트랜지스터들의 복수의 N개 세트- 상기 데이타 전송 트랜지스터들의 각 세트는 상기 데이타 입력 레지스터의 선정된 컬럼과 상기 레지스터 파일의 대응되는 컬럼에 결합되고, 상기 데이타 레지스터 파일의 상기 선정된 컬럼의 상기 선택된 로우에 상기 데이타 입력 레지스터의 상기 선정된 컬럼의 상기 선택된 로우를 접속하도록 제어 가능함-, 및 상기 테이타 레지스터 파일의 상기 선정된 컬럼의 상기 선택된 로우에 상기 데이타 입력 레지스터의 상기 선정된 컬럼의 상기 선택된 로우를 접속하도록 상기 선택된 세그먼트의 상기 데이타 전송 트랜지스터들의 세트들을 제어함으로써 상기 세그먼트들 중 데이타 전송을 위한 세그먼트를 연속적이며 반복적으로 선택하도록 상기 데이타 전송 트랜지스터들의 복수의 N개 세트에 접속된 세그먼트 제어 회로를 포함하고; 복수의 N개 감지 증폭기들 -각 감지 증폭기는 상기 데이타 입력 레지스터의 상기 선택된 로우의 대응되는 컬럼에 접속된 제1입력 및 제2입력을 가짐- 를 포함하되; 상기 데이타 전송 트랜지스터들의 각 세트는 상기 데이타 입력 레지스터의 상기 선택된 로우의 상기 대응되는 컬럼과 상기 대응되는 감지 증폭기의 상기 제1입력 사이에 접속된 소오스 및 드레인을 가지는 제1 전계 효과 트랜지스터 및 상기 데이타 입려 레지스터의 상기 선택된 로우의 상기 대응되는 컬럼과 상기 대응되는 감지 증폭기의 상기 제2 입려 사이에 접속된 소오스 및 드레인을 가지는 제2 전계 효과 트랜지스터들로 구성되고, 상기 제1 및 제2 전계효과 트랜지스터들은 각기 세그먼트들에 의해 공통 접속된 게이트를 가지는 것을 특징으로 하는 데이타 프로세싱 입력 회로.
  2. 중지 또는 수평 블랭킹 기간 없이 신호를 수신하는 데이타 프로세싱 입력 회로에 있어서 : 선택된 컬럼에 M 비트의 데이타 워드를 입력하기 위한 M 비트 와이드 입력포트와 선택된 로우로부터 N 비트의 데이타 워드를 출력하기 위한 N 비트 와이드 출력 포트를 가지며 N개 컬럼의 M개 로우의 비트들로 구성된 데이타를 저장하는 듀얼 포트 데이타 입력 레지스터; 상기 데이타 입력 레지스터에 접속되어 M 비트 데이타 워드의 입력을 위해 상기 데이타 입력 레지스터의 한 컬럼을 연속적이며 주직적으로 선택하는 시퀀스 링카운터; N개의 컬럼의 J개의 로우로 구성된 데이타를 저장하는 레지스터 파일- 상기 데이타는 데이타 프로세싱 장치에 의해 억세스 가능한 레지스터 파일 내에 저장됨-; 복수 개의 세그먼트들로 된 상기 데이타 입력 레지스터와 상기 레지스터 파일에 접속된 데이타 전송 회로 - 상기 각 세그먼트는 상기 데이타 입력 레지스터와 상기 레지스터 파일의 연속적인 컬럼들의 선정된 서브세트로 구성되고, 상기 데이타 전송 회로는 연속적인 세그먼트들의 반복적인 시퀀스로 선택된 세그먼트의 모든 컬럼들에 대해 상기 데이타 입력 레지스터의 선택된 로우로부터 상기 레지스터 파일의 선택된 로우에 데이타를 전송하고, 상기 시퀀스 링 카운터에 동기하여 데이타를 전송함으로써, 상기 입력 포트를 통하여 상기 데이타 입력 레지스터에 데이타를 입력하는 시퀀스 링 카운터에 의해 선택된 상기 컬럼을 포함하는 상기 선택된 세그먼트와는 다른 세그먼트로부터 상기 출력 포트를 거쳐 상기 데이타 입력 레지스터로부터 데이타가 출력됨- 를 포함하며, 상기 데이타 전송 회로는 데이타 전송 트랜지스터들의 복수의 N개 세트 -상기 데이타 전송 트랜지스터들의 각 세트는 상기 데이타 입력 레지스터의 선정된 컬럼과 상기 레지스터 파일의 대응되는 컬럼에 결합되고, 상기 데이타 레지스터 파일의 상기 선정된 컬럼의 상기 선택된 로우에 상기 데이타 입력 레지스터의 상기 선정된 컬럼의 상기 선택된 로우를 접속하도록 제어 가능함- , 및 상기 데이타 레지스터 파일의 상기 선정된 컬럼의 상기 선택된 로우에 상기 데이타 입력 레지스터의 상기 선정된 컬럼의 상기 선택된 로우를 접속하도록 상기 선택된 세그먼트의 상기 데이타 전송 트랜지스터들의 세트들을 제어함으로써 상기 세그먼트들 중 데이타 전송을 위한 세그먼트를 연속적이며 반복적으로 선택하도록 상기 데이타 전송 트랜지스터들의 복수의 N개 세트에 접속된 세그먼트 제어 회로를 포함하고; 분리 트랜지스터의 복수의 N개 세트들 - 분리 트랜지스터들의 각 세트는 데이타 전송 트랜지스터들의 선정된 세트에 결합되고, 상기 데이타 레지스터 파일의 상기 선정된 컬럼의 상기 선택된 로우에 선정된 디지탈 데이타를 공급하도록 제어 가능함-를 포함하고 ; 상기 세그먼트 제어 회로는 데이타 전송용으로 선택되지 않은 세그먼트들에 대한 상기 데이타 레지스터 파일의 상기 선정된 컬럼의 상기 선택된 로우에 상기 선정된 디지탈 데이타를 공급하도록 각 세그먼트의 상기 분리 트랜지스터들의 세트를 제어하기 위하여 상기 분리 트랜지스터들의 복수 개의 세트들에 접속되는 것을 특징으로 하는 데이타 프로세싱 입력 회로.
  3. 제2항에 있어서, 상기 데이타 전송 회로는 복수의 N개 감지 증폭기들 - 각 감지 증폭기는 상기 데이타 입력 레지스터의 상기 선택된 로우의 대응되는 컬럼에 접속된 제1 및 제2 입력을 가짐- 를 더 포함하고, 상기 데이타 전송 트랜지스터들의 각 세트는 상기 데이타 입력 레지스터의 상기 선택된 로우의 상기 대응되는 컬럼과 상기 대응되는 감지 증폭기의 상기 제1 입력 간에 접소된 소오스 및 드레인을 가지는 제1 전계 효과 트랜지스터 및 상기 데이타 입력 레지스터의 상기 선택된 로우의 상기 대응되는 컬럼과 상기 대응되는 감지 증폭기의 상기 제2 입력 간에 접속된 소오스 및 드레인을 가지는 제2 전계 효과 트랜지스터로 구성되고, 상기 제1 및 제2 전계 효과 트랜지스터들은 각기 세그먼트들에 의해 공통 접속된 게이트를 가지고, 상기 분리 트랜지스터들의 각 세트는상기 대응되는 감지 증폭기의 상기 제1 입력에 접속된 소오스와 접지에 접속된 드레인을 가지는 제3 전계 효과 트랜지스터 및 상기 대응되는 감지 증폭기의 상기 제2 입력에 접속된 소오스와 선정된 전압에 접속된 드레인을 가지는 제4 전계 효과 트랜지스터로 구성되고, 상기 제3 및 제4 전계 효과 트랜지스터들은 각기 세그먼트들에 의해 공통 접속된 게이트를 가지는 것을 특징으로 하는 데이타 프로세싱 입력 회로.
  4. 데이타 플세싱 장치에 있어서: 선택된 컬럼에 M 비트의 데이타 워드를 입력하기 위한 M 비트 와이드 입력 포트와 선택된 로우로부터 N 비트의 데이타 워드를 출력하기 위한 N 비트 와아드 출력 포트를 가지며 N개 컬럼 M개 로우의 비트로 구성된 데이타를 저장하는 듀얼 포트 데이타 입력 레지스터; 상기 데이타 입력 레지스터에 접속되어, M 비트 데이타 워드의 입력을 위해 상기 데이타 입력 메모리의 한 컬럼을 연속적이며 주기적으로 선택하는 제1 시퀀스링 카운터; N개 컬럼 J개 로우로 구성된 데이타를 저장하는 제1 레지스터 파일; 복수 개의 입력 세그먼트들로 된 상기 데이타 입력 레지스터와 상기 제1 레지스터 파일에 접속된 제1 데이타 전송 회로 -상기 각 입력 세그먼트는 상기 데이타 입력 레지스터와 상기 제1 레지스터 파일의 연속적인 컬럼들의 선정된 서브세트로 구성되고, 상기 제1 데이타 전송 회로는 연속적인 입력 세그먼트들의 반복적인 시퀀스로 각 입력 세그먼트의 모든 컬럼들에 대해 상기 데이타 입력 레지스터의 선택된 로우로부터 상기 제1 레지스터 파인의 선택된 로우로 데이타를 전송하고, 상기 제1 시퀀스 링 카운터에 동기하여 데이타를 전송함으로써, 상기 입력 포트를 통하여 상기 데이타 입력 레지스터에 데이타가 입력되어, 상기 풀력 포트를 통하여 출력된 데이타를 가지는 입력 세그먼트와는 다른 입력 세그먼트에 입력됨-; N개 컬럼 I 개 로우로 구성된 데이타를 저장하는 제2 레지스터 파일; 선택된 컬럼에 K 비트의 데이타 워드를 출력하기 위한 K 비트 와이드 출력 포트와 선택된 로우로부터 N 비트의 데이타 워드를 입력하기 위한 N 비트 와이드 입력 포트를 가지며 N 컬럼 K 로우의 비트들로 구성된 데이타를 저장하는 듀얼 포트 데이타 출력 레지스터; 상기 데이타 출력 레지스터에 접속되어, M 비트 데이타 워드를 출력하기 위해 상기 데이타 출력 메모리의 한 컬럼을 연속적이며 주기적으로 선택하기 위한 제2 시퀀스 링 카운터; 복수 개의 출력 세그먼트들로 된 상기 제2 레지스터 파일과 상기 데이타 출력 레지스터에 접속된 제2 데이타 전송 회로 -각 출력 세그먼트는 상기 데이타 출력 레지스터와 상기 제2 레지스터 파일의 연속적인 컬럼들의 선정된 서브세트로 구성되고, 상기 제2 데이타 전송 회로는 연속적인 세그먼트들의 반복적인 시퀀스로 각 세그먼트의 모든 컬럼들에 대해 상기 제2 레지스터 파일의 선택된 로우로부터 상기 데이타 출력 레지스터의 선택된 로우에 데이타를 전송하고, 상기 제2 시퀀스 링 카운터에 동기하여 데이타를 전송함으로써, 상기 입력 포트를 통하여 입력된 데이타를 가지는 세그먼트와는 다른 세그먼트로부터 상기 출력 포트를 통하여 상기 데이타 출력 레지스터로부터 데이타가 출력됨-; 복수의 N개 싱글 비트 프로세싱 소자들 - 상기 각 프로세싱 소자는 상기 제1 및 제2 레지스터 파일들의 선정된 컬럼에 접속되고 프로그램 제어하에서 상기 제1 및 제2 레지스터 파일들의 상기 선정된 컬럼의 선택된 로우들에 그리고 그 로우들로부터의 데이타 전송을 포함하는 데이타 프로세싱 동작을 할 수 있는 것을 특징으로 하는 데이타 프로세싱 장치
  5. 제4항에 있어서, 연속적인 아날록 데이타의 소오스; 상기 아날로그 데이타를 디지탈화하여 그 디지탈 데이타를 상기 데이타 입력 레지스터의 상기 입력 포트에 공급하도록 상기 데이타 입력 레지스터와 상기 연속 적인 아날로그 데이타의 소오스에 접속된 아날로그- 디지탈 변환 회로를 더 포함하는 것을 특징으로 하는 데이타 프로세싱 장치.
  6. 제4항에 있어서, 상기 복수 개의 제1 세그먼트들은 상기 컬럼들의 절반을 각기 포함하는 2개의 제1세그먼트들로 구성되고, 상기 제2 데이타 전송 회로는 교호적인 제1 세그먼트들의 모든 컬럼들에 대해 상기 데이타 입력 레지스터의 선택된 로우로부터 상기 레지스터 파일의 선택된 로우에 테이타를 전송하고; 상기 복수 개의 제2 세그먼트들은 상기 컬럼들의 절반을 을 각기 포함하는 2개의 제2 세그먼트들로 구성되고, 상기 제1 데이타 전송 회로는 교호적인 제2 세그먼트들의 모든 컬럼들에 대해 상기 제2 레지스터 파일의 선택된 로우로부터 상기 데이타 출력 레지스터 파일의 선택된 로우에 데이타를 전송하는 것으 특징로 하는 데이타 프로세싱 장치.
  7. 연속적으로 공급되는 디지탈 데이타의 스트림을 수신하는 방법에 있어서: 제1 메모리 포트를 통하여 두얼 포트 메모리의 연속적이며 주기적인 메모리 위치에 상기 디지탈 데이타를 저장하는 단계; 상기 듀얼 포트 메모리를 복수 개의 세그먼트들 - 각 세그먼트는 복수 개의 연속적인 메모리 위치들을 포함함- 로 분한하는 단계; 상기 듀얼 포트 메모리의 제2 메모리 포트로부터 메모리 위치들로부터 동일 수의 메모리 위치들을 가진 레지스터 파일에 선택된 세그먼트의 연속 사이클로 디지탈 데이타를 전송하는 단계-상기 디지탈 데이타를 전송하는 것은 상기 디지탈 데이타를 저장하는 것과는 다른 세그먼트로부터 발생됨- ; 를 포함하되, 상기 듀얼 포트 메모리의 제2 메모리 포트로부터 특정 세그먼트용 레지스터 파일로 디지탈 데이타를 전송하는 상기 단계는 상기 선택된 세그먼트 이외의 세그먼트들의 메모리 위치에 대한 상기 레지스터 파일에 선정된 디지탈 데이타를 전송하는 단계를 더 포함하고 ; 상기 듀얼 포트 메모리의 제2메모리 포트로부터 레지스터 파일로 디지탈 데이타를 전송하는 상기 단계는 상기 선택된 세그먼트의 메모리 위치와 상기 선택된 세그먼트 이외의 세그먼트들용 선정된 디지탈 데이타로부터 상기 레지스터 파일의 서로 다른 로우에 데이타를 연속적이며 주기적으로 전송하는 단계를 더 포함하며, 상기 방법은 상기 레지스터 파일의 서로 다른 로우들에 저장된 디지탈 데이타를 결합하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. (신설) 제7항에 있어서, 상기 듀얼 포트 메모리의 제2 메모리 포트로부터 레지스터 파일로 디지탈 데이타를 전송하는 상기 단계의 상기 선택된 세그먼트 이외의 세그먼트용 선정된 디지탈 데이타는 디지탈 0이고 ; 상기 레지스터 파일의 서로 다른 로우들에 저장된 디지탈 데이타를 결합하는 상기 단계는 디지탈 데이타를 OR 연산하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. (신설) 제7항에 있어서, 상기 듀얼 포트 메모리의 제2 메모리 포트로부터 레지스터 파일로 디지탈 데이타를 전송하는 상기 단계의 선택된 세그먼트 이외의 세그먼트들용 선정된 디지탈 데이타는 디지탈 1이고, 상기 레지스터 파일의 서로 다른 로우들에 저장된 디지탈 데이타를 결합하는 상기 단계는 디지탈 데이타를 AND 연산하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1019900016358A 1989-10-13 1990-10-13 동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법 KR100224054B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US42149689A 1989-10-13 1989-10-13
US42149389A 1989-10-13 1989-10-13
US42147289A 1989-10-13 1989-10-13
US421496 1989-10-13
US421472 1989-10-13
US421493 1989-10-13

Publications (2)

Publication Number Publication Date
KR910009090A KR910009090A (ko) 1991-05-31
KR100224054B1 true KR100224054B1 (ko) 1999-10-15

Family

ID=27411313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900016358A KR100224054B1 (ko) 1989-10-13 1990-10-13 동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법

Country Status (4)

Country Link
EP (1) EP0422965B1 (ko)
JP (1) JP3412817B2 (ko)
KR (1) KR100224054B1 (ko)
DE (1) DE69030706T2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3458518B2 (ja) * 1994-08-30 2003-10-20 ソニー株式会社 並列プロセッサ
EP0700180A1 (de) * 1994-08-31 1996-03-06 STUDER Professional Audio AG Vorrichtung zur Bearbeitung von digitalen Audio-Signalen
JPH08194679A (ja) * 1995-01-19 1996-07-30 Texas Instr Japan Ltd ディジタル信号処理方法及び装置並びにメモリセル読出し方法
GB2348974B (en) * 1999-04-09 2004-05-12 Pixelfusion Ltd Parallel data processing systems
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
GB2349484A (en) * 1999-04-09 2000-11-01 Pixelfusion Ltd Parallel data processing system with SIMD array
US7506136B2 (en) 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
US7802079B2 (en) 1999-04-09 2010-09-21 Clearspeed Technology Limited Parallel data processing apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4630240A (en) * 1984-07-02 1986-12-16 Texas Instruments Incorporated Dynamic memory with intermediate column derode
US4685089A (en) * 1984-08-29 1987-08-04 Texas Instruments Incorporated High speed, low-power nibble mode circuitry for dynamic memory
JPS61160898A (ja) * 1985-01-05 1986-07-21 Fujitsu Ltd 半導体記憶装置
EP0317218B1 (en) * 1987-11-13 1998-01-28 Texas Instruments Incorporated Serial video processor and method
EP0444368B1 (en) * 1990-02-28 1997-12-29 Texas Instruments France Digital Filtering with SIMD-processor

Also Published As

Publication number Publication date
JP3412817B2 (ja) 2003-06-03
EP0422965A3 (en) 1993-09-22
KR910009090A (ko) 1991-05-31
JPH0437949A (ja) 1992-02-07
DE69030706D1 (de) 1997-06-19
EP0422965B1 (en) 1997-05-14
EP0422965A2 (en) 1991-04-17
DE69030706T2 (de) 1997-12-11

Similar Documents

Publication Publication Date Title
US5598545A (en) Circuitry and method for performing two operating instructions during a single clock in a processing device
US5628025A (en) Timing and control circuit and method for a synchronous vector processor
US5210836A (en) Instruction generator architecture for a video signal processor controller
US5163120A (en) Second nearest-neighbor communication network for synchronous vector processor, systems and methods
US5539891A (en) Data transfer control circuit with a sequencer circuit and control subcircuits and data control method for successively entering data into a memory
US5694588A (en) Apparatus and method for synchronizing data transfers in a single instruction multiple data processor
US5408673A (en) Circuit for continuous processing of video signals in a synchronous vector processor and method of operating same
KR100283161B1 (ko) 모션 평가 코프로세서
EP0390818B1 (en) Pixel interpolation circuitry as for a video signal processor
US4821121A (en) Electronic still store with high speed sorting and method of operation
US5680600A (en) Electronic circuit for reducing controller memory requirements
US5105387A (en) Three transistor dual port dynamic random access memory gain cell
KR100224054B1 (ko) 동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법
US5327541A (en) Global rotation of data in synchronous vector processor
KR0184865B1 (ko) 데이타 프로세싱 디바이스
Chin et al. The Princeton Engine: A real-time video system simulator
US5452425A (en) Sequential constant generator system for indicating the last data word by using the end of loop bit having opposite digital state than other data words
CA1309185C (en) Stored-program controller with a conditional branch facility as for a video signal processor
JPS6248892A (ja) テレビジヨン信号の記憶装置
US5689592A (en) Parallel processing of digital signals in a single arithmetic/logic unit
EP0122094B1 (en) Electronic still store with high speed sorting and method of operation
KR100199073B1 (ko) 동기 벡터 프로세서 내의 신호 파이프라이닝
KR0179362B1 (ko) 비디오 신호 프로세서 제어기용 명령 발생기 아키텍쳐
US5293637A (en) Distribution of global variables in synchronous vector processor
US6122767A (en) Method and apparatus for noise reduction of cyclic signal by selecting majority logic state of corresponding portions of plural cycles

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
FPAY Annual fee payment

Payment date: 20090630

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee