프로세서 개발의 물리적 경계. "the last of thecomputer" 같은 주제의 문제 보기

슈퍼컴퓨터는 항상 특별한 종류의 컴퓨팅 기술로 간주되어 왔습니다. 이러한 기계는 비정상적인 문제를 해결하기 위해 제작되었으므로 예산도 비정상적이며 이로 인해 무한한 가능성이 있다는 느낌을 받았습니다. 문제는 항상 돈에 관한 것 같았고 추가로 천만 또는 2백만이 있으면 생산성이 향상될 수 있습니다. 끝없이 늘어나게 됩니다. 그러나 최근 몇 달, 몇 년 동안 일어난 일과 TOP500.org에 알려진 지구상에서 가장 강력한 숫자 수집가 500명의 최신 목록에 나타난 일은 "무한대"가 끝났다고 주장할 이유를 제공합니다. 슈퍼컴퓨터는 반도체 전자 장치 성능의 물리적 한계에 도달한 최초의 현대 컴퓨터 시스템이었으며, 우선 이제 교착 상태에서 벗어날 방법을 찾아야 합니다. 새로운 컴퓨팅 기술.

그러한 광범위한 진술에 대한 공식적인 단서는 위 목록의 편집자가 발견한 이상한 패턴이었습니다. 상위 500위는 1년에 두 번 업데이트되며 지난 주에 발표된 최신 버전의 상위 순위에는 거의 변화가 없었습니다. 0.223~0.250엑사플롭). 그러나 질적인 일반적인 변화가 일어났습니다. 목록의 "무게 중심"이 목록의 맨 위로 이동했습니다. 간단히 말해서 주요 컴퓨팅 성능이 이제 상대적으로 작은(역사적으로 기록적인 작은) 수에 집중되었습니다. 가장 빠른 기계. 이는 다음과 같습니다. Top 450의 누적 성능 중 절반은 목록의 처음 17개 컴퓨터에서 제공됩니다. 이러한 추세는 어제 갑자기 나타난 것이 아니라 지난 6년 동안 생각해 볼 필요가 있을 정도로 구체화되었습니다.

의심할 여지가 없는 설명은 하나도 없습니다. 가장 설득력 있는 것 중 하나는 재정적입니다. 최근 몇 년 동안 슈퍼컴퓨터는 훨씬 더 비싸졌습니다(예를 들어 2000년대 중반 컴퓨터를 갉아먹던 컴퓨터에 비해 약 4배). 따라서 현재는 상대적으로 소수의 정부 기관과 정부 기관에서만 사용할 수 있습니다. 대기업. 또한 그다지 강력하지 않은 새 자동차의 디자이너와 구매자는 이미지를 망치지 않기 위해 등급에 표시하려고 노력하지 않습니다. 따라서 더 멀리 갈수록 추세가 더 명확하게 나타납니다. 강한 것은 더 강해지고 약한 것은 비선형적으로 빠르게 뒤쳐집니다.

중요한 결론은 슈퍼컴퓨터의 필요성이 그치지 않았으며 접근성이 점점 낮아졌다는 것입니다. 하지만 무어의 불멸의 법칙은 어떻습니까? 더 조밀한 레이아웃으로 가격 인상을 보상하여 생산성을 높여야 하지 않을까요? 여기서 주요 의혹이 드러납니다. 무어의 법칙이 여전히 적용되는 결승선에 도달한 것 같지만 대부분의 플레이어가 활용하기에는 이미 너무 비용이 많이 듭니다.

과학자들은 그 결과를 다음과 같이 공식화합니다. 이전에 달성할 수 없었던 컴퓨팅 속도를 한 번의 도약으로 제공할 획기적인 기술이 없으면 슈퍼컴퓨터 산업은 광범위한 경로를 따라 이동해야 합니다. 즉, 어리석게도 컴퓨터의 프로세서 수를 늘리는 것입니다. 더 나쁜 것은 이 경로가 사용자의 욕구를 충족시킬 수 없기 때문에(그리고 숫자 처리는 전통적으로 데이터 처리를 위한 도구일 뿐만 아니라 기업 및 국가 권한을 확립하는 방법이기도 함) 디자이너는 그래픽 가속기에 의존했습니다. , 예를 들어 어떤 작업도 해결하지 않는 데 적합합니다. GPU를 적극적으로 사용하는 슈퍼컴퓨터의 수는 지난 5년 동안 엄청나게 증가했습니다!

그리고 여기에서 Top 500 발표 초기(20년 전)부터 슈퍼컴퓨터 시스템의 성능을 측정하는 주요 척도 역할을 했던 유명한 Linpack 테스트가 곧 대체될 예정임을 기억하는 것이 매우 좋습니다. 이를 새로 개발된 HPCG(High Performance Conjugate Gradient) 테스트로 대체하는 것이 제안되었습니다. 이유: 1979년에 Fortran으로 작성된 Linpack은 측정된 시스템의 실제 성능을 불만족스럽게 반영하며 불일치가 커지고 있습니다.

일반적으로 공동 저자인 Jack Dongarra조차도 Linpack과 HPCG의 차이점을 명확하게 설명할 수 없습니다. 그러나 크게 단순화하면 차이는 다음과 같이 줄어들 수 있습니다. Linpack은 주로 슈퍼컴퓨터의 순수 계산 수행 능력(GPU 가속기가 잘 수행함)을 평가하는 반면, HPCG는 내부 통신 성능도 고려합니다. 실용적인 과학적, 기술적 문제(즉, 잦은 불규칙한 메모리 액세스 등)를 해결합니다.

HPCG가 대체되지 않으면 몇 년 간의 "침입" 후에 Linpack을 보완하게 됩니다(관심 있는 분들을 위해 소스 코드는 Sandia 연구소 웹사이트의 BSD 라이센스에 따라 제공됩니다). 그리고 이로 인해 전체 상위 500대 목록이 크게 개편되고 더 높고 공정한 평가를 받을 소규모 참가자가 다시 돌아오며 심지어 슈퍼컴퓨터가 더 이상 Linpack에 최적화되지 않은 경우 아키텍처를 조정할 수도 있습니다. 물론 후자를 특별히 기대해서는 안되지만 결국 아직 획기적인 컴퓨팅 기술은 없습니다!

그리고 돌파구가 없이 숫자를 갉아먹는 사람들의 세계에는 지루함이 지배했습니다. 더 강력한 자동차를 만드는 방법은 무엇입니까? 더 많은 프로세서를 공급하십시오. 이는 더 많은 돈을 찾는 것을 의미합니다. 그러나 현실은 특정(그리고 이미 달성한) 수준 이상의 실제 작업을 병렬화해도 속도가 향상되지 않으며, 가장 강력한 슈퍼컴퓨터는 이미 너무 비싸서 논의한 것처럼 이를 구축하고 운영하는 것은 소수만이 감당할 수 있는 수준입니다. 위에. 결과적으로 슈퍼컴퓨터 스트림이 고갈됩니다. 이것은 기술 시대의 종말, 지난 50년 동안 우리가 알고 있던 반도체의 종말입니다. 그리고 컴퓨터 성능을 새로운 수준으로 끌어올릴 수 있는 기술이 발견될 때까지 우리는 계속해서 연간 몇 퍼센트씩 시간과 콘텐츠를 표시할 것입니다.

무엇이 그러한 획기적인 발전을 가져올 수 있습니까? 서양 언론은 나노튜브에 주목하고 있으며, 이를 통해 스탠포드 연구진은 1차원 극성 트랜지스터(CNFET)를 구축하고 기능성이 보장된 미세 회로를 만드는 방법을 배웠습니다(주요 문제: 많은 수를 피하는 것은 여전히 ​​어렵습니다). 잘못 배치된 나노튜브) 그리고 지난 주 ACM/IEEE SC13 슈퍼컴퓨팅 회의에서 시연된 MIPS 호환 컴퓨터를 구축할 수도 있습니다(“Computerra”는 이 프로젝트에 대해 썼습니다: “” 참조). 앞으로 이 기술은 반도체 칩에 단위 전력 소비당 13배 뛰어난 성능을 제공할 수 있다. 여기 나노튜브를 연구하는 사람이 있는지 궁금합니다.

