맨위로가기

인텔 4040

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

인텔 4040은 1974년 인텔에서 출시한 4비트 마이크로프로세서로, 4004의 후속 모델이다. 인터럽트 처리, 싱글 스텝 실행, 확장된 명령어 집합 등의 기능이 추가되어 4004보다 향상된 성능을 제공한다. 4040은 24개의 4비트 레지스터, 13비트 ROM 주소, 10비트 RAM 주소를 지원하며, 500~740 kHz의 클럭 속도로 작동한다. 인텔렉 4 모드 40 개발 시스템과 마이크로 440 마이크로컴퓨터에 사용되었으며, 페데리코 파진이 아키텍처를 설계하고 톰 인네스가 디자인을 담당했다.

더 읽어볼만한 페이지

  • 4비트 마이크로프로세서 - 인텔 4004
    인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
  • 인텔의 마이크로프로세서 - 인텔 80386
    인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다.
  • 인텔의 마이크로프로세서 - 인텔 4004
    인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
  • 인텔 x86 마이크로프로세서 - 인텔 80386
    인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다.
  • 인텔 x86 마이크로프로세서 - 인텔 4004
    인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
인텔 4040
Intel 4040
일반 정보
흰색 세라믹 C4040 변종
생산 시작1974년
생산 종료1981년
제조사Intel
최저 클럭 속도500 kHz
최고 클럭 속도740 kHz
데이터 폭4비트 (BCD 지향)
주소 폭12비트 (다중화)
최소 공정 크기10 μm 공정
트랜지스터 수3,000개
패키지24핀 DIP
이전 프로세서Intel 4004
지원 상태지원 중단

2. 역사

4004는 전자 계산기에 사용되도록 설계되었으며, 프로그램 코드는 롬(ROM)에 할당된 영역에서만 읽을 수 있고, 램(RAM)에서는 읽을 수 없었다. 일반적인 사용에서 내부 "인덱스 레지스터"는 계산 중에 저장을 위해 사용되었으며, 16개의 4비트 레지스터는 단일 8자리 2진화 10진법 값을 저장할 수 있었다. 주소 저장을 위한 4개의 12비트 레지스터 중 가장 상위 레지스터는 프로그램 카운터였고, 다음 세 개는 서브루틴 호출을 위한 푸시다운 스택으로 작동했다.

핀 수를 16개로 줄이기 위해 최초의 4004는 데이터와 주소 모두에 멀티플렉싱된 4개의 데이터 핀만 사용했다. 주소가 12비트였으므로 주소를 표현하는 데 세 번의 사이클이 필요했고, 그 뒤에 읽기/쓰기 작업이 이어졌다. 명령어는 8비트였기 때문에 다음 명령어를 로드하는 데 많은 사이클이 필요했고, 이는 비교적 빠른 사이클 시간에도 불구하고 느린 성능을 초래했다.

i4040 마이크로아키텍처. "데이터 버스"는 주소 지정에도 사용됨.


인텔 4040 DIP 칩 핀아웃


4040은 기본적으로 4004를 확장한 것으로, 추가 핀, 더 많은 레지스터, 그리고 이를 활용할 수 있는 새로운 명령어를 갖추고 있었다.

2. 1. 개발 배경

4004 프로세서의 성공적인 출시 이후, 인텔은 더 많은 기능을 갖춘 프로세서에 대한 시장의 요구를 확인했다.[3] 이에 따라, 인터럽트 처리, 단일 스텝 실행, 확장된 명령어 집합 등 다양한 기능을 추가한 4040 프로세서를 개발하게 되었다.

4004는 단일 ROM 핀을 가지고 있었지만, 4040은 ROM 뱅크를 두 개 허용하기 위해 다른 ROM 핀을 추가하여 ROM 주소가 12비트에서 13비트로, 즉 8 kB로 효과적으로 증가했다. 4004에는 인터럽트 기능이 없어 심각한 제약이 있었으나, 4040은 인터럽트를 호출하기 위한 새로운 입력 핀과 인터럽트 신호 처리 중임을 나타내는 출력 핀을 추가했다. 또한 인터럽트 발생 시 반환 주소를 저장해야 하므로 스택 레지스터 파일이 세 항목에서 일곱 항목으로 확장되었다.[3]

