컴퓨터를 32 비트 마이크로 컨트롤러를 기반으로 할 수 있습니까?


9

우리는 모두 집에 32 비트 머신을 가지고 있습니다. 그러나 32 비트 시스템에는 마이크로 프로세서가 있습니다. ARM Cortex에 대한 기사를 읽고있었습니다. 32 비트 마이크로 컨트롤러입니다. 이제는 내 안에 궁금한 점이있었습니다. 마이크로 컨트롤러는 마이크로 프로세서 주변의 외부 회로를 줄이기 위해 만들어졌으며 마이크로 프로세서는 더욱 강력 해졌으며 마이크로 컨트롤러는 너무 오랫동안 8 비트 형태로 남아있었습니다. 그러나 이제 우리는 32 비트 마이크로 컨트롤러를 가지고 있기 때문에 그러한 것들에 기반한 컴퓨터를 좋아할 수 없습니까?


답변:


11

'컴퓨터'를 어떻게 정의 하느냐에 따라 다릅니다.

규모가 작을수록 기존 마이크로 컨트롤러라고 할 수있는 메모리 관리 기능이 없으며 칩에 내장 된 소량보다 더 많은 RAM을 볼 수 없습니다. 이제는 더 많은 기능을 갖춘 마이크로 컨트롤러의 아키텍처에 대해 거의 알지 못하지만, 이러한 기능의 존재 또는 부족은 아마도 임베디드 애플리케이션 또는 범용 컴퓨팅에 가장 적합한 장치를 구별하는 데 중요합니다. .

'메모리 관리'는 가상 주소 공간에서 프로그램을 실행하고 시스템에서 사용 가능한 물리적 RAM에 매핑하는 기능을 말합니다. 이는 일반적으로 메모리 관리 장치 (MMU)라고하는 기능입니다.

MMU가 없으면 여러 프로세스를 실행하려고하면 모든 프로세스가 단일 주소 공간을 공유해야하므로 관련된 모든 프로세스가 메모리 할당 체계를 준수하지 않으면 한 프로세스가 다른 프로세스를 매우 쉽게 중단시킬 수 있습니다. 따라서 임베디드 시스템과 마찬가지로 모든 프로세스를 완벽하게 제어 할 수 있다면 큰 문제가되지 않습니다. 그러나 범용 계산을 지원하려는 경우 실행될 모든 코드가 메모리 할당 체계를 준수하고 시스템이 다소 취약하다는 것을 보장 할 수는 없습니다.

RAM 부족은 임베디드 시스템에서 큰 문제가되지 않습니다. (1) 일반적으로 플래시가 많기 때문에 (2) 범용 컴퓨터가 아니기 때문에 예기치 않은 프로그램을 실행할 때 걱정할 필요가 없습니다. 사용자의 행동. 시스템에서 실행될 모든 소프트웨어의 총계를 미리 알고 있으며 해당 소프트웨어의 변수에는 RAM 만 필요합니다. 그러나 시스템을 범용 컴퓨터로 만들려고 할 때 사용자는 자신에게 적합한 것을 실행할 수 있기를 기대할 수 있으며 RAM이 필요합니다.

이제 메모리가 많지 않고 MMU가없는 장치에서 범용 계산을 수행하는 것이 좋습니다. 한 번에 하나의 프로그램 만 실행하면된다면 원래의 128K RAM, 8088 기반 (16 비트) IBM PC가이 문제를 해결했습니다.

따라서 '컴퓨터'를 1982 기술과 같은 것으로 정의하고 싶다면 정답입니다. 또는 소프트웨어 설계를 신중하게 제어하여 MMU 및 / 또는 많은 램 (예 : 휴대폰)이없는 문제를 완화 할 수있는 폐쇄 시스템이있는 경우에도 가능합니다. 또는 마이크로 컨트롤러에 MMU가 내장되어 있고 RAM 덩어리가 있거나 외부 컴퓨터를 수용 할 수있는 경우 현재 컴퓨터와 더 유사한 시스템을 구성 할 수 있어야합니다.