80386 마이크로프로세서는 이전 16비트 8086/80286 마이크로프로세서의 완전한 32비트 버전이며 프로세서 아키텍처의 상당한 발전, 즉 16비트에서 32비트 아키텍처로의 전환을 나타냅니다. 비트 심도의 증가와 함께 많은 개선 사항과 추가 기능도 있습니다. 80386 마이크로프로세서는 작업 전환, 향상된 메모리 관리, 페이징 유무에 관계없이 가상 메모리 관리, 소프트웨어 보호 및 대용량 저장 기능을 제공합니다. 레거시 8086/8088 및 80286 마이크로프로세서용으로 작성된 모든 소프트웨어는 80386 마이크로프로세서와 상위 호환됩니다. 프로세서의 주소 지정 가능 메모리 양이 1MB(8086/8088 마이크로프로세서의 경우) 또는 16MB(80286 마이크로프로세서의 경우)에서 늘어났습니다. 보호 모드에서 프로세서 80386은 최대 4GB까지 사용할 수 있습니다. 80386 마이크로프로세서는 시간이 많이 걸리고 80286 프로세서의 경우 필요했던 마이크로프로세서의 하드 재설정 없이 보호 모드에서 실제 모드로 전환할 수 있습니다.

80486 마이크로프로세서는 80386 마이크로프로세서의 향상된 버전이며 단일 클록 주기에 많은 명령을 실행합니다. 80486 마이크로프로세서에는 내부 8KB L1 캐시와 80387 보조 프로세서와 소프트웨어 호환되는 통합 고성능 수학 보조 프로세서도 있습니다. 80486DX4 프로세서에는 16KB 캐시가 있습니다. 80386 마이크로프로세서와 동일한 클럭 속도로 작동하는 80486 마이크로프로세서는 50% 더 강력합니다.

마이크로프로세서 80386

80386 마이크로프로세서의 가장 일반적인 두 가지 버전은 80386DX 프로세서와 단순화된 80386SX 프로세서로, 내부적으로는 32비트 버스를 사용했지만 외부 16비트 데이터 버스가 있었습니다.

80386DX 프로세서는 132핀 PGA(핀 그리드 어레이) 패키지, 즉 핀의 매트릭스 배열이 있는 패키지에 내장되었습니다. 마이크로프로세서 80386 - 80386EX의 최신 버전에는 AT 버스 제어 장치, 동적 RAM 재생 제어 장치, 프로그래밍 가능한 크리스탈 선택 장치, 인터럽트 컨트롤러, DMA 컨트롤러, 타이머 장치, 직렬 데이터 전송 장치, 26 주소가 포함되어 있습니다. 버스 핀, 16개의 데이터 버스 핀.

32비트 데이터 버스와 32비트 주소 버스를 갖춘 80386DX 마이크로프로세서는 4GB의 물리적 메모리를 처리할 수 있습니다. 80286 마이크로프로세서와 마찬가지로 80386SX 마이크로프로세서는 16MB의 메모리 주소를 지정하고 24비트 주소 버스와 16비트 데이터 버스만 갖습니다. 80386SX 마이크로프로세서는 32비트 버스의 전체 버전이 필요하지 않은 사용을 위해 80386DX 마이크로프로세서 이후에 설계되었습니다. 80386SX 마이크로프로세서는 80286 마이크로프로세서와 동일한 마더보드를 사용하는 많은 개인용 컴퓨터에 사용되었습니다. Windows를 포함한 대부분의 응용 프로그램이 16MB 미만의 메모리를 필요로 하던 당시 80386SX 프로세서는 80386의 인기 있고 저렴한 버전이었습니다. 그 후, 80486 프로세서가 새로운 컴퓨팅 시스템을 구축하는 데 점점 더 저렴해졌음에도 불구하고 80386 프로세서는 오랫동안 많은 응용 프로그램에 대한 수요가 남아 있었습니다. 예를 들어, 80386EX 마이크로프로세서는 개인용 컴퓨터에는 사용되지 않지만 임베디드 시스템에서는 매우 인기가 있었습니다.

이전 버전의 Intel 마이크로프로세서 제품군과 마찬가지로 80386 마이크로프로세서는 작동하는 데 단일 +5.0V 전원 공급 장치만 필요합니다. 80386 프로세서의 평균 전류 소비량은 25MHz에서 실행되는 프로세서의 경우 550mA, 프로세서의 경우 500mA입니다. 16MHz에서 실행되는 프로세서의 경우 20MHz 및 450mA에서 실행됩니다. 또한 전류 소비량이 600mA인 33MHz 버전의 프로세서도 있었습니다. 80386EX 마이크로프로세서의 전류 소비는 33MHz 주파수에서 작동할 때 320mA입니다.

특정 작동 모드에서 프로세서의 전류 소비는 1.0A까지 증가할 수 있습니다. 이는 전원 공급 장치와 배전 회로가 이러한 전류 서지를 처리하도록 설계해야 함을 의미합니다. 프로세서에는 수많은 V CC 및 V SS 핀이 있으며, 마이크로프로세서가 제대로 작동하려면 모두 +5.0 V DC 소스(V CC)에 연결되고 접지(V SS)되어야 합니다. 일부 프로세서 핀은 N/C(연결 없음)로 지정되어 있으므로 어디에도 연결하면 안 됩니다. 언급된 것 외에도 공급 전압이 +3.3V로 감소된 80386SX 및 80386EX 마이크로프로세서의 여러 다른 버전이 있었습니다. 이러한 프로세서는 휴대용 노트북 컴퓨터 또는 랩톱에 사용되었습니다.

메모리 시스템

80386DX 마이크로프로세서가 액세스할 수 있는 물리적 메모리 시스템의 용량은 4GB입니다. 또한 프로세서는 메모리 관리 장치 및 설명자를 사용하여 실제 메모리에 매핑된 최대 64TB의 가상 메모리를 지원합니다. 가상 주소 지정을 사용하면 스와핑 방법이 있고 대용량 하드 드라이브 용량이 있는 경우 4GB 이상의 프로그램을 사용할 수 있습니다. 그림에서. 그림 6.4는 80386DX 마이크로프로세서의 물리적 메모리 시스템 구성을 보여줍니다.

메모리는 4개의 8비트 메모리 뱅크로 나누어져 있으며 각 뱅크의 용량은 최대 1GB입니다. 이 32비트 메모리 구성을 통해 바이트, 워드 또는 더블 워드에 대한 액세스가 가능합니다. 80386DX 마이크로프로세서는 1개의 메모리 사이클로 32비트 데이터를 전송할 수 있는 반면, 8088 마이크로프로세서는 4개의 사이클이 필요했고 80286 및 80386SX 마이크로프로세서는 2개의 사이클이 필요했습니다. 큰 데이터 너비는 매우 중요하며, 특히 32비트를 차지하는 단정밀도 부동 소수점 숫자의 경우 더욱 그렇습니다. 충분히 발전된 소프트웨어는 부동 소수점 숫자를 사용하여 데이터를 저장하므로 32비트 메모리 셀은 메모리 용량을 염두에 두고 작성된 경우 프로그램 실행 속도를 높입니다.

각 메모리 바이트의 주소는 이전 버전의 프로세서와 마찬가지로 16진수 표기법으로 표시됩니다. 차이점은 80386DX 마이크로프로세서는 00000000H-FFFFFFFFH 범위에서 주소 지정이 가능한 메모리가 있는 32비트 주소 버스를 사용한다는 것입니다.

8086, 80286 및 80386SX 마이크로프로세서에 구축된 시스템의 두 메모리 뱅크는 BLE(8086 및 80286의 A0) 및 BHE 신호를 통해 액세스됩니다. 80386DX 마이크로프로세서는 BE3 - BE0 네 개의 신호를 사용하여 메모리 뱅크에 액세스합니다. 이 메모리 구성을 사용하면 마이크로프로세서가 하나의 활성화 신호를 활성화할 때 1바이트에 액세스할 수 있습니다.

