마이크로프로그래밍 예제

1940년대부터 1970년대 후반까지, 많은 프로그래밍이 어셈블리 언어로 이루어졌다. 높은 수준의 지침은 프로그래머의 생산성을 높여주므로 마이크로코드의 중요한 장점은 강력한 기계 명령을 정의할 수 있는 상대적 용이성이었습니다. 이 것의 궁극적인 확장은 “직접 실행 가능한 높은 수준의 언어” 디자인으로, PL/I와 같은 고급 언어의 각 문은 컴파일 없이 마이크로코드에 의해 완전히 직접 실행됩니다. IBM 퓨처 시스템 프로젝트와 데이터 일반 분수 프로세서가 그 예입니다. 1970년대에는 CPU 속도가 메모리 속도보다 더 빠르게 증가했으며 메모리 블록 전송, 메모리 사전 가져오기 및 다단계 캐시와 같은 수많은 기술이 이를 완화하는 데 사용되었습니다. 마이크로코드로 가능한 높은 수준의 기계 명령은 더 적은 메모리 대역폭을 필요로 하는 복잡한 기계 명령이 적기 때문에 더욱 도움이 되었습니다. 예를 들어 문자 문자열에 대한 작업을 단일 컴퓨터 명령으로 수행할 수 있으므로 여러 명령 가져오기를 피할 수 있습니다. 마이크로 프로그래밍은 체계적으로 컨트롤러를 구축하는 문제에 대한 대단히 성공적인 솔루션이었으며, 1960 년대 중반부터 1980 년대 후반까지 대부분의 프로세서에서 (사소한 수정으로) 사용되었습니다. 마이크로 프로그래밍은 여전히 현대적인 CPU 설계에 사용됩니다. 경우에 따라 시뮬레이션에서 마이크로 코드를 디버깅한 후 논리 함수를 제어 저장소로 대체합니다. [인용 필요] 논리 함수는 종종 동등한 마이크로 프로그램 메모리보다 빠르고 저렴합니다. 또한 마이크로 프로그래밍은 프로세서의 올바른 결함(버그)에 대한 현장 변경 비용을 줄입니다.

버그는 종종 하드웨어 논리 및 배선을 변경하는 대신 마이크로 프로그램의 일부를 교체하여 해결할 수 있습니다. 또한 메인 컴퓨터 스토리지에 액세스하는 데 사용되는 메모리 주소 레지스터 및 메모리 데이터 레지스터가 있을 수 있습니다. 이러한 요소는 함께 “실행 단위”를 형성합니다. 대부분의 최신 CPU에는 여러 실행 단위가 있습니다. 간단한 컴퓨터조차도 일반적으로 메모리를 읽고 쓸 수 있는 하나의 장치와 사용자 코드를 실행하는 단위가 있습니다. 이러한 요소는 종종 단일 칩으로 함께 가져올 수 있습니다. 이 칩은 실행 단위를 통해 “슬라이스”를 형성하는 고정 된 폭으로 제공됩니다. 이를 “비트 슬라이스” 칩이라고 합니다. AMD Am2900 제품군은 비트 슬라이스 요소의 가장 잘 알려진 예 중 하나입니다.

Geplaatst in Geen categorie door admin. Zet de link bij je favorieten link.