Java와 같은 것을위한 JIT (Just-In-Time) 컴파일러의 개발로 인해 MMU는 이전보다 훨씬 덜 필요합니다. JIT 관련 버그가없는 경우, JIT가 메모리에 부적절하게 액세스하는 하나의 프로그램에 대한 명령을 생성하지 않기 때문에 MMU가없는 Java Virtual Machines에서 독립 플랫폼을 실행하는 여러 개의 독립적 인 처리를 가질 수 있으며 서로 분리 될 수 있습니다. 다른 사람이 사용합니다.
supercat

16

물론! 거의 모든 휴대 전화를 살펴보세요. 예를 들어 Motorola Droid는 Linux 위에서 Android를 실행하는 TI OMAP ARM 기반 마이크로 컨트롤러를 사용합니다. 기본적으로 완전한 컴퓨터 운영 체제와 많은 가제트가 있습니다. 클라이언트가 구축 한 일부 제품에서는 Linux를 실행할 수있는 FreeScale PowerQuicc I & II 32 비트 프로세서 / 컨트롤러를 사용합니다. PowerQuicc에는 기본적으로 모든 주변 장치를 구성하기 쉬운 방식으로 처리 할 수있는 별도의 RISC 프로세서와 함께 PowerPC 코어가 있습니다. 영광스러운 마이크로 컨트롤러입니다.

또한 몇 년 전 컴퓨터는 32 비트 프로세서에서 실행되지 않았지만 Commodore 64와 같은 8 비트 프로세서 (4 비트 방식)와 비슷했습니다. 그런 다음 16 비트, 32 비트로 마이그레이션했습니다. 마이크로 컨트롤러와 동등한 비트 아키텍처와 속도를 가진 마이크로 프로세서 사이에는 큰 차이가 없습니다. 마이크로 컨트롤러에는 일반적으로 부동 소수점 단위가 없지만 고정 소수점 연산으로 구성 할 수 있습니다. 예를 들어, 최초의 Motorola 68000 프로세서 (16 비트)를 사용하여 구식 Macintosh 컴퓨터에 전원을 공급 한 후 수년간 여러 내장 전자 응용 프로그램의 마이크로 컨트롤러 버전으로 회전 시켰습니다.

사용 방법을 이해하려면 마이크로 컨트롤러의 역할을 살펴 봐야합니다. 일반적으로 마이크로 컨트롤러로 설계 할 때는 고도로 전문화 된 응용 프로그램을 염두에두고 PC 타워보다 작은 공간에 맞추려고합니다. 반면, 컴퓨터는 매우 일반적인 목적인 크런치 번호와 프로세스 사용자 입력입니다. 마이크로 컨트롤러를 찾을 때는 애플리케이션을 위해 구축하는 인터페이스 종류를 지원하는 마이크로 컨트롤러를 찾고 있습니다. 3 개의 USB 포트, 2 개의 이더넷, 2 개의 UART, SPI 포트, ATM 및 CAN 인터페이스가 필요하십니까? 이러한 인터페이스 중 일부는 SPI, ATM 및 CAN과 같은 일반적인 컴퓨터에는 제공되지 않으며 보드 공간을 줄이기 위해 마이크로 컨트롤러가 내장되어 있습니다. 마이크로 컨트롤러를 특정 솔루션 용으로 설계된 프로세서로 볼 수 있습니다.


"일반용 컴퓨터"가 8 비트 프로세서보다 작은 것을 사용한 적이 없다고 생각합니다. 범용 컴퓨터는 사용 가능한 프로그램을 보유하기에 충분한 RAM에 액세스 할 수 있어야하며, 사용 가능한 크기의 RAM 코드 저장소가있는 4 비트 컴퓨터를 모릅니다.
supercat

상업적으로는 아니지만 많은 할아버지가 할아버지를 포함 시켰습니다. 그는 Commodore 64와 TRS-80이 인기를 갖기 전에 자신의 작업장에서 4 비트 컴퓨터를 가동했습니다. RAM도있었습니다 (DIP 스택).
Jay Atkinson