두 개의 활성화 신호가 활성화되면 프로세서는 워드의 주소를 지정합니다. 대부분의 경우 워드에 주소를 지정할 때 뱅크 0과 1 또는 뱅크 2와 3에 액세스됩니다. 메모리 셀 00000000Н는 뱅크 0에 있고, 셀 00000001Н는 뱅크 1에 있고, 셀 00000002Н는 뱅크 2에 있고, 셀 00000003은 뱅크 2에 있습니다. 뱅크 3. 80386DX 마이크로프로세서에는 주소 핀 A0 및 A1이 없습니다. 이는 내부적으로 바이트 활성화 신호로 디코딩되기 때문입니다. 마찬가지로 16비트 80386SX 마이크로프로세서는 BLE 및 OUT 신호로 디코딩되므로 A0 주소 핀이 없습니다. 80386EX 마이크로프로세서는 BS8 신호가 수동(논리적 하이 레벨)일 때 16비트 메모리 시스템의 두 뱅크에 있는 데이터 워드를 처리하거나 이 신호가 활성화될 때 8비트 시스템의 바이트를 처리합니다.

제어 레지스터

80386 마이크로프로세서에는 EFLAGS 플래그 레지스터와 EIP 명령어 포인터 외에 다른 제어 레지스터가 있습니다. 제어 레지스터 CR0(제어 레지스터)은 기계 상태 레지스터와 동일합니다. M.S.W.(머신 상태 워드) 80286 마이크로프로세서의 단, 16비트 레지스터가 아닌 32비트 레지스터라는 점이 다릅니다. 추가 제어 레지스터는 CR1, CR2 및 CR3입니다.

그림에서. 6.5. 80386 마이크로프로세서의 제어 레지스터 구조는 다음과 같습니다.

CR1 제어 레지스터는 80386 마이크로프로세서에서는 사용되지 않지만 향후 제품을 위해 예약되어 있습니다. 제어 레지스터 CR2는 마지막 메모리 페이지 오류가 수신된 선형 주소를 기록합니다. 마지막으로 제어 레지스터 CR3은 페이지 테이블 기본 주소를 캡처합니다. 32비트 레지스터의 하위 12비트 0~11은 0을 포함하고 나머지 레지스터 비트와 결합되어 4K 페이지 테이블의 시작을 결정합니다.

CR0 레지스터에는 80386 마이크로프로세서에서 다음과 같이 정의되는 여러 특수 제어 비트가 있습니다.

PG(페이징 활성화) 비트는 PG = 1일 때 선형 주소에서 물리적 주소로 페이지 테이블 변환을 선택하도록 설계되었습니다. 메모리 페이징을 사용하면 모든 물리적 메모리 셀을 선형 주소에 할당할 수 있습니다.

동부 표준시

ET(확장 유형) 비트는 수학 보조 프로세서 명령어 지원을 나타내는 표시입니다. ET가 0이면 80287 보조 프로세서가 선택되고 ET = 1이면 80387 보조 프로세서가 선택됩니다. 이 비트는 시스템에 80387 보조 프로세서가 있다는 사실을 반영하기 위해 추가되었습니다.

TS(작업 스위치) 비트는 마이크로프로세서가 작업 스위치를 수행했음을 나타냅니다(보호 모드에서 TR 작업 레지스터의 내용을 변경하면 TS 비트가 설정됨). TS 비트가 설정되면 디지털 보조 프로세서 명령으로 인해 인터럽트 유형 7(보조 프로세서를 사용할 수 없음)이 발생합니다.

먹다

EM(Emulate Coprocessor) 비트는 각 ESC 명령, 즉 보조 프로세서에 관련된 명령을 실행하려고 할 때 인터럽트 유형 7을 호출하도록 설정됩니다. 이는 보조 프로세서의 소프트웨어 에뮬레이션에 자주 사용됩니다. 에뮬레이션은 시스템 비용을 줄여주지만 에뮬레이트된 보조 프로세서 명령어를 실행하는 데 약 100배 정도 더 오랜 시간이 걸리는 경우가 많습니다.

MP(모니터 보조 프로세서) 비트는 TS 비트가 설정된 동안 대기 명령이 실행될 때마다 유형 7 인터럽트를 트리거하도록 설정됩니다.

답장

PE(보호 활성화) 비트는 80386 마이크로프로세서를 보호 모드로 전환하도록 설정됩니다. 또한 실제 작동 모드로 전환하기 위해 다소 긴 일련의 명령을 시작하도록 재설정될 수도 있습니다. 80286 마이크로프로세서에서는 이 비트를 설정할 수만 있습니다. 80286 마이크로프로세서는 하드 리셋을 수행하지 않고는 리얼 모드로 돌아갈 수 없으므로 보호 모드를 사용하는 대부분의 시스템에서 사용할 수 없습니다.

설명자 및 선택자

주소 페이징 블록을 논의하기 전에 80386 마이크로프로세서의 설명자와 선택자를 살펴보겠습니다. 80386 마이크로프로세서는 80286 마이크로프로세서와 거의 동일한 방식으로 설명자를 사용합니다. 설명자두 마이크로프로세서 모두에서 이는 메모리 세그먼트와 해당 위치에 대한 정보를 포함하는 8바이트 시퀀스입니다. 선택자(세그먼트 레지스터의 내용)은 설명자 테이블에 지정된 설명자를 식별하는 데 사용됩니다. 80286과 80386 마이크로프로세서의 주요 차이점은 후자에 두 개의 추가 선택기(FS 및 GS)가 있고 설명자의 가장 중요한 두 바이트가 80386 마이크로프로세서에 대해 정의된다는 것입니다. 또 다른 차이점은 80386 마이크로프로세서 설명자가 80286 마이크로프로세서에 있는 24비트 기본 주소와 16비트 세그먼트 제한 필드 대신 32비트 세그먼트 기본 주소와 20비트 세그먼트 제한 필드를 사용한다는 것입니다.

80286 마이크로프로세서는 24비트 기본 주소로 16MB 메모리 영역의 주소를 지정하고 16비트 제한 필드로 64KB 세그먼트 길이를 갖습니다. 80386 마이크로프로세서는 32비트 기본 주소를 사용하여 4GB 메모리 영역을 처리하며 세그먼트 크기는 두 가지 다른 방식으로 사용되는 20비트 제한 필드에 의해 결정됩니다. 설명자의 세분성 비트 G(세분성), 즉 분수 비트는 세그먼트 크기의 측정 단위를 결정합니다. G = 0이면 크기가 바이트 단위로 지정되고, G = 1이면 4K로 지정됩니다. 페이지. 따라서 20비트 제한 필드의 세그먼트 크기는 각각 1MB 또는 4GB가 될 수 있습니다.

G 세분성 비트는 80386 마이크로프로세서부터 설명자에 도입되었습니다. G 비트 = 0인 경우 제한 필드에 저장된 값은 세그먼트 크기 제한으로 직접 처리되어 1의 모든 00000H-FFFFFG 영역에 대한 액세스를 허용합니다. MB 세그먼트. G 비트 = 1인 경우 제한 필드에 저장된 숫자는 00000XXXH-FFFFFXXXH로 해석됩니다. 여기서 XXX는 000H와 FFFH 사이의 값을 갖습니다. 이를 통해 4KB 청크에서 0바이트부터 4GB까지의 세그먼트 크기에 액세스할 수 있습니다. 제한 값 00001H는 섹터 크기 제한이 G 비트가 1일 때 4KB이고 G 비트가 0일 때 1바이트임을 나타냅니다. 예를 들어 물리적 주소 10000000H에서 시작하는 세그먼트가 있습니다. 한계 값이 00001H이고 G 비트 = 0인 경우 이 세그먼트는 10000000H에서 시작하여 10000001H에서 끝납니다. 동일한 제한 값(00001Н)에서 비트 G = 1인 경우 세그먼트는 셀 100000000Н에서 시작하여 10001FFFH에서 끝납니다.

그림에서. 그림 6.6은 80386 마이크로프로세서가 선택기와 설명자를 사용하여 보호 모드에서 메모리 세그먼트를 처리하는 방법을 보여줍니다. 표시된 주소 지정은 80286 마이크로프로세서가 세그먼트를 주소 지정하는 방식과 동일하지만 차이점은 80386 마이크로프로세서에서 사용할 수 있는 세그먼트 크기입니다. 선택기의 최상위 13비트(비트 15-3)는 설명자 테이블에서 설명자를 선택하는 데 사용됩니다. 테이블 표시 비트 TI(테이블 표시기)(선택기의 비트 2)는 설명자 테이블의 유형을 나타냅니다. TI 비트 = 1이면 로컬, TI 비트 = 0이면 글로벌입니다. RPL(요청된 권한 수준)의 하위 2비트(비트 1~ 0) 선택기의 해당 섹터에 액세스하기 위해 요청된 권한 수준을 결정합니다.