인터럽트 처리기는 인터럽트 발생 이전 상태로 프로세서를 복원하기 위해 일반적으로 레지스터 값을 저장해야 했는데, 이는 다중 사이클 메모리 접근 방식에서는 매우 느렸다. 이를 해결하기 위해 "뱅크 1"에 8개의 추가 레지스터를 추가하고, 원래의 16개 레지스터는 "뱅크 0"으로 명명했다. 인터럽트가 수신되면, 핸들러 코드는 뱅크 전환 명령을 호출하여 뱅크 1의 레지스터가 뱅크 0의 레지스터 0~7을 덮어쓰도록 했다. 이후 핸들러 코드는 이 8개의 레지스터를 로컬 데이터에 사용하고, 원래 값은 변경되지 않은 상태로 유지했다. 핸들러가 완료되면 뱅크 0으로 다시 전환하여 인터럽트 응답 시간을 단일 명령으로 크게 단축했다.

또한, 입력 정지 핀과 관련된 출력 정지 승인 기능이 추가되었다. 이는 시스템이 입출력 또는 다른 비 CPU 작업을 수행하는 동안 프로세서를 중지하거나, 프로세서를 단일 단계로 실행하여 디버깅하는 데 사용되었다. 이러한 새로운 기능과 새로운 논리 연산자(AND, OR)를 지원하기 위해 명령어 집합에 14개의 명령어가 추가되어 총 60개가 되었다.

2. 2. 주요 개선 사항

4040은 4004에 비해 다음과 같은 주요 개선 사항을 제공한다.

  • ROM 뱅크 확장: 4004는 단일 ROM 핀만 있었지만, 4040은 다른 ROM 핀을 추가하여 두 개의 ROM 뱅크를 지원한다. 이로 인해 ROM 주소는 12비트에서 13비트로 늘어나 8kB까지 확장되었다.[3]
  • 인터럽트 기능 추가: 4004에는 없었던 인터럽트 기능이 4040에 추가되었다. 새로운 입력 핀으로 인터럽트를 호출하고, 출력 핀으로 인터럽트 처리 상태를 나타낸다. 인터럽트 반환 주소 저장을 위해 스택 레지스터 파일이 3개에서 7개로 확장되었다.[3]
  • 인터럽트 처리 속도 향상: 인터럽트 처리 시 레지스터 값을 저장하고 복원하는 과정은 시간이 오래 걸린다. 이를 개선하기 위해 4040에는 8개의 추가 레지스터를 가진 "뱅크 1"이 추가되었다. 인터럽트 발생 시 뱅크 전환 명령을 통해 뱅크 1의 레지스터가 뱅크 0의 레지스터 0~7을 덮어쓰도록 하여, 핸들러 코드가 뱅크 1의 레지스터를 사용하고 원래 값은 변경하지 않도록 했다. 이를 통해 인터럽트 응답 시간을 단축했다.
  • 정지 기능 추가: 입력 정지 핀과 출력 정지 승인 핀이 추가되었다. 이는 시스템이 입출력 또는 다른 작업을 수행하는 동안 프로세서를 중지하거나, 단일 단계로 실행하여 디버깅하는 데 사용되었다. 정지 모드에서는 칩 하드웨어 대부분이 저전력 상태로 전환되어 전력 소비를 줄인다. 머신 사이클 클럭은 외부 장치를 위해 계속 실행되어 동기화를 유지한다.
  • 명령어 집합 확장: 새로운 기능과 논리 연산(AND, OR)을 지원하기 위해 14개의 명령어가 추가되어 총 60개의 명령어를 가지게 되었다.

3. 기능

4004를 기반으로 만들어진 4040은 여러 기능이 추가되었다.[3]

4040은 롬 뱅크를 두 개 허용하기 위해 롬 핀을 추가하여 롬 주소를 12비트에서 13비트로 늘려 8KB의 프로그램 메모리를 사용할 수 있게 되었다. 4004 및 4040에 사용된 롬 칩은 이 라인을 칩 선택 핀처럼 사용했으며, 두 라인은 두 개의 뱅크만 지원할 수 있었다.

4040 확장된 내용[3]
항목40044040
명령어 집합46종60종
프로그램 메모리4KB8KB
레지스터16개24개
내부 서브루틴 스택3단7단



3. 1. 인터럽트

