สถาปัตยกรรมทั่วไปของชิปตระกูลต่างๆที่น่าใจ

”4040 (Year 1971)

”8080 ,Zilog Z80, Z-8000 (1974)

Intel 8086 ,IBM 's choice (1978)

”AMD 29000 ,Aflexible register set(1978)

Motolola 8800, late elegant (Mid 1988)

CPU 860

”<wbr>MOTOROLA 68000

”<wbr>IBM RS/6000 Power chip (1990)

”<wbr>DEC Alpha (1992)

4004 (Nov 1971)
เป็นแบบ 4 bit ใช้สำหรับเครื่องคิดเลข เก็บข้อมูลใช้ 4 bit เก็บ instruction 8 bit ส่วนโปรแกรมแยกจากส่วนเก็บข้อมูล โดยเก็บข้อมูล 1 K bit และ PC ขนาด 12 bit สำหรับ โปรแกรมขนาด4 K (ใช้ในรูปแบบ stack 4 ชั้นใช้กับ คำสั่ง CALL และ RET) และ มี register เอนกประสงค์ขนาด 4 bit 16 register

8080 (1974)

8008 ประกอบด้วยค่า PC และ ค่า Add ขนาด 14 bit address bus ขนาด 16 bit data bus ขนาด 8 bit ส่วนประกอบภายใน มี register ขนาด 8 bit จำนวน 7 ตัว (A,B,C,D,E,H,L) stack poiter ขนาด 16 bit stack ขนาด 8 ชั้น PC ขนาด 16 bit มี I/O port มากถึง 256 port

Zilog Z-80

พัฒนาจาก 8080 เก็บข้อมูลแบบ 8 bit และเก็บ address ขนาด 16 bit สามรถทำทุก opcode ของ 8080 ได้ และเพิ่มอีก 80 ชุด ชุดคำสั่งที่มีขนาด 1,4,8 และ 16 bit ชุดของ register มี เป็น 2 เท่า นอกจากนี้ยังมีระบบปฏิบัติการที่รวดเร็ว หรือ การ interrupt z80 เพิ่ม register ที่ใช้เป็น index 2 ตัวฃ คือ IX,IY และ interrupt มีลักษณะเป็นเวกเตอร์ ซึ่งทำการ relocate ได้ ทำงานที่ อัตรา clock ของ z-80 = 2.5 MHz Z-80-H = 6MHz

Zilog Z-8000 ,another direct competitor

z-8000 เผยแพร่หลังจาก 8086 ได้ไม่นาน แต่มีประสิทธิภาพที่มี processor ขนาด 16 bit แต่สามารถทำให้ address เพิ่มได้ถึง 23 bit โดยใช้ register ในแบบ segment (ทำให้เพิ่ม 7 bit Z-8000 มี register ขนาด 16 bit จำนวน 16 ตัว แต่ขนาด register ยือหยุ่นได้ register 8 ตัวแรก ของ Z-8000 สามารถใช้เป็น register ขนาด 8 bit จำนวน 16 ตัวได้ (โดยกำหนดเป็น RH0,RL0,RH1,....) หรือ 16 ตัว สามารถรวมเป็น register ขนาด 32 bit จำนวน 8 ตัว โดยใช้เป็น register เอนกประสงค์ register 15 ใช้เก็บ stack pointer ,register 14 ใช้เก็บ stack segment (ทั้งสอง register อ้างอิงเป็น 35 bit (RR214)) ชุดคำสั่งเป็นแบบ 32 bit สามารถเพิ่มเป็นทวีคูณ(เป็น 64 bit) และ แบ่งลดลงได้ Z-800 เป็นรุ่นแรกในแบบ 2 โหมด โหมดแรกสำหรับระบบ OS(Operating System) และอีกโหมดใช้สำหรับ โปรแกรมของผู้ใช้ในส่วนโหมดสำหรับผู&eacut e;ใช้จะซ่อนส่วนที่ซับซ้อนเกี่ยวกับการ ; interrupt และส่วนนที่ไม่จำเป็นต้องทราบ Z-800 มีวงจร Refresh RAM อัตโนมัติ มีข้อเสียที่บางครั้งก็ทำงานช้า แต่ก็เป็นผลมาจาก feature ต่างๆที่มี รุ่นถัดมา ก็คือ Z-8000 เป็นที่รู้จักในปี 1986 พร้อมๆกับ CPU รุ่น 32 bit MC68020 และ Intel 80386 แต่ Z-80000 มีข้อที่ดีกว่าเล็กน้อย Z-80000 ขยายได้เต็มที่ถึง 32 bit สำหรับ addressing mode ของ Z-8000 ทำการเพิ่ม segment addressing มากกว่า 24 bit และยังมีการเพิ่ม MMU(ใน CPU 68020 ไม่มีแต่เพิ่มลงไปใน 68030) ซึ่งเพิ่ม chip 16 line 256-byte เพื่อประสานงานกับ cache ได้อย่างเต็มที่ Z-80000 เป็นมัลติโปรดซสเซอร์ เพราะมีการกำหนด memory pages นอกยากนี้ยังใช้ coprocessor ช่วยในการ ดูการทำงานของ data bus และบ่งบอกคำสั่งที่ใช้สำหรับ CPU Z-8000 ทำงานเป็น pipeline (6 stage) รุ่นที่ทำการ pipeline อย่างเต็มที่คือรุ่น 80486 และ 68040 ออกมาในปี 1991

INTEL 8086 , IBM ‘S CHOICE (1978 )

เซ็กเม้นต์รีจีสเตอร์( คูณด้วย 16 หรือ ชิปซ้าย4บิต )ที่แอดเดรส เหตุผลของความไม่ประสบความสำเร็จในการขยายเนื้อที่ของแอดเดรสโดยไม่ต้องอาศัยการเพิ่มแอดเดรสบิตซึ่งอาจทำได้โดยการใช้พอยเตอร์ 2 ตัวซึ่งชี้ค่าเดียวกันแต่ต่าง memory location กัน หรือ พอยเตอร์ 2 ตัวซึ่งชี้ค่าต่างกันที่ memory location เดียวกันและถูกจำกัดให้บรรจุข้อมูลได้แค่ 64 กิโลไบต์แต่ผู้ประดิษฐ์กำลังประสบปัญหา ทางด้านการดีไซน์
ถึงแม้ว่าจะได้รับการยอมรับอย่างแพร่หลายในภาษาแอสเซมบลีซึ่งควบคุมเซกเมนต์ได้อย่างสมบูรณ์ แต่ในภาษาชั้นสูงนั้นจะประสบปัญหาในการใช้ near/far pointerและยังมีผลเสีย ในด้านการเพิ่มเนื้อที่ address ซึ่งจะทำได้ยาก ใน 80286 ซึ่งผลิตออกมาในปี 1982 ได้ขยายการดีไซน์ออกเป็น 32 บิต โดยการเพิ่มโหมดใหม่เข้ามา ( มีการสวิชชิ่งจาก Real ไปยัง Protected โหมด แต่การสวิชชิ่งกลับนั้นยังต้องอาศัย bug ใน 80286 รุ่นก่อนซึ่งยังคงต้องรักษาไว้ ) ซึ่งต้องเพิ่มจำนวนของเซกเมนต์อย่างมากโดยใช้ตัว selecter ขนาด 16 บิตสำหรับ “ segment descriptor” ซึ่งบรรจุ location ในแอดเดรสขนาด 24 บิต , ขนาด( ยังคงน้อยกว่า 64K ) และมีคุณสมบัติ ( Vertual Memory support) ของ segment
แต่การเข้าถึง memory ยังคงถูกจำกัดแค่ 64K segments จนกระทั่ง 80386 ได้ผลิตออกมาในปี 1985 ซึ่งรวมถึงการพัฒนา addressing : base reg + index reg * scale ( 1,2,4 หรือ 8 บิต ) + displacement ( 8 หรือ 32 bit constant = 32 bit address ( ในรูปแบบของ paged segme( โดยใช้เซกเมนต์รีจิสเตอร์ขนาด 16 บิต 6 ตัว ) คล้ายกับตระกูล IBMS / 360 แต่ไม่เหมือนกับตระกูล Motorola 68030 )ซึ่งจะมี Processor โหมดเฉพาะ( รวมถึงมีการแบ่งแยก paged และ segmented โหมด ) ซึ่งสอดคล้องกับการออกแบบรุ่นก่อนๆ ในความเป็นจริงแล้วจะถูกต้องกับแอสเซมเบลอร์ code นั้นถูกเขียนสำหรับ 8008 ซึ่งสามารถ run บน Pentium Pro ได้ใน 80386 นั้นได้เพิ่ม MNU เข้ามาเพื่อ security modes ( หรือเรียกว่า “ring” ของ system services,application services,application ) และยังมี opcode ใหม่ซึ่งมีรูปแบบคล้ายกับ Z-80
80486 ซึ่งผลิตออกมาในปี 1989 ได้มีการเพิ่ม pipelines อย่างสมบูรณ์ มีแคช 8K บนชิปรวมกับ FPU (เป็นพื้นฐานของ eight elemant 80- บิตแสตก-Orientted FPUใน 80387 FPU )และมีการเพิ่ม clack เป็น 2 เท่า( คล้าย Z-280 ) ในเพนเทียมซึ่งผลิตออกมาในปลายปี 1993 เป็นแบบ Superscalar ( 1 integer unit และ Singel FPU ) กับแบ่งแยก 8K I/D แคช
เพนเทียม เป็นชื่อซึ่งใช้แทน 80586 เพราะว่าชื่อ 586 นั้นไม่สามารถป้องกันบริษัทอื่นๆ ที่พยายามจะลอกเลียนแบบได้ และในความเป็นจริงนั้น Pentium มีลักษณะคล้ายกับ CPU จาก NexGen รุ่น Nx586 ซึ่งผลิตออกมาในปี 1995 80x86 เป็น cloned processors มากที่สุด จาก NEC V20/ V30( ซึ่งมี cloned เร็วกว่า 8088/8086 ( สามารถ run บน 8085 ได้ AMD และ Cyrix clones ของ 80386 และ 80486 ไปถึง Pentium
สถาปัตยกรรมรุ่นก่อนๆนั้นจะทำการให้การ compatible บนCPU ของเพนเทียม( Nx586 / Nx686, AMD K5 )และ “Pentium Pro” ไม่เป็น clone เพนเทียมแต่มีการเลียนแบบ Hardware Decoder เป็นพิเศษ ซึ่งจะเปลี่ยนคำสั่งใน เพนเทียมไปยัง RISC ( คำสั่งที่ Executed บน RISC cores จะเร็วกว่าบนเพนเทียม ( Cyrix / IBM 6x86 ซึ่งผลิตออกมาในช่วงต้นปี 1996 ยังคง executed คำสั่งของ 80x86 ใน 2 pipelines แต่เร็วกว่าเพนเทียม ซึ่งทำให้ตอนนี้เกิดข่าวลือที่ว่า IBM กำลังพัฒนา?าร์ดแวร์ที่แปลงคำสั่งเพนเทียมสำหรับ Power PC ใน CPU รุ่น Power PC 615 ซึ่งเลิกใช้ไปแล้ว
เพนเทียมโปร หรืออีกชื่อหนึ่งว่า P6 เป็น 1 หรือ 2 ชิป( CPU plus 256K หรือ 512K L2 cache - L/d L1 cache( อันละ 8 กิโลไบต์ ) ซึ่งอยู่บน CPU เป็น Super piplined processor ประกอบด้วย 3 decoder ( complex instruction 1 ตัว , simpler ones 2ตัว ) ทำหน้าที่แปลงคำสั่งใน 80x86 ไปเป็น Micro-Ops ( one per simpler decoder + Up to four from the complex decoder = three to six per cycle ) ขึ้นไปเป็น 5 micro ops ซึ่งปกติมีแค่ 3 เท่านั้น สามารถก่อให้เกิดผลในระบบ Parallel และ order ( 6 unit - FPU , 2 integer , 1 load/store )ใน 80x86 instruction อาจจะสร้าง micro-ops ใน CPU คล้ายกับ Nx586 และ AMD K5 เพราะฉะนั้นจะได้อัตราคำสั่งต่ำ ในความเป็นจริงแล้วจะประสบปัญหาในด้าน Handing instruction ซึ่งเป็นการวางแนวทางใน Pentium Pro โดยมีการเลียนแบบคำสั่งขนาด 16 บิต ซึ่ง execute ได้ช้ากว่าบนเพนเทียม
AMD K5 แปลง 80x86 code ไปเป็น ROPS ( RISC Operation ) ซึ่ง execute บนพื้นฐานของ RISC core บน Superscalar AMD 29K ขึ้นไปจนถึง 4 ROPs สามารถส่งไปถึง 6 units ( 2 integer , 1 FPU , 2 load/store , 1 branch unit ) และ 5 สามารถแสดงผลที่เวลานั้นได้ ความซับซ้อนในการใช้สัญญาณนาฬิกาที่มีความเร็วต่ำสำหรับ K5 นั้นจะเร็วกว่า AMD ที่ซื้อลิขสิทธิ์ NexGen และรวมการดีไซน์สำหรับ K6 รุ่นต่อไป
NexGen / AMD Nx586 ซึ่งผลิตออกมาในช่วงปลายปี 1994 นั้นสามารถ execute micro-ops ( RISC86 code ) หากมองไปแล้วพบว่าโปรแกรมที่ถูกเขียนด้วย RISC86 จะเร็วกว่าหรือเท่ากับ x86 program แต่จะไม่ค่อยนิยมใช้ มีลักษณะเฉพาะคือปรระกอบด้วย 16K I/D L1 cache 2 ตัว , L2 cache bus ( คล้ายกับใน Pentium Pro 2- Chip module )
Nx586 ที่ประสบความสำเร็จนั้น K6 ( ผลิตออกมาในปี 1996 ) ประกอบด้วยแคช 3 ชิ้น ชิ้นละ 32K สําหรับข้อมูลและคำสั่ง และอีก 16K สำหรับบรรจุข้อมูลการ decode คำสั่งและยังได้นำ FPU ไปรวมไว้ใน chip และขจัด cache bus ของ Nx586 อย่างไรก็ตามก็ยังคงรูปแบบความเป็น pin ไว้ อีกทั้งยัง compatible กับ P54C model Pentium ส่วน decoder อื่นๆนั้น จะมีการเพิ่ม 2 complex decoder ซึ่งแตกต่างจาก Pentium Pro ซึ่งใช้ 1 complex decoder และ 2 simple decoder และเพิ่ม micro -ops จาก 4 เป็น 6 ( ไปยัง 7 unit - load , store , complex/simple integer , FPU , branch , multimedia )
AMD ได้รับอนุญาตจาก MMX ( Matrix Math eXtension ) ให้ผลิต CPUs ซึ่งขณะนั้นทาง Intel ก็กำลังพัฒนา Pentium และ Pentium Pro อยู่ โดย MMX นั้นมีลักษณะคล้ายคลึงกับ SPARC VIS หรือ HP-PA MAX โดย MMX instruction นั้นจะแสดงการจัดการ integer เป็นกลุ่ม ๆ ของ 8 , 16 ,32 , bit word ใช้ 80 bit FPU stack 64 bit register 8 ตัว ( สวิชชิ่งระหว่าง FPU และ MMX โหมดที่ต้องการ มันยากที่จะใช้ stack และ MMX register ที่เวลาเดียวกัน Cyrix ตั้งใจจะใช้ clones ของ instruction นี้ไปสร้าง M2 CPU
Intel ได้ร่วมมือกับ Hewlett-Packard ที่จะพัฒนา Processor ขนาด 64 บิต รุ่นต่อไป โดยให้ compatible กับ 80x86 ซึ่งใช้คำสั่งในการแปลงหรือ coprocessor บนพื้นฐานเทคโนโลยีของ Very Long Instruction Word ซึ่งอาจจะนำออกมาเปิดเผยในไม่ช้านี้

AMD 29000 , A flexible register set (1987)

AMD 29000 เป็น RISC CPU อีกรุ่นหนึ่งซึ่งพัฒนามาจาก Berkeley RISC ( และเป็นโปรเจคของ IBM 801) มีความทันสมัยกว่า 29000 รุ่นก่อนซึ่งเป็นแบบ bitslice ( ผลิตออกมาในกลางปี 1981 ) มีความคล้ายคลึงกับ SPARC ซึ่งออกมาหลังจากนั้นไม่นาน 29000นี้ประกอบด้วยเซตของ register ซึ่งใหญ่มากรวมอยู่ใน Local และ Grobal set แต่อย่างไรก็ตาม 29000 นี้ได้นาออกมาจาหน่ายก่อน SPARC ที่มีการจัดการทางด้าน register ที่ดีกว่า
29000 นั้นประกอบด้วย 64 grobal register ซึ่งใน SPARC นั้นมีแค่ 8 อีกทั้งการ allocate ขนาดของตัวแปรยังใช้จาก 128 รีจิสเตอร์ stack cache สำหรับ Stcak Fram ที่ถูกบ่งบอกโดย stack pointer( เป็นรุ่นของ ISAR regisler ใน Fairchild F8 CPU ) พอยเตอร์ที่ชี้ caller‘s frameคือ current frame ซึ่งคล้ายกับแสตกธรรมดา Spill และ Fill จะเกิดขึ้นที่ส่วนท้ายของ แคชเท่านั้น และรีจีสเตอร์จะเป็นตัว loaded/saved ค่าของหน่วยความจำแสตกซึ่งค่านี้จะแปรตามขนาดของวินโดว์จาก 1 ถึง 128 รีจิสเตอร์แต่จะยืดหยุ่นตามความใหญ่ของ โกลบอลรีจิสเตอร์ ทำให้การแบ่งสรรรีจีสเตอร์จะง่ายกว่าใน SPARC
ไม่มีอะไรพิเศษในการคอนดิชั่นโคดรีจีสเตอร์ ซึ่งรีจีสเตอร์โดยทั่วไปจะอาศัยหลักการแทนที่ อย่างไรก็ตามคอนดิชั่นโคดยังคงถูกเก็บรักษาไว้ถึงแม้ว่าบางครั้งจะต้องทำโหมดที่ซับซ้อนมากขึ้น คำสั่งหนึ่งอาจจะต้องทำก่อน fetch บับเฟอร์( ใช้ burth โหมด ) เพราะฉะนั้นสิ่งแรกที่ต้องทำ ก่อนเริ่มคำสั่งใหม่คือการแคชถัดมาคือการแคช branch ( ขึ้นไปเป็น 16 ) ส่วน cache supplies instruction นั้นจะทำช่วงดีเลย์ในการเข้าถึงหน่วยความจำ
รีจีสเตอร์จะไม่ถูก saved ระหว่างการอินเทอรัพต์ สิ่งสำคัญของการทำอินเทอรัพต์คือต้องคิดว่า ทำอย่างไรถึงคุ้มค่า ดังนั้นจึงต้องจัดทำรูปแบบของการควบคุมการเข้าถึงรีจีสเตอร์ โดยรีจีสเตอร์ทั้งหมดสามารถป้องกันได้  ในบลอกของ 4 จากการเข้าถึง สิ่งนี้ทำให้ 29000 สามารถใช้ประโยชน์สำหรับแอบพลิเคชั่นต่างๆได้ ซึ่งสิ่งนี้จะถูกใช้งานโดย Processor มากที่สุด อย่างไรก็ตามสิ่งนี้ก็เป็นตัวยืนยันว ่าทำไม RISC Processor ถึงได้รับความนิยมสูงสุด 29000 ได้ทำการเพิ่ม MMU และยังสนับสนุน 29027 FPU , Superscalar 29050 ซึ่งผลิตออกมาในปี1990 ได้รวมเอา FPU ซึ่งได้ออกแบบใหม่โดยใช้ 4 instruction ซึ่งสามารถส่งไป execute Out of order และ Speculatively
ในช่วงปลายปี 1995 บริษัท Advanced Micro Devices ได้เลิกพัฒนา 29K ซึ่งได้ประโยชน์มากกว่า clones ของ Intel 80x86 processor ถึงแม้ว่าจะพัฒนา superscalar ไปมากแล้วเพื่อผลิต AMD 29000 รุ่นใหม่ ซึ่งมีการเพิ่ม FPU ( ออกแบบมาจาก 29050 ) เข้าไปเพื่อจะ shared กับ K5 ( ออกมาในปี 1995 ) เป็น processor ซึ่ง compatible กับเพนเทียม ( K5 สามารถแปลงคำสั่งของ 80x86 ไปเป็น RISC ได้

Motolola 8800,late but elegant(Mid 1988)

Motolola 88000 ซึ่งออกมาถัดจากรุ่น 78000 นั้นเป็น Processor ขนาด 32 บิต และยังเป็นหนึ่งใน Processor เครื่องแรกๆ ของแบบ RISC โดยมีพื้นฐาน CPU มาจาก Harvard Architecture ( คล้ายกับ Fairchild / Intergraph Clipper C100 (1986))แต่ละบัสจะมีแคชแยกกันดังนั้นเว ลาเข้าถึง ข้อมูลและคำสั่ง จะ ไม่เกิดขึ้นพร้อมกัน ถ้าไม่นับส่วนนี้แล้วจะมีความคล้ายคลึงกับ สถาปัตยกรรมของ Hewlett Packard Precision ( HP / PA ) ซึ่งมีการออกแบบให้มีการเพิ่ม รีจีสเตอร์สำหรับควบคุมสถานะมากมาย ซึ่งใช้ในโหมดการควบคุม ถึงแม้ว่า 88000 จะมีการเพิ่มสิ่งต่างๆเข้ามามากกว่า คือมีชุดคำสั่งที่มีขนาดเล็กและสวยงา มและมี Segment addressing น้อย คือจำกัด addressing ที่ 32 บิต แทนที่จะเป็น 64 บิดและยังมี88200 MMU unit และแคชคู่ ( ได้ทำการเพิ่ม multiprocessor เข้ามา ) และฟังก์ชั่น MMU สำหรับ CPU 88100 ( คล้ายกับ Clipper ) ส่วน 88110 ได้ทำการเพิ่มแคชและ MMU บนชิป
88000 ประกอบด้วย user register ขนาด 32 บิต 32 ตัว , 8 distinct internal - ALU และ ยูนิทช์จำนวนจริง ( มีการใช้ single register set ร่วมกัน ) ในรุ่น 88100 นั้นได้ทำการเพิ่ม ALU สำหรับการคูณเข้ามา และ FPU Unit ( ประกอบด้วยรีจีสเตอร์ FPU ขนาด 80 บิต 30 ตัว ) ในรุ่น 88110 ได้มีการเพิ่มกราฟฟิกเข้าไป โดย bit unit จะถูก pack และ unpack ใน 4 , 8 ,16 บิตจำนวนเต็ม( pixels ) และบรรจุลงใน 32 bit word แต่ผลิตออกมาช้าและไม่ได้รับความนิ ยมเท่ากับ MIPS หรือ HP processor
88000 เป็น processor ที่ทันสมัยและยังมีระบบ pipeline ( กับ interlocks ) และมีผลทำให้ก้าว ไปข้างหน้า ใน 88110 ALU สามารถนำผลไปยังไซเคิลถัดไปได้ การ Loaded / Saved ใน 88110 จะกระทำกับบัฟเฟอร์ ดังนั้น processor จึงไม่ต้องมีการคอย ยกเว้นเมื่อมีการโหลดค่าไปไว้ที่ หน่วยความจำ จำเป็นต้องมีการคอยให้มีการบันทึกข้อมูลเสร็จสิ้นก่อน

CPU 860

CPU รุ่น 860 มีหลากหลายโหมดการทำงาน จาก scaler mode ไปจนถึง superscelar mode (การทำคำสั่งแบบไม่ต้องรอให้จบทีละคำสั่ง จะทำคำสั่งไปเรื่อย ๆ โดยใช้ค่าที่มีอยู่เท่าที่สามารถจะทำได้) โดยใช้ cach ขนาด 8k ในแบบที่จำกัด เป็น vector register ขนาดเล็ก (ที่ใช้ใน supercomputers) cache ที่นอกเหนือจากนี้ใช้เป็น address เสมือน แทนที่จะเป็นแบบกายภาพ คำสั่งและ data bus แยก จากกัน โดย 4G สำหรับหน่วยความจำ ใช้แบบ segmentและใช้หน่วยจัดการหน่วยความจำ สำหรับที่ เก็บแบบเสมือน 860 มี register ขนาด 32 bit จำนวน 32 ตัว และ register แบบ floating point 32 bit จำนวน 32 ตัว 860 เป็น microprocessor ในรุ่นแรก ๆ ที่มี FPU ,integer ALU และ 3-D graphic unit (ติดอยู่กับ FPU) ใช้สำหรับการวาดเส้น

Motorola 68000

68000 มี 16 32-bit register โดยแยกเป็น data และ address registers 1 address registerไว้สำหรับ stack pointer และ data registers สามารถใช้สำหรับการ operation ต่างๆซึ่งประกอบไปด้วย การโต้ตอบจาก address register แต่ไม่เหมือนการใช้ข้อมูลจาก address เอง การ operation บน address register ถูกจำกัดในการ move , add / subtract หรือ load จาก address operations เหมือนกับ CPU โดยทั่วไปในเวลาเดียวกัน 68000สามารถ fetch คำสั่งถัดไป ในขณะที่ทำการ execution ( 2 stage pipeline ) 68000มี32bitsunits ภายใน ทำได้รวดเร็ว สามารถแยกแยะ forced segmentation ถูกออกแบบสำหรับขยายประกอบไปด้วย การระบุรายละเอียดสำหรับ floating point และstring
chip ตระกูลของ Motolora
1.68000 มี 16 32-bit register โดยแยกเป็น data และ address registers 1 address register ไว้สำหรับ stack pointer และ data registers สามารถใช้สำหรับการ operation ต่าง ๆ ซึ่งประกอบไปด้วย การโต้ตอบจาก address register แต่ไม่เหมือนการใช้ข้อมูลจาก address เอง การ operation บน address register ถูกจำกัดในการ move , add / subtract หรือ load จาก address 68000 มี 32 bits units ภายใน ทำได้รวดเร็ว สามารถแยกแยะ forced segmentation ถูกออกแบบสำหรับขยาย ประกอบไปด้วย การระบุรายละเอียดสำหรับ floating point และ string operations เหมือนกับ CPU โดยทั่วไปในเวลาเดียวกัน 68000 สามารถ fetch คำสั่งถัดไป ในขณะที่ทำการ execution ( 2 stage pipeline )
2.68010 รวมเข้าไปใน virtual memory support และ special loop mode ( small decrement-and-branch loopsสามารถ executed จาก instruction fetch buffer . )
3.68020 ( 1984 ) ขยาย external data และ address bus เป็น 32 bits และ รวม 256 byte cache ในขณะที่ 68030 นำ MMU ไว้บน chip ส่วน
4.68040 ( 1991 ) รวมเข้าใน fully cache Harvard busses โดยมาจาก data และ instructions 6 stage pipeline และบน chip FPU
5.68060 (1994) ขยายการออกแบบเป็น superscalar version เหมือน Intel pentium และ NS320xx (Swordfish) series ที่เกิดขึ้นก่อนเหมือน NX586 ,AMD K5 และ "Intel Pentium PRO" stage ที่ 3 ของ 10-stage ใน 68060 pipeline แปลงคำสั่ง 680x0 ไป decode RISC และใช้ resource renaming ในการ reorder คำสั่ง และยังมี Branch cache และ branch ที่รวม ใน decoded instruction stream เหมือน AT&T Hobbit และอื่น ๆ มากกว่า การ Processor ที่ผ่านๆมา
นอกจากนี้ใน 68060 ยังประกอบไปด้วย การเปลี่ยนแปลง Power-saving มากมายที่แสดงให้เห็น ดังนั้น Power ที่ใช้มีระดับต่ำกว่า 68040 การเปลี่ยนแปลง อื่น ๆ คือ simple register-register instruction ซึ่งไม่ได้ เกิดจาก address ใช้ address stage ALU ในการ execute 2 cycle ก่อน

IBM RS/6000 POWER CHIP ( 1990 )

เมื่อ IBM ตัดสินใจเข้าร่วมในตลาด work station ( หลังจากไม่ประสบความสำเร็จกับ PC/RT ซึ่งเป็นพื้นฐานบน ROMP processor ) ได้ออกแบบ CPU ใหม่ ซึ่งมีพื้นฐานในส่วนของโครงการ 801 ซึ่งเป็นผู้บุกเบิก ทฤษฎี RISC ซึ่ง RISC เป็นพื้นฐานธรรมดาสำหรับการลดชุดคำสั่ง ( Reduced Instruction Set Computer ) แต่ IBM เรียกว่า Reduced Instruction Set Cycles และส่งเสริมกระบวนการที่ซับซ้อนของ processor กับ high level instruction มากกว่า CISE processor ทั้งหมด และสิ้นสุดโดยจะได้ CPU ( power 1 ) ที่ในตอนเริ่มต้น ประกอบไปด้วย 5 หรือ 7 ส่วน คือ
1. branch unit
2. point unit
3. floating point unit
4. จะเป็น 2. หรือ 4. cache chips ( โดยแยกเป็น data และ instruction cache )
บาง POWER PC Version ( ได้รับการพัฒนาร่วมกันระหว่าง IBM Apple และ MOTOROLA ด้วย MOTOROLA 68000 และ Intel 8086 ) มีการรวม cache บน chip ( 32 k ใน 601 ) version ใหม่ มีการแบ่งแยก I/D caches. POWER PC Version ยังรวมคำสั่งง่าย ๆ ( simplified instruction set ) รวมกับคำสั่งเก่า ๆ ที่จำเป็น
ส่วนของ branch unit เป็นหัวใจของ CPU และ enables multiple instruction ในการ executed 1 ครั้ง ประกอบไปด้วยเงื่อนไขรหัส register , loop register และ performs branches ใน code condition register มี 8 ส่วน ( โดยใน POWER 1. สงวน 2. ไว้สำหรับ fixed และ floating point units, และอีก 6 ส่วน สามารถเป็นส่วน ( หรือรวมจากหลาย ๆ คำสั่งไว้ได้ ) และสามารถตรวจสอบหลาย ๆคำสั่ง และยังเป็นตัวส่ง multiple instructions (ออกจากการจัดการ ถ้าเป็นไปได้ ) เพื่อความเหมาะสม ในส่วนของ executing คำสั่งซึ่งซับซ้อน ( complex instruction )
ในส่วนของ branch unit สามารถคาดเดาในการแยกส่งคำสั่งและย กเลิกได้ ถ้าไม่สามารถแยกเป็นส่วน ๆ ได้ branch unit ยังจัดการกับ procedure โดยการ call และ returns บน program counter stack ตาม zero-cycles calls เมื่อมีการซ้อนทับกันกับคำสั่งอื่น และสุดท้ายยังจัดการกับ interrupt โดยปราศจากการเข้าแทรกของ software
The integer unit เป็นการกำหนดรูปแบบการ operation ของ integer และ load และ stores ใน POWER1 และ POWER PC 601 ( version ใหม่ ยังรวมส่วนที่เป็น concurrent ในหน่วยการ load/store ) ทุก version ประกอบไปด้วย register 32 bit ในขณะที่ POWER PC 620 และ AS register เป็น 64 bits high end POWER PC-AS มีจุดมุ่งหมายสำหรับ AS/400 minicomputer series ยังรวมถึงการมีคำสั่งเลขคณิตฐานส? ;บ และ คำสั่งเกี่ยวกับตัวอักษร และการเชื่อมต่อกันสำหรับ matrix coprocessor หน่วยตัวเลขทั้งหมดสามารถส่งผลลัพ&c edil;์ต่อไปเมื่อ subsequent instructions ต้องการ ก่อนที่จะมีการเขียนสถานะเกิดขึ้นและบ&Ogra ve;ง version ยังประกอบไปด้วย register พิเศษ ซึ่งถูก rename สำหรับการคาดเดาหรือออกจากการจัดคำ&Ecir c;ั่ง execution ในการขัดขวางการเขียน และทำให้มันง่ายในการทิ้งคำตอบสำหรับ หยุดคำสั่งในการ reorder การปะทะ ในหน่วยของ branch/dispatch มีร่องรอยการ rename register ของ integer และ floating point
ในหน่วยของ floating point ยังประกอบไปด้วย thirty two 64 bit register และกำหนดชนิดของ floating point operations ประกอบไปด้วยคำสั่ง multiply/accumulate และ array multiply และการบวก register ถูก load และ store ซึ่งกำหนดจุดทศนิยมใน POWER1 และ POWER PC601 โดยหน่วยของการ load/store อื่น ๆ FPU ยังประกอบไปด้วย rename register เหมือนบาง CPU อื่น ๆ floating point trap ยังไม่ชัดเจน แน่นอน เพราะว่า pipelining-normally. Traps bit เป็น set ของการยอมรับเลขทศนิยม และ software สามารถตรวจสอบเงื่อนไขในการกำหนด trap ได้ หรือจะทำการยุติได้ถ้ามี software-operation สำหรับการ debugging ยังรวม slower precise trap mode เข้าไปอีก
Data bus มีระยะจาก 32 bit เป็น 256 bit ซึ่งสามารถเพิ่มเป็นคำสั่ง 6 คำสั่ง และ 4 การ load หรือ store ในเวลาเดียวกัน โดย POWER PC 601 ใช้ MOTOROLA 88000 microprocessor bus มากกว่า version ในปัจจุบันซึ่งใช้ POWER PC โดยกำหนด bus โดยเฉพาะ บางทีก็ใช้กับ 128 bit ‘ back side ‘ bus ใช้ในการเข้าถึง L2.cache
IBM POWER CPU ทั้งหมดมีประสิทธิภาพ ทำให้คิดถึงการออกแบบ mainframe ซึ่งคุณสมบัติทั้งหมดเหมือนกับ " weird and Innovative " และยังใช้ RISC ด้วย มีความIซับซ้อนสูง ทำให้มีประสิทธิภาพ แต่ต้องกำหนด clock rate ของการออกแบบที่แน่นอน
clock rate สูง ๆ ได้รับการพัฒนาจาก Exponential Technology ทำการขยายชนิดของเทคโนโลยี Intel พบถึงความจำเป็นในการเก็บ Pentium และ Pentium Pro CPU ไว้ใช้ในการแข่งขัน และ Embedded version ยังได้รับการแนะนำจาก IBM และ MOTOROLO

DEC Alpha การออกแบบสำหรับอนาคต (1992)

สถาปัตยกรรมของ DEC Alpha ได้รับการออกแบบตาม DEC สำหรับการดำเนินชีวิตในระยะเวลา 25 ปี ผู้เปลี่ยนแปลงหลักคือ PAL calls ( หรือ set คำสั่ง writable ที่แน่นอน ) แต่ยังได้รับการผสมผสานของลักษณะเด่น ในการรวบรวมที่แน่นอนของ คุณสมบัติที่ไม่มีข้อกำหนดที่ชัดเจน chip ของ Alpha ตัวแรกคือ 21064 Alpha คือ สถาปัตยกรรม 64 bit ( มี 32 bit เป็น instruction ) ไม่สนับสนุน 8- หรือ 16-bit ของการดำเนินการ แต่ต้องตามการเปลี่ยนแปลง ดังนั้นจึงไม่มี function ที่สูญหาย Alpha 32 bit การดำเนินการแตกต่างจาก 64 bit เพียงแก่การป้องกัน overflow Alpha ไม่สามารถทำคำสั่งหารได้ นอกจากนี้ยังมีคุณสมบัติเหมือน MIPS R2000 ซึ่งประกอบไปด้วยการใช้ register ทั่วไป ในการกำหนดรหัสเงื่อนไข อย่างไรก็ตาม Alpha ยังมีการ interlocked pipeline ดังนั้นจึงไม่มี register พิเศษสำหรับการ คูณ / หาร และ Alpha ยังหมายถึงการหลีกเลี่ยงสัญลักษณ์การ& agrave;ติบโตในส่วนที่ซับซ้อน ซึ่งตระกูล R2000 ทดลองและพัฒนาเป็น R8000 และ R10000 กฎของ Alpha ใช้ในการย้ายสถาปัตยกรรม DEC’s two prior โดย MIPS เป็นพื้นฐานบนเครื่อง workstation และ VAX minicomputer ในการทำแบบนั้น chip สามารถจัดเป็นทั้ง IEEE และ VAX32 และ 64 bit floating point operation และลักษณะเด่นของ Privileged Architecture Library ( PAL) เรียก set ของ programmable ( ไม่มี interruptable ) เขียนในชุดคำสั่งใน Alpha โดยทั่วไปใน programmable มีรหัสขนาดเล็กของ western Digital MCP-1600 หรือ AMD Am 2910 CPUs เป็นการเปลี่ยนแปลงง่าย ๆ จากชุดคำสั่งอื่น ๆ โดยใช้binary translator ( การแปลงแบบไบนารี ) โดยสนับสนุน operating system ที่หลากหลาย Alpha ยังได้รับการออกแบบเพื่ออนา&curr en;ตสำหรับ 1000-fold เพื่อเพิ่มในคุณสมบัติเพราะว่านี่& curren;ือ ชุดคำสั่ง superscalar ได้รับการ reorder และ trap เงื่อนไข ที่เป็นไปได้ให้ชัดเจน คำสั่งพิเศษที่เหมาะสมในการ syncronise ที่เกิดขึ้นเมื่อต้องการ และไม่มี branch delay slot เหมือนใน R2000 ตั้งแต่ทำการผลิตรายการปัญหาต่าง ๆ ใน superscalar execution และ ปัญหาที่ compatibility กับ extended pipeline แทนที่จะ speculative executive และ branch cache chip 21064 ได้รับการแนะนำร่วมกับ 1. integer 2. Floating point และ 1 load / store unit 21164 ( ก่อนปี 1995 ) รวม 1. integer / load / store unit กับ คำสั่ง byte vector และ 1. Floating point unit และ เพิ่ม clock speed จาก 200 MHz เป็น 300 MHz และได้รับการแนะนำความคิดที่เป็น 1. level 2. Cache บน chip 21264 ขยายเป็น 4 integer unit , 2 different floating point unit กับความสามารถในการ load 4 ,dispatch 6 และ retire eight instruction ต่อ cycle สามารถเพิ่มได้ถึง 500 MHz ,Multimedia ขยาย คำแนะนำด้วย 21264 เป็น simple แต่ประกอบไปด้วย VIS-type motion estimation ( MPEG )


รวบรวมจาก บทเรียน Online วิชา 204323 ไมโครโปรเซสเซอร์และการออกแบบไมโครคอมพิวเตอร์ รศ.ยืน ภู่วรวรรณ