가정용 CPU에 대한 주파수 제한


15

일부 맞춤형 CPU를 살펴보면서 CPU가 작동하는 주파수가 현대 CPU와 비교하여 (수 MHz 정도) 상대적으로 낮다는 것을 알았습니다. 예를 들어 브레드 보드와 같은 전자 공학적 제한이 있습니까? 그렇다면 설계로 달성 할 수있는 최대 주파수를 결정하는 방법은 무엇입니까?


집에서 만든 VLSI 칩처럼? 비용 제한이라고 생각합니다. 수백만 달러의 장비가 제공하는 정밀도는 집에서 복제 할 수 없으며 결과적으로 칩 속도가 느려집니다.
Nate

4
@Nate, TTL로 만든 홈브류 멀티 칩 CPU를 언급하고 있다고 생각합니다. 예 : homebrewcpu.com
Alfred Centauri

@Nate 내 질문을 좀 더 구체적으로 업데이트했습니다.
Eugen

@AlfredCentauri-네, 그렇습니다;)
Eugen

답변:


16

주로 게이트를 통한 상호 연결 및 전파 지연의 길이와 관련이 있습니다. CPU를 본질적으로 줄이면 피드백 머신입니다. 다수의 조합 논리 회로는 기계의 현재 상태에 대한 일부 부울 함수를 계산하고, 이러한 함수는 새로운 클록 에지가 도달 할 때 순차 회로에 의해 래치되는 새로운 상태를 결정합니다. 조합 회로는 모두 지연이 있습니다. 클록 기간은 이들 게이트를 통한 가장 느린 경로가 안정적인 결과를 생성하는 데 걸리는 시간보다 짧을 수 없습니다. 하나의 잘못된 비트가 쇼를 중단하기 때문입니다.

또한 순차적 로직에는 타이밍 요구 사항이 있습니다. 클럭 에지에 도달하기 전에 입력을 안정적으로 유지해야하는 최소 설정 시간이 있으며, 그 후 일정 시간 동안 입력이 안정적이어야합니다. 이를 위반하면 상태가 쓰레기가됩니다.

전파 지연은 기생 캐패시턴스가 얼마나 빨리 충전 될 수 있는지, 인덕턴스에 빠르게 전류가 축적 될 수있는 방법, 실리콘 장치가 얼마나 빨리 스위칭 할 수 있는지에 따라 발생합니다. 예를 들어, 더 작은베이스를 가진 바이폴라 트랜지스터는 더 큰베이스를 가진 것보다 더 빠르게 전환 할 수 있으므로 칩의 작은 트랜지스터는 이산 트랜지스터보다 빠릅니다.

이전에 삭제 한 답변에서 전송선 효과에 대해 썼습니다. 그러나 나는 10 Mhz에서 파장이 여전히 약 30 미터이기 때문에 우리가 이야기하는 속도로 이러한 효과가 그림에 나타나지 않는다고 생각하지 않았습니다. 따라서 일반적인 크기의 회로 기판의 규모에서 몇 메가 헤르츠의 시간 규모 펄스는 여전히 구리 네트워크의 모든 부분에 동시에 도달합니다.

따라서 개별 부품으로 CPU를 만들면 스위칭 시간이 빠른 소형 부품을 달성하지 못하고 스트레이 커패시턴스 및 인덕턴스를 최소화하는 동일한 근접성을 달성 할 수 있습니다.

그럼에도 불구하고 1960 년대의 고대 이산 부품 기계는이 가정용 기계보다 훨씬 더 빠르게 작동했습니다. 거기에 도착하는 데 약간의 시간과 교활함이있었습니다. 예를 들어, IBM 360 모델 44 (1964)는 4Mhz에서 실행되었습니다. 그것은 여전히 ​​"홈브류 속도"일지 모르지만, 몇 년 후 1969 년에 출시 된 CDC 7600은 36Mhz를 초과했습니다. Wikipedia 기사 http://en.wikipedia.org/wiki/CDC_7600 은 다음과 같은 몇 가지 요령에 대한 힌트를 제공합니다.

"항상 항상 Cray의 설계는 크기를 줄이고 신호 경로를 줄이며 작동 주파수를 높이기 위해 패키징에 중점을 두었습니다. ... [E] 각 회로 모듈은 실제로 최대 6 개의 PC 보드로 구성되어 있으며 각 보드는 초소형 저항기, 다이오드로 채워져 있습니다. 6 개의 보드가 쌓여서 가장자리를 따라 상호 연결되어 매우 컴팩트하지만 기본적으로 수리 할 수없는 모듈이되었습니다. "

따라서 가정용 CPU는 빌드 품질 및 레이아웃과 관련된 혼란스러운 영향으로 인해 반드시 진정한 잠재력으로 구축되지는 않습니다. 그럼에도 불구하고 몇 메가 헤르츠에서 실행되는 개별 집적 회로와 개별 구성 요소로 CPU를 구축하는 사람은 박수를 보내야합니다.