4004는 인터럽트가 없어 심각한 제약이 있었다. 4040은 인터럽트를 호출하기 위한 새로운 입력 핀과 인터럽트 신호가 감지되어 처리되고 있음을 나타내는 출력 핀을 추가했다. 또한 인터럽트는 반환 주소를 저장해야 하므로 스택 레지스터 파일이 세 항목에서 일곱 항목으로 확장되었다.[3]

인터럽트 처리기 코드는 보통 레지스터의 값을 저장하여 인터럽트 코드가 이를 사용할 수 있도록 한 다음, 끝에서 메모리에서 값을 다시 복사하여 프로세서가 원래의 인터럽트 이전 상태로 돌아가도록 한다. 설계의 다중 사이클 메모리 접근 방식에서는 이것이 매우 느렸을 것이다. 이를 해결하기 위해 새로운 "뱅크 1"에 8개의 추가 레지스터를 추가했고, 원래의 16개 레지스터는 소급하여 "뱅크 0"이 되었다. 프로그래머가 중요한 데이터를 뱅크 0의 처음 8개 레지스터에 배치할 것이라는 생각이었다. 인터럽트가 수신되면, 핸들러 코드는 뱅크를 전환하는 명령을 호출하여 뱅크 1의 레지스터가 뱅크 0의 레지스터 0~7을 덮어쓰도록 한다. 그런 다음 핸들러 코드는 이러한 8개의 레지스터를 로컬 데이터에 사용하며, 원래 값은 변경되지 않은 상태로 유지된다. 핸들러가 완료되면 단순히 뱅크 0을 다시 전환했다. 이는 전환 시간을 단일 명령으로 줄여 인터럽트 응답 시간을 크게 향상시켰다.

또 다른 추가 사항은 입력 정지 핀과 관련된 출력 정지 승인이다. 이는 시스템이 입출력 또는 다른 비 CPU 작업을 수행하는 동안 프로세서를 중지하는 데 사용될 수 있었지만, 프로세서를 단일 단계로 실행할 수 있도록 하여 디버깅에 더 널리 사용되었다.

3. 2. 싱글 스텝

4040에는 입력 정지 핀과 관련된 출력 정지 승인 기능이 추가되었다. 이는 시스템이 입출력 또는 다른 비 CPU 작업을 수행하는 동안 프로세서를 중지하는 데 사용될 수 있었지만, 프로세서를 단일 단계로 실행할 수 있도록 하여 디버깅에 더 널리 사용되었다.[3] 프로세서가 정지 모드에 있으면 칩 하드웨어의 대부분이 저전력, 고 임피던스 상태로 전환되어 전력 사용량이 줄어든다. 머신 사이클 클럭은 칩을 다시 깨우는 데 필요한 모든 인터럽트 컨트롤러를 포함하여 외부 장치의 이점을 위해 계속 실행되었으며, 이는 이러한 컨트롤러가 동기화된 상태를 유지하는 데 의존했기 때문이다.

3. 3. 확장된 명령어 집합

4040은 새로운 논리 연산자인 `AND`와 `OR` 연산자를 지원하고, 명령어 집합에 14개의 새로운 명령어를 추가하여 총 60개의 명령어를 갖게 되었다.[3]

4040 확장된 내용[3]
항목40044040
명령어 집합46종60종
프로그램 메모리4KB8KB
레지스터16개24개
내부 서브루틴 스택3단7단


3. 4. 레지스터 구조

4040은 4004를 확장하여 레지스터를 16개에서 24개로 늘렸다. 이들은 4비트 레지스터로, 데이터를 임시 저장하고 연산을 수행하는 데 사용된다.[3] 4040은 인터럽트 처리 속도를 높이기 위해 레지스터 뱅크 전환 기능을 제공하는데, 인터럽트 발생 시 뱅크 전환을 통해 빠른 처리가 가능하다. (자세한 내용은 "레지스터 뱅크" 하위 항목 참조)

4040의 레지스터 구성은 다음과 같다.

인텔 4040 레지스터
12111009080706050403020100(비트 위치)
누산기
colspan="9"|AA 누산기
조건 코드
colspan="12" |CC 캐리 플래그
인덱스 레지스터
colspan="5"|R0R1인덱스 뱅크 0
colspan="5"|R2R3
colspan="5"|R4R5
colspan="5"|R6R7
colspan="5"|R8R9
colspan="5"|R10R11
colspan="5"|R12R13
colspan="5"|R14R15
colspan="5"|R0R1인덱스 뱅크 1
colspan="5"|R2R3
colspan="5"|R4R5
colspan="5"|R6R7
프로그램 카운터
PCP 프로그램 C 카운터
푸시다운 주소 호출 스택
PC1호출 레벨 1
PC2호출 레벨 2
PC3호출 레벨 3
PC4호출 레벨 4
PC5호출 레벨 5
PC6호출 레벨 6
PC7호출 레벨 7


3. 4. 1. 레지스터 뱅크

4040은 "뱅크 1"에 8개의 추가 레지스터를 추가했고, 원래의 16개 레지스터는 "뱅크 0"이 되었다. 개발자들은 사용자가 중요한 데이터를 뱅크 0의 처음 8개 레지스터에 배치할 것이라고 예상했다. 인터럽트가 수신되면, 처리기(핸들러) 코드는 뱅크를 전환하는 명령을 호출하여 뱅크 1의 레지스터가 뱅크 0의 레지스터 0~7을 덮어쓰도록 한다. 그런 다음 처리기 코드는 이러한 8개의 레지스터를 로컬 데이터에 사용하며, 원래 값은 변경되지 않은 상태로 유지된다. 처리기가 완료되면 단순히 뱅크 0을 다시 전환한다. 이는 전환 시간을 단일 명령으로 줄여 인터럽트 응답 시간을 크게 향상시켰다.[3]

인텔 4040 인덱스 레지스터
12111009080706050403020100비고
colspan="5" |R0R1뱅크 0
colspan="5" |R2R3뱅크 0
colspan="5" |R4R5뱅크 0
colspan="5" |R6R7뱅크 0
colspan="5" |R8R9뱅크 0
colspan="5" |R10R11뱅크 0
colspan="5" |R12R13뱅크 0
colspan="5" |R14R15뱅크 0
colspan="5" |R0R1뱅크 1
colspan="5" |R2R3뱅크 1
colspan="5" |R4R5뱅크 1
colspan="5" |R6R7뱅크 1


4. 기술 사양

4040은 인텔 4004를 확장한 버전으로, 더 많은 핀, 레지스터, 그리고 이를 활용하는 새로운 명령어를 갖추고 있다.[3] 4004에 없던 인터럽트 기능을 위한 새로운 입력 핀과 인터럽트 처리 중임을 나타내는 출력 핀이 추가되었다.[3] 인터럽트 반환 주소를 저장하기 위해 스택 레지스터가 3개에서 7개로 확장되었다.[3]

인터럽트 처리 속도 향상을 위해 8개의 추가 레지스터(뱅크 1)가 추가되었다. 인터럽트 발생 시 뱅크 전환 명령을 통해 뱅크 1의 레지스터가 뱅크 0의 레지스터 0~7을 덮어쓰도록 하여, 인터럽트 핸들러 코드가 뱅크 1의 레지스터를 로컬 데이터에 사용하고, 원래 값은 변경되지 않도록 유지한다. 핸들러 완료 후에는 뱅크 0으로 다시 전환하여 인터럽트 응답 시간을 단축했다.

입력 정지 핀과 관련된 출력 정지 승인 기능은 시스템이 입출력 또는 다른 작업을 수행하는 동안 프로세서를 중지하거나, 단일 단계로 실행하여 디버깅하는 데 사용되었다. 프로세서 정지 모드에서는 칩 하드웨어 대부분이 저전력 상태로 전환되어 전력 사용량이 줄어든다. 머신 사이클 클럭은 외부 장치를 위해 계속 실행되어 동기화를 유지한다.

새로운 논리 연산자(AND, OR)를 포함하여 14개의 명령어가 추가되어 총 60개의 명령어를 지원한다.[3]

4040의 레지스터는 다음과 같이 구성되어 있다.

인텔 4040 레지스터
12111009080706050403020100(비트 위치)
누산기
AA 누산기
조건 코드
CC 캐리 플래그
인덱스 레지스터
R0R1인덱스 뱅크 0
R2R3
R4R5
R6R7
R8R9
R10R11
R12R13
R14R15
R0R1인덱스 뱅크 1
R2R3
R4R5
R6R7
프로그램 카운터
PCP 프로그램 C 카운터
푸시다운 주소 호출 스택
PC1호출 레벨 1
PC2호출 레벨 2
PC3호출 레벨 3
PC4호출 레벨 4
PC5호출 레벨 5
PC6호출 레벨 6
PC7호출 레벨 7



4040은 -15V DC 전압을 사용한다.[3]

4. 1. 데이터 버스

인텔 4040은 멀티플렉싱된 4개의 데이터 핀을 가진 4비트 데이터 버스를 사용한다.[3] 데이터와 주소 모두 이 버스를 통해 전송된다. 롬(ROM)의 경우 12비트 주소 버스를 사용하며 (데이터 버스에 다중화되어 주소 전송에 3번의 버스 사이클이 필요), 뱅크 전환 명령어를 사용하면 실질적으로 13비트를 사용할 수 있다. 램(RAM)의 경우 실질적으로 10비트 또는 8비트(8비트 직접 주소 + 4개 뱅크 중 하나 선택, 즉 2비트에 해당) 주소 버스를 사용한다. 추가로 256개의 "상태" 메모리 위치는 전체 8비트 주소 공간에서 읽거나 쓰기 위해 I/O 명령어를 사용해야 한다.

4. 2. 주소 버스

4040은 롬(ROM)의 경우 12비트 주소 버스를 사용한다(4004와 동일). 이 주소는 데이터 버스에 멀티플렉싱되어 주소 전송에 3번의 버스 사이클이 소요된다.[3] 뱅크 전환 명령어를 사용하면 실질적으로 13비트까지 확장할 수 있다.[3] 램(RAM)의 경우, 8비트 직접 주소와 2비트 뱅크 선택(4개 중 하나 선택)을 결합하여 실질적으로 10비트 주소 지정이 가능하다.[3]

4. 3. 작동 주파수

인텔 4040은 500 ~ 740 kHz의 주 클럭(2상, 중첩)으로 작동하며, 초당 62,500 ~ 92,500회의 8 클럭 머신 사이클을 실행한다.[3]

4. 4. 성능

4040은 740 kHz에서 작동하며, 명령어 조합에 따라 대략 62,000 kIPS의 성능을 보였다.[3] 두 개의 32비트(8자리 BCD) 숫자를 더하는 데는 약 850 μs가 걸렸다.[3]

5. 지원 칩

4040 프로세서를 지원하기 위해 다양한 칩들이 개발되었다. 이 칩들은 4040의 기능을 확장하고, 다양한 입출력 장치와의 연결을 용이하게 했다. 4265나 4269와 같이 8080A 프로세서와도 인터페이스 할 수 있도록 설계된 칩들도 있었으며, 1976년 3월에는 샘플 수량으로 재고가 있기도 했다.[3]

이러한 지원 칩들에는 다음과 같은 것들이 있다:


  • 3216 및 3226: 4비트 병렬 버스 드라이버
  • 4101: 256 x 4비트 SRAM
  • 4201: 클럭 발생기 (4MHz ~ 5.185MHz 크리스털 사용, 500kHz ~ 740kHz)
  • 4207: 범용 8비트 출력 포트
  • 4209: 범용 8비트 입력 포트
  • 4211: 범용 8비트 I/O 포트
  • 4289: 표준 메모리 인터페이스 (4008/4009 대체)
  • 4308: 1K x 8비트 롬 및 4 x 4비트 IO 포트
  • 4316: 2K x 8비트 롬
  • 4702: 256 x 8비트 EPROM


4269는 키보드/디스플레이 기능을 제공하는 프로그래밍 가능한 칩이다. 키보드 기능은 키 입력 시 인터럽트를 발생시키고, CPU 처리 전까지 최대 8개 문자를 FIFO 버퍼에 저장한다. 센서, 패널 스위치, 키보드와 인터페이스할 수 있으며, 전체 텔레타이프라이터 크기를 지원한다. 키 입력 인코딩, 폴링, 문자 입력 버퍼 저장, 키보드 과입력 복구 등의 기능을 수행한다. 디스플레이 기능은 최대 128개 요소 또는 표시등을 제어하고 갱신하는 디스플레이/표시기 배열을 지원하며, 최대 20개 문자를 구동할 수 있는 Burroughs Self-Scan 디스플레이와 같은 가스 방전 디스플레이도 지원한다.

5. 1. 주변 칩 목록

