Дербес компьютердің архитектуралық және командалық конвейерін ұйымдастыру

Дербес компьютердің архитектуралық және командалық конвейерін ұйымдастыру   Р6 процессорлардың жалпы құрылымы  суретте көрсетілген. Гарвардтық ішкі құрылым командалар және мәліметтер ағындарының бөлінуі негізінде жасалған. Бұл командалар және мәліметтер ағындары жүйелік шинадан шығып, сыртқы интерфейс блогы арқылы процессордың кристаллында орналасқан бөлек командалар бүркеме-жадыға және мәліметтер бүркеме-жадыға келіп түседі (бірінші деңгейлі бүркеме-жады L1). Ішкі интерфейс блогы процессордың жүйелік шинамен және екінші деңгейлі бүркеме-жады шинасымен (L2) алмасуының хаттамасын іске асырады. Жүйелік шинаға енгізу-шығару контроллері, жады, жүйенің басқа активті құрылғылары қосылады. Ал екінші деңгейлі бүркеме-жады шинасы микропроцессормен бірге жалпы корпуста орналасқан бөлек микросхема түрінде жасалған. Жүйелік шинамен алмасу 64-разрядты екі бағытты мәліметтер шинасы, 41-разрядты мекен шинасы және басқару сигналдарын беруге арналған бірқатар тізбекте... Бірінші деңгейлі сыйымдылықтары 16 Кбайттан тұратын командаларды және мәліметтерді орналастыруға арналған. Оларға қатынау жиілігі процессордың тактілік жиілігіне сәйкес (жүздеген МГц). Осыған байланысты процессордың өнімділігі өте жоғары болады. Себебі сыртқы жадыға қатынау саны қысқарады. Ал сыртқы жадыға қатынау жиілігі жүйелік шинаның мүмкіндіктерімен анықталады (ондаған МГц). Р6 процессорларында екінші деңгейлі бүркеме-жады (L2) бар, оның сыйымдылығы 256 Кбайт, 512 Кбайт немесе 1 Мбайт болуы мүмкін, ол бөлек кристаллда жасалынады да, процессормен бірге бөлек корпуста орналасады. Оның қолданылуы өнімділікті қосымша жоғарлатуға мүмкіндік береді. Процессордағы декодерлеуді таңдау блогы командалар бүркеме-жадысынан 32 байт командалар кодын (ұзындығы 256 бит бүркеме жадының жолы) таңдайды да, содан кейін командалардың бөлінуін және декодерленуін орындайды. Таңдалған командалар орындауға бір микрооперацияны қажет ететін қарапайым командалар және бірнеше микрооперацияны қажет ететін күрделі командалар болып екіге бөлінеді. Қарапайым командаларға, мысалы, қосу командасы, азайту командасы, салыстыру командасы, логикалық операциялар және операндтарды регистрлік адрестеуді қолданатын бірқатар командаларды жатқызуға болады. Осы командалардың декодерлеуін сәйкес микрокомандаларды қалыптастыратын DC1, DC2 декодерлері жүзеге асырады. DC3 декодері орындау үшін төртке дейін микрооперацияларды қажет ететін күрделі командаларды орындайды. Сәйкес микрокомандалар осы декодердің шығысында қалыптасады. Сонымен декодерлеуді таңдау блогы микрокомандалардың алты ағынын қалыптастырады және олар программаның үш командасының параллельді орындалуын қамтамасыз етеді.   Р6 процессорлардың жалпы құрылымы Егер командалар ағынында шартты өту командасы кездессе онда тармақталуды болжау блогы қосылады. Ол, өтудің шарты анықталғанға дейін келесі таңдалған команданың адресін қалыптастырады. Өтудің адресін болжау тетігі (механизмі) төменде сипатталған. Микрокомандалар ағыны қалыптасқаннан кейін декодерленген командалардың орындалуына қажетті регистрлер бөлінеді. Бұл процедураны регистрлерді үлестіру блогы (RAT - Register Alias Table) жүзеге асырады. Ол командада көрсетілген әр логикалық регитр үшін алмасу регистрлер блогына (RRF – Reterement Register File) кіретін 40 физикалық регистрлердің біреуін бөліп береді. Бұл процедура бірдей логикалық регистрлерді қолданатын командаларды бір уақытта немесе олардың тізімін өзгертіп орындауға мүмкіндік б... Декодерленген командалар ағынын тиімдірек орындау үшін, командалар тізімін өзгертуге мүмкіндік беретін блок (ROB – Re-Order Buffer) қолданылады. Бұл блок буфер түрінде құрылған, оған декодерленген командалардың орындалуын қамтамасыз ететін микрокомандалар келіп түседі. Буферде бір уақытта 40 микрокоманда бола алады, олар RRF регистрлер блогынан немесе жадыдан таңдалынатын операндтардың дайын болғанына қарай, орындаушы құрылғыларға жіберіледі. Командалар келіп түскен ретпен емес, сәйкес операндта... Микрокомандалар орындаушы құрылғыларға үлестіру блогы (RS – Reservation Station) арқылы келіп түседі. Бұл блок микрокоманданы сәйкес орындаушы құрылғыға, ол босаған сәтте жібереді. Үлестіру блогы бес шығыс порттан тұрады және ол үш команданың бір уақытта орындалуын қамтамасыз етеді. IU1, IU2 (IU – Integer Unit) атқарушы блоктар бүтін сандық операндтарды өңдейді, FPU (Floating – Point Unit) блогы жылжымалы үтірлі сандармен орындалатын операцияларды орындайды, MMX блогы бір уақытта бірнеше упакованные* символдардың өңдеуін қамтамасыз етеді, SSE блогы жылжымалы үтірлі сандардың ағынымен орындалатын операцияларды орындайды.
Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат docx
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Дербес компьютердің архитектуралық және командалық