데이터 경로의 복잡성에 따라 가정용 기술 장치는 현대 기술과 기존 기술을 사용하는 데 어려움없이 20Mhz 이상으로 클럭 인 할 수 있어야한다고 생각합니다. 다중 GHz는 아니지만 전체 슬랩은 아닙니다. 그러나 가정용 CPU를 사용하는 대부분의 경우 문제 해결이 속도보다 중요하다고 생각합니다. 덧붙여서, 오리지널 Pong (R) 브랜드 아케이드 머신의 마스터 클럭 크리스탈은 14.3818Mhz 였지만 초기에는 꽤 나 divided습니다. 나는 그 속도에 의해 문을 여는 것은 운동장의 중심선이라고 생각합니다.
슈퍼 캣

1
많은 가정용 CPU는 EPROM을 사용하여 마이크로 코드를 저장하지만 복잡한 논리 및 / 또는 진리표를 구현하기도합니다 (많은 ALU는 하나 이상의 ROM으로 구성되어 있습니다). ROM의 액세스 속도는 머신의 최고 속도를 크게 제한 할 수 있지만 상당한 재배 선없이 프로세서를 쉽게 디버깅, 용도 변경 및 조정할 수 있기 때문에 인기가 있습니다.
Alexios

15

과학 박람회에서 약간의 상을 수상한 7400 시리즈 TTL로 특수 목적 컴퓨터를 제작 한 전 고등학생으로서, 나는 가능한 한 빨리 달리는 것을 막는 다음과 같은 것들을 관찰했습니다.

  • 브레드 보드의 정전 용량. 인접한 모든 커넥터 쌍 사이의 몇 pF. 펄스 에지 상승 / 하강 시간이 제한되고 크로스 토크가 추가 된 곳이 있습니다. 이것은 아마도 가장 큰 요인 일 것입니다.

  • 그랩 백 칩의 변형. 전파 지연 및 기타 특성이 다른 74LSxx, 74Hxx, 74xx는 누구나 Poly-Paks를 기억합니까? 신호가 몇 MHz보다 높은 클럭 속도에서 동기화 상태를 유지하는 것이 불가능했습니다.

  • 그랩 백이나 다른 품질이없는 소스로부터 다시 싼 정적 메모리 칩. 그들은 특정 속도 이상으로 안정적으로 읽거나 쓸 수 없었습니다.

  • 내 테스트 계측은 가정용 신호 발생기, 5MHz 대역폭 오실로스코프 및 임시 배심원이 장착 한 디지털 회로로 제한되었습니다. 저역 통과로 필터링 된 디지털 신호의 신호 무결성, 타이밍, 진폭을 확인하기 어렵습니다.

오늘날 골동품 구매자가 아니라면 5MHz 범위를 찾기가 어려울 것입니다. 0.1 인치 간격의 DIP 패키지에서도 모든 종류의 더 나은 칩을 쉽게 얻을 수 있습니다. 단, 오랫동안 가방을 잡는 방식은별로 보지 못했습니다. 그러나 소켓 브레드 보드는 크게 바뀌지 않았습니다. 스트레이 커패시턴스는 여전히 획기적인 창의적인 디지털 프로젝트의 속도를 떨어 뜨립니다.

홈 브로우 PCB를 사용하여 브레드 보드를 피하는 것이 부유 커패시턴스를 피하는 가장 좋은 방법이지만 물론 더 많은 노력과 시간이 필요합니다.


4

주된 이유는 주파수를 높이면 브레드 보드 연결의 임피던스가 증가하여 회로의 최종 속도를 제한하기 때문입니다.

브레드 보드의 모든 연결에는 낮지 만 0이 아닌 인덕턴스가 있습니다. 빈도가 높아질수록 이러한 영향을 고려해야합니다. 전선의 임피던스는 다음과 같이 찾을 수 있습니다.

이 공식

여기서 L은 와이어의 인덕턴스입니다. 결국 Z는 전류가 흐르지 않고 회로가 작동하지 않을 정도로 충분히 높아집니다. 이 숫자의 정확한 숫자 값을 찾는 것은 특히 복잡합니다. 특히 브레드 보드에는 서로 트레이스가 있고이 식에서 각 와이어의 임피던스가 약간 변경되기 때문입니다. 당신이 경우 정말 (부정확) 번호를 원하는, 당신은 시도 할 수 있습니다 여기에 당신의 전선의 인덕턴스 (따라서 임피던스)를 계산 할 수 있습니다. 부품이 작동 할 수있는 최저 전류를 알고 있으면 해당 한계에 도달하기 전에 최대 주파수를 결정할 수 있습니다.


회로의 임피던스와 속도의 관계를 설명해 주시겠습니까?
Eugen

그렇다면 인텔 코어 I7과 같은 CPU는 2.5GHz의 클럭 속도에서 작동하며 브레드 보드에 구축 된 CPU는이 속도를 달성 할 수 없다고 어떻게 설명 할 수 있습니까? 처음에는 CPU와 RAM 칩 사이의 와이어 길이와 연결되어 있다고 생각했습니다.
Eugen