인텔 4040 주변 칩 목록
칩 번호설명
4101256 x 4비트 SRAM
4201클럭 발생기 (500 ~ 740 kHz, 4 ~ 5.185 MHz 크리스털 사용)
4207범용 8비트 출력 포트
4209범용 8비트 입력 포트
4211범용 8비트 I/O 포트
4265프로그래밍 가능한 범용 I/O (4개의 4비트 I/O 포트 포함)
4269프로그래밍 가능한 키보드/디스플레이
4289표준 메모리 인터페이스 (4008/4009 대체)
43081K x 8비트 롬 및 4 x 4비트 IO 포트
43162K x 8비트 롬
4702256 x 8비트 EPROM
32164비트 병렬 버스 드라이버
32264비트 병렬 버스 드라이버


6. 응용 분야

4040은 인텔렉 4 모드 40 개발 시스템, Comp-Sultants의 마이크로 440 마이크로컴퓨터 등에 사용되었다.[15][16]

6. 1. 인텔렉 4 모드 40

4040은 1975년 초 인텔의 인텔렉 4 모드 40 개발 시스템 마이크로컴퓨터에 처음 사용되었다.[15] ''바이트'' 잡지에 따르면, 인텔 4040을 기반으로 설계된 최초의 제3자 마이크로컴퓨터는 1975년 말 앨라배마주 헌츠빌의 Comp-Sultants에서 출시한 마이크로 440이었다.[16]

6. 2. 마이크로 440

Comp-Sultants에서 1975년 말 앨라배마주 헌츠빌에서 출시한 마이크로 440은 4040을 기반으로 설계된 최초의 제3자 마이크로컴퓨터였다.[16] 바이트 잡지에 따르면, 인텔 인텔렉 4 모드 40 개발 시스템의 마이크로컴퓨터에 4040이 처음 사용되었으며, 1975년 초에 출시되었다.[15]

7. 설계자

페데리코 파진은 해당 프로젝트를 제안하고, 아키텍처를 설계했으며, 디자인을 이끌었다.[1] 세부적인 디자인은 톰 인네스가 담당했다.[2]

8. 영향

4004인터럽트 부재로 인한 제약이 있었으나, 4040은 인터럽트 호출을 위한 입력 핀과 인터럽트 처리 중임을 나타내는 출력 핀을 추가하여 이러한 한계를 극복했다.[3] 인터럽트 반환 주소 저장을 위해 스택 레지스터 파일이 3개에서 7개로 확장되었다.[3]

인터럽트 처리기 코드의 효율성을 위해, 4040은 새로운 "뱅크 1"에 8개의 추가 레지스터를 추가했다. 기존의 16개 레지스터는 "뱅크 0"이 되었다. 인터럽트 발생 시, 뱅크 전환 명령을 통해 뱅크 1의 레지스터가 뱅크 0의 레지스터 0~7을 덮어쓰도록 하여 빠른 인터럽트 응답 시간을 제공했다.

또한, 입력 정지 핀과 출력 정지 승인 핀이 추가되었다. 이는 시스템이 입출력 등의 작업을 수행하는 동안 프로세서를 중지하거나, 단일 단계 실행을 통해 디버깅하는 데 사용되었다. 정지 모드에서는 칩 하드웨어 대부분이 저전력 상태로 전환되어 전력 소비를 줄였다.

새로운 기능과 논리 연산자(AND, OR) 지원을 위해 명령어 집합에 14개의 명령어가 추가되어 총 60개가 되었다.

4040 프로세서는 4004의 한계를 극복하고, 더 다양한 응용 분야에 적용될 수 있는 발판을 마련했다. 비록 대한민국에서는 4040 프로세서에 대한 자료가 제한적이지만, 4040은 마이크로프로세서 기술 발전의 중요한 단계 중 하나로 평가받고 있다.

참조

[1] 웹사이트 The Life Cycle of a CPU http://www.cpushack.[...] 2005
[2] 웹사이트 cpu-collection.de >> Intel >> 4040 http://www.cpu-colle[...]
[3] 문서
[4] 문서
[5] 문서
[6] 문서
[7] 문서
[8] 문서
[9] 문서
[10] 문서
[11] 문서
[12] 문서
[13] 문서
[14] 문서
[15] 간행물 Intel Introduces 4/Mod 40 https://archive.org/[...] Microcomputer Associates 1975-03
[16] 논문 Micro-440 https://archive.org/[...] Byte Publications 1975-12



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com