물리적으로 구성된 4 비트 Von-Neumann 아키텍처 머신에 대한 문서가 있습니까?
supercat

5

우리는 확실히 할 수 있습니다. 예를 들어, iPad는 두뇌에 ARM Cortex A8 프로세서를 사용합니다.


2
JPC가 아래에 언급 한 것처럼 마이크로 컨트롤러가 아닌 마이크로 프로세서입니다.
Kortuk

3

언급 된 ARM (OMAP 및 A8)은 플래시 메모리와 RAM이없는 마이크로 프로세서입니다 (A8에는 해당되지 않음). Cortex-M3 마이크로 컨트롤러는 더 작고 내장 메모리가 작으며 주변 장치에 더 쉽게 액세스 할 수 있습니다.

이들 사이에는 상당히 큰 차이 (성능 및 기능 측면)가 있습니다.


Cortex-A와 Cortex-M 시리즈의 차이점을 지적 해 주셔서 +1 ...
Johan

1
마이크로 컨트롤러에는 플래시 및 램이 내장되어 있습니다. 마이크로 프로세서는 외부에 메모리를 가지고 있습니다.
Kortuk


2

오래된 스레드를 복원하려고 시도하지 않았지만 Zaurus SL5500은 RAM 프로세서와 CF 및 SD 슬롯을 통한 추가 스토리지와 함께 ARM 프로세서에서 임베디드 리눅스를 실행했습니다. 내가 아는 한 MMU는 주로 소프트웨어로 구현되었습니다 (어쨌든 리눅스 시스템에는 의미가 있습니다). 범용 컴퓨팅은 가능했을뿐만 아니라 타사 소프트웨어, 컴파일러 및 대부분의 표준 * nix 유틸리티 및 기능을 제공하는 유연한 명령 셸을 통해 완벽하게 사용할 수있었습니다.

세계에서 가장 빠른 GP 컴퓨터는 아니지만 ARM (및 / 또는 Samsung과 동등한 제품-100 % 확실하지 않음)이 굉장히 유능한 것처럼 보였습니다. 기능과 성능 측면에서 볼 때 훨씬 더 최신의 빈티지 (확실한 Samsung StrongArm 클론)의 WinMobile Ipaq와 비교했을 때 상당히 훌륭합니다. 두 시스템에는 많은 RAM과 많은 스토리지가 있었으므로 많은 메모리 관리가 진행되고 있습니다.이 성능 수준에 도달하면 마이크로 프로세서와 마이크로 컨트롤러 사이의 경계를 약간 흐리게해야한다고 가정합니다.


2

당신은 "마이크로 프로세서"와 "마이크로 컨트롤러"를 언급하지만 점점 더 "SOC"로 알려진 세 번째 범주의 장치가 있습니다.

마이크로 컨트롤러는 매우 적은 양의 램을 가지며 일반적으로 메모리 매핑이없고 메모리 보호가 매우 제한적입니다. 따라서 범용 컴퓨터로 사용하기에 적합하지 않습니다.

SOC는 모든 칩이 하나의 칩에 통합 된 기존 마이크로 컨트롤러와 많은 양의 지원 회로가 필요한 기존 마이크로 프로세서 사이의 중간 지점으로 볼 수 있습니다. SOC는 프로세서 코어와 주변기기를 하나의 칩에 통합했지만 마이크로 컨트롤러와 달리 외부 메모리를 사용합니다. 일반적으로 이러한 SOC에는 전체 MMU가있어 다른 응용 프로그램에 대한 가상 주소 공간을 만들 수 있습니다. 많은 SoC에는 3D 그래픽, DSP, 비디오 인코딩 / 디코딩 등을위한 특수 기능 블록도 있습니다.

SOC는 최신 데스크탑 PC만큼 강력하지는 않지만 손상되지 않은 소프트웨어 환경과 결합 될 때 "일반 목적 컴퓨터"로 간주 될만큼 강력하고 기능적입니다.

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