물리 법칙을 부정하지는 않지만 인덕턴스가 속도의 주요 제한 요소라고 생각하지 않습니다. 그 후, 비슷한 범위의 길이의 비슷한 전선이 가정용 라디오 및 기타 프로젝트에서 훨씬 높은 주파수로 사용됩니다. 임피던스, 길이, 레이아웃 일치, 우발적 인 커플 링 방지 등을 조심해야합니다.
DarenW

1
@DarenW : 스트레이 인덕턴스와 커패시턴스가 실제로 문제입니다. 무선 시스템에서는 일반적으로 사소한 길이의 전선이 하나만 있습니다. 프로세서 구현에서는 간격에 따라 상호 인덕턴스가있는 수백이 있습니다. 복잡성으로 인해 주파수 의존적 상호 작용을 관리 할 수 ​​없습니다. 특성 임피던스는 브레드 보드에서 잘 제어되지 않는 접지 트레이스와의 거리와 같은 것에 크게 의존합니다.
벤 Voigt

1
나는 당신이 옳다고 생각합니다. 아마 일반적인 반응 일 것입니다. 커패시턴스는 비슷한 문제를 야기하지만, 급격한 상승 / 하강 에지 및 상태 변경과 같은 경우에 발생합니다. 임피던스를 찾는 방정식은 비슷하지만, 수치적인 답을 원한다면 비슷한 방식으로 적용 할 수 있습니다.
Nate

3

다른 사람들은 "왜"라고 대답했습니다. 최대 속도를 결정하는 방법은 다음과 같습니다.

  1. 각 플립 플롭마다 시계가 Q인지 확인하십시오.
  2. 플립 플롭에서 다음 플립 플롭까지 모든 와이어의 와이어 길이를 합산하십시오. 이 길이를 시간으로 돌리십시오. 철사는 빛의 ~ 2 / 3 속도입니다
  3. 비동기 RAM을 포함한 모든 게이트 지연을 합산하십시오.
  4. 다음 플립 플롭에서 설정 시간을 가져 가십시오.
  5. 1-4를 더하십시오. 이것은 최소 클럭 기간입니다. 주파수를 얻으려면 반전하십시오.
  6. 시계 왜곡을 고려하십시오. 시계가 첫 번째보다 두 번째 ff에 도달하면 1-4로 기울기를 추가하십시오.
  7. 시계가 첫 번째보다 두 번째 ff에 도달하면 최소값 1-3을 계산하십시오. 두 번째 ff + 클럭 스큐에 필요한 유지 시간보다 짧아야합니다.

어떤 와이어 길이에 대해 이야기하고 있습니까? 전원에서 CPU 출력 핀까지의 길이, CPU 출력 핀에서 RAM 칩까지의 길이 ...? 또한 첫 번째 단계에서 당신이 무엇을 의미하는지 명확하지 않습니다.
Eugen

2
@Eugen-나는 (내 전문 분야가 아닌) 내부 전파 지연을 언급하고 있다고 생각합니다. 클럭에서 출력이 안정 될 때까지의 시간입니다.
무조건 복지 모니카 Monica 1

1

속도를 제한하는 모든 전기적인 이유 외에도 논리적 수준에는 하나가 있습니다.

분기 예측을 통한 파이프 라인 작업, 더 빠른 산술 및 기타 등등과 같이 작업을 더 빠르게 실행하는 데 많은 리소스를 버릴 수 없습니다. 캐시는 기본 메모리보다 빠르지 않은 경우에는 의미가 없습니다.


1

사제 기계의 경우 두 가지 요소가 있습니다. 사용중인 칩의 전파 지연 및 CPU 설계를 통해 가장 긴 경로에서 사용해야하는 칩 수.

예를 들어, 74HC574 (8 비트 레지스터)의 최대 전파 지연은 약 41ns입니다 (데이터 시트에서 가져옴). 이제 CPU 설계를 통과하는 가장 긴 경로가 8 개의 서로 다른 칩을 통과해야한다고 가정 해 보겠습니다. 8 개 각각에 대한 전파 지연을 더하고 333ns에 도달한다고 상상해 보자. 1000ns는 1Mhz와 동일하며 최대 속도는 3Mhz입니다.

실제로 안정적인 디자인을 보장하기 위해 2Mhz와 같은 느린 속도로 자신을 제한하고 싶을 수도 있습니다. 비록 당신이 10 억 사이클마다 한 번만 타이밍을 놓칠 것이라고 생각하더라도 여전히 문제가 있습니다. 100 억을 3 백만으로 나눈 값은 3,333 초마다 한 번씩 실행이 빠짐을 의미하며 이는 시간당 약 1 회입니다. 매 시간마다 기계를 충돌시키는 것은 좋지 않습니다!

더 빠르게 진행하려면 더 빠른 칩을 사용하거나 디자인을 변경하여 가장 느린 경로의 칩 수를 줄이십시오. 가장 빠른 홈브류 속도는 약 4Mhz로 각 사이클을 완료하는 데 250ns를 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.