선택기는 13비트 코드를 사용하여 핸들에 액세스하기 때문에 각 테이블(로컬 또는 전역)에는 최대 8192개의 핸들이 포함됩니다. 80386 마이크로프로세서의 가능한 세그먼트 크기는 4GB에 달하므로 두 개의 설명자 테이블을 사용하여 한 번에 16,384개의 세그먼트에 액세스할 수 있습니다. 이 모든 것을 통해 80386 마이크로프로세서는 최대 64TB(1TB = 1024MB)의 가상 메모리를 지원할 수 있습니다. 물론 최대 4GB 용량의 메모리 시스템도 실제로 존재할 수 있다. 특정 시점에 프로그램에 4GB 이상의 메모리가 필요한 경우 필요한 데이터를 디스크 드라이브나 기타 대형 저장 장치에서 메모리 시스템으로 펌핑할 수 있습니다.

80386 마이크로프로세서는 전역( GDT) 및 지역 (LDT)설명자. 세 번째 설명자 테이블은 인터럽트 설명자( 갖다) 또는 밸브(게이트). 80386 마이크로프로세서 설명자의 처음 6바이트는 80286 마이크로프로세서 설명자와 동일하므로 상위 소프트웨어 호환성을 제공합니다. 80286 마이크로프로세서 설명자의 상위 2바이트는 예약되어 있으며 값 00H를 포함하고 있습니다. 80286 및 80386 마이크로프로세서에 대한 설명자는 그림 1에 나와 있습니다. 6.7.

80386 마이크로프로세서 설명자에는 32비트 기본 주소, 20비트 세그먼트 제한 필드 및 세그먼트 제한 배수(1 또는 4K 회)를 결정하거나 제한이 바이트 단위로 지정되는지(G)를 결정하는 세분성 비트 G가 포함되어 있습니다. = 0) 또는 페이지 4K(G = 1). 다음은 80386 마이크로프로세서 설명자 필드의 목적입니다.

베이스(B31-B0)

기본 필드는 80386 마이크로프로세서의 물리적 4GB 주소 공간에 있는 세그먼트의 기본(시작) 32비트 주소를 정의합니다.

한계(L19-L0)

제한 필드는 세분성 비트가 지정된 경우 최대 세그먼트 크기를 바이트 단위로 지정합니다. 지 = 0,또는 G = 1인 경우 4K 페이지입니다. 이를 통해 G 비트가 0인 경우 1바이트에서 1MB까지, G 비트가 1인 경우 4KB에서 1GB까지의 세그먼트 크기를 가질 수 있습니다. 세그먼트의 마지막 바이트를 나타냅니다.

액세스 권한

액세스 권한 필드는 세그먼트에 관한 권한 및 기타 정보 수준을 지정합니다. 이 바이트는 다양한 유형의 설명자마다 다르며 각각에 대해 지정됩니다.

세분성 비트 G(세분성)는 세그먼트 제한 필드에 대해 1 또는 4K 승수를 선택합니다. G 비트 = 0이면 승수는 1이고, G 비트 = 0이면 승수는 4K입니다.

비트 D(기본 크기)는 사용되는 피연산자와 레지스터의 기본 크기를 결정합니다. D = 0이면 80286 마이크로프로세서에서와 ​​같이 16비트입니다. D = 1이면 80386 마이크로프로세서에서와 ​​같이 32비트입니다. 이 비트는 32비트 데이터 및 인덱스 레지스터에 접두사가 필요한지 여부를 결정합니다. D = 0이면 32비트 레지스터에 액세스하고 32비트 포인터를 사용하려면 접두사가 필요합니다. D = 1이면 16비트 레지스터에 대한 액세스와 16비트 포인터에 대한 접두사가 필요합니다. 어셈블리 언어의 세그먼트 지시문과 함께 사용되는 use16 및 use32 속성은 D 비트의 설정을 제어합니다. 실제 작업에서는 항상 레지스터가 16비트라고 가정하므로 32비트 레지스터 또는 포인터로 주소가 지정된 모든 명령어는 접두사로 시작되어야 합니다.

AVL(사용 가능) 비트는 운영 체제에서 사용할 수 있으며 필요한 경우 사용할 수 있습니다. 이는 프로세서에 의해 적용되거나 구문 분석되지 않으며 응용 프로그램에서 사용하기 위한 것입니다.

디스크립터에는 코드 및 데이터 세그먼트 디스크립터와 시스템 세그먼트 디스크립터의 두 가지 유형이 있습니다. 첫 번째 설명자는 데이터, 스택 및 코드 세그먼트를 정의합니다. 시스템 세그먼트 설명자는 시스템 테이블, 작업 및 게이트에 대한 정보를 저장하도록 설계되었습니다.

1. 마이크로프로세서 작동 모드

2. 기억의 정리

 RAM 사용 모델(세그먼트, 페이징)

 분할 메모리 모델의 개념

 페이지 메모리 모델의 개념

 세그먼트 페이지 메모리 할당 방식

3. 플랫 메모리 모델

마이크로프로세서 작동 모드

리얼 모드

이것이 최초의 16비트 마이크로프로세서의 작동 모드입니다. 그 존재는 새로운 마이크로프로세서 모델에서 구형 모델용으로 개발된 프로그램의 기능을 보장해야 한다는 사실 때문입니다.

보호 모드(보호됨방법)

병렬 컴퓨팅이 하드웨어와 소프트웨어로 보호될 수 있음을 의미합니다.

마이크로프로세서가 제공하는 모든 기능을 최대한 활용할 수 있습니다. 모든 최신 멀티태스킹 운영 체제는 이 모드에서 작동합니다.

여러 개의 독립적인 프로그램을 실행하도록 설계되었습니다. 여러 작업의 협업을 보장하려면 상호 영향으로부터 작업을 보호해야 하며 작업의 상호 작용을 규제해야 합니다.

리얼 모드용으로 설계된 프로그램은 보호 모드에서 작동할 수 없습니다. (물리적 주소는 다양한 원리에 따라 형성됩니다.)

가상 8086 모드

마이크로프로세서가 이미 보호 모드에 있는 경우 이 모드로 전환할 수 있습니다. i8086용으로 개발된 여러 프로그램의 동시 작동이 가능합니다. 리얼 모드 프로그램을 실행할 수 있습니다. 물리적 주소는 리얼 모드 규칙에 따라 형성됩니다.

기억 정리

마이크로프로세서가 주소 버스를 통해 접근할 수 있는 물리적 메모리를 호출합니다. (또는 랜덤 액세스 메모리 - RAM).

OP는 바이트 시퀀스로 구성됩니다.

각 바이트는 고유한 주소(해당 번호)에 해당합니다. 실제 주소 .

메모리 관리 메커니즘은 전적으로 하드웨어입니다. 프로그램 자체는 주소 버스에 물리적 메모리 주소를 생성할 수 없습니다.

마이크로프로세서 하드웨어는 여러 가지를 지원합니다. RAM 사용 패턴:

분할된 모델

페이지 모델

세그먼트 메모리 모델 이해

프로그램 메모리는 인접한 메모리 영역으로 나누어집니다. 세그먼트 .

세그먼트는 프로그램의 논리적 요소입니다.

프로그램 자체는 이러한 세그먼트에 있는 데이터에만 액세스할 수 있습니다.

분절독립을 나타낸다 하드웨어 지원메모리 블록.

분할- 상호 영향으로부터 작업을 보호하기 위해 하나의 작업과 시스템 전체에 여러 개의 독립적인 주소 공간이 존재하도록 보장하는 주소 지정 메커니즘입니다.

논평.프로그래머는 독립적으로 프로그램을 조각(세그먼트)으로 나누거나 이 프로세스를 자동화하여 프로그래밍 시스템에 할당할 수 있습니다.

