KR100199073B1 - 동기 벡터 프로세서 내의 신호 파이프라이닝 - Google Patents
동기 벡터 프로세서 내의 신호 파이프라이닝 Download PDFInfo
- Publication number
- KR100199073B1 KR100199073B1 KR1019900016355A KR900016355A KR100199073B1 KR 100199073 B1 KR100199073 B1 KR 100199073B1 KR 1019900016355 A KR1019900016355 A KR 1019900016355A KR 900016355 A KR900016355 A KR 900016355A KR 100199073 B1 KR100199073 B1 KR 100199073B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- data
- input
- line
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8092—Array of vector units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/775—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02B—INTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
- F02B75/00—Other engines
- F02B75/02—Engines characterised by their cycles, e.g. six-stroke
- F02B2075/022—Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
- F02B2075/027—Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/641—Multi-purpose receivers, e.g. for auxiliary information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
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)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Color Television Systems (AREA)
- Advance Control (AREA)
Abstract
다수의 1-비트 프로세서 소자(150)을 갖고 있는 동기 벡터 프로세서 SVP 디바이스(102)는 선형 어레이로 구성된다. 프로레서 소자는 병렬 프로세싱 디바이스로서 작동을 할 수 있도록 순차기, 상태 머신 또는 제어 회로(제어기)(128)에 의해 공통으로 모두 제어된다. 각각의 프로세서 소자(150)은 한 셋트의 입력 레지스터(154), 2셋트의 레지스터 파일(158, 166), 한 셋트의 작동 레지스터(162), 1-비트 전가산기/감산기를 포함하는 산술 논리 유니트(164) 및 한 셋트의 출력 레지스터(168)을 포함한다. 비디오 적용시, 각각의 프로세서(150)은 1개의 화소의 수평 주사 라인 상에 동작하고 비디오 신호의 실시간 디지탈 프로세싱을 수행할 수 있다. SVP 디바이스 내에 내장된 것은 어드레스, 데이타 제어 신호들의 파이프라이닝을 인에이블하는 입력 회로이다. 이 회로는 다수의 래치들(1452) 및 신호 코딩 및 디코딩 회로(1440, 1448)을 포함한다.
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
본 발명은 일반적으로 단일 명령, 다중 데이타 프로세서에 관한 것이다. 보다 상세히 말하면, 본 발명은 선명도가 향상된 텔레비전 (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년 11월 13일자 pp.217-226 및 1985년 1월 10일자 pp. 349-356호에 발표되었다.
동기 벡터 프로세서를 갖는 실시간 비디오 신호는 유입하는 비디오 신호가 극히 고속에서 수신되어 프로세스되어야 하는 것을 필요로 한다. 제어신호들, 명령신호들을 SVC 코어 프로세서들에 제공하는 것이 시간 소모의 큰 부분을 차지한다. 예를 들어, 이것은 다음 명령이 제공되기 전에 마이크로 프로세서가 이미 입력된 명령을 수행하는 것을 통상적으로 필요로 한다. 이것은 순차내의 다음 명령이 종종 결과 의존성이기 때문에 종종 명령들의 점핑 및 분기를 요한다. 효과적으로, 마이크로 프로세서는 이전의 명령상에 기초로 한 명령 순차를 점프할 수 있다. 그러므로, 파이프라이닝은 드물게 사용된다. 이것이 사용된 경우, 파이프라인된 명령들은 점프가 수행되기 전에 열의 외부를 비워야한다.
본 동기 벡터 프로세서는 단일 명령 다중 데이타(SIMD) 디바이스이고 따라서 동작시 거의 유사하다. 특히, 어레이내의 모든 프로세서들은 동일한 명령 라인들을 사용하고, 그러므로, 어레이 내의 각각의 프로세서가 분기 명령들을 수행하는 것이 가능하지 않다. 부수적으로, 여기에는 통상적으로 전체로서 프로세서들 상에 수행된 분기는 존재하지 않는다. 분기의 부족의 측면에 있어서, SVP는 명령들 등의 제어기 파이프라이닝을 시스템 속도 상승시에 사용하는 것이 특히 적합하다.
요약하면, 한 실시예에서, 본 발명은 입력 신호들을 수신하여 디코딩 하고 다수의 상호 배타적으로 코드화된 신호 요소들을 신호 출력으로서 제공하는데, 상기 신호 출력들의 수가 상기 신호 입력들에 수학적으로 비례하는 다수의 입력 신호들을 갖고 있는 요소 발생수단, 상기 코드화된 신호 요소들 및 출력 라인들의 각각에 대해 신호 입력을 갖고 있고 상기 신호 라인들 상의 상기 신호 요소들의 디코드된 출력들을 제공하기 위해 상기 코드화된 신호에 응답하여 동작 가능한 디코딩 수단, 상기 각각의 출력 라인을 경유하여 상기 디코딩 수단들로부터 수신된 디코드된 신호를 저장하기 위한 상기 출력 라인들 중 한 라인에 접속된 입력을 각각 갖고 있고 상기 프로세서 디바이스 입력들 중 한 입력에 접속된 출력 라인을 갖고 있는 다수의 신호 래치들을 포함한다.
이하, 동일 요소에 동일 번호를 붙인 첨부한 도면을 참조하여 본 발명의 특징 및 장점을 상세히 설명한다.
양호한 실시예의 동기 벡터 프로세서(Synchronous Vector Processor; SVP)는 선명도가 향상되고 확대된 텔레비전(IDTV 및 EDTV)에서 유용한 3-D 알고리즘을 실시간에서 실행할 수 있는 범용 마스크-프로그램가능 단일 명령, 다중 데이타, 감소된 명령 셋트 계산(SIMD-RISC) 디바이스이다. 본 발명의 SVP를 양호한 실시예에서 비디오 신호 프로세싱에 대해 설명하였으나, 특정 필터 또는 기능이 아닌 다수의 상이한 적용시 양호하게 동작하는 SVP의 하드웨어는 상기 구조물에 포함된다. 일반적으로, SVP는 다수의 인입 데이타가 병렬로 프로세스되는 소정의 상황에서 사용될 수 있다.
비디오 신호 프로세싱과 같은 전형적인 적용시, 입력 및 출력층을 데이타 소스(비디오 카메라, VCR, 수신기 등등) 및 데이타 싱크(래스터 디스플레이)과 각각 동기로 동작된다. 동시에, 계산층은 팩킷(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)에 입력용으로 라인(118) 상에 제공된다.
프로세서(102)는 라인(118) 상에 제공된 디지탈 비디오 신호를 프로세스하고 라인(170) 상에 프로세스된 디지탈 신호를 제공한다. 다음, 프로세스된 비디오 신호는 표준형 아날로그 비디오 회로(108)에 라인(126)을 통해 제공되기 전에 디지탈-아날로그 변환기(124)에 의해 아날로그로 변환된다. 비디오 신호들은 비디오 테이프 레코더(134)와 같이 레코드되거나 다른 비표준 신호 소스로부터 아날로그-디지탈 변환기(116)에 제공될 수 있다. VCR 신호는 라인(136) 및 바이 패스 튜너(112)에 제공된다. 프로세서(102)는 예시적으로 텍사스 인스트루먼츠 모델 번호 TMS4C1060 필드 메모리 디바이스인 필드 메모리(120)내에 한개(또는 그 이상)의 비디오 프레임을 저장할 수 있다. 필드 메모리(120)은 제어기(128)로부터 라인(138 및 140)의 제어 및 클럭킹을 수신한다.
라인(114) 상의 비디오 신호 입력은 예를 들어 14.32 MHz(컬러 서브캐리어 주파수 3.58 MHz x 4)의 샘플링 비에서 아날로그-디지탈 변환기(116)에 의해 8-비트 디지탈 비디오 데이타로 변환된다. SVP(102)에 전체 40개의 입력 라인이 있다. 상술한 바와 같이, 디지탈 비디오 신호용으로 8개의 라인이 사용된다. 다른 라인들은 프레임 메모리 출력, 교호 TV 소스, 동등의 경우에 입력으로서 사용된다. 디지탈-대-아날로그 변환기(124)는 또한 8-비트 프로세서 출력을 아날로그로 변환시키도록 14.32 MHz의 비율로 재구성된다. 나머지 출력 라인들은 다른 신호용으로 사용될 수 있다. 다른 방법으로는, 디지탈-아날로그 변환기(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 x 1로 구성된 40-비트 데이타 입력 레지스터(DIR)(154); 128 x 1로 구성된 제1 128-비트 레지스터 파일(RFO)(158); 동작 레지스터(A, B, C 및 M)(162); 1-비트 전(full) 가산기/감산기를 포함하는 산술 논리 유닛(164); 128 x 1로 구성된 제2 128-비트 레지스터 파일(RFI)(166); 및 24 x 1로 구성된 24-비트 데이타 출력 레지스터(DOR)(168)을 포함한다. 제3도에 도시한 프로세서(102)는 DIR/RFO 레지스터(154/158) 및 동작 레지스터(A, B, C 및 M)(162)와 산술 논리 유닛(164) 사이에 데이타의 판독 및 기입을 제어하기 위한 제1판독/기입 회로(156)을 포함한다. 제2판독/기입 회로(167)은 DOR/RFl 레지스터(166/168) 및 동작 레지스터(A, B, C 및 M)(162)와 산술 논리 유닛(164) 사이에 데이타의 판독 및 기입을 제어하기 위해 제공된다.
PE내에서의 데이타 흐름은 입력, 출력 및 계산을 모두 동시에 수행하는, 3개층 또는 파이프라인 단계에서 파이프라인된다. 입력층에서, 데이타 입력 레지스터(DIR)는 데이타 워드 직렬의 팩킷을 포착하거나 누산(accumulates)한다. 계산층에서, 프로그램된 동작들은 워드당 프로세서를 통해 이미 포착된 팩킷의 모든 소자에서 동시에 수행된다. 출력층은 다시 워드 직렬로 데이타 출력 레지스터(DOR)로부터 출력 핀에 또 다른 팩킷을 전송한다.
계산층 파이프라인의 각각의 위상내에서, 다수의 싸이클/명령은 요구된 동작을 수행한다. 입력 및 출력층 또는 파이프라인 단계는 싸이클 당 한개의 데이타를 누산하나, 데이타의 전체 팩킷을 전송하도록 다중 싸이클을 사용함으로써 I/O된 요구 조건을 최소화한다. 팩킷당 데이타 워드의 숫자는 각각의 적용시 설정된 하드웨어 또는 소프트웨어 또는 프로세서 소자 어레이의 크기가 제약되는데, 양호한 실시예에서는 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)(GO) 라인을 포함한다.
[입력/출력]
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, C0), WRM(234)의 내용, 및 어드레스(RF0A6 내지 RF0A0)에 의해 결정된다(제5도를 참조). 제어 라인 C2 = 1은 DIR(154)를 선택한다. 7개의 어드레스 라인(RF0A6-RF0A0)은 C1 및 C0가 기입 소스(판독 C 및 C1는 무관)를 선택할 때 판독 및 기입되는 40 비트 중 1개를 선택한다. 라인 C1 및 C0의 소정의 조합에서, DIR(154)용 기입 소스는 C21 및 C8의 상태 및 동작 레지스터(M234)의 내용에 따라 변한다. 이것들은 프로세서(102)가 보다 융통성이 있게 하는 명령 호출 M-종속 명령을 형성한다. 표 1은 DIR(154)에 대한 제어 라인 기능을 설명한 것이다.
제5도의 프로세서 소자 논리도는 RFO(158) 및 DIR(154)의 상호 접속을 상세히 도시한 것이다. C21, C8, C2, C1, C0 및 RF0,46 내지 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(RF0A7) 및 LSB로서 최대 어드레스 라인(RF0A6 내지 RF0A0)로 구성된다. C2는 DIR(154) 대 RFO(158)의 선택이 명령 연상에 포함되기 때문에 어드레스를 고려하지 않는다.
[데이타 출력 레지스터]
제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 내지 RF1A0)에 의해 결정된다(제5도를 참조). 제어 라인 C5 = 1은 DOR(168)을 선택한다. 7개의 어드레스 라인(133)은 C4 및 C3이 기입 소스를 선택할 때 판독 및 기입되는 24 비트 중 하나를 선택한다. 제어 라인 C4 및 C3의 소정의 조합에서, DIR(168)용 기입 소스는 C21의 상태 및 동작 레지스터(M234)의 내용에 따라 변한다. 이것들은 프로세서(102)가 보다 융통성이 있게 하는 명령 호출 M-종속 명령을 형성한다. 표 3은 DIR(168)에 대한 제어 라인(130) 기능을 설명한 것이다.
제5도의 논리도는 RF1 및 DOR의 상호 접속을 상세히 도시한 것이다. C21, C5, C4, C3 및 RA1A6 내지 RF1A0는 모든 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(RF1A7) 및 LSB로서 최대 어드레스 라인(RF1A6 내지 RF1AO)(133)으로 구성된다. C5는 DOR(168) 대 RF1(166)의 선택이 비트 C5에 의한 명령 연상에 포함되기 때문에 어드레스를 고려하지 않았다.
[PE 레지스터 파일]
제3도에서, 각각의 PE(150)은 2개의 레지스터 파일 RF0(158) 및 RF1(166)을 포함한다. 각각의 RF는 PE(150)당 총 256비트의 경우에 판독/기입 메모리의 1 비트에 128 워드를 포함한다.
프로세서 어레이(105)에는 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는 각각의 레지스터 파일의 경우에 가능한 기입 데이타 소스를 도시한 것이다.
그러므로, 상술한 바와 같이, 레지스터 파일 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, C0), WRM(234)의 내용, 및 어드레스(RF0A6 내지 RF0A0)에 의해 결정된다(제5도를 참조). 제어 라인 C2 = 0은 RFO(158)을 선택한다. 7개의 어드레스 라인(131)은 C1 및 C0가 기입 소스를 선택할 때 판독 및 기입되는 128 비트 중 하나를 선택한다.
라인 C1 및 C0의 소정의 조합에서, RFO(158)용 기입 소스는 C21 및 C8의 상태 및 작동 레지스터(M234)의 내용에 따라 변한다. 이것들은 프로세서(102)가 보다 융통성이 있게하는 명령 호출 M-종속 명령을 형성한다. 표 6은 레지스터 파일 O(158)에 대한 제어 라인 기능을 설명한 것이다.
여기서, 'm' [RF0A6, RF0A5, ....RF0A0]의 2진 조합이고, 범위는
제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로 맵된다.
[레지스터 파일(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에 대한 제어 라인 기능을 설명한 것이다.
제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) 및 RF1(166) 사이에 할당되었다. 표 4의 메모리 맵은 8 비트 어드레스를 요구한다. 이 어드레스는 MSB로서 제어 라인(C5) 및 LSB로서 어드레스 라인(RF1A6 내지 RF1A0)로 구성된다. C5는 DOR 대 RF1의 선택이 명령 연상에 포함되기 때문에 어드레스를 고려하지 않았다. 다른 레지스터들은 보존된 표 4의 메모리 맵에서 소위 모든 미확정 메모리 공간인 메모리 공간으로 맵된다.
[판독/기입 회로]
제3도에서, 판독/기입 회로로 라벨된 블럭(156 및 169)는 하나 이상의 감지 증폭기를 포함한다. 제7도는 1 x 128로 구성된 128-비트 다아나믹 랜덤 억세스 메모리를 포함하는 RFO를 도시한 것이다. 실제로, RFO 데이타 메모리(158) 및 DIR 입력 레지스터(154)는 동일한 1 x 168 DRAM 행의 일 부분이나, DIR(154)는 DIR(154)가 입력 DIO-39 40비트로부터 병렬로 기입될 수 있는 RFO(158)과 상이하다. 유사한 배열은 DOR/RF1의 경우에 존재한다. 그러나, 단지 24(D0O-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 x 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에 제공된다. 유사하게, RF1로 표시된 제2 1-비트 광 다이나믹 메모리(166)은 프로세서(102)의 출력 단에서 사용되고, 128개 중 1개의 어드레스 선택용으로 7개의 어드레스 비트(133B)를 다시 수신한다. RF1(166) 메모리는 DOR로 명명된 24-비트 데이타 출력 레지스터(168)에 관련되고, 32개 중 1개의 어드레스 선택용으로 5개의 어드레스 비트(133A)를 수신한다. 입력 교환기(148)은 수평 주사비의 1024배 이상에서 클럭되므로, 입력 레지스터(154)의 모든 1024는 수평 주사 주기 동안 로드될 수 있다. 출력 교환기(174)는 입력에서 동일한 비율로 클럭될 필요는 없다.
교환기(148)로부터의 포인터 입력(151)은 다이나믹 메모리 셀(518)에 40개의 데이타 라인(118)(병렬 입력 DIO-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)의 1 V' 보다 크면, 선택 T 라인(172)가 턴온될 때, 라인(1642)는 동일하게 논리 0 또는 0 볼트로 강하된다. 셀(519)의 전하가 1 V(즉, 논리 0 또는 로우)보다 낮으면, T 라인(1642) 상의 전하는 예비충전 값으로 유지된다. 트랜지스터(1642)는 셀 판독 선택 트랜지스터이다. 모두 24개의 데이타 출력라인(56)은 트랜지스터(1642)에 의해 동시에 감지된다(즉, 트랜지스터(1642)는 프로세서 소자 셀을 선택한다). 도시한 바와 같이 노드(1650)은 격리된다. 이 접속은 다른 프로세서 소자 셀을 판독하여 발생된 노이즈로 부터 셀의 데이타가 손실될 가능성을 감소시킨다. 각각의 128 셀 섹션은 신호를 감지하도록 출력 라인상에 비교기(1634)를 갖고 있다.
기준 전압은 비교기 입력(1636)에 인가된다. 트랜지스터(1630)의 소스(1636)은 V에 접속된다. 이것은 요구 조건은 아니나, 소스(1638)은 다른 전압 레벨에 접속될 수 있다.
제8a-d도는 DOR 회로의 여러 라인 및 노드에서 전압 레벨을 도시한 것이다.
제9도는 다른 방법에서 DOR 셀을 도시한 것이다.
상술한 바와 같이, 비디오 적용의 경우에 PE(150)의 양호한 실시예는 40-비트광(wide) 입력 데이타 버스(118) 및 24 비트 광 출력 데이타 버스(170)을 사용한다. 8 fsc(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)에서의 리셋트 신호는 5를 트리거시키거나 플립-플롭(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)에 대응하는 각각의 신호 라인(151내지 151)을 인에이블시킨다. 신호 라인(151)이 DIR(127) 기입을 위해 인에이블되기 때문에, 인에이블 신호는 플립-플롭(620b)의 셋트 입력에 제공되고 교환기(588b)을 파워 업시키도록 라인(606)을 통해 제공된다. 플립-플롭(620b)의 셋트 또는 Q 출력은 교환기(588a)에 관련하여 기술한 바와 같이 동작 중에 교환기(588b)에 클럭킹 신호를 통과시키도록 구동기(608b)를 작동시킨다. 신호 라인(151)이 교환기(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)에 제공되나, 어레이 데이타 입력 레지스터(109)는 한번에 한개의 비디오 주사 라인만을 보유한다. 상술한 바와 같이, 수평 블랭킹 주기중에, 이미 보유된 데이타의 주사선은 새로운 데이타의 주사선에서 입력 레지스터를 자유상태로 두도록 RFO 레지스터 파일로 전이된다. 새로운 주사선은 수평 블랭킹 주기후에 제공된다. 다음 블랭킹 주기 및 주사 라인 시간 중에, 레지스터 파일(RF0 및 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만이 레지스터 파일에 전이된다.
세그먼트 선택 및 동작을 제어하기 위한 제어 회로(688)의 예는 제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)의 드레인은 V에 접속된다. 트랜지스터(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 게이트)로써 도시하였다. 입력은 WRC(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)의 실행을 도시한 것이다.
ALU(164)는 M-종속 명령이 디스에이블될 때 표 11에 도시한 논리 동작을 실행한다. 소정의 어셈블리 라인에서 명령이 M-종속이 아니면, M-종속 명령은 전체 라인에서 모든 명령에 대해 디스에이블된다.
[PE 동작 레지스터]
제2도의 실시예에서, 프로세서 소자(150)(PE)당 4개의 작동 레지스터(162)(WR); WRM, WRA, WRB 및 WRC이 있다. 모두 4개의 레지스터는 데이타 소스 및 데스티네이션이 상이한 것을 제외하고는 동일하다. 제5도에 도시한 바와 같이, 각각의 WR은 데이타 선택기 또는 멀티플렉서 및 플립/플립을 포함한다. 모두 4개의 레지스터는 유효 데이타가 RF로부터 도착한 후에 바로 내부 SVP 타이밍 회로에 의해 동시에 클럭된다.
표 12는 각각의 4개의 작동 레지스터에 대한 데이타 소스를 도시한 것이다.
여기서, M, 4, 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개의 소스로부터 발생될 수 있다.
가수/감수 레지스터 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개의 소스로부터 발생될 수 있다.
[동작 레지스터 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개의 소스로부터 발생될 수 있다.
[동작 레지스터 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-종속 명령을 실행한다.
[근거리 통신(NEAR-NEIGHBOR COMMUNICATION) 및 전역(GLOBAL) 출력]
근거리 통신 시스템은 4개의 가장 인접한 PE들; 바로 이웃의 PE(150)에 대해 2개는 좌측 및 2개는 우측, 의 직접 메모리 및 레지스터 판독/기입할 수 있도록 각각의 PE(150)에 제공될 수 있다. 또한, 동일한 회로가 전역 플래그(flag)(GO) 또는 전역 출력(178)을 생성하는데 사용될 수 있다. GO(178) 신호는 DOR(168)을 로드 및 클럭 아웃시키지 않고 SV'P의 외측에 대한 내부 경우의 플래깅 하는 방법이다.
[근거리 통신]
제2도를 다시 참조하면, 각각의 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에 도시되었다.
어셈블리 중에, 생략은 단일 명령 모드이다. 적정한 단일 명령 쌍이 어셈블리 순차시 나타날 때, 각각의 쌍은 어셈블러 지시에 의해 디스에이블되지 않는 경우, 1개의 2중 명령으로 자동적으로 대체된다. 2중 명령의 사용은 전체 실행 시간을 감소시 킨다.
[단일 명령 모드]
단일 명령 모드는 4 모드 중의 가장 기본이다. READ - REGISTER - ALU-WRITE 순차는 단일 정상 클럭 싸이클에서 실행된다. 표 19는 단일 명령에 대한 OP-코드 구조를 나타낸 것이다.
대기 상태 단일 명령 모드는 단일 명령 모드의 시간-확장 변화이다. READ - WAIT - REGISTER - ALU - WRITE 순차는 단일 확장 클럭 싸이클에서 실행된다. 부가된 '대기' 주기는 2개 이상의 SVP 디바이스가 캐스케이드될 때 칩 경계를 횡단하는 신호의 전달 시간을 허용한다. 이 명령 모드는 일반적으로 SV'P가 캐스케이드되지 않는 경우에 불필요하다.
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 = 어셈블리 라인의 소정의 명령이 지시로부터 SV'P를 인입하는 데이타, 예를 들어 RRO(n), 또는 A = LRO(n), 또는 A = XRO(n), 다른 방법으로 Mode = Single에 대한 기준을 포함할 때, 대기.
WAITN-Mode = 데이타 지시 명령에 관계없이 단일. 이 지시는 이전에 발생된 소정의 WAITX 지시를 턴오프시키는데 사용된다.
표 20은 대기-상태 단일 명령에 대한 OP 코드 구조를 설명한 것이다.
[2중 명령 모드]
SVP 어셈블리 및 하드웨어는 단일 명령과 동일하지만 확장용 확장 싸이클을 요구하는 명령을 자동적으로 발생하고 실행할 수 있다. 이 능력으로부터 전체적인 장점이 발생된다. 이 확장 싸이클 중에, READ - REGISTER - ALU - REGISTER - ALU - WRITE 순차가 실행된다. 착장 시간에 부가적인 시간은 제2 ALU 및 레지스터 동 작용으로 사용된다. 이것은 확장된 싸이클이 판독/기입 동작 중에 각각의 레지스터 파일에 대해 2-비트 캐시(cache)로부터 작동하기 때문에 가능하다. SVP 어셈블리는 가능할 때마다 어떻게 단일 명령을 2중 명령으로 변환시키므로써 이 캐시들을 최적으로 사용하는 지를 결정한다. 이 동작은 각각의 2개의 어셈블리, DRI 및 ERI에 의해 턴 온 및 턴 오프될 수 있다.
2중 명령은 2개의 순차 명령의 패턴이 표 21a, b와 같을 때 사용된다. 레지스터 파일 어드레스들은 판독 또는 기입되는 경우를 표시하는데 필요하다.
어셈블리는 2중 명령으로 명령 형태의 4가지 형태를 선택적으로 어셈블하고, 각각의 OP 코드는 표 22와 같다.
[아이들 명령 모드]
아이들 명령은 우선적으로 절전을 목적으로 의도된 것이다. 이것은 수행된 소정의 시간에 PEs가 전류 데이타 패킷의 프로세싱을 완료하여 다음 패킷에서 대기한다. 아이들 명령이 지시될 때, 모든 회로의 병렬 프로세서들 장치는 독자적으로 제어되는 DIR 및 DOR을 제외하고 클럭된다.
WRs은 스태틱이므로 유지되나, RFs는 다이나믹이다. 유지되어야 하는 비트는 상술한 바와 같이 선택적으로 재생된다.
아이들 명령 중에 OP코드 필드의 나머지는 명령 레지스터내에 래치되지만 후속 논리 블럭들에 의해 무시된다. 이 때, 비트들(C21 내지 CO)은 프로세싱이 실행될 때 내부 파이프라인이 정확하게 채워지는 것을 보장하기 위해 0으로 되어야 한다. 테이블 23은 아이들 명령에 대한 OP코드 구조를 상세히 나타낸 것이다.
[외부 버스 동작]
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, 0 = 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), L2OUT(q)
ROUT(q), R2OUT(q)
AUX(h), AUXi(j)는 보조 레지스터 출력들 0 = h = 31
0 = i = 3
0 = j = 7
GO는 전역 출력 라인
여기서, K, X는 WRM의 상태를 기초로 하는 조건 명령을 나타내는데, K는 조건 소스가 인접 ALU이라는 것을 나타내고, X는 조건 소스가 이웃한 프로세서에 존재한다는 것을 나타낸다.
[서브 명령들을 조합하기 위한 규칙]
소스 오퍼랜드는 명령 라인내에 1회 이상 지정된다.
B = A, C = A는 적법
데스티네이션 오퍼랜드는 명령 라인내에 지정된다.
B = A, 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) = A, 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 = R0(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-비트 수 XXXX및 YYYY의 가산을 고려한다. 이 합은 X를 대체시킨 5-비트 수 XXXXX이다. X는 이전의 캐리와 2MSBs(X및 Y)의 합으로부터 얻어진다. 이것은 음의 수를 커버하기 위해 필요하다. 초기적으로 여기에는 캐리가 존재하지 않는다. 이러한 가산에 대한 명령 셋트는 표 25에 발취하여 나타낸다.
비트 X와 X의 가산을 수행하기 위한 제1명령의 수행에 있어서, 감지 증폭기는 어드레스된 위치 RFO(O) 및 RF1(O)내에 저장된 데이타를 판독한다. 이 어드레스 위치는 DRAM 열의 짝수 비트라인 위치를 표시할 수 있다. 후속의 명령 셋트는 어레이 내의 다른 비트라인인 각각의 어드레스 위치[RFO(1) 및 RF1(11)]로부터 비트(X1 및 Y11)을 판독한다. 이들은 각각의 감지 증폭기에 대한 짝수 비트라인에 다음의 홀수 비트라인을 표시할 수 있다. 이것은 가산이 완료될 때까지 반복된다.
표 25의 명령 셋트를 다시 참조하면, 명령 라인들(2, 3 및 4)이 저장된 데이타의 상이한 어드레스 위치를 제외하고 동일하다는 것을 알 수 있다. 상술한 바와 같이, 판독 순차가 짝수(even) 비트라인 상에서 개시될 경우, 데이타가 연속적인 짝수-홀수, 짝수-홀수(odd) 블럭들로부터 일정하게 판독된다는 것을 알 수 있다. 그러므로, 데이타의 짝수 판독 다음의 명령이 동일한 경우, 동일하지 않는 경우는 쓸모없게 되는 이전의 판독 데이타를 사용할 수 있다. 상기 예에서 응용된 바와 같이, 명령(1 및 2)는 이중 명령(D1)로 변화할 수 있다. 이중 명령에 대한 어드레스 규칙 중 규칙이 일치할지라도(짝수 위치로부터 판독되는 어드레스된 레지스터들이 홀수 어드레스된 위치 다음에 이어질지라도) 이 명령은 동일하지 않다. 명령 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'는 조건 명령 제어이다.
제29도에 있어서 제어기(128)은 SVP(102) 및 소프트웨어 프로그램 개발 및 TV 동작 호환 시스템(900)에 접속된다. 개발 시스템(900)은 호스트 컴퓨터 시스템(912), 호스트 컴퓨터 인터페이스(914), 패턴 발생기(916) 및 데이타 선택기(918)을 포함한다.
호스트 컴퓨터 시스템(912)는 개발 시스템(900)에 따라 다양한 형태를 취할 수 있다. 이러한 형태는 퍼스널 컴퓨터, 원격 제어 유닛, 문맥 편집기 또는 제어 알고리즘을 개발하기 위한 다른 이외의 수단을 포함한다. 호스트 컴퓨터 인터페이스 논리(914)는 텔레비젼 셋트의 주요 마이크로-제어기를 에뮬레이트하기 위한 회로를 포함한다. 개발 시스템(900)에 있어서, 호스트 컴퓨터 인터페이스 논리(914)는 호스트 컴퓨터 시스템(912) 및 국부 통신 버스(930)에서 패턴 발생기(916)과 함께 작동한다.
패턴 발생기(916)은 대수학적 정확성 측면에서 프로그램 알고리즘을 검사하기 위해 타이밍 및 다른 패턴들을 발생시킨다. 패턴 발생기(916)은 또한 SV'P 알고리즘 및 하드웨어 디버깅(debugging)에 대한 실시간 검사 비디오 데이타를 제공한다. 데이타 패턴 프로그래머(또는 선택기)(918)은 40개의 입력 라인(920) 또는 데이타 패턴 발생기(916)에 의해 발생된 데이타 패턴으로부터 SVP로 입력하기 위한 데이타를 선택하도록 사용된다. 도시된 바와 같이 데이타 선택기(918)은 40개의 데이타 입력 라인(920)과 40개의 SVP 입력 핀(118) 사이에 직렬로 삽입된다. 개발 시스템(900)에 있어서, 포획(또는 필드) 메모리(121)은 24개중 8개의 출력 라인(170)으로부터 프로세스된 데이타를 포획하도록 제공된다. 요구된 24개중 8개의 출력 라인은 3---1 10진 멀티플렉서(171)에 의해 선택된다. 이 방법에 있어서, 필드의 프로세스된 비디오 데이타는 포획(또는 저장)쥘 수 있어 SVP의 동작의 실시간 분석에 대한 호스트 인터페이스(914) 및/또는 호스트 컴퓨터 시스템(912)에 다시 제공된다.
호스트 컴퓨터 인터페이스 논리(914)와 호스트 컴퓨터(912) 사이의 하드웨어 인터페이스(932)는 개발 시스템(900)내에서 종래의 병렬 인터페이스 접속에 의해 달성된다. 별도의 실시예에서, 종래의 EIA RS-232C 케이블은 인터페이스 속도가 일차적인 관점이 아닐 때 사용될 수 있다. PHILLIPS ELECTRONICS CORPORAT1ON에 의해 제조된 IIC 버스는 호스트 컴퓨터 인터페이스 논리(914)와 제어기(128) 사이에 인터페이스 라인(930)으로서 사용될 수 있다.
비디오 신호 프로세싱 응용에 있어서, 제어기(128)은 제1도의 라인(110) 상에 유입되는 텔레비전 신호의 수직 동기화 성분과 수평 동기화 성분에 의해 동기화된다.
제30도는 텔레비전 마이크로-제어기(1700)을 도시한 것이다. 마이크로-제어기(1700)은 초기화(시스템 파워-업)상의 내부 텔레비전 회로를 프리셋트한다. 마이크로-제어기(1700)은 퍼스널 컴퓨터 키 패드(1702)로부터와 같이 외부 신호들을 수신하고, 원격 제어 유닛(1704) 또는 비디오 신호 디코더(1712)은 이들을 디코드하여 다른 텔레비전 시스템 부품들로 제어 신호들을 전송한다. 이러한 시스템 부품들은 제어기(128), SV'P 프로세서 디바이스(102), 오디오 프로세싱 회로, UHF 및 VHF 튜너들 등을 포함한다. 예를 들어, 이 외부 제어 신호들은 콘트라스트, 휘도, 및 색조를 포함한다. 비디오 신호 디코더(1712)는 서브타이틀 및 제2랭귀지 신호들과 같은 신호들을 수신하여 디코드한다.
제30도를 다시 참조하면, 제어기(128)은 마스터 제어기(902), 수직 타이밍 발생기(904), 수평 타이밍 발생기(906), 상수 발생기(908) 및 명령 발생기(910)을 포함한다. 동작시에 제어기(128)은 라인(946)을 경유하는 동작 상수들, 라인(948)을 경유하는 제어 명령들 및 라인(950)을 경유하는 타아밍 신호들을 갖는 SVP 프로세서 디바이스(102)를 제공한다. 수평 타이밍 발생기(906)으로부터의 외부 제어 라인(938), 수직 타이밍 발생기(904)로부터 라인(952), 및 마스터 제어기(902)로부터의 라인(934)는, 다른 개발 시스템 부품들로 타이밍 및 제어 신호들을 제공한다. 제20도 및 제21도에 관련하여 설명한 바와 같이, 몇몇 SV'P 프로세서 디바이스들은 서로 캐스케이드될 수 있다. 이러한 부품들은 특별 용도의 멀티플렉서들 및 외부 필드 메모리를 포함한다.
제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 시스템 제어기(1702)로부터 단일 2-와이어 동기 직렬 버스(930)위의 마스터 제어기(902)로 통과된다. (화상-내의-화상, 다중-스크린 화상, 다른 화상, 및 다른 것들과 같은 상이한 특수 형태를 필요로 하는 동작 모드 모두 및 제52도의 보조 레지스터들의 내용(1196)에서, 보조 레지스터(1196)은 이후에 상세히 기술하겠다. 그 러나 이들은 명령 버스(930)을 경유하여 선명도(sharpness)등과 같은 SVP 프로세서 디바이스 변수들을 통과시킨다. 마스터 제어기(920)는 조건 및 벡터 점프들을 포함하는 다양한 명령을 갖는 펌웨어 프로그램 가능한 상태-기계이다.
제31도에서, 마스터 제어기(902)는 또한 상세히 설명된다. 제32도의 마스터 제어기 실시예는 직렬 데이타 입력(954) 및 직렬 클럭(956)을 갖고 있는 비동기-동기 변환 논리 색션(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)의 다른 형태를 포함할 수 있다.
반복 횟수는 라인(1027)을 경유하여 반복 카운터(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 또는 1054)를 제어하기 위해 디코드된 클릭을 포함한다. 레지스터 으로드 순차기(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개의 출력 라인들 중 2개의 라인은 수평 순차 카운터(HSC)(1062)에 제공된다. 7개중 다른 2개는 멀티플렉서(1074)에 입력으로서 제공되고, 멀티플렉서(1074)에 대한 또다른 2개의 입력 라인들(936)은 제31도의 마스터 제어기(902)로부터 모드 제어 신호이다. 제30도의 텔레비젼 시스템 제어기(1702)로부터의 제어 신호는 입력들 사이의 선택을 제어한다. 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) 상에 제공된 텔레비젼 신호의 수평신호에 의해 초기화된다.
제31도의 호스트 인터페이스(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/4 변환기들 등에서 SVP 회로 요구 타이밍 연부에 대해 타이밍 신호들을 발생시킨다 1개의 샘플 클럭의 리솔루션이 타이밍 연부 하강을 발생시킬 수 있다. 수평 타이밍 발생기는 또한 이 타이밍이 수평 방향으로 동일하다는 것을 나타낸다. 특수 효과가 필요한 경우 수평 타이밍은 화상 내의 화상, 다중 화상, 줌 등이 필요한지의 여부에 따라 변환된다. 이 모드에 있어서, 수평 타이밍은 타이밍의 조작을 허용하기 위해 특정 수평 라인에서 변경될 수 있다.
제35도는 제31도의 상수 발생기(908)의 블럭도를 도시한 것이다. 5개의 수평 타이밍 발생기 모드 비트들은 상수 순차 카운터(116)에 제공된다. 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)로부터의 모드 제어 신호(1220), 및 플래그 신호들(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)로 부터 제어 코드 래치(1288)로 분기된다. 비트들(25 내지 31)은 RFO 어드레스 카운터(1290)으로 분기된다. 비트들(32 내지 38)은 RF1 어드레스 카운터(1292)로 분기된다. 비트들(39 내지 42)는 반복 카운터(1294) 및 증가 제어 논리(1242)로 분기된다. 증가 제어 카운터(1242)는 전역 회전 회전 어드레스 발생기(RF1)(1244) 및 (RFO)(1246)에도 4-비트 제어 입력을 제공하는 명령 디코더로부터의 입력(1240)을 수신한다. 제어 코드 래치(1288)로부터의 래치된 명령 출력(1194)는 보조 레지스터 및 라인(1198) 상의 전역 가변 신호를 수신하는 제어기 논리(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도의 회로는 출력 라인(1122, 1178 및 1124)을 갖고 있는 순차 메모리(1120) [타이밍 패턴 수를 수신하기 위한 입력 라인(1176)을 갖고 있음]을 포함한다. 출력(1122)는 루프 카운터(1182)에 루프 패턴 수를 제공한 후 순차적으로 루프 메모리(1142)에 라인(1184)를 경유하여 어드레스를 제공한다. 출력(1178)은 최종 타이밍 순차 신호를 제어 논리(1132)에 제공하고 다시 라인(1188)을 경유하여 루프 메모리(1142)로부터 루프 신호를 수신한다. 출력(1124)는 반복 카운터(1128)에 명령 패턴의 반복 횟수를 나타내는 N-비트 수를 제공한다.
제39도 및 제40도는 순차 메모리(1120) 및 루프 메모리(1142)내에 저장된 내용의 예들이다. 제39도에 있어서 열(I)는 메모리(1120)에 저장된 패턴들이 타이밍 패턴 수에 대한 엔트리들을 갖는다. 열(II)는 최종 타이밍 순차 신호에 대한 엔트리를 갖는다. 이 예에서, 이 신호는 논리 하이 또는 논리 1이고, 여기에 반복될 몇몇 루프 패턴들이 존재할 경우 논리 로우 또는 논리 0의 문자열이 이어진다. 단일 비트는 여기에 단지 1개의 루프 패턴이 존재할 경우 제공된다. 열(III)은 각각의 루프 패턴에 대한 반복 회수에 대한 엔트리를 갖는다. 열(IV)는 반복될 루프 패턴의 루프 패턴 수에 대한 엔트리를 갖는다. 이 표에 있어서 4개의 상이한 루프들은 메모리(1142)에 저장된다. 열(II)은 반복된 상수들을 나열한 것이다.
제41도는 SVP 프로세서에 타이밍 패턴 #4의 상수들을 제공하기 위한 이벤트들의 순차에 대한 흐름도이다. 이 순차는 프로그램 명령이 SVP 프로세서(102)에 상수들을 제공하도록 상수 발생기(908)을 명령할 때 위치(1198)에서 개시된다. 이 순차는 카운터(1116)에 타이밍 패턴 수를 입력하도록 단계(1200)으로 진행한다. 카운터(1116)으로부터의 타이밍 패턴 수는 순차 메모리(1120)내의 순차 패턴들을 어드레스하기 위해 사용된다. 이 타이밍 패턴 수는 이 예에서 4이다. 그다음, 이 순차는 단계(1202)로 진행하고 카운터 출력(1118)은 타이밍 패턴 순차 #4에 대한 개시 메모리 위치를 어드레스한다. 그다음 이 순차는 단계(1204)로 진행하고 순차 메모리(1120)은 0으로 순차 카운터(1116)을 리셋트하도록 제어 논리(1170)에 신호한다. 그다음, 이 순차는 단계(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)로 진행하고, 루프 메모리(1174)는 루프 #3에 대응하는 상수의 문자열을 출력한다. 이 예에서, 상수 문자열은 8-5-7-3-2-1P이다. 그다음 순차는 단계(1210)으로 진행하고 제어 논리(1132)는 각각의 상수의 경로 상의 루프 카운터(1182)을 증가한다. 단계(1212)에서, 최종 루프 비트가 제어 논리(1132)에 의해 이르지 않는 경우, 동작은 루프내의 최종 상수가 통과되고, 1 최종의 루프 신호에 이르게 될 때까지 단계(1208)로부터 반복한다. 그다음, 이 순차는 단계(1214)로 진행하고 제어 논리(1170)은 루프 카운터(1182)를 리셋트하여 각각 라인(1186 및 1192) 상의 신호들을 경유하여 반복 카운터(1128)을 감소한다. 그다음, 이 순차는 단계(1216)으로 진행한다. 단계(1216)에서, 반복 카운터(1128)이 0에 도달하지 않을 경우 이 순차는 단계(1207)로 복귀한다. 반복 카운터(1128)이 0에 도달하는 경우, 이 순차는 단계(1221)로 진행하고 제어 논리(1132)는 순차 카운터 +1을 증가하여 이 순차는 단계(1206)으로 복귀하고 이 단계들은 반복된다. 단계(1223)에서 순차 카운터 계수가 순차 횟수보다 큰 경우, 동작이 단계(1227)에서 정지된다.
[(RF0 및 RF1에 대한) 전역 회전 어드레스 카운터]
제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도의 상부부분의 절개도인 제18b도에 도시된다. 각 라인의 제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. 한편, 이동 I --- G, H --- M 및 J, N 및 K --- B는 전역 회전 출현 이전에 존재하는 오랜 데이타가 단순히 쉬프트되기 때문에 에러를 출현시킨다. 이것은 그러나 전역 회전 이후 즉시 새로운 데이타 값 A, F, I 및 L이 이 위치들에 기입되므로 오래된 값들 E, H, K 및 N이 라인 메모리내에서 기대되었던 것과 같이 손실되지 않기 때문에 상기의 경우와 같지 않다. 1-수평 지연은 모의하기 위해, 전역 회전 명령이 각 수평 라인 시간에서 수행된다. SVP 하드웨어는 Q의 값 및 전역 회전 공간의 최대값의 셋팅을 허용한다.
제45도는 제36도의 레지스터 파일 O(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)를 경유하여 신호 LMR x (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개의 O 최소 상당 비트(LSBs)는 레지스터(1380)으로부터 전역 회전 출력 값에 가산된다. 2개의 O LSBs의 가산은 4로 전역 회전 영역 출력을 곱한다. 감산기(1373)은 임의적이고 오프셋 값이 정해진 전역 회전 영역의 외측면인 경우 검사한다. 이 예에 있어서 오프셋 값은 감산기 출력이 정(논리 로우)인 경우 전역 회전 영역내에 있다. 데이타 선택기 출력(1602)는 데이타 선택기-a(1372)의 0 입력에 제공된다.
데이타 선택기(1372)는 선택기 출력이 정인경우 감산기(1373)의 출력을 입력으로 선택한다. ADD-a(1300)으로부터의 출력은 선택기 출력이 전역 회전 영역의 외측면 오프셋을 나타내는 부인경우 선택된다. 데이타 선택기-a(1373)으로부터의 새로운 오프셋 값 출력은 명령 발생기로부터의 신호 GRLx(1243)에 의해 클럭된다. 오프셋 레지스터(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)로부터의 O들로서 제공된다. 비교기(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개의 가산된 O LSB 비트들을 갖는) 비율 레지스터 값(1384)를 가산한다. 이것은 ADD-b로부터의 정 절대 어드레스 출력을 발생한다. 제42C도는 이벤트들의 진행 순차에 대한 흐름도이고 흐름도 제42a도의 연속이다.
제42도의 논리도의 진행에 있어서, 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]의 값은 회전 값/2이고, 상기 예에 대해서 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도는 전역 변수들의 분포를 제어하기에 적합한 제어기 회로를 도시한 것이다. 상술한 바와 같은 제어기는 SV'P 프로세싱 소자들에 어드레싱, 제어, 및 데이타 신호들을 제공한다. SVP 내로 변수들을 으로드하고 이 변수들을 전역적으로 분포시키기 위해 제51도의 제어기 하드웨어가 사용될 수 있다.
도시한 바와 같이 제어기는 한 셋트의 보조 레지스터(1570) 및 변수를 분포시키기 위해 SV'P 프로세싱 소자들의 M 레지스터들을 변조하는 어드레싱 구조물을 포함하도록 변형할 수 있다. 보조 레지스터들 및 변조 색션(1196)은 RAM 메모리 및 2 --- 1 멀티플렉서(MUX)(1574)와 같은 보조 저장 레지스터(1510)을 포함한다. 보조 레지스터(1570)은 8-비트 로드 데이타 입력(1562), 데이타 기입 입력(1564) 및 5-비트 대 1로서 구성된 레지스터 어드레스 또는 판독 포트(1568)을 갖는다. 보조 레지스터 출력(1574)는 MUX(1574)의 하이 입력을 트리거하도록 제공된다. MUX(1574)에 대한 으로우 입력은 OP코드 출력 비트(C18)이다. 보조 레지스터들(1570)은 이후에 상세히 설명된다.
제51도를 참조하면, 레지스터 파일 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-B)는 라인(1563)을 경유하여 보조 레지스터로부터 기입 클럭 신호를 수신하기 위한 클럭 신호 입력을 갖는다. 각각의 레지스터 셋트는 또한 로드(LD) 또는 기입 인에이블 입력(1610) 및 1 --- 4 디코더(1616)으로부터의 출력으로 접속된 출력 인에이블(OE)을 포함한다. 레지스터들(1608A-B)에 대한 판독/기입 인에이블은 각각의 라인(1614A-B)를 경유하여 대응하는 디코더 출력에 접속된다. 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 오퍼랜드 어드레스에 대한 상승 카운터(1592)에 의해 사용된 7-비트 어드레스(1604), 및 RF1 어드레스 상승 카운터(1594)를 경유하여 제공됨으로써 사용된 유사한 7-비트 어드레스(1606)을 제공한다. 부수적으로, 1-비트 제어 신호(1607)은 단일 또는 이중 명령이 실행되는지의 여부를 나타내기 위해 제어 논리(1586)에 제공된다.
반복 카운터의 리플 캐리 출력은 반복 순차가 완료될 때까지 동작을 정지하기 위해 이것을 신호에 대한 프로그램 카운터의 계수/보유 입력에 입력한다. 명령이 적정한 횟수 반복될 때, 리플 캐리 출력은 그것의 동작을 재개하기 위해 프로그램 카운터에 신호한다. 이 리플 캐리 신호는 또한 주어진 조건에 대한 적당한 상태로 이것을 놓이게 하기 위해 제어 논리에 입력한다. 즉, 반복 카운터가 동작되는 경우 제어 논리는 카운터 모드내에 이것을 배치하기 위해 레지스터 파일 상승-카운터로 2-비트 코드를 출력한다. 반복 카운터가 동작하지 않는 경우, 레지스터 파일 상승-카운터들은 래치 모드내에 배치될 것이다. 또한, 이 2-비트 출력은 계수가 단일 명령 모드에 대한 1에 의한 것이다. 이중 명령 모드에 대한 2에 의한 것이지 여부를 나타낸다.
32-비트의 다른 예는 상기 회로의 장점을 도시한 것이다. 2개의 32-비트 워드들의 부가에 대한 명령 셋트는 표 27내에 축소된 형태로 아래에 설정된다.
상술한 2개의 4-비트 워드를 부가예(표 25)와 관련하여 고려될 경우, 명령 셋트의 명령(2 내지 31)가 15개의 이중 명령들로 압축될 수 있다. 그다음 반복 카운터 모드를 실행함으로써, 15개의 이중 명령들은 내장된 하드웨어에 의해 단일 명령 반복의 15배로서 어셈블될 수 있다. 그러므로, 2개의 32-비트 워드들의 부가는 33개에서 4개의 명령으로 감소된다. 반복 카운터가 사용될 때, 프로그램 카운터는 정지되고 2개의 어드레스는 단일 명령에 대해 또는 이중 명령에 대해 2의 자동-증가를 계수한다. 본 발명과 관련하여 기술된 바와 같은 제어기 메모리 감소가 이중 명령에 의해 실행되거나 이중 명령에 의해 일치하는 사용없이 실행될 수 있다. 예를 들어, 상기 32-비트 가산 예가 이중 명령을 갖지 않고 실행될 경우, 반복 카운터 비트 값은 보다 큰 반복 카운트에 대해 허용될 수 있도록 증가되거나 제1 반복이 2회 실행될 수 있다.
제54도는 현재의 동기 벡터 프로세서/제어기 칩의 다른 실시예를 도시한 것이다. 제54도의 명령 발생기에 있어서, 보조 레지스트들은 SVP 프로세서 코어 어레이를 갖는 칩상에 내장된다. 상술한 바와 같이, 제어기(1626) 및 SV'P 디바이스(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)에 의해 변조된 색이이고 복합 비디오 신호 5-VHS 비디오 신호는 복조기(1640)으로부터의 출력이다. 복합 비디오 신호는 회로(1638)에 의해 RF 변조되고 텔레비전 안테나 입력 또는 디스플레이에 대한 모니터 입력에 제공된다.
기록 모드 중에 프로세스된 비디오 신호는 회로(1634)에 의해 위상 및 FM 변조되고, 종래의 방식으로 헤드 논리(1636)에 의해 기록된다. 플레이백 중에, 레코드 된 신호는 테이프로부터 판독되고 위상 FM 변조 회로(1632)에 전송된다. 그다음. 이 신호는 다시 SVP 시스템(1630)에 의해 프로세스되어 출력으로서 제공된다. 1개 이상의 필드 메모리(120)은 제1도와 관련하여 상술한 방식으로 데이타를 포획하도록 사용된다.
본 명세서에 기술된 동기 벡터 프로세서 디바이스 및 제어기 시스템은 비디오 기술 응용 분야에 제한되지 않는다. SVP의 균일한 실시간 성능은 다수의 신호 프로세싱 응용분에 용이한 설계 기술을 제공한다. 몇몇의 응용 분야는 표 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 디바이스는 아날로그-디지탈 변환기의 출력으로부터의 디지트화된 입력 신호들을 수신한다. 저장된 패턴들은 또한 외부 메모리로부터 프로세싱하기 위해 SV'P에 제공된다. 아날로그-디지탈 변환기 저장된 패턴 메모리 및 SVP는 제어 및 타이밍 회로로부터의 출력 신호들의 제어하에 동작된다. 이 패턴 인식 시스템은 입력 데이타와 저장된 데이타를 비교한다. 이 시스템은 가시적인 검색 시스템을 지나 진행하고 입력 데이타를 분류한다. SVP의 속도로 인해 대부분은 비교는 실시간 내에 수행될 수 있다. 데이타의 긴 순차는 분류될 수 있다. 예시적인 음성 인식 응용 기술은 제60도에 도시하였다. 제60도는 8KHz의 주파수를 갖고 있는 음성 데이타 샘플을 도시한 것이다. 음성이 비교적 낮은 비율, 8KHz에서 디지트화되기 때문에, SV'P는 전송된 음성 데이타상의 다수의 계산을 수행하기 위해 많은 시간을 갖는다. 1024개의 샘플 길이의 입력은 1,4 백만 명령 정도에 대응하는 프로세스 데이타에 대해 약 1/8초를 제공한다. 부수적으로 SVP는 데이타의 다수의 라인들을 저장할 수 있으므로 단어, 구, 문장들까지를 인식한다.
제61도는 SVP를 사용하는 전형적인 레이다 프로세싱 시스템을 도시한 것이다. 검출된 레이다 신호는 안테나로부터 RF/IF 회로로 전송되고 FM/AM 출력들은 아날로그 디지탈 변환기에 제공된다. 디지트화된 출력 신호는 SV'P에 의해 프로세스되고 출력은 디스플레이에 제공되거나 메모리내에 저장된다 이 시스템은 결과들을 저장하거나 디스플레이하는 펄스 레이다 데이타를 프로세스한다. 제62도는 동기 벡터 디바이스를 사용하는 화상 전화 시스템이다. 제62도는 전송 및 수단 측면을 도시한 것이다. 비디오 카메라는 목적물을 보여주고 아날로그 신호는 아날로그 디지탈 변환기에 의해 디지탈화된다. 이 디지트화된 출력은 SVP디바이스에 입력으로서 제공된다. 다른 이력들은 표 및 프레임 메모리의 출력을 포함한다. SVP DTMS 출력은 필터 회로 내에서 필터되어 전화선에 제공된다. 수신 단부상에 전화선은 디지트화된 신호가 동기 벡터 디바이스에 의해 프로세스된 곳에서 아날로그 대 디지탈 벡터에 데이타를 전송한다. 입력 신호는 프레임 메모리내의 저장된 데이타를 따라 프로세스된다. SVP 출력은 디지탈-아날로그 변환기에 의해 아날로그에서 디지탈로 변환된다. 화상 전화 시스템은 입력 영상들을 압축한 다음, DTMF 값으로서 그것을 엔코드하여 수신기로 전환선을 통해 이를 송신한다. 신호 표들은 SVP내에서 직접 톤을 발생시키도록 사용된다. 수신 단부상에서, DTMF 톤들은 디지트화된 다음 검출되어 SVP내에 팽창된다.
제63a도 및 제63b도는 동기 벡터 프로세서를 사용하는 팩시밀리 시스템을 도시한 것이다. 제63도는 전송 또는 송신을 도시한 것이다. 서류 주사기는 전송될 서류를 주사하고 주사된 2진 데이타는 SVP에 압력으로서 제공된다. 시간표는 SVP내에서 직접 톤을 발생시키는데 사용될 수 있다. SVP는 엔코딩 및 톤 발생을 수행한다.
톤은 필터로 출력된 다음 전화선에 제공된다. 수신 단부상에서, 전화선으로부터 수신된 데이타는 아날로그 디지탈 변환기에 의해 디지탈로 변환되어 톤 검출 및 디코딩에 대한 SVP에 제공된다. 디코드된 SVP 출력은 그다음, 프린터에 의해 프린트된다.
제64도는 주사된 서류들을 ASCII 파일로 변환하는 SVP를 기초로 한 서류 주사기 시스템이다. 주사기 출력은 이것이 문자 표에 따라 프로세스되어 이 프로세스된 출력이 메모리내에 저장되는 곳에서 SVP에 제공된다. 서류 주사기 시스템은 FAX기와 같이 데이타를 디지트화하지만 데이타 상의 패턴 인식을 수행하여 이를 ASCII 포멧으로 변환한다.
이 SVP는 보안 비디오 전송에 사용될 수 있다. 이 시스템은 제65도에 도시된다. 이 시스템은 입력 버퍼에 출력을 제공하는 비디오 신호 소스를 포함한다. 버퍼된 신호는 프로세싱하기 위해 SVP에 제공된다. SVP 및 입력 버퍼는 제어기의 제어하에서 동작할 수 있다. SVP로부터 엔코드된 신호는 이것이 수신기로 전송되어 다시 입력을 버퍼하여 수신 단부상에 SVP에 의해 디코드된다. 상기 시스템내의 SVP는 각각의 프로세서 소자내의 화소와 임의 상수를 곱함으로써 비디오 신호를 암호화한다. 프로세서 소자들에 대한 암호 상수들의 맵핑은 엔코딩 및 디코딩 동기 벡터 프로세서들 내의 ROM 코드된 패턴에 의해 정해진다. 이 엔코더는 디코딩 SVP로 코드 워드를 전송한다. 이 코드 워드는 엔코딩 패턴의 역으로 곱함으로써 복조되도록 수신 디바이스를 변경한다. 전송된 신호의 실시는 제66도에 제공된다. SVP 칩은 핀 그리드 어레이 패키지내에 패키지된다. 제67도는 칩 패키지의 핀 아웃이다.
[SVP 핀 그리드 어레이 칩 핀 아웃]
SVP SE 칩 대한 핀 명칭 및 패키지 핀 좌표는 표 28에 도시하였다.
[신호 시술]
SVP에 대한 신호 기술은 이 섹션에 제공되었다. 아래의 표 29는 신호 이름, 신호 형태의 핀 수, 입력인지 출력인지 여부, 및 간략한 핀 기능 기술이 있다.
[명령 셋트 요약]
다음의 섹션은 소정의 적법 서브-명령 연상의 리스트이다. 높은 레벨 명령은 이 초기치로부터 생성될 수 있다. 리스트의 지정 동작자의 좌측 값 ' = '은 수신 오퍼랜드이고 우측값은 소스 오퍼랜드이다.
수신-오퍼랜드 = 소스-오퍼랜드 타이핑을 위해 단축이 사용되고 연상에 인입할 때 소정의 동의어는 혼란을 줄이기 위해 사용된다.
데이타가 WRM의 값에 따라 변하는 서브-명령(즉, M-종속 서브-명령)은 3개의 선으로 도시하였다. 제1라인은 프로그램으로 인입된 서브-명령을 나타내고, 제2 및 제3 라인을 각각(WRM) = 0인지(WRM) = 1인지 여부에 따라 변하는 작동 결과를 나타낸다. '(WRM)'은 작동 레지스터 WRM의 내용이다. 예를 들어;
R0(n) = XR0(n) --- 어셈블리 라인으로 들어감
= RR0(n) ; (WRM) = 0 --- (WRM) = 0인 경우의 데이타 소스
= LR0(n) ; (WRM) = 1 --- (WRM) = 1인 경우의 데이타 소스
명령은 8개의 카테고리로 그룹지어 진다. RF0, RF1,WRA,WRB, WRC,WRM, ALU, 및 GO. 소정의 명령은 완전하게 하기 위해 1개 이상의 카테고리로 나타난다.
[제34도의 명령 프로그램 메모리 1258용 SVP 어레이 명령 셋트]
다음 표는 모든 적법 SVP 어레이 서브-명령의 리스트이다. 또한 리스트된 것은 각각의 서브-명령용 OP 코드 및 충돌 마스크이다. 충돌 마스트는 동일한 라인의 2개의 서브-명령이 조합될 수 있는 경우를 결정하도록 어셈블러에 의해 사용된다.
상술한 모든 명령은 22-비트 어레이 OP 코드 프러스 어드레스 필드에 의해 설명된다. 이 명령들 및 IG 제어기 명령의 변수는 이 비트 및 다른 비트에서 설명된다.
아래 표에서, 다음 단축이 사용된다.
[SVP 명령 발생기 명령 셋트]
다음 표는 명령 발생기 플러스 단일, 대기-상태 단일, 및 2중 명령의 어레이 명령의 변수의 적법 명령 연상 및 OP 코드의 리스트이다.
[IG 명령의 범례]
X - 무시
b - 정지 점 포인트 비트
rrrr -2의 보수 형태의 4-비트 반복 카운트 값
ppppppp -RF1 또는 DOR 또는 AUX에 대한 7-비트 메모리 어드레스
nnnnnnn -RF0 또는 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 코드]
* 1
TCMA, TCMB, TXF10 및 TXF32는 2개의 LSB = 00인 어드레스로만 점프할 수 있다. 어셈블리는 이것을 이해해야 하고, 정확한 경계에 label을 배정한다.
* 3
TBOUT는 4개의 LSB = 0000인 어드레스만을 지목할 수 있다. 이 4개의 LSB는 COMB로 대치된다. 어셈블리는 이것을 이해해야 하고, 정확한 경계에 label을 배정한다.
* 4
c = 1 + lNTEGER(b/4)
본 발명의 여러가지 실시예가 하드웨어, 소프트웨어 또는 마이크로코드된 펌웨어를 사용할 수 있다는 것을 알아야 한다. 본 명세서의 프로세스 및 상태 전이도는 마이크로코드화되고 소프트웨어 기초한 실시예의 다이어그램을 또한 나타낸다. 접속 및 결합은 오옴, 직류, 정전성 디지탈, 아날로그 인터페이싱 전자기, 광학 또는 다른 적합한 수단에 의해 실행될 수 있다. 도시한 실시예를 참고하여 본 발명을 설명하였으나, 본 설명은 제한된 의미로 구성되지는 않았다. 본 발명의 다른 실시예 뿐만 아니라 도시한 실시예의 여러가지 변형 및 조합은 본 명세서를 참고한 분 분야에 숙련된 기술자들에겐 명확하다. 그러므로, 첨부한 특허 청구의 범위는 본 발명의 범위내의 실시예 또는 소정의 변형을 커버한다.
Claims (5)
- 데이타 프로세싱 디바이스 제어기(128)로부터 프로세서 디바이스(102)의 입력들에 제공된 신호들을 파이프라이닝(pipelining)하기 위한 전기 회로에 있어서, 입력 신호들을 수신하여 디코딩하고 상호 배타적으로 코드화(exclusive coded)된 다수의 신호 요소들을 신호 출력(1442)으로서 제공하되, 상기 신호 출력들의 수는 상기 신호 입력들의 수에 수학적으로 관련되는 다수의 입력 신호(1438)들을 갖고 있는 요소 발생 수단(factor generating means, 1440), 상기 코드화된 신호 요소들 각각에 대해 신호 입력을 갖고 있고 상기 신호 라인(1450)들 상에 상기 신호 요소들의 디코딩된 출력들을 제공하기 위한 디코딩 수단(1448), 상기 각각의 출력 라인을 경유하여 상기 디코딩 수단들로부터 수신된 디코딩된 신호를 저장하기 위해 상기 출력 라인들 중 한 라인에 접속된 입력을 각각 갖고 있고 상기 프로세서 디바이스 입력(1462)들 중 한 입력에 접속된 출력 라인을 각각 갖고있는 다수의 신호 래치(1452)들, 및 상기 상호 배타적으로 코딩된 신호 요소들과 동기된 순차로 다수의 타이밍 및 제어 신호들을 발생하기 위한 타이밍 및 제어 발생 수단(제47b도)를 포함하는 것을 특징으로 하는 전기 회로.
- 제1항에 있어서, 상기 신호 입력 라인을 경유하여 상기 제어기로부터 수신된 상기 입력 신호를 저장하기 위해 상기 요소 발생기 신호 입력(1438) 중 한 입력과 각각 직렬로 접속된 제2 셋트의 신호 래치(1434)를 더 포함하는 것을 특징으로 하는 전기 회로.
- 제2항에 있어서, 상기 신호 래치(1452)들 중의 하나와 상기 프로세서 디바이스 입력(1462)들 중 해당하는 입력 사이에 각각 직렬로 접속된 다수의 신호 라인 구동기(1456)들을 더 포함하는 것을 특징으로 하는 전기 회로.
- 제2항에 있어서, 상기 요소 발생 수단(1440)들 중의 하나와 상기 디코딩 수단(1448)들 중의 해당 디코딩 수단 사이에 각각 직렬로 접속된 다수의 신호 라인 구동기들을 더 포함하는 것을 특징으로 하는 전기 회로.
- 제1항에 있어서, 상기 요소 발생 수단(1440)은 디멀티플렉서를 포함하는 것을 특징으로 하는 전기 회로.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42149489A | 1989-10-13 | 1989-10-13 | |
US421471 | 1989-10-13 | ||
US421494 | 1989-10-13 | ||
US07/421,471 US5765010A (en) | 1989-10-13 | 1989-10-13 | Timing and control circuit and method for a synchronous vector processor |
US421487 | 1989-10-13 | ||
US42148789A | 1989-10-16 | 1989-10-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910009095A KR910009095A (ko) | 1991-05-31 |
KR100199073B1 true KR100199073B1 (ko) | 1999-06-15 |
Family
ID=27411312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900016355A KR100199073B1 (ko) | 1989-10-13 | 1990-10-13 | 동기 벡터 프로세서 내의 신호 파이프라이닝 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0422963B1 (ko) |
JP (1) | JPH0438525A (ko) |
KR (1) | KR100199073B1 (ko) |
DE (1) | DE69030704T2 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104681003A (zh) * | 2013-11-29 | 2015-06-03 | 晨星半导体股份有限公司 | 显示装置的控制电路及信号转换电路 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL149925C (ko) * | 1968-10-25 | 1976-06-15 | ||
EP0317218B1 (en) * | 1987-11-13 | 1998-01-28 | Texas Instruments Incorporated | Serial video processor and method |
-
1990
- 1990-10-13 KR KR1019900016355A patent/KR100199073B1/ko not_active IP Right Cessation
- 1990-10-15 DE DE69030704T patent/DE69030704T2/de not_active Expired - Fee Related
- 1990-10-15 JP JP2276128A patent/JPH0438525A/ja active Pending
- 1990-10-15 EP EP90311266A patent/EP0422963B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0422963A2 (en) | 1991-04-17 |
EP0422963A3 (en) | 1993-06-30 |
JPH0438525A (ja) | 1992-02-07 |
DE69030704T2 (de) | 1997-12-11 |
EP0422963B1 (en) | 1997-05-14 |
KR910009095A (ko) | 1991-05-31 |
DE69030704D1 (de) | 1997-06-19 |
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 | |
KR100283161B1 (ko) | 모션 평가 코프로세서 | |
US5408673A (en) | Circuit for continuous processing of video signals in a synchronous vector processor and method of operating same | |
US5694588A (en) | Apparatus and method for synchronizing data transfers in a single instruction multiple data processor | |
US6847365B1 (en) | Systems and methods for efficient processing of multimedia data | |
US5680600A (en) | Electronic circuit for reducing controller memory requirements | |
JP3086990B2 (ja) | デジタルビデオ編集用処理装置 | |
US5105387A (en) | Three transistor dual port dynamic random access memory gain cell | |
KR0184865B1 (ko) | 데이타 프로세싱 디바이스 | |
Chin et al. | The Princeton Engine: A real-time video system simulator | |
US5327541A (en) | Global rotation of data in synchronous vector processor | |
KR100224054B1 (ko) | 동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법 | |
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) | テレビジヨン信号の記憶装置 | |
KR100199073B1 (ko) | 동기 벡터 프로세서 내의 신호 파이프라이닝 | |
KR0179362B1 (ko) | 비디오 신호 프로세서 제어기용 명령 발생기 아키텍쳐 | |
US5293637A (en) | Distribution of global variables in synchronous vector processor | |
Lee et al. | Real-time MPEG video codec on a single-chip multiprocessor | |
JPH10304356A (ja) | 並列画像圧縮処理装置 | |
Yagi et al. | Real-time video signal processing system for dynamic images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20040113 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |