DEUCE [Digital Electronic Universal Computing Engine | 1955]
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
DEUCE(디지털 전자 범용 컴퓨터 엔진)은 1955년에 영국에서 상업적으로 이용 가능한 초기 컴퓨터 중 하나로, 영국 전기회사가 제작한 것이다. DEUCE는 Pilot ACE의 생산 버전이며, Pilot ACE는 앨런 튜링의 ACE를 축소한 버전이다.
DEUCE는 1450개의 열 진공관을 사용하며, 주요 메모리로 수은 지연선을 사용한다. 12개의 지연선 각각은 32개의 명령어 또는 32비트의 데이터 단어를 저장할 수 있다. DEUCE는 Pilot ACE의 1메가헤르츠의 높은 클럭 속도를 채택한 것이다. 입력/출력은 홀러리스 80열 펀치 카드 장비를 통해 이루어지며, 카드 리더는 분당 200장을 읽을 수 있고, 카드 펀치 속도는 분당 100장이다. DEUCE는 8192단어의 자기 드럼을 주요 저장장치로 사용할 수 있다. 드럼의 256개 트랙에 32단어를 접근하기 위해, 각각 16개의 읽기 및 쓰기 헤드 그룹이 독립적으로 움직일 수 있는 암을 가진다. 접근 시간은 헤드가 이미 위치에 있을 경우 15밀리초이며, 헤드를 이동해야 할 경우 추가로 35밀리초가 필요하다. 드럼에서 읽기 및 쓰기는 회전 지연이 없다. 드럼과 32단어 지연선 사이에서 데이터가 전송된다.
DEUCE는 종이 테이프 장비와 연결할 수 있으며, 리더 속도는 초당 850자이고, 테이프 출력 속도는 초당 25자이다. DEUCE는 1964년 뉴사우스웨일스 대학교에서 시멘스 M100 타자기를 부착해 초당 10자 입출력을 구현하였다. 데카 자기 테이프 장치도 연결할 수 있다. 자동 곱셈기와 나눗셈기는 비동기식으로 작동하며, 곱셈기 또는 나눗셈기 유닛이 작동하는 동안 다른 명령어를 실행할 수 있다. 정수 연산을 위한 두 개의 산술 유닛이 제공된다. 하나는 32비트를 처리하고 다른 하나는 32비트 및 64비트 연산을 수행할 수 있다. 1957년부터 여덟 개의 레지스터에서 자동 증가 및 감소 기능이 제공되며, 배열 산술 및 배열 데이터 전송이 가능하다. 동시대의 맨체스터 마크 1과 비교할 때 DEUCE는 약 10배 빠른 성능을 자랑한다.
각각의 사중 레지스터의 개별 단어는 자동 증가/감소 기능과 연관되어 있으며, 이 기능은 카운팅 및 명령어 수정(인덱싱, 루프 제어, 소스 또는 목적지 주소 변경 등)에 사용된다.
DEUCE는 비트 직렬 기계이며, 단일 레지스터에 대한 접근 시간은 32마이크로초, 이중 레지스터는 64마이크로초, 사중 레지스터는 128마이크로초이다. 지연선에 대한 접근 시간은 1024마이크로초이다.
명령어 실행 시간은 다음과 같다: 덧셈, 뺄셈, 논리 연산: 32비트 단어에 대해 64마이크로초; 이중 정밀도는 96마이크로초; 곱셈과 나눗셈은 2밀리초이다. 배열 산술 및 전송 연산의 경우 단어당 시간은 32단어에 대해 33마이크로초이다.
소프트웨어에 의한 부동소수점 연산이 제공되며, 시간은 덧셈과 뺄셈에 6밀리초, 곱셈에 평균 5.5밀리초, 나눗셈에 평균 4.5밀리초이다.
초기 기계에서는 자기 드럼과 관련된 모든 명령어가 진행 중일 때 상호 잠금되어 있었다. 따라서 읽기 헤드가 이동하면 후속 자기 작업(트랙 읽기 또는 쓰기)은 첫 번째 작업이 완료될 때까지 진행이 금지되었다. 1957년부터는 "합리화된 자기 장치"라는 새로운 유닛이 제공되어 불필요한 상호 잠금을 제거하였다. 따라서 읽기 헤드를 이동하는 명령 다음에 쓰기 헤드를 이동하는 명령이나 트랙을 쓰는 명령이 연속으로 진행될 수 있게 되었다.
DEUCE의 전면 패널에는 두 개의 CRT 디스플레이가 있다. 하나는 현재 레지스터의 내용을 보여주고, 다른 하나는 수은 지연선 저장소의 내용을 보여준다.
1958년부터는 7개의 추가 지연선을 연결할 수 있어 224개의 고속 저장소 단어를 제공할 수 있다. IBM 528 결합 리더-펀치가 홀러리스 장비를 대체할 수 있으며, 이 경우 DEUCE는 마크 II로 불린다. 입력 시 알파벳 데이터에서 BCD로 자동 변환되며, 출력 시에는 반대 작업이 이루어진다. 이 장비에서는 읽기와 펀치 작업이 동시에 진행될 수 있으며, 이를 통해 레코드를 읽고 업데이트한 후 다음 레코드를 읽는 동안 업데이트된 레코드를 펀치할 수 있다. 추가 지연선 7개가 있는 DEUCE는 마크 IIA로 표시된다.
주요 고급 프로그래밍 언어는 GEORGE(일반 주문 생성기), ALPHACODE, STEVE, TIP, GIP, ALGOL 등이 있다. 어셈블리 언어 변환기는 ZP43 및 STAC이 있다.
GEORGE는 1957년 찰스 레너드 햄블린에 의해 발명되었으며, 현대 프로그래밍 언어에 가장 가까운 형태이다. GEORGE는 역폴란드 표기법을 사용하며, 예를 들어 e = ay² + by + c를 평가하기 위해 다음과 같이 작성된다.
a y dup × × b y × + c + (e)
여기서 "dup"은 이전 항목을 복제하며, 'y'를 사용할 때와 같은 역할을 한다.
GEORGE는 12위치 누산기를 제공하며, 푸시다운 팝업 스택으로 사용된다. 프로그램에서 변수 이름을 사용하면 (예: 'd') 변수 'd'의 값이 누산기에 들어가고, 괄호로 묶인 이름(예: (d))은 스택의 최상위 값으로 변수 'd'에 할당한다. 스택의 최상위 값을 제거(팝 및 폐기)하려면 세미콜론(;)을 사용한다. 다음 GEORGE 프로그램은 10개의 숫자를 읽고 그 제곱을 출력한다.
1, 10 rep (i) read dup × punch ;
위 프로그램에서 "dup" 명령은 스택의 최상위 값을 복제하여 스택에 두 개의 복사본을 만든다.
GIP(일반 해석 프로그램)는 "브릭"이라고 불리는 프로그램을 조작하기 위한 제어 프로그램이다. GIP의 주요 서비스는 DEUCE 선형 대수 라이브러리의 수백 개 프로그램 실행이다. 프로그램 준비는 필요한 브릭을 선택하고, 복사한 다음 재생 카드에서 복제하고, 카드를 조립하는 방식으로 진행된다. 다음으로 간단한 코드워드를 작성하여 브릭을 사용해 행렬 곱셈, 행렬 전치, 동시 방정식 해결 등의 작업을 수행할 수 있다. 행렬의 차원은 코드워드에 지정되지 않으며, 카드 또는 드럼에 저장된 행렬에서 가져온다. 따라서 프로그램은 완전히 일반적이다. 작성된 프로그램은 드럼의 용량까지 모든 크기의 행렬을 처리할 수 있다.
STAC는 매크로 어셈블러로, 대부분의 명령어는 전송 형태로 작성된다. 예를 들어 13-16은 레지스터 13의 단어를 레지스터 16으로 복사하는 것을 의미한다. 명령어의 위치는 지정되지 않으며, STAC는 지연선의 단어에 명령어를 할당하고 이진 명령어의 6개 구성 요소를 계산한다. STAC는 다음 명령어를 이전 명령어가 완료된 직후 실행될 수 있도록 최적의 위치에 할당한다.
다음 프로그램은 값을 읽고, n을 읽은 후 n개의 이진 정수를 읽어 제곱을 출력하는 것이다. 명령어의 메모리 위치는 왼쪽에 표시된다.
1.0 12-24 카드 리더 시작. 프로그램 위치는 1.0으로 지정된다. 0-13X 카드 리더에서 숫자(n) 하나를 읽는다. 문자 X는 카드의 첫 번째 행이 읽기 위치에 도착할 때까지 기다리도록 한다. R2 12-24 카드 리더 시작 또는 재시작. 0-16X 숫자를 읽어 곱셈기 레지스터에 저장한다. 9-24 카드 리더를 중지한다. 16-21.3 숫자를 곱셈 레지스터에서 복사한다. 30-21.2 곱셈 레지스터의 하위 비트를 지운다. MULT 10-24 카드 펀치 시작. 21.2-29X 제곱 결과를 카드 펀치로 보낸다. 9-24 카드 펀치 중지. 27-26 n을 감소시킨다. 13-28 R1 0인지 테스트. 0이면 R1로 분기하고, 0이 아니면 R2로 분기한다. R1 1-1X 중지; 프로그램이 완료된다. STAC는 다음과 같은 추가 명령어를 생성한다. 각 명령어의 메모리 위치는 왼쪽에 표시된다.
1.0 12-24 1.2 0-13X 1.4 12-24 1.6 0-16X 1.8 9-24 1.10 16-21.3 1.13 30-21.2 1.16 0-24 대기 1 1.18 1-1 대기 1 1.20 10-24 1.22 21.2-29X 1.24 9-24 1.26 27-26 1.28 13-28 1.3 1.3 1-1X 대기 및 타이밍 숫자는 생략되며, 곱셈에 대한 시간만 표시된다.
프로그래밍 DEUCE 프로그래밍은 다른 컴퓨터와 다르다. 지연선의 직렬 특성 때문에, 명령어는 각 명령어가 완료된 후 다음 명령어가 지연선에서 나올 준비가 되어 있도록 정렬해야 한다. 단일 레지스터에 대한 연산의 경우, 다음 명령어를 실행할 수 있는 가장 빠른 시간은 현재 명령어가 실행된 후 64마이크로초이다. 따라서 명령어는 연속 위치에서 실행되지 않는다. 일반적으로 명령어는 하나 이상의 단어를 전송할 수 있으며, 각 명령어는 다음 명령어의 위치를 지정한다. 최적의 프로그래밍은 각 명령어가 실행될 때 다음 명령어가 지연선에서 막 나올 수 있도록 하는 것이다. 명령어 위치가 성능에 큰 영향을 미친다.
카드 리더에서 데이터를 읽는 것은 실시간으로 이루어지며, 각 행은 읽기 브러시를 지나갈 때 읽어야 한다. 카드 펀치도 마찬가지이며, 특정 행의 단어는 주어진 행이 펀치 나이프 아래에 있을 때 준비되어야 한다. 일반적인 읽기 및 펀치 모드는 이진이다. 십진수 입력 및 출력은 소프트웨어를 통해 수행된다.
고속 저장소는 각각 32비트의 단어를 가진 네 개의 단일 단어 레지스터, 세 개의 이중 단어 레지스터, 두 개의 사중 단어 레지스터로 구성된다. 이중 및 사중 단어 레지스터의 각 32비트 단어는 개별적으로 주소 지정될 수 있으며, 쌍으로 접근할 수 있고, 사중 레지스터의 경우 세 개 또는 네 개 그룹으로 접근할 수 있다. 명령어 저장소는 12개의 수은 지연선으로 구성되며, 각각 32단어로 번호가 매겨진다. 지연선 11(DL11)은 자기 드럼과 고속 저장소 사이의 버퍼 역할을 한다. "전송 기계"로서 데이터는 한 번에 한 단어, 한 쌍의 단어, 그리고 최대 33개의 단어까지 전송할 수 있다. 예를 들어, 드럼에서 읽은 32단어는 다른 지연선으로 블록으로 전송될 수 있으며, 한 사중 레지스터에서 다른 레지스터 또는 지연선 간에 한 블록으로 전송될 수 있다. 따라서 지연선의 32단어는 단일 명령어를 통해 합산할 수 있다.
DL10과 레지스터 16 간의 특별한 연결을 통해 DL10은 푸시다운 스택으로 사용할 수 있다.
첫 세 대의 기계는 1955년 봄에 납품되었으며, 1958년 말에 DEUCE Mark II 개선 모델이 등장하였다. 이 버전은 결합된 카드 리더 및 펀치를 사용하였다. 결합된 IBM 528 리더 및 펀치는 이전 DEUCE Mark I 기계의 분리된 홀러리스 장치처럼 작동하였지만, 입력 시 알파벳 데이터에서 BCD로 하드웨어 변환을 제공하였으며, 출력 시에는 그 반대 작업이 이루어졌다. 데이터는 동시에 읽고 펀치할 수 있었다. DEUCE Mark IIA는 추가로 7개의 수은 지연선이 제공되어 고속 저장소가 224단어로 증가하였다.
총 33대의 DEUCE 기계가 1955년부터 1964년까지 판매되었으며, 그 중 두 대는 브리스톨 시드리 엔지니어링 회사에 의해 구매되었다.
DEUCE의 성공은 1000개 이상의 프로그램 및 서브루틴으로 구성된 프로그램 라이브러리에 기인한다.
하드웨어 특성
DEUCE Mark 0 및 I:
- 클럭 속도: 1 MHz
- 단어 크기: 32비트
- 고속 저장소: 384 단어
- 산술:
- 32비트 누산기 하나;
- 64비트 누산기 하나(32비트 누산기 두 개로 사용 가능).
- 덧셈/뺄셈
- 단일 길이: 64 마이크로초,
- 이중 정밀도: 96 마이크로초
- 단일 길이 숫자를 이중 길이 숫자와 더할 때, 자동 부호 확장: 64 마이크로초.
- 곱셈: 2080 마이크로초
- 나눗셈: 2112 마이크로초
- 자기 드럼: 8192 단어
- 개별 읽기 및 쓰기 헤드
- 트랙 읽기 시간: 15 ms
- 헤드 이동 시간: 35 ms
- 카드 리더 속도: 분당 200장
- 카드 펀치 속도: 분당 100장
- 종이 테이프 리더 속도: 초당 850자
- 테이프: 5, 7, 8행 테이프
- 정지 시간: ½ 밀리초
- 시작 시간: 20 밀리초
- 종이 테이프 펀치 속도: 초당 25자
- 테이프: 5 또는 7행
- 소프트웨어 부동소수점(평균 시간):
- 덧셈/뺄셈: 6 밀리초
- 곱셈: 5½ 밀리초
- 나눗셈: 4½ 밀리초
DEUCE MARK II:
- DEUCE Mark I와 동일.
- 결합된 IBM 528 카드 리더 및 펀치는 카드 읽기 속도 분당 200장, 펀치 속도 분당 100장으로 작동한다. 동시에 시작할 경우, 리더와 펀치는 분당 100장으로 작동한다. 6비트 문자 간의 자동 변환이 제공된다. 이 모드는 Mark I DEUCE에서 제공된 프로그래밍 변환 외에도 추가로 제공된다.
DEUCE MARK IA 및 IIA:
- 위와 동일하며, 7개의 추가 지연선이 제공되어 고속 저장소 224단어를 추가로 제공한다.
- 곱셈기와 나눗셈기는 비동기식으로 작동하며, 여러 정수를 곱셈 명령어의 단일 실행에서 처리할 수 있다. 곱셈 중에 곱셈기 또는 피승수 레지스터에 정수를 삽입하고, 곱셈 중에 결과를 추출할 수 있다. 기타 특별한 기능으로는 단어의 비트를 세는 기능, 이진 부호화 십진수(BCD)를 이진으로 변환하는 기능 등이 있다. 나눗셈도 정수를 BCD로 변환하거나 파운드, 실링, 페니를 페니로 변환하는 데 사용될 수 있다.
- 공유 링크 만들기
- X
- 이메일
- 기타 앱