Intel 마이크로프로세서에는 메모리 관리에 대한 특별한 접근 방식이 있습니다. 일반적으로 각 프로그램은 여러 개의 세그먼트로 구성될 수 있지만 3개의 주요 세그먼트(코드, 데이터, 스택 및 추가 데이터 세그먼트(총 3개))에만 직접 액세스할 수 있습니다.

운영 체제(프로그램 자체가 아님)는 OP의 특정 물리적 주소에 프로그램 세그먼트를 배치하고 마이크로프로세서의 작동 모드에 따라 이러한 주소의 값을 특정 위치에 씁니다.

 리얼 모드에서 주소는 세그먼트 레지스터(cs, ds, ss, es, gs, fs)에 직접 배치됩니다.

 보호 모드 - 특수 시스템 설명자 테이블(설명자 테이블의 요소는 세그먼트 설명자입니다. 각 세그먼트에는 -8바이트의 세그먼트 설명자가 있습니다. 3개의 설명자 테이블이 있습니다. 각 테이블의 주소는 특수 테이블에 기록됩니다. 시스템 레지스터).

세그먼트 내의 데이터에 액세스하려면 세그먼트 시작 부분을 기준으로 선형적으로 액세스가 수행됩니다. 0부터 시작하여 세그먼트 크기와 동일한 주소로 끝납니다. 이 주소는 배수량 ( 오프셋 ).

따라서 OP의 특정 물리적 주소에 접근하려면 세그먼트의 시작 주소와 세그먼트 내 오프셋을 결정해야 합니다.

물리적 주소는 일반적으로 콜론으로 구분된 이러한 값의 쌍으로 작성됩니다.

예를 들어 0040:001Ch; 0000:041Ch; 0020:021Ch; 0041:000Ch.

각 세그먼트는 세그먼트 설명자로 설명됩니다.

OS는 각 실행 프로세스에 대해 해당 세그먼트 설명자 테이블을 작성하고 각 세그먼트를 RAM 또는 외부 메모리에 배치할 때 설명자는 현재 위치(존재 비트)를 표시합니다.

디스크립터에는 세그먼트가 시작되는 주소 필드와 세그먼트 길이 필드가 포함되어 있습니다. 덕분에 제어할 수 있습니다.

1) 서로 겹치지 않는 세그먼트 배치

2) 실행 중인 작업의 코드가 현재 세그먼트 외부에서 액세스되는지 여부.

디스크립터에는 세그먼트에 대한 액세스 권한(수정 금지, 다른 작업에 제공할 수 있는지 여부)  보호에 대한 데이터도 포함됩니다.

장점:

1) 가상 메모리의 총량이 실제 메모리의 양을 초과합니다.

2) 가능한 한 많은 작업을 메모리에 배치하는 기능(특정 한도까지)  시스템 로드가 증가하고 시스템 리소스가 보다 효율적으로 사용됩니다.

결점:

1) 원하는 메모리 셀에 접근하는 시간이 증가한다. 먼저 세그먼트 설명자를 읽은 다음 해당 데이터를 사용하여 물리적 주소를 계산할 수 있습니다. (이러한 손실을 줄이기 위해 캐싱이 사용됩니다. 현재 수행 중인 작업이 수행되는 설명자는 임의 액세스 메모리 - 특수 프로세서 레지스터에 있습니다. );

2) 단편화;

3) 설명자 테이블 배치에 대한 메모리 손실

4) 디스크립터 테이블 처리를 위한 CPU 시간 손실.

세그먼트 메모리 모델은 마이크로프로세서의 실제 모드와 보호 모드 모두에서 지원됩니다.

다양한 거시적 물체뿐만 아니라 우주의 모든 원자는 정보를 저장할 수 있습니다. 원자 간의 상호작용 행위는 양자 비트(양자 정보의 기본 단위)가 값을 변경하는 기본 논리 연산으로 설명할 수 있습니다. Seth Lloyd의 역설적이지만 유망한 접근 방식을 통해 우리는 우주의 끊임없는 복잡성 문제를 우아하게 해결할 수 있습니다. 컴퓨터에서 실행하면 임의의 매우 짧은 프로그램이라도 매우 흥미로운 결과를 얻을 수 있습니다. 우주는 끊임없이 정보를 처리하고 있습니다. 거대한 양자 컴퓨터이기 때문에 끊임없이 자신의 미래를 계산하고 있습니다. 그리고 생명의 탄생, 유성 생식, 지능의 출현과 같은 근본적인 사건조차도 정보 처리의 연속적인 혁명으로 간주될 수 있고 간주되어야 합니다.

마골루스-레비틴 정리는 물리적 시스템(예를 들어 전자)이 한 상태에서 다른 상태로 전환할 수 있는 최대 주파수가 시스템의 에너지에 비례한다고 명시합니다. 사용 가능한 에너지가 많을수록 전자가 여기에서 다른 곳으로 이동하는 데 걸리는 시간이 줄어듭니다. 이 정리는 매우 일반적입니다. 그녀에게는 어떤 시스템이 정보를 저장하고 처리하는지가 중요하지 않습니다. 중요한 것은 이 정보를 처리하기 위해 시스템에 얼마나 많은 에너지가 있는지입니다. 예를 들어 내 컴퓨터에 있는 원자와 전자를 생각해 보세요. 온도는 실내 온도보다 약간 높습니다. 각 원자와 전자는 진동하며, 일반적인 진동과 관련된 에너지의 양은 원자와 전자 모두 동일하게 유지됩니다. 진동당 에너지는 원자든 전자든 온도에 비례합니다. 따라서 컴퓨터의 전자가 한 상태에서 다른 상태로, 여기에서 저기로, 또는 0에서 1로 이동할 수 있는 속도는 원자가 한 상태에서 다른 상태로 이동할 수 있는 속도와 동일합니다. 전자와 원자는 동일한 주파수에서 비트를 반전시킵니다.

마골루스-레비틴 정리는 비트가 상태를 변경할 수 있는 최대 주파수를 계산하는 방법을 제공합니다. 비트를 뒤집는 데 사용할 수 있는 에너지의 양에 4를 곱하고 이를 플랑크 상수로 나누어 봅시다. 결과적으로 우리는 초당 가능한 비트 반전 수를 얻습니다. 이 공식을 내 컴퓨터의 원자와 전자에 적용하면 진동하는 각 원자와 전자가 초당 약 30조(30 x 1012)번 상태와 비트를 변경한다는 것을 알 수 있습니다.

원자와 전자가 비트를 반전시키는 속도는 일반적으로 기존 컴퓨터가 수행하는 속도보다 훨씬 빠릅니다. 내가 입력하는 컴퓨터는 원자와 전자가 비트를 진동하고 반전시키는 데 사용하는 것보다 비트를 저장하는 커패시터를 충전 및 방전하는 데 10억 배 더 많은 에너지를 사용합니다. 하지만 내 컴퓨터는 원자보다 10,000배 느립니다. 내 컴퓨터의 느린 속도는 마골루스-레비틴 정리와 모순되지 않습니다. 이 정리는 비트가 상태를 얼마나 빨리 변경할 수 있는지에 대한 상한선만 제공합니다. 비트는 정리에서 허용하는 최대 속도보다 느리게 이를 수행할 수 있습니다. 그러나 양자 컴퓨터는 항상 최대 속도로 비트를 반전시킵니다.

마골루스-레비틴 정리는 비트가 초당 수행할 수 있는 기본 연산(ops) 수에 대한 제한을 설정합니다. 비트 상태를 변경하는 데 사용할 수 있는 에너지 양을 변경하지 않고 이제 해당 에너지를 두 비트로 나눈다고 가정합니다. 이 두 비트 각각은 원래 비트의 절반 에너지를 수신하고 절반 속도로 작동할 수 있습니다. 그러나 초당 총 전환 수는 동일하게 유지됩니다.

사용 가능한 에너지 양을 10비트로 나누면 각각의 상태는 10배 느리게 변경되지만 초당 총 전환 수는 동일하게 유지됩니다. 시스템의 크기에 무관한 것처럼 이 정리는 사용 가능한 에너지가 어디에서 오는지에 대해 "관심"하지 않습니다. 초당 최대 작업 수는 에너지입니다. 이자형, 4를 곱하고 플랑크 상수로 나눕니다.

