ขึ้นอยู่กับว่าคุณนิยาม 'คอมพิวเตอร์' อย่างไร
ในส่วนเล็ก ๆ ของสิ่งที่คุณอาจเรียกว่าไมโครคอนโทรลเลอร์แบบดั้งเดิมคุณจะไม่ได้รับการจัดการหน่วยความจำและแทบจะไม่ได้เห็น RAM มากกว่าจำนวนเล็กน้อยที่ฝังอยู่ในชิป ฉันจะยอมรับความรู้น้อยมากเกี่ยวกับสถาปัตยกรรมของตัวควบคุมไมโครที่มีความสามารถมากกว่าที่มีอยู่ในขณะนี้ แต่การมีอยู่ (หรือขาดคุณสมบัติ) เหล่านี้อาจเป็นกุญแจสำคัญในการแยกความแตกต่างระหว่างอุปกรณ์ที่เหมาะสมที่สุดสำหรับการใช้งานแบบฝังตัว .
โดย 'การจัดการหน่วยความจำ' ฉันหมายถึงความสามารถในการเรียกใช้โปรแกรมในพื้นที่ที่อยู่เสมือนและแมปสิ่งเหล่านี้กับ RAM จริงที่มีอยู่ในระบบฟังก์ชั่นที่ดำเนินการโดยสิ่งที่เรียกว่าหน่วยจัดการหน่วยความจำ (MMU)
หากไม่มี MMU หากคุณพยายามเรียกใช้หลายกระบวนการกระบวนการทั้งหมดจะถูกบังคับให้แชร์พื้นที่ที่อยู่เดียวและนั่นหมายความว่าหากกระบวนการทั้งหมดเกี่ยวข้องกับการจัดสรรหน่วยความจำของคุณกระบวนการหนึ่งอาจทำให้กระบวนการอื่นล้มเหลวได้ง่ายมาก ดังนั้นหากคุณสามารถควบคุมการออกแบบกระบวนการทั้งหมดได้เช่นเดียวกับระบบฝังตัวสิ่งนี้ไม่น่าเป็นห่วง อย่างไรก็ตามหากคุณพยายามสนับสนุนการคำนวณจุดประสงค์ทั่วไปคุณไม่สามารถรับประกันได้ว่ารหัสทั้งหมดที่จะถูกดำเนินการจะเป็นไปตามรูปแบบการจัดสรรหน่วยความจำและระบบจะค่อนข้างบอบบาง
การขาด RAM ก็ไม่ได้เป็นปัญหาสำหรับระบบฝังตัว (1) เพราะมักจะมีแฟลชจำนวนมากและ (2) ไม่ใช่คอมพิวเตอร์ที่ใช้งานทั่วไปหมายความว่าคุณไม่ต้องกังวลกับการเรียกใช้โปรแกรมที่ไม่ได้คาดคิดไว้ คำสั่งของผู้ใช้ คุณทราบล่วงหน้าแล้วว่ายอดรวมทั้งหมดของซอฟต์แวร์ทั้งหมดที่จะทำงานบนระบบและต้องการ RAM สำหรับตัวแปรสำหรับซอฟต์แวร์นั้นเท่านั้น เมื่อคุณพยายามทำให้ระบบของคุณเป็นคอมพิวเตอร์ที่มีวัตถุประสงค์ทั่วไปผู้ใช้จะคาดหวังว่าจะสามารถเรียกใช้สิ่งที่เหมาะสมกับพวกเขาและสิ่งนี้ต้องใช้ RAM
ตอนนี้ก็เป็นเรื่องดีที่จะทำการคำนวณจุดประสงค์ทั่วไปบนอุปกรณ์ที่ไม่มี MMU และหน่วยความจำไม่มาก RAM 128K ดั้งเดิม, IBM PC ที่ใช้ 8088 (16 บิต) หายไปกับสิ่งนี้ตราบใดที่คุณต้องการเพียงเรียกใช้โปรแกรมหนึ่งครั้ง
ดังนั้นหากคุณต้องการนิยาม 'คอมพิวเตอร์' เหมือนกับเทคโนโลยี 1982 คำตอบคือใช่แน่นอน หรือถ้าคุณมีระบบปิดที่คุณสามารถลดปัญหาการไม่มี MMU และ / หรือ ram มาก (เช่นโทรศัพท์มือถือ) โดยการควบคุมการออกแบบซอฟต์แวร์อย่างระมัดระวังและใช่ หรือถ้าไมโครคอนโทรลเลอร์ของคุณมี MMU ในตัวและ gobs of RAM (หรือสามารถรองรับสิ่งเหล่านี้จากภายนอก) คุณควรจะสามารถสร้างระบบที่คล้ายกับคอมพิวเตอร์ปัจจุบันมากกว่า