PL176554B1 - Sposób przesyłania informacji między jednostką przetwarzającą systemu komputerowego, zewnętrzną pamięcią podręczną i pamięcią główną oraz system komputerowy - Google Patents
Sposób przesyłania informacji między jednostką przetwarzającą systemu komputerowego, zewnętrzną pamięcią podręczną i pamięcią główną oraz system komputerowyInfo
- Publication number
- PL176554B1 PL176554B1 PL94316998A PL31699894A PL176554B1 PL 176554 B1 PL176554 B1 PL 176554B1 PL 94316998 A PL94316998 A PL 94316998A PL 31699894 A PL31699894 A PL 31699894A PL 176554 B1 PL176554 B1 PL 176554B1
- Authority
- PL
- Poland
- Prior art keywords
- information
- cache
- memory
- processing unit
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0884—Parallel mode, e.g. in parallel with main memory or CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
1. Sposób przesylania infor macji miedzy jedno- stka przetwarzajaca systemu komputerowego, zewne- trzna pamiecia podreczna i pamiecia glówna, znamienny tym, ze inicjuje sie wspólbieznie zadanie pobrania informacji z zewnetrznej pamieci podrecznej i pamie- ci glównej, okresla sie, czy informacje zadane przez jednostke przetwarzajaca sa zapisane w zewnetrznej pamieci podrecznej, i generuje sie sygnaly dostepu do wyslania do pamieci glównej, przy czym etap okresla- nia i etap generowania wykonuje sie wspólbieznie, po czym wysyla sie sygnaly dostepu do pamieci glównej, jesli w etapie okreslania wskaze sie, ze informacje zadane przez jednostke przetwarzajaca nie sa zapisane w zewnetrznej pamieci podrecznej. FIG.2 PL PL
Description
Przedmiotem wynalazku jest sposób przesyłania informacji między jednostką przetwarzającą systemu komputerowego, zewnętrzną pamięcią podręczną i pamięcią oraz system komputerowy.
Wiele architektur komputerowych korzysta z elementów pamięciowych o strukturze hierarchicznej z uwagi na szybki dostęp do danych i instrukcji. Typowo integruje się pamięć podręczną pierwszego poziomu 1 (Ll) z centralną jednostką przetwarzającą CPU oraz dostarcza się małą (od 8 kilobajtów do 256 kilobajtów) pamięć o szybkim dostępie, która może działać równocześnie z jednostką CPU. Pamięć podręczna poziomu 2 (L2) jest pamięcią podręczną o większej pojemności, ulokowaną między pamięcią podręczną L1 a pamięcią główną poziomu 3 (L3), która jest pamięcią zewnętrzną wobec jednostki centralnej CPU. Pamięć podręczna L2 działa zwykle z taką samą szybkością, jak zegar jednostki CPU, a tworzy się ją z pamięci statycznej o dostępie bezpośrednim (SRAM). Pamięć głównajest taktowana kilka cykli za zegarem jednostki centralnej CPU, z uwagi na użycie wolniejszej pamięci dynamicznej o dostępie bezpośrednim (DRAM), translację adresów, rozstrzyganie dostępu itp.
Znane hierarchiczne systemy pamięci o trzech poziomach wykorzystują jednostkę sterowania pamięci podręcznej dla pamięci podręcznej L2 i oddzielną jednostkę sterowania pamięci dla pamięci głównej. Kiedy w pamięci podręcznej nie ma danych lub instrukcji potrzebnych dla jednostki centralnej CPU, wtedy zachodzi tzw. chybienie pamięci podręcznej. Zwykle sygnały chybienia pamięci podręcznej Ll wysyła się do jednostki sterowania pamięci podręcznej L2, która sprawdza pamięć podręczną L2 w celu określenia, czy zachodzi trafienie pamięci podręcznej , tojest, czy żądane dane lub instrukcje są w pamięci podręcznej L2. Jeśli zachodzi chybienie pamięci podręcznej L2, to wtedy żądanie przesyła się do jednostki sterowania pamięcią w celu odszukania i pobrania danych z pamięci głównej. Zdarzenia te następują sekwencyjnie i mogą powodować jałowe działanie jednostki centralnej CPU przez znaczną wielkość czasu. Dlatego też strata czasu wiąże się z wielkością czasu potrzebnego na dojście żądania danych do pamięci podręcznej L2 i, jeśli będzie chybienie pamięci podręcznej, to nastąpi sprawdzenie pamięci głównej w poszukiwaniu danych.
Jedno ze znanych rozwiązań przedstawia hierarchiczny system pamięci, w którym dla minimalizacji wielkości czasu działania jałowego jednostki centralnej CPU, pamięć niskiego poziomu ma dwuportowy dostęp do obiektów pamięci. Dołącza się również pamięć wysokiego poziomu, która działa interaktywnie w trybie szeregowym z jednym portem niskiego poziomu. Umożliwia to szeregowy dostęp pamięci wysokiego poziomu do pamięci niskiego poziomu, zachodzący równolegle z dostępem systemu komputerowego do pamięci niskiego poziomu. Jednakże system ten nie ujawnia właściwości współbieżnego dostępu do pamięci różnych poziomów, gdy nastąpi chybienie danych w pamięci podręcznej.
Europejskie Zgłoszenie Patentowe nr 0 468 786 A2 ujawnia system pamięci z oddzielnym sterownikiem pamięci podręcznej i sterownikiem pamięci. Mikroprocesor inicjuje równoczesne poszukiwanie danych w obu pamięciach - podręcznej i głównej. Jeśli dane nie zostaną znalezione w pamięci podręcznej, to wtedy dane te mogą być odzyskane z pamięci głównej bez straty czasu oczekiwania na przeglądanie pamięci podręcznej. Jednakże, jeśli dane zostaną znalezione w pamięci podręcznej, to wtedy dane nie muszą być odzyskiwane z pamięci głównej i anuluje się dostęp do sterownika pamięci. Sterownik pamięci kończy wtedy poprzednio zainicjowane poszukiwanie w pamięci głównej przez wysterowanie linii trafienie lub zdjęcie wysterowania linii chybienie. Którakolwiek z tych akcji, podjęta przez sterownik pamięci, zakomunikowałaby potrzebę zakończenia cyklu dostępu do pamięci głównej z powodu znalezienia danych w pamięci podręcznej. Zatem znany system rozpoczyna operację dostępu do pamięci głównej od rozstrzygnięcia dostępu do magistrali i translacji adresów pamięci oraz poszukiwania lokacji pamięci, przy czym wszystkie te działania zużywają cykle pamięci, tzn. nie można korzystać z pamięci podczas okresu, gdy działania te są realizowane. Dlatego też, za każdym razem kiedy mikroprocesor przeszukuje równocześnie pamięć podręczną i pamięć, wtedy realizuje się dostęp do pamięci i nie może być ona użyta przez inny proces taki, jak na przykład przesyłanie bezpośrednio do pamięci ze sterownika urządzenia peryferyjnego, nawet wtedy, gdy dane znaleziono w pamięci podręcznej.
176 554
Opis patentowy USA nr 3 896 419 przedstawia typowy procesor z pamięcią podręczną L1 i pamięcią główną. System ten sprawdza, czy wymagane dane znajdują się w pamięci podręcznej, podczas gdy wykonuje się operacja odzyskiwania pamięci. Jeśli dane zostaną znalezione w pamięci podręcznej, to blokuje się operację odzyskiwania danych z pamięci. Jednakże cykl związany z portem do odzyskiwania danych z pamięci musi zostać anulowany, gdy dane zostaną znalezione w pamięci podręcznej. Wpływa to na operacje pamięciowe nawet wtedy, gdy dane zostają znalezione w pamięci podręcznej.
W biuletynie IBM Technical Disclosure Bulletin vol. 26, nr 10B, marzec 1984, strony 5488-5490, opisany jest znany hierarchiczny system pamięci, w którym sygnał trafienia pamięci podręcznej L2 wskazuje, że wymagane dane znajdują się w pamięci podręcznej i dane, te dostarcza się do pamięci podręcznej L1 i rejestru wyjściowego.
Ten znany hierarchiczny system pamięci jest przedstawiony na figurze 1. Jednostka centralna CPU zawiera pamięć podręczną L1 i łączy się poprzez magistralę danych z autonomicznym sterownikiem pamięci podręcznej L2. Sterownik pamięci podręcznej L2 dostarcza informacje adresowe i sterujące do pamięci podręcznej L2, a dane z pamięci podręcznej są odzyskiwane poprzez magistralę. Magistrala danych łączy sterownik pamięci podręcznej ze sterownikiem pamięci, który dostarcza informacje adresowe i sterujące do pamięci. Informacje adresowe i sterujące oraz dane odzyskane z pamięci przesyła się do sterownika pamięci wzdłuż magistrali. Ze schematu architektury systemu pamięci wynika, że przy trafieniu pamięci podręcznej L2, dane muszą być dostarczone z pamięci podręcznej L2 do sterownika pamięci podręcznej L2, a następnie do jednostki centralnej CPU, czyli są zatem dwa przejścia przez układy scalone. Stąd, ten znany system wymaga dodatkowych cykli zegara do przeniesienia danych z pamięci podręcznej L2 poprzez sterownik pamięci podręcznej na magistralę danych. Podobnie, kiedy następuje chybienie pamięci podręcznej i dane muszą być odzyskane z pamięci, wtedy dane te muszą przejść przez sterownik pamięci na magistralę danych, dane te muszą być następnie przesunięte przez sterownik pamięci podręcznej L2, zanim umieści się je na magistrali danych na użytek jednostki centralnej CPU, czyli są trzy przejścia przez układy scalone.
Istotą sposobu przesyłania informacji między jednostką przetwarzającą systemu komputerowego, zewnętrzną pamięcią podręczną i pamięcią główną, według wynalazkujest to, że inicjuje się współbieżnie żądanie pobrania informacji z zewnętrznej pamięci podręcznej i pamięci głównej, określa się, czy informacje żądane przez jednostkę przetwarzającą są zapisane w zewnętrznej pamięci podręcznej, i generuje się sygnały dostępu do wysłania do pamięci głównej, przy czym etap określania i etap generowania wykonuje się współbieżnie, po czym wysyła się sygnały dostępu do pamięci głównej, jeśli w etapie określania wskaże się, że informacje żądane przez jednostkę przetwarzającą nie są zapisane w zewnętrznej pamięci podręcznej.
Korzystnie przesyła się następnie informacje z zewnętrznej pamięci podręcznej względnie z pamięci głównej bezpośrednio do jednostki przetwarzającej.
Korzystnie w etapie przesyłania odbiera się informacje z zewnętrznej pamięci podręcznej oraz odbiera się informacje z pamięci głównej.
Korzystnie w etapie odbierania informacji z zewnętrznej pamięci podręcznej przesyła się informacje bezpośrednio z zewnętrznej pamięci podręcznej do jednostki przetwarzającej, zapisuje się w jednostce przetwarzającej informacje pobrane z zewnętrznej pamięci podręcznej i udostępnia się informacje pobrane z zewnętrznej pamięci podręcznej przynajmniej jednej jednostce wykonawczej zawartej w jednostce przetwarzającej.
Korzystnie w etapie odbierania informacji z pamięci głównej przesyła się informacje bezpośrednio z pamięci głównej do jednostki przetwarzającej, zapisuje się w jednostce przetwarzającej informacje pobrane z pamięci głównej i udostępnia się informacje pobrane z pamięci głównej przynajmniej jednej jednostce wykonawczej zawartej w jednostce przetwarzającej.
Korzystnie jako informacje wykorzystuje się informacje w postaci danych i informacje w postaci instrukcji.
Korzystnie w etapie odbierania informacji z zewnętrznej pamięci podręcznej i etapie odbierania informacji z pamięci głównej zapisuje się informacje w postaci danych w pamięci podręcznej danych wewnętrznej względem jednostki przetwarzającej i zapisuje się informacje
176 554 w postaci instrukcji w pamięci podręcznej instrukcji wewnętrznej względem jednostki przetwarzającej.
Korzystnie w etapie odbierania informacji z zewnętrznej pamięci podręcznej i etapie odbierania informacji z pamięci głównej zapisuje się współbieżnie informacje w postaci danych w wewnętrznej pamięci podręcznej danych, kiedy informacje w postaci danych są bezpośrednio dostarczane do przynajmniej jednej jednostki wykonawczej oraz zapisuje się współbieżnie informacje w postaci instrukcji w wewnętrznej pamięci podręcznej instrukcji, kiedy informacje w postaci instrukcji są bezpośrednio dostarczane do przynajmniej jednej jednostki wykonawczej.
Korzystnie w etapie przesyłania omija się wewnętrzną pamięć podręczną zawartą w jednostce przetwarzającej.
Istotą systemu komputerowego, według wynalazku, zawierającego jednostkę przetwarzającą oraz' dołączone do niej zewnętrzną pamięć podręczną i pamięć główną, które są sterowane przez odpowiednio sterownik zewnętrznej pamięci podręcznej i sterownik pamięci głównej, jest to, że sterownik zewnętrznej pamięci podręcznej i sterownik pamięci głównej są umieszczone w jednostce sterowania pamięcią, zbudowanej na jednym układzie scalonym, która zawiera obwód współbieżnego inicjowania żądania odebrania informacji z zewnętrznej pamięci podręcznej i pamięci głównej, przy czym jedno wyjście obwodu współbieżnego inicjowania jest dołączone do sterownika zewnętrznej pamięci podręcznej z obwodem określania, czy informacje żądane przezjednostkę przetwarzającą są zapisane w zewnętrznej pamięci podręcznej, zaś drugie wyjście obwodu współbieżnego inicjowania jest dołączone do obwodu generowania sygnałów dostępu, ze sterownikiem pamięci głównej, które są wysyłane do pamięci głównej.
Korzystnie zawiera następnie obwody przesyłania informacji z zewnętrznej pamięci podręcznej względnie z pamięci głównej bezpośrednio do jednostki przetwarzającej.
Korzystnie obwody przesyłania informacji zawierają pierwszy obwód odbierania informacji z zewnętrznej pamięci podręcznej i drugi obwód odbierania informacji z pamięci głównej.
Korzystnie pierwszy obwód odbierania informacji jest zbudowany z magistrali pamięci podręcznej do przesyłania informacji bezpośrednio z zewnętrznej pamięci podręcznej do jednostki przetwarzającej, rejestru zapisywania informacji pobranych z zewnętrznej pamięci podręcznej, który jest umieszczony w jednostce przetwarzającej oraz obwodu dostępu do informacji z zewnętrznej pamięci podręcznej dla przynajmniej jednej jednostki wykonawczej zawartej w jednostce przetwarzającej.
Korzystnie drugi obwód odbierania informacji jest zbudowany z magistrali pamięci głównej do przesyłania informacji bezpośrednio z pamięci głównej do jednostki przetwarzającej, rejestru zapisywania informacji odebranych z pamięci głównej, który jest umieszczony w jednostce przetwarzającej oraz obwodu dostępu do informacji z pamięci głównej dla przynajmniej jednej jednostki wykonawczej zawartej w jednostce przetwarzającej.
Korzystnie informacje obejmują informacje w postaci danych i informacje w postaci instrukcji.
Korzystnie pierwszy i drugi obwody odbierania informacji zawierają obwód zapisywania informacji w postaci danych w pamięci podręcznej danych, wewnętrznej względem jednostki przetwarzającej oraz obwód zapisywania informacji w postaci instrukcji pamięci podręcznej instrukcji, wewnętrznej względem jednostki przetwarzającej.
Korzystnie pierwszy i drugi obwody odbierania informacji zawierają ponadto obwód współbieżnego zapisywania informacji w postaci danych w pamięci podręcznej danych, kiedy informacje w postaci danych są dostarczane bezpośrednio do przynajmniej jednej jednostki wykonawczej oraz obwód współbieżnego zapisywania informacji w postaci instrukcji w pamięci podręcznej instrukcji, kiedy informacje w postaci instrukcji są dostarczane bezpośrednio do przynajmniej jednej jednostki wykonawczej.
Korzystnie obwody przesyłania informacji zawierają obwód omijania wewnętrznej pamięci podręcznej umieszczonej w jednostce przetwarzającej.
Korzystnie zewnętrzna pamięć podręczna jest pamięcią podręczną poziomu 2 (L2).
Zaletą rozwiązania według wynalazku jest to, że równocześnie inicjuje się dostęp do pamięci podręcznej L2 i pamięci głównej, lecz nie realizuje się dostępu do pamięci głównej,
176 554 gdy wymagane dane zostają znalezione w pamięci podręcznej. Rozwiązanie według wynalazku ponadto umożliwia pamięci podręcznej L2 bezpośrednie dostarczanie danych do jednostki przetwarzania, zamiast przekazywać je poprzez sterownik pamięci podręcznej do pamięci podręcznej L1, co zapewnia zwiększanie szybkości oraz efektywności całego systemu. Także bezpośrednie połączenie pamięci głównej z pamięcią podręczną L1 w jednostce centralnej CPU zwiększa efektywność systemu bardziej niż połączenie poprzez sterownik pamięci i sterownik pamięci podręcznej.
Wynalazek w przykładzie wykonania jest przedstawiony na rysunku, na którym fig. 1 przedstawia schemat blokowy znanego hierarchicznego systemu pamięci, fig. 2 - schemat blokowy systemu komputerowego według wynalazku, fig. 3 - schemat blokowy jednostki sterowania pamięcią (SCU), fig. 4 - schemat blokowy, połączeń pamięci podręcznych L1 i L2 oraz magistrali, które przesyłają dane między tymi pamięciami podręcznymi i jednostkami przetwarzania, fig. 5 - przebiegi czasowe sygnałów taktujących, będące cyklami jednostki centralnej CPU potrzebnymi przy dostępie do danych lub do instrukcji w pamięci głównej, gdy nastąpi chybienie pamięci podręcznej L2 w znanym systemie, fig. 6 - przebiegi czasowe sygnałów taktujących, będące cyklami jednostki centralnej CPU potrzebnymi przy dostępie do danych lub do instrukcji w pamięci głównej, gdy nastąpi chybienie pamięci podręcznej L2 w systemie według wynalazku, fig. 7 - przebiegi czasowe sygnałów taktujących, będące cyklami jednostki centralnej CPU potrzebnymi przy dostępie do danych lub do instrukcji w pamięci głównej, gdy nastąpi trafienie pamięci podręcznej w znanym systemie, fig. 8 - przebiegi czasowe sygnałów taktujących, będące cyklami jednostki centralnej CPU potrzebnymi do odzyskania danych lub instrukcji z pamięci podręcznej L2 w systemie według wynalazku.
Na figurze 2 przedstawiono schemat blokowy systemu komputerowego według wynalazku, w którym odnośnik 1 reprezentuje jednostkę przetwarzania, czyli centralną jednostkę przetwarzającą CPU w postaci zestawu układów procesorów superskalarnych o modułach wielokostkowych. Jednostka pamięci podręcznej instrukcji ICU 3 zawiera jednostkę przetwarzania rozgałęzień 4 instrukcji skokowych, przedstawioną na figurze 4, i pamięć podręczną instrukcji poziomu pierwszego 11. Jednostka instrukcji rozgałęzień BIU oraz jednostka przetwarzania rozgałęzień BPU przetwarza przychodzące instrukcje i wysyłaje do jednostki zmiennopozycyjnej FPU 5 oraz do jednostki stałopozycyjnej FXU 7. Jednostka BPU realizuje wszystkie funkcje rozgałęzienia, przerwania i kodu zakończenia w ramach systemu. Jednostka FPU 5 wykonuje instrukcje zmiennopozycyjne, podczas gdy jednostka FXU 7 wykonuje arytmetyczne operacje stałopozycyjne.
Jednostka sterowania pamięcią SCU 9 steruje dostępem między jednostką centralną CPU i pamięcią podręczną poziomu 2 15 oraz pamięcią główną 17. Jednostka SCU 9 zawiera katalog pamięci podręcznej poziomu 2 10, który służy do porównywania adresu danych lub instrukcji w pamięci podręcznej L2 z adresami żądanej informacji w celu określenia, czy nastąpiło trafienie, czy chybienie pamięci podręcznej L2, przy czym termin informacja będzie się odnosić do danych oraz do instrukcji. Na podstawie fig. 2 można zauważyć, że jednostka SCU 9 nie otrzymuje danych ani z pamięci podręcznej L2 15, ani z pamięci głównej 17. Jednostka SCU 9 dostarcza tylko adres i informacje sterujące do pamięci i do pamięci podręcznej L2. Porty z: pamięci podręcznej L2 15 dojednostki SCU 13 i do jednostki BPU 4 oraz pamięci 17 dojednostki pamięci podręcznej danych DCU 13 pozwalają na dostarczanie danych bezpośrednio dojednostki centralnej CPU bez obciążeń organizacyjnych, związanych z pośrednim pamiętaniem danych w jednostce SCU 9.
Jednostka pamięci podręcznej danych poziomu pierwszego DCU 13 jest połączona z jednostkami FPU 5 i FXU 7 i pamięta dane, do których był ostatnio dostęp i które prawdopodobnie będą ponownie potrzebne dla jednostek FPU 5 i FXU 7. Jednostka DCU 13 zawiera rejestry, przerzutniki zatrzaskowe itp. wraz z pamięcią podręczną danych 14, która jedynie zapamiętuje dane. W rozwiązaniu według wynalazku, wydziela się z pamięci podręcznej L1 element składowy pamięci danych 14 oraz element składowy pamięci instrukcji (pamięć podręczna I) 11. Tym sposobem, dane i instrukcje pamiętane w pamięci podręcznej L1 są fizycznie bliżej względem odpowiednich jednostek przetwarzania, które wykorzystują dane oraz
176 554 instrukcje. Zatem pamięć podręczna 111 jest w fizycznej bliskości względem jednostki BPU 4 zawartej w jednostce ICU 3 tak, że instrukcje pamiętane w pamięci podręcznej 111 mogą być łatwo i szybko dostarczane do lub odbierane z jednostki BPU 4. Podobnie pamięć podręczna D 14 umieszczona jest blisko względem jednostek FPU 5 i FXU 7, co umożliwia tym jednostkom wykonawczym łatwy dostęp do danych zapamiętanych w pamięci podręcznej D 14. Pamięć podręczna L2 15 jest pewną liczbą urządzeń statycznej pamięci o bezpośrednim dostępie SRAM, które połączone są zarówno z jednostką sterowania pamięcią 9, jak i magistralą przeładowania 2. Żądania o informacje, pamiętane w pamięci podręcznej L2,15, odbierane są z jednostki SCU 9 i jeśli informacje znajdują się w pamięci podręcznej L2, to dostarcza się je do wystawiającej żądanie jednostki przetwarzania i do pamięci podręcznej L1 poprzez magistralę przeładowania 2.
Trzecim poziomem pamięci jest pamięć główna 17, która jest zestawem urządzeń pamięci dynamicznej o bezpośrednim dostępie DRAM, połączonych z jednostkami SCU 9 i DCU 13. Pamięć główna 17 jest najwolniejszym urządzeniem pamięciowym w systemie według wynalazku i dlatego wymaga ona największej liczby cykli zegarowych w celu odzyskania z niej informacji. Pamięć główna 17 połączonajest bezpośrednio zjednostkąDCU 13, która umożliwia bezpośrednie dostarczenie informacji z pamięci do jednostek FPU 5 i FXU 7. Informacje w jednostce DCU 13 odbiera rejestr lub podobny układ, a następnie zasila się nimi jednostki wykonawcze. Oczywiście informacje z pamięci 17 mogą być dostarczone do pamięci podręcznej D 14. Jeśli instrukcje odbierane są z pamięci głównej 17, to informacje w postaci instrukcji dostarcza się z jednostki DCU 13 do magistrali przeładowania 2, a następnie do jednostki ICU 3. W ten sposób dane i informacje w postaci instrukcji mogą być dostarczone bezpośrednio z pamięci głównej 17 do jednostki przetwarzania 1.
Na figurze 2 przedstawiona jest także magistrala PBUS 6, którą przesyła się do jednostki SCU 9 żądania o dane i instrukcje. Systemowa magistrala wejścia/wyjścia SIO łączy jednostkę DCU 13 i różne jednostki przetwarzania z układami scalonymi sterowania wejścia/wyjścia XIO 21 i 23. Układy XIO 21 i 23 koordynują przesyłanie danych między magistralą zewnętrzną, taką jak magistrala typu MicroChannel a wewnętrzną magistralą jednostki centralnej CPU, służącą do łączenia różnych jednostek przetwarzania. Pokazany jest układ scalony pamięci tylko do odczytu ROS, podłączony również do magistrali SIO 12, który dostarcza określonych podstawowych procedur i kodów, używanych do ładowania początkowego jednostki centralnej CPU, takich jak na przykład wewnętrzny test po włączeniu POST.
Można zauważyć na podstawie fig. 2 i fig. 4, że jednostka ICU 3 nie tylko wysyła do jednostki SCU 9 żądania o informacje poprzez magistralę PBUS 6, ale także przekazuje do jednostek FPU 5 i FXU 7 instrukcje do wykonania. Obie jednostki FPU 5 i FXU 7 są połączone z jednostką DCU 13 poprzez dwie czterosłowowe magistrale do przesyłania informacji między pamięcią podręczną L1 14 a jednostkami przetwarzania. Jednostka FXU 7 jest także połączona z magistralą PBUS 6, dlatego też jednostka stałopozycyjna może żądać informacji z pamięci podręcznej L1 14. Pamięć podręczna 15 odbiera adres i informacje sterujące z magistrali 16 (łączącąją z jednostką SCU 9) i jest połączona poprzez magistralę przeładowania 2 bezpośrednio z jednostkami FPU 5 i FXU 7 poprzez rejestr 51 w pamięci podręcznej L1 13 (patrz fig. 4). Ponadto magistrala przeładowania 2 bezpośrednio łączy pamięć podręczną L2 15 z jednostką BPU 4 w jednostce ICU 3 poprzez rejestr 50, jak przedstawiono na fig. 4. Pamięć główna 17 odbiera adres i informacje sterujące z magistrali 18, łączącą ją z jednostką SCU 9 i jest bezpośrednio połączona z jednostką DCU 13 poprzez magistralę 20. Według wynalazku pamięć podręczna L2 15 i pamięć główna 17 mają unikatowy port do jednostek przetwarzania oraz pamięci podręcznej L1. Tak więc nie wymaga się, aby informacje z pamięci głównej 17 przeszły najpierw przez pamięć podręczną L2 15, przed przekazaniem ich do pamięci podręcznej L1. Dodatkowo pamięć podręczną L2 podłączono bezpośrednio do jednostek przetwarzania poprzez magistralę przeładowania 2 i rejestry w jednostce ICU 3 i w pamięci podręcznej L1 13 (patrz fig. 4). Pozwala to na przenoszenie informacji z pamięci podręcznej L2 15 do wystawiającej żądanie jednostki wykonawczej szybciej niż w znanych systemach, gdyż brak dodatkowych przejść przez układy scalone.
176 554
Zatem można zauważyć, że rozwiązanie według wynalazku jest w zasadzie niehierarchicznym systemem pamięci, w którym pamięć podręczna L2 jest bezpośrednio połączona z jednostkami przetwarzania, przez co omija pamięć podręczną Ll 13. Dalej, pamięć główna 17 jest bezpośrednio połączona z pamięcią podręczną L1 13, przez co omija się pamięć podręczną L2 15. W porównaniu z rozwiązaniem ze stanu techniki przedstawionego na fig. 1, pamięć główna również omija sterownik pamięci i sterownik pamięci podręcznej tak, że potrzebne jest tylko przejście przez pojedynczy układ scalony, aby dostarczyć żądaną informację do jednostki centralnej CPU.
Ponadto unikatowe porty zgodnie z wynalazkiem umożliwiają oddzielenie magistrali pamięciowej 20 i magistrali przeładowania 2 tak, że minimalizowane są obciążenia magistrali. Umożliwia to tym magistralom wprowadzać informacje bezpośrednio do jednostki centralnej CPU, a nie na przykład do sterownika. Zatem magistrale 2 i 20 są w stanie działać z dużo większą szybkością, niż w znanych systemach, które wiążą cały system pamięci (to jest pamięć podręczną l2 i pamięć główną) bezpośrednio z pojedynczą magistralą, połączoną z jednostką centralną CPU.
Figura 4 przedstawia bardziej szczegółowo niehierarchiczny aspekt rozwiązania według wynalazku. Uściślając, jednostka ICU 3 jest przedstawiona z pamięcią podręczną I L1 11 i jednostką BPU 4 wraz z rejestrem 50. Pamięć podręczna I 11 jest podłączona do procesora rozgałęzień tak, że instrukcje dostarczane są z pamięci podręcznej do jednostki BPU 4. Rejestr 50 łączy się bezpośrednio z magistralą przeładowania 2 i tym samym z pamięcią podręczną L2 15. Procesor instrukcji i rozgałęzień 3, czyli jednostka ICU, jest również połączony z jednostkami FPU 5 i FXU 7 tak, że jednostka BIU może wysyłać instrukcje do jednostek zmiennopozycyjnej i stałopozycyjnej. Przedstawione podłączenie pamięci podręcznej L1 13, zawierającej pamięć podręczną D 14, do jednostek FPU 5 i FXU 7 umożliwia szybkie uzyskiwanie danych niezbędnych do wykonania instrukcji przez te jednostki przetwarzania. Jednostka DCU 13 zawiera również rejestr 51, który podłączony jest do magistrali przeładowania 2 i pamięci podręcznej L2 15. W przykładzie wykonania rozwiązania według wynalazku rozdziela się pamięć podręczną L1 na pamięć podręczną I 11 i pamięć podręczną D 14, przeznaczone odpowiednio na instrukcje i dane. Te wydzielone części są następnie umieszczane fizycznie blisko jednostek przetwarzania, które z największym prawdopodobieństwem żądają informacji w nich pamiętanych. Ponieważ jednostka BPU 4 żąda instrukcji, to pamięć podręczną 111 umieszcza się blisko niej. Podobnie, jednostki FPU 5 i FXU 7 żądają danych, zatem pamięć podręczną D 14 umieszcza się blisko tych jednostek przetwarzania.
Jak stwierdzono powyżej, znane hierarchiczne systemy pamięci dostarczają kolejno informacji z każdego poziomu pamięci do następnego poziomu pamięci aż informacja ostatecznie osiągnie wystawiającą żądanie jednostkę przetwarzania. Natomiast rozwiązanie według wynalazku umożliwia bezpośrednie dostarczenie informacji, znalezionej w pamięci podręcznej drugiego poziomu, do wystawiającego żądanie procesora. Na przykładjeśli zajdzie trafienie pamięci podręcznej L2 w zakresie pamiętanej w niej instrukcji, to instrukcję tę dostarcza się bezpośrednio z pamięci podręcznej L2 15 do rejestru 50, poprzez magistralę przeładowania 2. Instrukcja ta przemieszczana jest równocześnie do jednostki BPU 4 i pamięci podręcznej I 11 w czasie następnego cyklu. Stąd też można zauważyć, że pamięć podręczna L1 jest całkowicie pomijana, gdy następuje trafienie instrukcji w pamięci podręcznej L2. Jeśli trafienie pamięci podręcznej L2 dotyczyłoby informacji jako danych, to nastąpiłoby dostarczenie tej informacji do rejestru 51 i udostępnienie jej jednostce FPU 5 lub FXU 7, bez wcześniejszego zapamiętywania w pamięci podręcznej D L1 14. Oczywiście informacje jako dane i instrukcje będą równocześnie zapamiętane w pamięci podręcznej I 11 i pamięci podręcznej D 14 tak, że informacje te mogą być następnie szybko odzyskiwane, jeśli będą potrzebne, czyli odzyskiwanie informacji z pamięci podręcznej L 1jest szybsze niż z pamięci podręcznej L2, ponieważ pamięć podręczna L1 znajduje się bliżej jednostek wykonawczych.
Ponadto niehierarchiczna natura rozwiązania według wynalazku rozciąga się na pamięć główną 17. Zwykle, jeśli następuje chybienie pamięci podręcznych L 1i L2, a szukana informacj a znajduje się w pamięci głównej, to wtedy informacja przechodzi do sterownika pamięci, sterownika pamięci podręcznej l2, a w końcu do pamięci podręcznej L1 w cęlu odzyskania przez
176 554 wystawiające żedaniejeOnosteę przetwarzania. Natomiast w rozwiązaniu według wynalazku jest przeciwnie, gdyż unikatowy port, łączy pamięć główną 17 z pamięcią podręczną L1 13 w jednostce centralnej CPU poprzez magistralę 20. To bezpośrednie połączenie pamięci głównej 17 z jednostką centralną CPU realizowane jest poprzez umieszczenie sterowników pamięci głównej i pamięci podręcznej L2 w jednostce sCu 9, która wystawia jedynie sygnały adresowe i sterowania. Jak zaznaczono powyżej, znane systemy mają oddzielną pamięć podręczną i sterownik pamięci, który odbiera żądane dane i wymaga dodatkowego płcetśnia przez układ scalony, zanim dane mogą być dostarczone do jednostki centralnej CPU. Te dodatkowe przejścia przez układy scalone wymagają znaczącego nakładu organizacyjnego w postaci cykli maszynowych, wynikających z konieczności generowania sygnałów adresowych i sterowania, jak również pośredniego zapamiętywania żądanych danych.
Przedstawiona na fig. 4 pamięć główna 17 jest bezpośrednio połączona z rejestrem 51 w jednostce DCU 13. Umożliwia to bezpośrednie dostarczenie informacji, jako danych i instrukcji, z pamięci głównej 17 do rejestru 51. Informacje jako dane będą udostępniane jednostkom wykonawczym 5 i 7 bezpośrednio z rejestru 51. Jednakże informacje jako instrukcje będą umieszczane w magistrali przeładowania 2 w celu przesłania jej do rejestru 50. Informacje jako instrukcje są następnie udostępniane jednostce BPU 4 z rejestru 50. Informacje, jako dane i instrukcje, są również dostarczane do pamięci podręcznej I 11 i pamięci podręcznej D 14 odpowiednio z rejestrów 50 i 51 w celu późniejszego użycia przez jednostki wykonawcze.
Dane żądane przez jednostkę FPU 5 lub FXU 7 mogą być bezpośrednio dostarczone z pamięci podręcznej L2 15 poprzez magistralę przeładowania 2. Zatem, jeśli żądane są dane i nastąpi trafienie pamięci podręcznej L2 15, to dane umieszczane są w rejestrze 51, a następnie kolejno przesuwane do wystawiającej żądanie jednostki przetwarzania (FPU 5 lub FXU 7) i pamięci podręcznej D L1 14 podczas następnego cyklu. Ze względu na to, że rejestr 51 fizycznie umieszczony jest w układzie scalonym pamięci podręcznej L1 13, to nie występuje żaden czas oczekiwania dla poziomu L1, związany z zapamiętaniem w nim danych z pamięci podręcznej L2 15, to jest nie ma translacji adresu lub podobnego działania. Zatem dane z pamięci podręcznej L2 15 i pamięci 17 omijają pamięć podręczną L1 13. Korzystnie rejestr 51 umieszczony został w tym samym układzie scalonym, co pamięć podręczna L1 13 po prostu dla wygody, ponieważ była w nim wolna przestrzeń. Nie celowe zatem byłoby zmieniać projekt jednostki FPU 5 lub FXU 7 w celu umieszczenia w niej tylko dodatkowego rejestru. Podobnie, niepożądane jest dostarczenie oddzielnego układu scalonego, zawierającego jedynie rejestr. Przeniesienie żądanych instrukcji i danych, odpowiednio, do pamięci podręcznej I L1 11 i pamięci podręcznej D L1 14 zaoszczędzi czas, ponieważ informacja ta będzie prawdopodobnie potrzebna znowu.
Figura 3 jest schematem blokowym elementów składowych tworzących jednostkę SCU 9. Przedstawiona magistrala PBUS 6 przesyła żądania informacji z jednostki ICU 3 do jednostki SCU 9. Żądania informacji umieszczane są w dwu kolejkach, w kolejce żądań [odwołań] do L2 53 i w kolejce żądań odwołań do pamięci 52. Stąd, ze względu na to, że jednostka SCU 9 zawiera sterownik zarówno dla pamięci głównej 17, jak i dla pamięci podręcznej L2 15, to żądanie informacji z magistrali PBUS 6 może być przetwarzane równolegle. Gdy żądanie informacji opuszcza kolejkę 53, to wchodzi ono do katalogu pamięci podręcznej L2 10 oraz do komparatora 57. Żądana informacja jest porównywana z lokacjami w pamięci podręcznej L2 15, to jest katalog 10 wystawia znaczniki adresowe dla komparatora 57, który wtedy określa, czy informacja w pamięci podręcznej jest tą, żądaną przeztednosjkę ICU 3. Jeśli nie, to zachodzi chybienie pamięci podręcznej i umożliwia się kończenie operacji pamięciowych, to jest następuje poszukiwanie żądanej informacji w pamięci głównej 17. Jeśli komparator 57 znajdzie informację w pamięci podręcznej L2, poprzez dopasowanie żądanej informacji z kolejki 53, to zachodzi trafienie pamięci podręcznej i sygnał trafienia wysyła się do sterownika pamięci podręcznej L2 55, który z kolei wysyła do sterownika pamięci 59 sygnał stopu operacji pamięciowej.
Żądanie informacji z kolejki żądań pamięci 52 przesyła się do sterownika pamięci 59 i translatora adresów pamięci DRAM 61, w tym samym czasie wysyła się żądanie z kolejki żądań 53 do katalogu pamięci podręcznej L2 10. Umożliwia to rozpoczęcie operacji dostępu do pamięci
176 554 głównej 17 w tym samym czasie, kiedy poszukuje się żądanych danych w pamięci podręcznej L2. Jest to korzystne, ponieważ minimalizuje się czas oczekiwania związany z odzyskiwaniem informacji z pamięci głównej 17.
Sterownik pamięci 59 i sterownik pamięci podręcznej L2 55’ znajdują się w tym samym układzie scalonym. Umożliwia to bezpośrednie dostarczenie sygnału stopu operacji pamięciowej ze sterownika pamięci podręcznej L2 55 do sterownika pamięci 59 w pojedynczym cyklu. Umożliwia to duże oszczędności cykli czasu powstające, gdy sygnał między elementami składowymi przesyła się wewnątrz pojedynczego układu scalonego. Występują bowiem duże nakłady organizacyjne związane z przesyłaniem sygnałów poza granice układów scalonych, na przykład dwa układy scalone muszą rozstrzygać posiadanie magistrali, a następnie wprowadzić protokół przesyłania. Zatem, poprzez wyeliminowanie potrzeby przekraczania granicy układu scalonego oszczędza się dużą liczbę cykli zegara, co zapewnia zwiększoną wydajność. Kiedy więc następuje trafienie pamięci podręcznej L2, wtedy sterownik pamięci 59 otrzymuje sygnał stopu operacji pamięciowej zanim zakończą się operacje dostępu do pamięci głównej 17, a jakiekolwiek sygnały sterujące do pamięci głównej 17 będą wystawione na magistralę 18. Dlatego też kiedy następuje trafienie pamięci podręcznej L2, wtedy nie zachodzi opóźnienie kolejnej operacji pamięciowej, ponieważ nie są pobudzane żadne sygnały operacji pamięciowych, na przykład adapter magistrali danych typu MCA, połączony z magistralą 21 lub 23, ma możliwość kontynuowania zapisu danych do pamięci głównej 17 podczas transferu danych z bezpośrednim dostępem do pamięci DMA bez żadnych przerwań, występujących przy rozstrzyganiu własności pamięci. Ponadto nie ma zakłóceń w pracy pamięci o dostępie bezpośrednim DRAM, to znaczy kolejne operacje pamięciowe nie są wstrzymywane ze względu na wstępne ładowanie pamięci DRAM.
Zgodnie z wynalazkiem, nie tylko czas oczekiwania związany z dostępem do pamięci podlega minimalizacji poprzez równoczesne inicjowanie dostępu do pamięci oraz do pamięci podręcznej L2, lecz również czas dostępności pamięci podlega maksymalizacji, ponieważ umożliwia się pamięci kontynuowanie przetwarzania, gdy następuje trafienie pamięci podręcznej. Jedynie, gdy komparator 57 określi, że występuje chybienie pamięci podręcznej, wtedy powiadamia się pamięć główną, że żąda się informacji.
Figura 5 przedstawia przebiegi czasowe cykli występujących, gdy zachodzi chybienie pamięci podręcznej L2 w znanym systemie przedstawionym na fig. 1. W cyklu 1 żądanie przeładowania umieszcza się na magistrali danych 104 i podczas cyklu 2 sterownik znanej pamięci podręcznej 106 określa, że następuje chybienie pamięci podręcznej L2. Z kolei podczas cyklu 4 wychodzi jako aktywny sygnał żądania sterownika pamięci (cykle 3 i 4 były wymagane do komunikowania sygnału chybienia pamięci podręcznej L2, ze sterownika 106 do sterownika pamięci 112, ponieważ nastąpiło przejście sygnału poza układu scalony), a w cyklu 5 w sterowniku 112 następuje rozstrzygnięcie dostępu do pamięci oraz translacja adresu pamięci DRAM. W cyklach 6 i 7 generuje się adres Wiersz/Kolumna, w cyklach 6 i 7 uaktywniany jest odpowiednio impuls bramkujący adres wiersza RAS oraz impuls bramkujący adres kolumny CAS. Kiedy te sygnały są aktywne, informacje adresowe dotyczące wierszy i kolumn znajdują się na magistrali. Informacje z pamięci do sterownika pamięci 112 wyprowadza się w cyklu 12 (na magistrali danych pamięci 113) i umieszcza się je podczas cyklu 14 na magistrali danych 110 (magistrala danych 2 na fig. 1 i fig. 5). Napotyka się zatem na kolejne przejście przez układ scalony, zanim odzyskane dane 1 na fig. 1 i fig. 5 w cyklu 16 oraz zanim przeniesie się je do pamięci podręcznej L1 102 w jednostce centralnej CPU 100. Należy zauważyć, że dwa cykle zegarowe były użyte jako kara czasowa przy przenoszeniu danych między układami scalonymi, jednakże inne znane systemy mogą wymagać więcej niż dwa cykle na przejście informacji przez układ scalony. Stąd znane hierarchiczne systemy pamięciowe wymagają co najmniej 16 cykli w celu odebrania informacji z pamięci głównej, gdy nastąpi chybienie pamięci podręcznej L2.
Odnosząc się do figury 6, przedstawione są na niej inne przebiegi czasowe, które ilustrują sekwencję sterowania między pamięcią podręczną L2 15 i pamięcią główną 17 według wynalazku, gdy następuje chybienie pamięci podręcznej. Podczas cyklu 1, jedna z jednostek przetwarzania umieszcza na magistrali PBUS 6 żądanie przeładowania, jak to przedstawiono poprzez
176 554 ważny sygnał magistrali PBUS, a w cyklu 2 jednostka SCU 9 ładuje żądany adres i wykonuje przeglądanie katalogu pamięci podręcznej L2. Znacznik katalogu porównuje się z bitami pobranymi z odczytanego adresu, przesłanego na magistrali PBUS 6 w celu określenia, czy żądanie jest trafieniem, czy chybieniem. Równolegle, podczas cyklu 2 wykonuje się rozstrzygnięcie dostępu do pamięci oraz generowanie adresu wiersz/kolumna pamięci DRAM. W tym przypadku założono, że nastąpiło chybienie pamięci i sygnał nie podlega uaktywnieniu, jak można to zauważyć na fig. 6. Dlatego, podczas cykli 3 i 4 generuje się adres Wiersz/Kolumna pamięci DRAM, przy czym w cyklu 3 uaktywnia się sygnał strobujący adres wiersza. Podczas cyklu 4 uaktywnia się sygnał strobujący adres kolumny. Stąd w cyklu 4 na magistrali znajdują się adresy wiersza i kolumny (magistrala 18 na fig. 2). Sygnały te są potem dostarczane przez jednostkę SCU 9 i w cyklu 9 pamięć główna 17 zaczyna podawać informacje do magistrali danych pamięci 20. W tym samym czasie dane dostarcza się do jednostki DCU 13. Jeśli żądanie skierowane do pamięci dotyczyło danych, to zgodnie z wynalazkiem wymaga się tylko 9 cykli, aby odzyskać dane z pamięci i uczynić je dostępnymi dla pamięci podręcznej D 14 w jednostce dCu '13. Natomiast, jeśli żądanie dotyczyło instrukcji, to będą one umieszczane na magistrali przeładowania w cyklu 11 i dostępne dla jednostki ICU 11 w tym czasie. W dowolnym przypadku, informacje (włączając w to dane i instrukcje) umieszcza się na magistrali przeładowania 2 w cyklu 11, żeby dostarczyć je do pamięci podręcznej L2. W ten sposób, gdy następnym razem zażąda się tych informacji, to będą one znalezione w pamięci podręcznej L2 i nastąpi raczej trafienie pamięci podręcznej niż chybienie pamięci podręcznej L2. W cyklu 11 uaktywniane są sygnały zezwolenie zapisu pamięci L2 i udostępnienie układu scalonego, umożliwiające równoczesny zapis informacji do pamięci podręcznej L2 15 równolegle z zapisem z pamięci głównej 17 do pamięci podręcznej L1 13 poprzez magistralę danych pamięci w celu uniknięcia w przyszłości chybienia pamięci podręcznej.
Dlatego system według wynalazku umożliwia umieszczenie informacji w jednostce DCU 13 już w dziewiątym cyklu (dla danych) oraz na magistrali przeładowania 2 już w 11 cyklach (dla instrukcji), w porównaniu z 16 cyklami w znanym systemie. Zapewnia to unikatowy port dla pamięci, który przekazuje informacje bezpośrednio do jednostki centralnej CPU.
Figura 7 przedstawia przebiegi czasowe cykli, występujące w znanym hierarchicznym systemie pamięci, gdy zachodzi trafienie pamięci podręcznej L2. Podczas cyklu 1 wystawiająca żądanie jednostka przetwarzania umieszcza żądanie przeładowania na magistrali danych 104, a w cyklu 2 sterownik pamięci podręcznej L2 106 dokonuje przeglądu katalogu i określa, że informacja znajduje się w pamięci podręcznej L2. Sygnał TRAFIENIE uaktywnia się w cyklu 2, wskazując że informacja, która ma być odzyskana znajduje się w pamięci podręcznej. Uaktywniony zostaje sygnał udostępniający układ scalony pamięci podręcznej i w cyklu 4 adres poziomu L2 wysyła się do pamięci podręcznej L2 108. W cyklu 5, odzyskane informacje pobierane są z pamięci podręcznej L2 108 i przekazywane do sterownika pamięci podręcznej 106 w cyklu 5. Z kolei dane, z magistrali danych 104, dostarczane są do jednostki centralnej CPU 100 podczas cyklu 7, przy czym spowodowane to jest tym, że wymagane jest dodatkowe przejście przez układ scalony, gdy dane dostarczane są z pamięci podręcznej L2 108 do sterownika pamięci podręcznej 106, zanim zostaną umieszczone na magistrali 104. Zatem przy wykorzystaniu znanego hierarchicznego systemu pamięci upłynie co najmniej 7 cykli zanim jakiekolwiek instrukcje lub dane z pamięci podręcznej L2 umieszczone zostaną na magistrali danych 104.
W znanym stanie techniki przedstawionym na fig. 1, dostęp do pamięci jest tak powolny, ponieważ operacje pamięciowe, to jest rozstrzyganie, translacja adresów pamięci DRAM, generacja adresu wiersz/kolumna itp. nie są nawet inicjowane z uwagi na obecność informacji w pamięci podręcznej L2, to znaczy operacje pamięciowe i poziomu L2 są niezależne lub sekwencyjne. Jednakże inne znane systemy mogą inicjować dostęp do pamięci w tym samym czasie, gdy odczytuje się katalog pamięci podręcznej (cykl 2). W takim przypadku co najmniej trzy cykle należałoby dodać do operacji pamięciowych, ponieważ samodzielny sterownik pamięci podręcznej musi wysłać sygnał do oddzielnego sterownika pamięci. Jednakże według wynalazku łączy się sterownik pamięci podręcznej i sterownik pamięci w pojedynczej jednostce sterowania pamięcią SCU 9, która bezpośrednio steruje pamięcią i pamięcią podręczną L2.
176 554
W ten sposób, operacje pamięciowe mogą być przerywane, zanim jakiekolwiek sygnały zostaną wysłane z jednostki SCU 9 do pamięci głównej 17. Dlatego też pamięć główna 17 może kontynuować zwykłe operacje.
Figura 8 przedstawia przebiegi czasowe sygnałów taktujących ilustrujące, jak unikatowy port włączony między pamięcią podręczną L2 a jednostką centralną CPU dostarcza dane i instrukcje do jednostki centralnej CPU szybciej niż w znanych systemach. Dodatkowo, figura ta przedstawia, jak wstrzymuje się dostęp do pamięci, gdy następuje trafienie pamięci podręcznej L2, zanim jakiekolwiek sygnały zostaną wyprowadzone z jednostki SCU 9.
Podczas cyklu 1, jedna z jednostek przetwarzania, na przykład FXU 7 lub BPU 4 umieszcza żądanie przeładowania na magistrali procesora PBUS 6 poprzez aktywny sygnał ważności magistrali PBUS 6. Magistrala PBUS 6 przesyła ten sygnał do jednostki ScU 9. W cyklu 2, jednostka SCU 9 ładuje adres żądanej informacji i sczytuje katalog pamięci podręcznej 10 w celu jego przeszukania. Znacznik katalogu z katalogu 10 porównuje się następnie, przy użyciu komparatora 57 z fig. 3, z bitami z rzeczywistego adresu, wysłanego na magistrali PBUS 6 w celu określenia, czy następuje trafienie, czy chybienie pamięci podręcznej. Równolegle, w ramach jednostki SCU 9, inicjowane są operacje dostępu do pamięci w cyklu 2. Podczas cyklu 2 wykonuje się rozstrzyganie dostępu do pamięci i generowanie adresu wiersz/kolumna pamięci DRAM. W tym ^przypadku następuje trafienie pamięci podręcznej i dlatego też uaktywnia się sygnał PAMIĘĆ STOP, aby zapobiec operacji pamięciowej dopiero co rozpoczętej. Sygnał PAMIĘĆ STOP blokuje adres wiersz/kolumna pamięci przed wygenerowaniem przez jednostkę SCU 9. Ponadto nie wysyła się dalej zawartości pamięci RAS i pamięci cAs do pamięci (patrz fig. 6).
Podczas cyklu 4, jednostka SCU 9 rozpoczyna dostęp typu odczyt do pamięci podręcznej L2 poprzez uaktywnienie sygnału udostępnienia pamięci poziomu L2 i wysłanie adresu poziomu L2 z jednostki SCU 9 do pamięci podręcznej 15. Począwszy od cyklu 5, informacje z pamięci podręcznej L2 15 podaje się na magistralę przeładowania 2 i wysyła do jednostki przetwarzania, wystawiającej żądanie (patrz fig. 2). Można zauważyć z porównania fig. 7 z fig. 8, że znane pamięci hierarchiczne wymagają 7 cykli, aby odzyskać informacje z pamięci podręcznej L2, lecz rozwiązanie według wynalazku wymaga tylko 5 cykli, stąd wynikają duże oszczędności czasu przetwarzania. Oszczędności te związane są z faktem, że unikatowy port poziomu L2 umożliwia przesyłanie danych raczej bezpośrednio z pamięci podręcznej do jednostki centralnej CPU niż poprzez układ scalony sterownika pośredniej pamięci podręcznej.
Powyżej przedstawiono korzystny przykład wykonania wynalazku, tym niemniej można wprowadzić do niego wiele zmian i modyfikacji bez wychodzenia poza zakres załączonych zastrzeżeń.
176 554
FIG.1 Dotychczosowy stan techniki
176 554
176 554 do magistrali PBUS jednostki JCU
Sterowanie pamięcią podręczną L2/adres
Sterowanie Adres pamięci pamięcią wiersz/kolumna
FIG.3
176 554
Jednostka JCU
3 | Pamiąć podręczna L1J | ||
Rejestr 50 | I | ||
Jednostka BPU 4 | |||
Jednostka
FPU
Jednostka
FXU n
Pamięć | ||
podręczna L2 | Pamięć | |
Jnstrukcje/ | ||
Dane 15 | 17 |
FIG.4
176 554
LD
O
Li_
X | |||||||||||||||
OO | u | u | |||||||||||||
r* | 0 | u | u | ||||||||||||
MD | u | Q | |||||||||||||
LO Γ | u | ||||||||||||||
<r r“ | z | ¢) | |||||||||||||
m <— | u | ||||||||||||||
CM | |||||||||||||||
T~ | |||||||||||||||
O | |||||||||||||||
O* | |||||||||||||||
CO | |||||||||||||||
r- | 01 | rr | |||||||||||||
\O | 1T^ | ||||||||||||||
LO | ( | Γ | |||||||||||||
<r | c | ||||||||||||||
m | >A N | ||||||||||||||
cm z | LŚYA | ||||||||||||||
ΑΓΠ |
cz> to | σι | CM | CL |
=>z> CD CD | £ α | -J | _O CZ) |
CL CL | +- | <U | |
__O | α | Έ Qł | •LJ OT |
75 o «- t-+- ·+- | 15 | i a | |
SG | -C | CL | |
’σι’σι o α er | o |
O c
N
O
T— | CM CM | a | CM |
_1 __j | c | ||
-C | CL | -C | |
u | <U (/i | ar | LJ |
>» | c -x | >> | |
C | z: cl | tzi | c |
O -a | o y | o Τ3 | a -o |
_a | >Λ c | CM | |
a | o | _J | a |
c. | o | •LJ | u |
(/) | i N | ♦IZ) O | «+— <Λ |
en | O | σι | |
a | O | a | |
X | X |
LJ LJ | ΰ a | LJ | LJ |
ar ar e £ | Qf C 6 § | ar ε | ar e |
a a | a | o | □ |
CLCL | a_ o J£ | CL | CL |
O oj | 3 1; | σ | |
«§ 5 σι o Ł- N | «λ hi ni CZI u <“O Ol O '5 | (Λ OJ t_ T3 O | tz> OJ u Ό a |
<U L. «4- -4— | a — | Q | >> |
aj o | L? 3 i | IM t/f t-· | c e -3 |
ca σ Ό | c ° E | OJ *5 | o JĆ |
σ | ĆZ 1/5 Η- φ t_ | CL | CL |
•ΓΜ | 2 | O | |
Ό | |||
< | ĆZ) | CZ) |
<u o
*lj ar e
α
CL (U c
α
Q
176 554
CO o
GQ CD CL O. — O ? α cn ο
(Λ To σ>
α e
‘cn α
χ w
c φ
ίο >» χ:
ο
α. | οι |
σ «<— | -J |
υο | <Λ |
•Μ ΟΤ | Φ C- Ό |
Ε | < |
Ο | |
Ο. |
O OJ C-J α
Ο c •σ σ αο οι ω
ο c
•Μ α
σ>
σι σ
X σ c CL (Λ Φ* ο. ti σ ο Ν -Ο
2? οι 5 -I ο
Ν Ο Ο •U
-ω ο
ϋ μ Ο Φ* qj» C S
Ο ε
σ
ο.
φ ’c ο _ σι *υ >> σ
Ν U ε σ ο. ο σ ·** ω μ (/?
Ν
Ο ή
φ >
□ φ·
Cr ω c α .ϊ* ε α α_ in φ σ
Φ* ’ε σ
α.
σ ω
φ
Ł_
Ό σ
σ
Ν <Ζ)
C.
φ
LJ φ· ε
σ cx σ
ΙΛ
Φ
Ό α
>>
C
ο.
ο
Φ ο
υ ar
Ε σ
cx φ
C σ
ο
ο.
*5 οο </7 <c
176 554 o
Ll
(/> <✓) g g
CL CL ^3 O P O
ω Th ch ćh α α e χ •0
O c
•M α
3=
CM | CM | <u | o | |
—l | -J | JC. | c CL | c CL |
(Λ | 0) | U | W | ar |
OJ | c | >» | 4— | |
u | o | c | VI | </) |
Ό < | α | o Ό | O “O | o “O |
O | CM | CM | ||
-J | ||||
α t_ | OJ | LI | ||
UJ | •ΙΛ | |||
.ΰ | •(Λ | O | ||
CT | ||||
O X |
176 554 ο
Ll
bO | <z> |
Σ3 | o |
CD | co |
CL | Cu |
O | |
σ | o |
u. | |
-4— | |
ω | |
'ct | CT |
o | σ |
E | s |
•UJ | |
•<Z1 | |
o | |
c | |
•N | |
σ | |
3: |
CT O | tu | CL O |
c | ||
O | <u | 1/1 |
o | •Ul | |
o u 1— | 0Λ E O CL |
OJ </)
2!
-u <
O tsi c -I Ϊ g cn
O σ:
o c
a_
Oh
4— (/)
O
Ό ·{/)
Ul
0Λ
E a
cu <u
Έ σ
cn
KJ
LJ ar
E o
CU
CJ
IZ)
OJ
u.
“O a
a
UJ (/)
S 5 cc & c a
a c | UJ ar | Uf 01· |
e o | E | E |
a | a | |
o | CL | CL |
*-. | a | c» |
N | t/> | (Λ |
(/) | OJ | OJ |
Ł. | c_ | c_ |
(U | Ό | Ό |
a | a | |
__ | a | >*, |
Uf | N | c |
a/* | ω | E |
E | c_ aj | |
o | o | |
CL | *5 | |
(/) | o. | CL |
OJ | o | O |
c_ | U | |
Ό | ·♦- | |
< | (Z) | (Z) |
Departament Wydawnictw UP RP. Nakład 70 egz.
Cena 4,00 zł.
Claims (19)
- Zastrzeżenia patentowe1. Sposób przesył anza iniormacjimiędzy jednostkę proetwarzzjącą rzatemukomputerowego, zewnętrzną pamięcią podręczną i pamięcią główną, znamienny tym, że inicjuje się współbieżnie żądanie pobrania informacji z zewnętrznej pamięci podręcznej i pamięci głównej, określa się, czy informacje żądane przez jednostkę przetwarzającą są zapisane w zewnętrznej pamięci podręcznej, i generuje się sygnały dostępu do wysłania do pamięci głównej, przy czym etap określania i etap generowania wykonuje się współbieżnie, po czym wysyła się sygnały dostępu do pamięci głównej, jeśli w etapie określania wskaże się, że informacje żądane przez jednostkę przetwarzającą nie są zapisane w zewnętrznej pamięci podręcznej.
- 2. Sposób według zastrz. 1, znamienny tym, że następnie przesyła się informacje z zewnętrznej pamięci podręcznej względnie z pamięci głównej bezpośrednio do jednostki przetwarzającej.
- 3. Sposób według zastrz. 2, znamienny tym, że w etapie przesyłania odbiera się informacje z zewnętrznej pamięci podręcznej oraz odbiera się informacje z pamięci głównej.
- 4. Sposób według zastrz. 3, znamienny tym, że w etapie odbierania informacji z zewnętrznej pamięci podręcznej przesyła się informacje bezpośrednio z zewnętrznej pamięci podręcznej do jednostki przetwarzającej, zapisuje się w jednostce przetwarzającej informacje pobrane z zewnętrznej pamięci podręcznej i udostępnia się informacje pobrane z zewnętrznej pamięci podręcznej przynajmniej jednej jednostce wykonawczej zawartej w jednostce przetwarzającej.
- 5. Sposób według zastrz. 3, znamienny tym, że w etapie odbierania informacji z pamięci głównej przesyła się informacje bezpośrednio z pamięci głównej do jednostki przetwarzającej, zapisuje się w jednostce przetwarzającej informacje pobrane z pamięci głównej i udostępnia się informacje pobrane z pamięci głównej przynajmniej jednej jednostce wykonawczej zawartej w jednostce przetwarzającej.
- 6. Sposób według zastrz. 1, znamienny tym, że jako informacje wykorzystuje się informacje w postaci danych i informacje w postaci instrukcji.
- 7. Sposób według zastrz. 6, znamienny tym, że w etapie odbierania informacji z zewnętrznej pamięci podręcznej i etapie odbierania informacji z pamięci głównej zapisuje się informacje w postaci danych w pamięci podręcznej danych wewnętrznej względem jednostki przetwarzającej i zapisuje się informacje w postaci instrukcji w pamięci podręcznej instrukcji wewnętrznej względem jednostki przetwarzającej.
- 8. Sposób według zastrz. 7, znamienny tym, że w etapie odbierania informacji z zewnętrznej pamięci podręcznej i etapie odbierania informacji z pamięci głównej zapisuje się współbieżnie informacje w postaci danych w wewnętrznej pamięci podręcznej danych, kiedy informacje w postaci danych są bezpośrednio dostarczane do przynajmniej jednej jednostki wykonawczej oraz zapisuje się współbieżnie informacje w postaci instrukcji w wewnętrznej pamięci podręcznej instrukcji, kiedy informacje w postaci instrukcji są bezpośrednio dostarczane do przynajmniej jednej jednostki wykonawczej.
- 9. Sposób według zastrz. 2, znamienny tym, że w etapie przesyłania omija się wewnętrzną pamięć podręczną zawartą w jednostce przetwarzającej.
- 10. System kompueeręwyzawikrajccy jednysi.kę przkęwiu^z^ej^^ił ojąc dołac zonę do niej zewnętrzną pamięć podręczną i pamięć główną, które są sterowane przez odpowiednio sterownik zewnętrznej pamięci podręcznej i sterownik pamięci głównej, znamienny tym, że sterownik176 554 zewnętrznej pamięci podręcznej (55) i sterownik pamięci głównej (59) są umieszczone w jednostce sterowania pamięcią (9), zbudowanej na jednym układzie scalonym, która zawiera obwód (6, 53, 52) współbieżnego inicjowania żądania odebrania informacji z zewnętrznej pamięci podręcznej (15) i pamięci głównej (17), przy czym jedno wyjście obwodu (6, 53, 52) współbieżnego inicjowania jest dołączone do sterownika zewnętrznej pamięci podręcznej (15) z obwodem (10, 57) określania, czy informacje żądane przez jednostkę przetwarzającą (1) są zapisane w zewnętrznej pamięci podręcznej (15), zaś drugie wyjście obwodu (6, 53, 52) współbieżnego inicjowania jest dołączone do obwodu (59, 61) generowania sygnałów dostępu, ze sterownikiem pamięci głównej (59), które są wysyłane do pamięci głównej (17).
- 11. System według zastrz. 10, znamienny tym, że zawiera następnie obwody (2, 20) przesyłania informacji z zewnętrznej pamięci podręcznej (15) względnie z pamięci głównej (17) bezpośrednio do jednostki przetwarzającej (1).
- 12. System według zastrz. 11, znamienny tym, że obwody (2,20) przesyłania informacji zawierają pierwszy obwód (2) odbierania informacji z zewnętrznej pamięci podręcznej (15) i drugi obwód (20) odbierania informacji z pamięci głównej (17).
- 13. System według zastrz. 12, znamienny tym, że pierwszy obwód (2) odbierania informacji jest zbudowany z magistrali pamięci podręcznej (2) do przesyłania informacji bezpośrednio z zewnętrznej pamięci podręcznej (15) do jednostki przetwarzającej (1), rejestru (50) zapisywania informacji pobranych z zewnętrznej pamięci podręcznej (15), który jest umieszczony w jednostce przetwarzającej (1), oraz obwodu dostępu do informacji z zewnętrznej pamięci podręcznej (15) dla przynajmniej jednej jednostki wykonawczej (5, 7) zawartej w jednostce przetwarzającej (1).
- 14. System według zastrz. 12, znamienny tym, że drugi obwód (20) odbierania informacji jest zbudowany z magistrali pamięci głównej (20) do przesyłania informacji bezpośrednio z pamięci głównej (17) do jednostki przetwarzającej (1), rejestru (51) zapisywania informacji odebranych z pamięci głównej (17), który jest umieszczony w jednostce przetwarzającej (1), oraz obwodu dostępu do informacji z pamięci głównej (17) dla przynajmniej jednej jednostki wykonawczej (5, 7) zawartej w jednostce przetwarzającej (1).
- 15. System według zastrz. 10, znamienny tym, że informacje obejmują informacje w postaci danych i informacje w postaci instrukcji.
- 16. System według zastrz. 15, znamienny tym, że pierwszy i drugi obwody (2, 20) odbierania informacji zawierają obwód zapisywania informacji w postaci danych w pamięci podręcznej danych (14), wewnętrznej względem jednostki przetwarzającej (1) oraz obwód zapisywania informacji w postaci instrukcji pamięci podręcznej instrukcji (11), wewnętrznej względem jednostki przetwarzającej (1).
- 17. System według zastrz. 16, znamienny tym, że pierwszy i drugi obwody (2, 20) odbierania informacji zawierają ponadto obwód współbieżnego zapisywania informacji w postaci danych w pamięci podręcznej danych (14), kiedy informacje w postaci danych są dostarczane bezpośrednio do przynajmniej jednej jednostki wykonawczej (5, 7) oraz obwód współbieżnego zapisywania informacji w postaci instrukcji w pamięci podręcznej instrukcji (11), kiedy informacje w postaci instrukcji są dostarczane bezpośrednio do przynajmniej jednej jednostki wykonawczej (5, 7).
- 18. System według zastrz. 11, znamienny tym, że obwody (2,20) przesyłania informacji zawierają obwód omijania wewnętrznej pamięci podręcznej umieszczonej w jednostce przetwarzającej (1).
- 19. System według zastrz. 10, znamienny tym, że zewnętrzna pamięć podręczna (15) jest pamięcią podręczną poziomu 2 (L2).176 554
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/245,786 US6226722B1 (en) | 1994-05-19 | 1994-05-19 | Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing |
PCT/EP1994/004315 WO1995032472A1 (en) | 1994-05-19 | 1994-12-27 | Integrated level two cache and memory controller with multiple data ports |
Publications (2)
Publication Number | Publication Date |
---|---|
PL316998A1 PL316998A1 (en) | 1997-03-03 |
PL176554B1 true PL176554B1 (pl) | 1999-06-30 |
Family
ID=22928068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PL94316998A PL176554B1 (pl) | 1994-05-19 | 1994-12-27 | Sposób przesyłania informacji między jednostką przetwarzającą systemu komputerowego, zewnętrzną pamięcią podręczną i pamięcią główną oraz system komputerowy |
Country Status (11)
Country | Link |
---|---|
US (1) | US6226722B1 (pl) |
EP (1) | EP0760133A1 (pl) |
JP (1) | JPH07319767A (pl) |
KR (1) | KR950033837A (pl) |
CN (1) | CN1089462C (pl) |
BR (1) | BR9502022A (pl) |
CA (1) | CA2142799A1 (pl) |
CZ (1) | CZ9603197A3 (pl) |
HU (1) | HUT76241A (pl) |
PL (1) | PL176554B1 (pl) |
WO (1) | WO1995032472A1 (pl) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181796A (ja) * | 1998-12-14 | 2000-06-30 | Nec Corp | 情報処理装置 |
US6578110B1 (en) | 1999-01-21 | 2003-06-10 | Sony Computer Entertainment, Inc. | High-speed processor system and cache memories with processing capabilities |
US6484237B1 (en) * | 1999-07-15 | 2002-11-19 | Texas Instruments Incorporated | Unified multilevel memory system architecture which supports both cache and addressable SRAM |
US6625707B2 (en) * | 2001-06-25 | 2003-09-23 | Intel Corporation | Speculative memory command preparation for low latency |
US6835591B2 (en) * | 2001-07-25 | 2004-12-28 | Nantero, Inc. | Methods of nanotube films and articles |
US6919592B2 (en) * | 2001-07-25 | 2005-07-19 | Nantero, Inc. | Electromechanical memory array using nanotube ribbons and method for making same |
US7566478B2 (en) * | 2001-07-25 | 2009-07-28 | Nantero, Inc. | Methods of making carbon nanotube films, layers, fabrics, ribbons, elements and articles |
US6643165B2 (en) | 2001-07-25 | 2003-11-04 | Nantero, Inc. | Electromechanical memory having cell selection circuitry constructed with nanotube technology |
US6574130B2 (en) * | 2001-07-25 | 2003-06-03 | Nantero, Inc. | Hybrid circuit having nanotube electromechanical memory |
US6706402B2 (en) | 2001-07-25 | 2004-03-16 | Nantero, Inc. | Nanotube films and articles |
US6789169B2 (en) * | 2001-10-04 | 2004-09-07 | Micron Technology, Inc. | Embedded DRAM cache memory and method having reduced latency |
US6784028B2 (en) | 2001-12-28 | 2004-08-31 | Nantero, Inc. | Methods of making electromechanical three-trace junction devices |
US7176505B2 (en) * | 2001-12-28 | 2007-02-13 | Nantero, Inc. | Electromechanical three-trace junction devices |
KR100541366B1 (ko) * | 2002-07-19 | 2006-01-16 | 주식회사 하이닉스반도체 | 고속 데이터 억세스를 위한 디램 |
US6892281B2 (en) * | 2002-10-03 | 2005-05-10 | Intel Corporation | Apparatus, method, and system for reducing latency of memory devices |
US7467377B2 (en) * | 2002-10-22 | 2008-12-16 | Intel Corporation | Methods and apparatus for compiler managed first cache bypassing |
US6941421B2 (en) * | 2002-10-29 | 2005-09-06 | International Business Machines Corporation | Zero delay data cache effective address generation |
US20040221117A1 (en) * | 2003-05-02 | 2004-11-04 | Shelor Charles F. | Logic and method for reading data from cache |
US20060248287A1 (en) * | 2005-04-29 | 2006-11-02 | Ibm Corporation | Methods and arrangements for reducing latency and snooping cost in non-uniform cache memory architectures |
US7562190B1 (en) | 2005-06-17 | 2009-07-14 | Sun Microsystems, Inc. | Cache protocol enhancements in a proximity communication-based off-chip cache memory architecture |
US7444473B1 (en) * | 2005-06-17 | 2008-10-28 | Sun Microsystems, Inc. | Speculative memory accesses in a proximity communication-based off-chip cache memory architecture |
US7496712B1 (en) | 2005-06-17 | 2009-02-24 | Sun Microsystems, Inc. | Proximity communication-based off-chip cache memory architectures |
US20070130114A1 (en) * | 2005-06-20 | 2007-06-07 | Xiao-Feng Li | Methods and apparatus to optimize processing throughput of data structures in programs |
US7596661B2 (en) * | 2005-09-01 | 2009-09-29 | Mediatek Inc. | Processing modules with multilevel cache architecture |
US8055847B2 (en) * | 2008-07-07 | 2011-11-08 | International Business Machines Corporation | Efficient processing of data requests with the aid of a region cache |
JP5118731B2 (ja) | 2010-08-12 | 2013-01-16 | 株式会社東芝 | キャッシュユニット及びプロセッシングシステム |
US10474584B2 (en) * | 2012-04-30 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | Storing cache metadata separately from integrated circuit containing cache controller |
US9405687B2 (en) * | 2013-11-04 | 2016-08-02 | Intel Corporation | Method, apparatus and system for handling cache misses in a processor |
KR102161689B1 (ko) * | 2013-12-10 | 2020-10-05 | 삼성전자 주식회사 | L2 캐시 특성을 조절할 수 있는 멀티-코어 cpu 시스템, 이의 동작 방법, 및 이를 포함하는 장치들 |
CN105701040B (zh) * | 2014-11-28 | 2018-12-07 | 杭州华为数字技术有限公司 | 一种激活内存的方法及装置 |
US9658963B2 (en) * | 2014-12-23 | 2017-05-23 | Intel Corporation | Speculative reads in buffered memory |
JP6367704B2 (ja) * | 2014-12-25 | 2018-08-01 | 株式会社バイオス | 記憶制御システム及び記憶制御装置 |
JP6478843B2 (ja) * | 2015-07-07 | 2019-03-06 | ルネサスエレクトロニクス株式会社 | 半導体装置及びキャッシュメモリ制御方法 |
US11055221B2 (en) * | 2019-03-22 | 2021-07-06 | Samsung Electronics Co., Ltd. | Speculative DRAM read, in parallel with cache level search, leveraging interconnect directory |
US11288067B2 (en) * | 2019-05-24 | 2022-03-29 | Texas Instruments Incorporated | Vector reverse |
US11422947B2 (en) * | 2020-08-12 | 2022-08-23 | International Business Machines Corporation | Determining page size via page table cache |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
US4161024A (en) | 1977-12-22 | 1979-07-10 | Honeywell Information Systems Inc. | Private cache-to-CPU interface in a bus oriented data processing system |
US4823259A (en) * | 1984-06-29 | 1989-04-18 | International Business Machines Corporation | High speed buffer store arrangement for quick wide transfer of data |
US4797814A (en) * | 1986-05-01 | 1989-01-10 | International Business Machines Corporation | Variable address mode cache |
US5202972A (en) * | 1988-12-29 | 1993-04-13 | International Business Machines Corporation | Store buffer apparatus in a multiprocessor system |
US5155828A (en) * | 1989-07-05 | 1992-10-13 | Hewlett-Packard Company | Computing system with a cache memory and an additional look-aside cache memory |
US5214765A (en) * | 1989-08-31 | 1993-05-25 | Sun Microsystems, Inc. | Method and apparatus for executing floating point instructions utilizing complimentary floating point pipeline and multi-level caches |
US5261066A (en) * | 1990-03-27 | 1993-11-09 | Digital Equipment Corporation | Data processing system and method with small fully-associative cache and prefetch buffers |
US5210845A (en) * | 1990-11-28 | 1993-05-11 | Intel Corporation | Controller for two-way set associative cache |
US5345576A (en) * | 1991-12-31 | 1994-09-06 | Intel Corporation | Microprocessor simultaneously issues an access to an external cache over an external cache bus and to an internal cache, cancels the external cache access on an internal cache hit, and reissues the access over a main memory bus on an external cache miss |
-
1994
- 1994-05-19 US US08/245,786 patent/US6226722B1/en not_active Expired - Fee Related
- 1994-12-27 EP EP95905594A patent/EP0760133A1/en not_active Withdrawn
- 1994-12-27 CZ CZ19963197A patent/CZ9603197A3/cs unknown
- 1994-12-27 PL PL94316998A patent/PL176554B1/pl not_active IP Right Cessation
- 1994-12-27 WO PCT/EP1994/004315 patent/WO1995032472A1/en not_active Application Discontinuation
- 1994-12-27 HU HU9603142A patent/HUT76241A/hu unknown
-
1995
- 1995-02-17 CA CA002142799A patent/CA2142799A1/en not_active Abandoned
- 1995-05-09 CN CN95106102A patent/CN1089462C/zh not_active Expired - Fee Related
- 1995-05-10 JP JP7111435A patent/JPH07319767A/ja active Pending
- 1995-05-11 BR BR9502022A patent/BR9502022A/pt not_active Application Discontinuation
- 1995-05-18 KR KR1019950012401A patent/KR950033837A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
CA2142799A1 (en) | 1995-11-20 |
KR950033837A (ko) | 1995-12-26 |
CZ9603197A3 (cs) | 2002-06-12 |
JPH07319767A (ja) | 1995-12-08 |
EP0760133A1 (en) | 1997-03-05 |
WO1995032472A1 (en) | 1995-11-30 |
CN1089462C (zh) | 2002-08-21 |
HUT76241A (en) | 1997-07-28 |
PL316998A1 (en) | 1997-03-03 |
CN1123933A (zh) | 1996-06-05 |
HU9603142D0 (en) | 1997-01-28 |
BR9502022A (pt) | 1996-01-30 |
US6226722B1 (en) | 2001-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PL176554B1 (pl) | Sposób przesyłania informacji między jednostką przetwarzającą systemu komputerowego, zewnętrzną pamięcią podręczną i pamięcią główną oraz system komputerowy | |
US4298929A (en) | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability | |
US5510934A (en) | Memory system including local and global caches for storing floating point and integer data | |
US5367660A (en) | Line buffer for cache memory | |
US5263142A (en) | Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices | |
US5809524A (en) | Method and apparatus for cache memory replacement line identification | |
KR100814247B1 (ko) | 집적 회로 | |
US7124252B1 (en) | Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system | |
US20090187715A1 (en) | Prefetch Termination at Powered Down Memory Bank Boundary in Shared Memory Controller | |
US11321248B2 (en) | Multiple-requestor memory access pipeline and arbiter | |
US12038840B2 (en) | Multi-level cache security | |
JP2000231549A (ja) | マイクロプロセッサ | |
US5269009A (en) | Processor system with improved memory transfer means | |
US6996693B2 (en) | High speed memory cloning facility via a source/destination switching mechanism | |
US20040111575A1 (en) | Dynamic data routing mechanism for a high speed memory cloner | |
US6460133B1 (en) | Queue resource tracking in a multiprocessor system | |
US5452418A (en) | Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation | |
JPH0519176B2 (pl) | ||
KR0128272B1 (ko) | 보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법 | |
US6389516B1 (en) | Intervention ordering in a multiprocessor system | |
US7870342B2 (en) | Line cache controller with lookahead | |
US7373458B2 (en) | Cache memory system with multiple ports cache memories capable of receiving tagged and untagged requests | |
US6986011B2 (en) | High speed memory cloner within a data processing system | |
JPS6237752A (ja) | 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム | |
US20070180195A1 (en) | Method and apparatus for allowing uninterrupted address translations while performing address translation cache invalidates and other cache operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Decisions on the lapse of the protection rights |
Effective date: 20061227 |