Margolus-Levitin 정리를 사용하면 절대 노트북의 성능을 쉽게 계산할 수 있습니다. 계산에 사용할 수 있는 절대 노트북 에너지는 아인슈타인의 유명한 공식 E =를 사용하여 계산할 수 있습니다. 엠씨?, 어디 이자형- 에너지, – 노트북의 질량, 그리고 - 빛의 속도. 절대 컴퓨터의 질량(1kg)과 빛의 속도(초당 3억 미터)를 이 공식에 도입함으로써 우리는 절대 노트북이 계산을 수행하는 데 거의 1억 줄(1017) 줄의 사용 가능한 에너지를 가지고 있음을 알 수 있습니다. 보다 친숙한 형태의 에너지에 동일한 결과를 적용하기 위해 노트북에는 약 200억(2 x 1013) 킬로칼로리의 사용 가능한 에너지가 있으며 이는 캔디바 1000억개에 해당합니다. 그것은 많은 에너지입니다.

또 다른 친숙한 등가물은 핵폭발에서 방출되는 에너지의 양입니다. 절대적인 노트북에는 계산에 사용할 수 있는 에너지가 20메가톤(TNT 2천만 톤)에 달합니다. 이는 대형 수소폭탄이 폭발할 때 방출되는 에너지의 양과 비슷하다. 본질적으로 우리의 절대 노트북이 최고 속도로 계산을 수행하고 사용 가능한 모든 칼로리를 사용하여 비트 상태를 변경하면 내부에서 핵폭발처럼 보입니다. 최고의 노트북에서 정보를 저장하고 처리하는 기본 입자는 10억도의 온도에서 움직입니다. Ultimate Laptop은 빅뱅의 작은 조각과 같습니다. (누군가가 궁극의 노트북을 무릎 위에 올려 놓기를 원하기 전에 포장 기술은 획기적인 발전을 이루어야 합니다.) 이는 작지만 강력한 컴퓨터가 수행할 수 있는 엄청난 작업 수를 추가합니다: 100억 10억 10억 1051억 1051 초당 작업. 인텔은 노력해야 할 것이 있습니다.

하지만 인텔은 어디까지 가야 할까요? 무어의 법칙을 생각해 보십시오. 지난 반세기 동안 컴퓨터가 처리할 수 있는 정보의 양과 처리 속도는 18개월마다 두 배로 늘어났습니다. 다양한 기술(최신 집적 회로)을 통해 이러한 정보 처리 능력의 향상이 가능해졌습니다. 무어의 법칙이 해마다 계속 적용되어야 할 이유는 없습니다. 그것은 자연의 법칙이 아니라 인간 독창성의 법칙입니다. 어느 시점이 되면 무어의 법칙은 작동을 멈출 것입니다. 특히 위에서 설명한 절대적인 노트북보다 더 빠르게 계산할 수 있는 노트북은 없습니다.

그러나 현재의 기술 발전 속도로 컴퓨터 산업이 최고의 노트북을 만드는 데 얼마나 오랜 시간이 걸릴까요? 컴퓨터 성능은 1년 반마다 두 배로 늘어납니다. 15년 후에는 10배, 즉 3배 증가합니다. 즉, 오늘날의 컴퓨터는 불과 50년 전의 거대한 전기 기계보다 10억 배 더 빠릅니다. 오늘날의 컴퓨터는 초당 약 1조(1012)개의 논리 연산을 수행합니다. 그러므로 (무어의 법칙이 그때까지 유효하다면) 우리는 2205년경에 매장에서 최고의 노트북을 구입할 수 있을 것입니다.

계산에 사용할 수 있는 에너지의 양은 계산 속도를 제한합니다. 그러나 컴퓨팅 속도는 우리가 새 노트북을 구입할 때 관심을 갖는 유일한 특징은 아닙니다. 마찬가지로 중요한 것은 메모리의 양입니다. 절대형 하드 드라이브의 용량은 얼마입니까?

최고의 노트북 내부는 10억도에서 미친 듯이 흔들리는 기본 입자로 가득 차 있습니다. 빅뱅 동안 존재하는 정보의 양을 측정하기 위해 우주론자들이 사용하는 것과 동일한 방법을 사용하여 절대 노트에 캡처된 비트 수를 측정할 수 있습니다. 절대노트의 흔들리는 입자는 약 10조억 비트(1031)를 포착한다. 이는 전 세계 모든 컴퓨터의 하드 드라이브에 저장된 정보보다 훨씬 많은 비트입니다.

컴퓨터 업계가 궁극적인 노트북의 메모리 사양을 실현하는 데 얼마나 걸릴까요? 메모리 용량에 대한 무어의 법칙은 이제 컴퓨팅 속도에 대한 무어의 법칙보다 빠릅니다. 즉, 하드 드라이브 용량은 거의 매년 두 배로 늘어납니다. 이 속도라면 최고의 하드 드라이브를 만드는 데 75년밖에 걸리지 않습니다.

물론 무어의 법칙은 인간의 독창성이 컴퓨터를 더 작게 만드는 새로운 방법을 계속해서 찾는 동안에만 적용될 수 있습니다. 연결부, 트랜지스터, 커패시터의 크기를 지속적으로 줄이는 것은 어렵고 컴퓨터 구성 요소가 작아질수록 제어하기가 더 어려워집니다. 무어의 법칙은 언뜻 보기에 해결 불가능한 것처럼 보였던 하나 또는 다른 독창적인 기술적 문제로 인해 이전에 여러 번 죽은 것으로 선언되었습니다. 그러나 매번 교활한 엔지니어와 과학자들은 기술의 매듭을 끊는 새로운 방법을 찾았습니다. 더욱이, 우리가 이미 말했듯이, 우리는 컴퓨터 구성 요소가 원자 크기로 줄어들 수 있다는 믿을 만한 실험적 증거를 가지고 있습니다. 기존 양자 컴퓨터는 이미 원자 수준에서 정보를 저장하고 처리합니다. 현재의 소형화 속도로 볼 때 무어의 법칙은 앞으로 40년 동안 원자 수준에 도달하지 못할 것이므로 이에 대한 희망은 남아 있습니다.

마이크로프로세서(MP)는 처리하도록 설계된 소프트웨어로 제어되는 장치입니다. 디지털 정보이 처리 과정을 제어하고 하나 또는 여러 개의 대형 형태로 이루어집니다. 집적 회로(두번).

개념 대형 집적 회로현재 명확하게 정의되지 않았습니다. 이전에는 이 클래스에 칩에 1000개 이상의 요소가 포함된 미세 회로가 포함되어야 한다고 믿었습니다. 실제로 최초의 마이크로프로세서는 이러한 매개변수에 적합합니다. 예를 들어, 1970년대 후반에 생산된 K584 마이크로프로세서 키트의 4비트 프로세서 섹션에는 약 1,500개의 요소가 포함되어 있습니다. 이제 마이크로프로세서에 수천만 개의 트랜지스터가 포함되고 그 수가 지속적으로 증가할 때 LSI는 기능적으로 복잡한 것을 의미합니다. 집적 회로.

마이크로프로세서 시스템(MPS)는 마이크로프로세서를 기반으로 하는 하나 이상의 장치로 구성된 기능적으로 완전한 제품입니다.

마이크로프로세서는 한편으로는 기능적으로 복잡한 컴퓨팅 장치이고 다른 한편으로는 전자 산업의 제품인 전자 장치이기 때문에 수많은 매개변수와 속성이 특징입니다. 컴퓨터 기술의 수단으로서, 이는 주로 다음과 같은 특징이 있습니다. 건축학즉, 사용자에게 제공되는 소프트웨어 및 하드웨어 속성 집합입니다. 여기에는 명령 시스템, 처리된 데이터의 유형 및 형식, 주소 지정 모드, 레지스터 수 및 분포, RAM 및 외부 장치와의 상호 작용 원리(인터럽트 시스템의 특성, 직접 메모리 액세스 등)가 포함됩니다. 마이크로프로세서는 아키텍처에 따라 여러 유형으로 구분됩니다(그림 1.1).

