1. Jelaskan tentang arsitektur komputer yang menggunakan teknologi Hyperthreading dengan algoritma distpatching algoritm .
jawabannya :
Ø Hyperthreding adalah teknologi mikro prosesor yang dibuat intel pada beberapa prosesor seperti pentium 4, xeon, pentium D dan core2.teknologi ini memperkenalkan pada bulan maret 2002dan mulanya hanya diperkenalkan pada prosesor xeon. prosessor seperti ini mendukung banyak prosesor yang mempunyai dual prosessor walaupun secara fisik mepunyai satu prosesor . dengan dua prosesor akan membuat kinerja komputer lebih efisen. meski bekerja secara multi tasking. kernel tersebut mengeksekusi perintah secara berurutan dengan algortm antrian.
2. Jelaskan tentang dispatching algorithm .
jawabannya :
Ø Prosesor dengan teknologi ini akan dilihat oleh sistem operasi yang mendukung banyak prosessor seperti windows NT, windows 2000, windows xp profesional , windows vista dan GNU atau linux sebagai dua buah prosessor , meski secara fisik hanya tersedia satu prosesor. dengan dua buah prosesor dikenali oleh sitem operasi, maka kinerja sistem dalam melakukan eksekusi setiap thread pun akan lebih efisien , karena meskipun sistem operasi bersifat multitasking sistem operasi tersebut melalukan eksekusi terhadap proses secara sekuensi (berurutan), dengan sebuah algoritma antrean yang disebut dispatching algorithm.
3. Sebutkan minimal 10 sistem operasi yang mendukung teknologi hyperthreading dan kelompokan termasuk kedalam model multithreading yang mana ?
jawabannya :
Ø windows NT/ XP / 2000, linux , solaris 9 dan later termasuk juga kedalam kelompok multhreading yang one-to-one model.
Ø Windows NT/2000, IRIX, digital UNIX dan solaris pun termasuk kedalam model multhreading many-to-many model
Ø IRIX , HP-UX, tru64, UNIX , solaris 8 and earlier termasuk ke kelompok model multhreading two -level model
Ø GNU termasuk ke kelompok model multhreading many-to-one model
4. Contoh program sederhana
Program Menghitung Nilai Faktorial
#include <cstdlib>
#include <iostream>
using namespace std;
int main( argc, char *argy[])
{
int fak,faktn;
int n;
fak=1;
cout<<"\t\t\tMenghitung Nilai Faktorial"<<endl;
cout<<"\t\t------------------------------------------"<<endl;
cout<<endl;
cout<<"masukan nilai faktorial yang ingin dihitung:";
cin>>n;
for (int i=n;i>0;i--)
{
fakt=i*fakt;
cout<<"hasil faktorialnya adalah :"<<fakt<<endl;
}
cout<<endl;
}
Program Menghitung Nilai Faktorial
#include <cstdlib>
#include <iostream>
using namespace std;
int main( argc, char *argy[])
{
int fak,faktn;
int n;
fak=1;
cout<<"\t\t\tMenghitung Nilai Faktorial"<<endl;
cout<<"\t\t------------------------------------------"<<endl;
cout<<endl;
cout<<"masukan nilai faktorial yang ingin dihitung:";
cin>>n;
for (int i=n;i>0;i--)
{
fakt=i*fakt;
cout<<"hasil faktorialnya adalah :"<<fakt<<endl;
}
cout<<endl;
}