конвейерін ұйымдастыру

Р6 процессорлардың жалпы құрылымы суретте көрсетілген. Гарвардтық ішкі құрылым командалар және мәліметтер ағындарының бөлінуі негізінде жасалған. Бұл командалар және мәліметтер ағындары жүйелік шинадан шығып, сыртқы интерфейс блогы арқылы процессордың кристаллында орналасқан бөлек командалар бүркеме-жадыға және мәліметтер бүркеме-жадыға келіп түседі (бірінші деңгейлі бүркеме-жады L1).

Ішкі интерфейс блогы процессордың жүйелік шинамен және екінші деңгейлі бүркеме-жады шинасымен (L2) алмасуының хаттамасын іске асырады. Жүйелік шинаға енгізу-шығару контроллері, жады, жүйенің басқа активті құрылғылары қосылады. Ал екінші деңгейлі бүркеме-жады шинасы микропроцессормен бірге жалпы корпуста орналасқан бөлек микросхема түрінде жасалған. Жүйелік шинамен алмасу 64-разрядты екі бағытты мәліметтер шинасы, 41-разрядты мекен шинасы және басқару сигналдарын беруге арналған бірқатар тізбектер көмегімен жүзеге асады.

Бірінші деңгейлі сыйымдылықтары 16 Кбайттан тұратын командаларды және мәліметтерді орналастыруға арналған. Оларға қатынау жиілігі процессордың тактілік жиілігіне сәйкес (жүздеген МГц). Осыған байланысты процессордың өнімділігі өте жоғары болады. Себебі сыртқы жадыға қатынау саны қысқарады. Ал сыртқы жадыға қатынау жиілігі жүйелік шинаның мүмкіндіктерімен анықталады (ондаған МГц).

Р6 процессорларында екінші деңгейлі бүркеме-жады (L2) бар, оның сыйымдылығы 256 Кбайт, 512 Кбайт немесе 1 Мбайт болуы мүмкін, ол бөлек кристаллда жасалынады да, процессормен бірге бөлек корпуста орналасады. Оның қолданылуы өнімділікті қосымша жоғарлатуға мүмкіндік береді.