범용 마이크로프로세서작업 완료 시간에 대한 엄격한 제한에 얽매이지 않고 엔지니어링 계산부터 데이터베이스 작업에 이르기까지 다양한 유형의 정보에 대한 디지털 처리 문제를 해결하도록 설계되었습니다. 이 종류의 마이크로프로세서가 가장 널리 알려져 있습니다. 여기에는 Intel의 Pentium 시리즈 MP와 AMD의 Athlon 제품군 MP와 같은 잘 알려진 마이크로프로세서가 포함됩니다.


쌀. 1.1.

범용 마이크로프로세서의 특성:

  • 비트 심도: 1 클록 사이클에서 처리되는 정수 데이터의 최대 비트 용량, 즉 실제로 비트 용량에 의해 결정됩니다. 산술 논리 장치(ALU);
  • 처리된 데이터의 유형 및 형식
  • 명령 시스템, 피연산자 주소 지정 모드;
  • 직접 주소 지정이 가능한 RAM 용량: 주소 버스의 비트 폭에 따라 결정됩니다.
  • 외부 클럭 주파수. 동기화 주파수의 경우 일반적으로 회로 작동이 보장되는 최대 가능한 값이 표시됩니다. 마이크로프로세서를 포함하는 기능적으로 복잡한 회로의 경우 가능한 최소 동기화 주파수도 표시되는 경우가 있습니다. 이 제한 이하로 주파수를 줄이면 회로 오류가 발생할 수 있습니다. 동시에 고성능이 요구되지 않는 MP 애플리케이션에서는 동기화 빈도를 줄이는 것이 에너지 절약 영역 중 하나입니다. 많은 최신 마이크로프로세서에서는 주파수가 감소함에 따라 다음과 같이 변합니다.< спящий режим >, 상태를 유지합니다. 동일한 아키텍처 내의 클록 주파수를 통해 마이크로프로세서의 성능을 비교할 수 있습니다. 그러나 다양한 아키텍처 결정은 빈도보다 성능에 훨씬 더 큰 영향을 미칩니다.
  • 성능: 특수 테스트를 사용하여 결정되며, 가능한 경우 성능에 영향을 미치는 프로세서 마이크로 아키텍처의 다양한 특성을 포괄하는 방식으로 테스트 세트가 선택됩니다.

범용 마이크로프로세서는 일반적으로 다음과 같이 나뉩니다. CISC- 그리고 RISC 마이크로프로세서. CISC 마이크로프로세서(완전한 명령어 세트 컴퓨팅 - 완전한 명령어 시스템을 사용한 계산)은 널리 개발된 피연산자 주소 지정 모드와 함께 전체 기존 명령어 세트를 통합합니다. 예를 들어 펜티엄형 마이크로프로세서가 이 클래스에 속합니다. 동시에 RISC 마이크로프로세서(축소된 명령어 세트 컴퓨팅 - 축소된 명령어 시스템을 사용한 계산) 정의에 따라 다음과 같이 감소된 수의 명령 및 주소 지정 모드를 사용합니다. 여기서는 먼저 Alpha 21x64, Power PC와 같은 마이크로프로세서를 강조해야 합니다. 명령어 세트의 명령어 수는 가장 분명하지만 오늘날 이러한 범용 마이크로프로세서 개발 방향에서 가장 중요한 차이점은 아닙니다. 아키텍처의 특징을 연구하면서 다른 차이점도 고려할 것입니다.

단일 칩 마이크로컨트롤러(OMK 또는 간단히 MK)는 산업 및 가정용 자동화 시스템에 사용하도록 고안되었습니다. 최소한으로 구성된 디지털 제어 시스템을 구현하는 데 필요한 모든 장치(프로세서(일반적으로 정수), 명령 메모리, 데이터 메모리, 클록 생성기, 외부 환경과의 통신을 위한 프로그래밍 가능 장치)를 포함하는 대형 집적 회로입니다. 인터럽트 컨트롤러, 타이머-카운터, 다양한 입력/출력 포트), 때로는 아날로그-디지털 및 디지털-아날로그 변환기 등. 일부 소스에서는 이러한 종류의 마이크로프로세서를 단일 칩 마이크로컴퓨터(SMC)라고 합니다.

현재 전 세계에서 생산되는 모든 마이크로프로세서 LSI의 2/3가 이 클래스의 MP이고, 거의 2/3가 16비트를 초과하지 않는 비트 용량을 갖고 있습니다. 단일 칩 클래스로 마이크로컨트롤러우선, 여기에는 Intel의 MCS-51 시리즈 마이크로프로세서와 다른 제조업체의 유사한 마이크로프로세서가 포함되며, 그 아키텍처는 사실상 표준이 되었습니다.

단일 칩 마이크로 컨트롤러 아키텍처의 특징:

  • 명령어 메모리와 데이터 메모리를 물리적, 논리적으로 분리(하버드 아키텍처)하는 반면, 기존 노이만 아키텍처에서는 프로그램과 데이터를 공유합니다. 저장 장치동일한 액세스 메커니즘을 갖습니다.
  • 단순화되고 작업 지향적인 명령 시스템: MK에는 일반적으로 부동 소수점 데이터 처리 도구가 없지만 동시에 명령 시스템에는 센서 및 액추에이터의 효과적인 작업에 초점을 맞춘 명령이 포함됩니다. 비트 정보 처리;
  • 가장 간단한 피연산자 주소 지정 모드.

마이크로컨트롤러의 주요 특징(예를 들어 MK-51의 수치는 다음과 같습니다.)

  1. 비트 크기(8비트).
  2. 내부 명령 메모리 및 데이터 메모리 용량, 확장 가능성 및 한계:
    • 내부 명령 메모리 - 4KB(평균 명령 길이는 2바이트이므로 약 2000개 명령 길이의 프로그램을 내부 메모리에 저장할 수 있음) 최대 64KB의 외부 메모리를 연결하여 확장 가능;
    • 온칩 데이터 메모리 128바이트(총 용량이 최대 64KB인 외부 메모리를 연결할 수 있음)
  3. 클록 주파수:
    • 외부 주파수 12MHz;
    • 기계 사이클 주파수 1MHz.
  4. 외부 장치와의 상호 작용 가능성: 수량 및 목적 I/O 포트, 인터럽트 시스템의 특성, 외부 장치와의 상호 작용을 위한 소프트웨어 지원.

내장의 가용성 및 특성 아날로그-디지털 변환기(ADC) 및 디지털-아날로그 변환기(DAC)를 사용하여 제어 시스템의 센서 및 액추에이터와의 조정을 단순화합니다.

분할된 마이크로프로세서(다른 이름: 마이크로프로그래머블 및 비트 모듈러)는 특수 프로세서를 구축하기 위해 설계된 마이크로프로세서입니다. 이는 사용자가 마이크로프로그램 제어 수준에 액세스할 수 있는 상대적으로 작은 용량(2~16개)의 마이크로프로세서 섹션이며 여러 섹션을 결합하는 수단입니다.

이 조직을 통해 필요한 용량과 전문 교육 시스템을 갖춘 프로세서를 설계할 수 있습니다. 비트 용량이 낮기 때문에 마이크로프로세서 섹션은 고속 기술을 사용하여 구축할 수 있습니다. 이러한 모든 요소의 조합을 통해 명령 시스템, 주소 지정 모드 및 데이터 형식 측면에서 특정 알고리즘 클래스에 가장 적합한 프로세서를 만들 수 있습니다.

분할된 마이크로프로세서의 첫 번째 세트 중 하나는 Intel 3000 제품군의 MP LSI였으며 우리나라에서는 K589 및 585 시리즈의 일부로 생산되었습니다. 처리 요소이 시리즈는 2비트 마이크로프로세서였습니다. 분할된 마이크로프로세서의 가장 일반적인 세트는 4비트 섹션을 기반으로 하는 Am2900입니다. 우리나라에서는 이 키트의 유사 제품이 K1804 시리즈의 일부로 생산되었습니다. 키트에는 다음 BIS가 포함되어 있습니다.

  • 비트 단면 ALU;
  • 가속 전송 블록;
  • 곱셈을 위한 하드웨어 지원을 갖춘 비트 단면 ALU;
  • 마이크로프로그램 제어 회로의 유형;
  • 상태 및 교대 컨트롤러;
  • 우선 인터럽트 컨트롤러.

