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 สามารถเพิ่มได้