Процессордағы декодерлеуді таңдау блогы командалар бүркеме-жадысынан 32 байт командалар кодын (ұзындығы 256 бит бүркеме жадының жолы) таңдайды да, содан кейін командалардың бөлінуін және декодерленуін орындайды. Таңдалған командалар орындауға бір микрооперацияны қажет ететін қарапайым командалар және бірнеше микрооперацияны қажет ететін күрделі командалар болып екіге бөлінеді.

Қарапайым командаларға, мысалы, қосу командасы, азайту командасы, салыстыру командасы, логикалық операциялар және операндтарды регистрлік адрестеуді қолданатын бірқатар командаларды жатқызуға болады. Осы командалардың декодерлеуін сәйкес микрокомандаларды қалыптастыратын DC1, DC2 декодерлері жүзеге асырады.

DC3 декодері орындау үшін төртке дейін микрооперацияларды қажет ететін күрделі командаларды орындайды. Сәйкес микрокомандалар осы декодердің шығысында қалыптасады. Сонымен декодерлеуді таңдау блогы микрокомандалардың алты ағынын қалыптастырады және олар программаның үш командасының параллельді орындалуын қамтамасыз етеді.

Р6 процессорлардың жалпы құрылымы

Егер командалар ағынында шартты өту командасы кездессе онда тармақталуды болжау блогы қосылады. Ол, өтудің шарты анықталғанға дейін келесі таңдалған команданың адресін қалыптастырады.

Өтудің адресін болжау тетігі (механизмі) төменде сипатталған.

Микрокомандалар ағыны қалыптасқаннан кейін декодерленген командалардың орындалуына қажетті регистрлер бөлінеді. Бұл процедураны регистрлерді үлестіру блогы (RAT - Register Alias Table) жүзеге асырады. Ол командада көрсетілген әр логикалық регитр үшін алмасу регистрлер блогына (RRF - Reterement Register File) кіретін 40 физикалық регистрлердің біреуін бөліп береді. Бұл процедура бірдей логикалық регистрлерді қолданатын командаларды бір уақытта немесе олардың тізімін өзгертіп орындауға мүмкіндік береді.

Декодерленген командалар ағынын тиімдірек орындау үшін, командалар тізімін өзгертуге мүмкіндік беретін блок (ROB - Re-Order Buffer) қолданылады. Бұл блок буфер түрінде құрылған, оған декодерленген командалардың орындалуын қамтамасыз ететін микрокомандалар келіп түседі. Буферде бір уақытта 40 микрокоманда бола алады, олар RRF регистрлер блогынан немесе жадыдан таңдалынатын операндтардың дайын болғанына қарай, орындаушы құрылғыларға жіберіледі. Командалар келіп түскен ретпен емес, сәйкес операндтардың және орындаушы құрылғылардың дайын болғанына қарай орындалады. Нәтижесінде кейінірек келіп түскен командалар алдындағы командалардан бұрын орындалуы мүмкін. Сонымен командалардың орындалу реті бұзылады, нәтижесінде параллельлі істеп жатқан орындаушы құрылғылар толығымен жүктеледі де, процессордың өнімділігі артады.

Микрокомандалар орындаушы құрылғыларға үлестіру блогы (RS - Reservation Station) арқылы келіп түседі. Бұл блок микрокоманданы сәйкес орындаушы құрылғыға, ол босаған сәтте жібереді. Үлестіру блогы бес шығыс порттан тұрады және ол үш команданың бір уақытта орындалуын қамтамасыз етеді.

IU1, IU2 (IU - Integer Unit) атқарушы блоктар бүтін сандық операндтарды өңдейді, FPU (Floating - Point Unit) блогы жылжымалы үтірлі сандармен орындалатын операцияларды орындайды, MMX блогы бір уақытта бірнеше упакованные* символдардың өңдеуін қамтамасыз етеді, SSE блогы жылжымалы үтірлі сандардың ағынымен орындалатын операцияларды орындайды.


© 2010-2022