분할된 마이크로프로세서 LSI를 기반으로 하는 마이크로프로세서 시스템의 주요 단점은 이를 기반으로 하는 시스템을 설계, 디버깅 및 프로그래밍하는 것이 복잡하다는 것입니다. 특수한 명령 시스템을 사용하면 다양한 마이크로프로세서용으로 개발 중인 소프트웨어가 호환되지 않게 되었습니다. 여러 측면에서 최적의 특수 프로세서를 만드는 능력에는 오랜 기간에 걸쳐 자격을 갖춘 개발자의 작업이 필요했습니다. 그러나 전자 기술의 급속한 발전으로 인해 특수 프로세서를 설계하는 동안 범용 마이크로프로세서가 개발되었으며, 그 기능은 특수 장치 설계로 인한 가상 이득을 포괄했습니다. 이로 인해 현재 이 클래스의 마이크로프로세서 LSI는 실제로 사용되지 않습니다.

디지털 신호 프로세서, 또는 디지털 신호 프로세서, 디지털 문제를 해결하기 위해 설계된 빠르게 발전하는 마이크로 프로세서 클래스입니다. 신호 처리- 오디오 신호, 이미지, 패턴 인식 등의 처리. 여기에는 Harvard 아키텍처, 내장 명령 및 데이터 메모리, 외부 장치 작업을 위한 고급 기능 등 단일 칩 마이크로 컨트롤러의 많은 기능이 포함됩니다. 동시에 여기에는 특히 RISC 아키텍처의 범용 MP 기능(작업 파이프라인 구성, 작업 수행을 위한 소프트웨어 및 하드웨어)이 포함되어 있습니다. 부동 소수점,복잡하고 특수한 계산, 특히 곱셈을 위한 하드웨어 지원.

전자제품으로는마이크로프로세서는 다양한 매개변수로 특징지어지며, 그 중 가장 중요한 매개변수는 다음과 같습니다.

  1. 동기화 요구 사항: 최대 주파수, 안정성.
  2. 전원 공급 장치의 수와 등급, 안정성 요구 사항. 현재 공급 전압을 낮추는 경향이 있어 회로의 열 발산을 줄이고 작동 빈도를 높이는 경향이 있습니다. 최초의 마이크로프로세서가 +-15V의 공급 전압으로 작동했다면 이제 개별 회로는 1V 미만의 소스를 사용합니다.
  3. 전력 소모- 이것은 회로 출력 단계의 전력 손실로, 열로 변하여 출력 트랜지스터를 가열합니다. 즉, 설계 요구 사항을 크게 결정하는 LSI의 열 방출률을 특성화합니다. 마이크로프로세서 시스템. 이 특성은 내장형 MPS에 특히 중요합니다.
  4. 전원 공급 장치의 정격과 관련된 논리 0과 논리 1의 신호 레벨입니다.
  5. 케이스 유형 - 특정 조건에서 작동하기 위한 회로의 적합성과 보드의 기존 LSI를 대체하여 새 LSI를 사용할 가능성을 평가할 수 있습니다.
  6. 회로가 작동할 수 있는 주변 온도입니다. 여기에는 두 가지 범위가 있습니다.
    • 상업용(0 0 C ... +70 0 C);
    • 확장됨(-40 0C ... +85 0C).
  7. 소음 내성- 간섭이 있을 때 회로가 기능을 수행하는 능력을 결정합니다. 잡음 내성은 장치 기능 중단이 아직 허용 한계를 초과하지 않는 간섭 강도로 평가됩니다. 장치가 작동하는 동안 간섭이 강할수록 간섭에 대한 내성이 높아집니다.
  8. 부하 용량, 또는 출력 분기 인자는 동일한 직렬의 회로 수에 의해 결정되며, 그 입력은 작동을 방해하지 않고 주어진 회로의 출력에 연결될 수 있습니다. 부하 용량이 높을수록 회로의 논리적 기능이 넓어지고 복잡한 컴퓨팅 장치를 구축하는 데 필요한 미세 회로가 줄어듭니다. 그러나 이 계수가 증가하면 노이즈 내성과 성능이 저하됩니다.
  9. 신뢰할 수 있음지정된 기간 동안 지정된 조건에서 성능 품질 수준을 유지하는 회로의 능력입니다. 일반적으로 특성화됨 실패율(시간-1) 또는 실패 사이의 평균 시간(시간)입니다. 현재 대형 집적 회로에 대한 이 매개변수는 일반적으로 제조업체에서 지정하지 않습니다. MP LSI의 신뢰성은 컴퓨터 기술 개발자가 인용하는 제품 전체의 신뢰성 등 간접적인 지표로 판단할 수 있습니다.
  10. 공정특성. 여기서 주요 지표는 프로세스의 해결입니다. 현재는 32nm, 즉 1mm당 약 3만 라인입니다. 보다 발전된 기술 프로세스를 통해 더 많은 기능을 갖춘 마이크로프로세서를 만들 수 있습니다.


쌀. 1.2.

마이크로프로세서 LSI를 사용한 디바이스 제조 비용은 그림 1에 나와 있습니다. 1.2. 여기:

  1. LSI 제조 비용(칩의 요소 통합 정도가 높을수록 회로 생산 비용이 더 많이 듭니다)
  2. 조립 및 설치 비용 마이크로프로세서 시스템(MP의 기능이 증가함에 따라 MPS를 생성하는 데 필요한 회로 수가 줄어듭니다.)
  3. 총 비용 마이크로프로세서 시스템, 이는 비용 (1)과 (2)로 구성됩니다. 이는 특정 기술 개발 수준에 대해 최적의 가치를 가지고 있습니다.
  4. 새로운 기술로의 전환(칩의 다양한 요소 수가 최적이 되고 제품의 총 비용이 절감됩니다).

1965년에 고든 무어(Gordon Moore)는 현재 알려진 가설을 공식화했습니다.<закон Мура>, 이에 따르면 1.5-2년마다 하나당 트랜지스터 수가 증가합니다. 집적 회로두배가 됩니다. 이는 초소형 회로 생산을 위한 기술 프로세스의 지속적인 개선을 통해 보장됩니다.

기술적으로 가장 앞선 기업인 인텔은 기업에서 창출되고 사용되는 반도체 기술의 수명주기를 6단계로 구분합니다.

가장 초기 단계는 인텔 외부, 즉 대학 실험실과 독립 연구 센터에서 이루어지며, 이곳에서는 향후 수년간 과학 및 기술 기반의 기반을 형성할 수 있는 새로운 물리적 원리와 방법을 모색하고 있습니다. 회사는 이 연구에 자금을 지원합니다.

두 번째 단계에서 인텔 연구원은 신기술 개발을 위해 가장 유망한 영역을 선택합니다. 이 경우 일반적으로 2-3개의 솔루션 옵션이 고려됩니다.

세 번째 단계의 주요 임무는 신기술의 완전한 개괄적 개발과 그 타당성을 입증하는 것입니다.

그 후, 네 번째 단계가 시작됩니다. 주요 목표는 적합한 제품의 수율, 신뢰성, 비용 등과 같은 주요 기술 및 경제 지표의 특정 값 달성을 보장하는 것입니다. 단계의 완료는 신제품의 첫 번째 산업 배치 출시로 확인됩니다.

다섯 번째 단계는 신기술의 산업 발전이다. 이 문제는 기술 자체의 개발만큼 복잡합니다. 왜냐하면 실험실에서 얻은 것을 실제 생산 조건에서 정확하게 재현하는 것이 극히 어렵기 때문입니다. 일반적으로 신제품 출시 시기, 계획된 공급량 달성 및 생산 비용 달성으로 인해 지연이 발생하는 경우입니다.

기술 수명주기의 마지막 여섯 번째 단계(사용을 포기하기 전)는 성숙도입니다. 장비 생산성을 높이고 생산 비용을 줄이기 위해 특정 개선을 거친 성숙한 기술은 주요 생산량을 보장합니다. 새롭고 더 발전된 기술이 도입되면서<старые>생산이 청산되고 있습니다.

그러나 당장은 아닙니다. 먼저 주변 LSI와 같이 속도가 느리거나 트랜지스터 수가 적은 미세 회로 생산으로 이전됩니다.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: